summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 17:36:47 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 17:36:47 +0000
commit0441d265f2bb9da249c7abf333f0f771fadb4ab5 (patch)
tree3f3789daa2f6db22da6e55e92bee0062a7d613fe /ChangeLog
parentInitial commit. (diff)
downloaddovecot-0441d265f2bb9da249c7abf333f0f771fadb4ab5.tar.xz
dovecot-0441d265f2bb9da249c7abf333f0f771fadb4ab5.zip
Adding upstream version 1:2.3.21+dfsg1.upstream/1%2.3.21+dfsg1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog186208
1 files changed, 186208 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..581517d
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,186208 @@
+2023-08-28 15:27:09 +0000 Marco Bettini <marco.bettini@open-xchange.com> (47349e2482)
+
+ mail-crypt: mail_crypt_mailbox_allocated() - Force cross-user copies to
+ (de,re)encrypt the contents
+
+
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+
+2023-09-06 15:04:49 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (aaaa810590)
+
+ NEWS: Update NEWS with changes
+
+
+M NEWS
+
+2023-09-06 08:34:51 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (bafdc83211)
+
+ lib-sql: driver-mysql - Use API state to check if there is connection
+
+ db->mysql cannot be NULL.
+
+ Broken in 542877c08eb8130733567e5b718933bc3cdc8426
+
+M src/lib-sql/driver-mysql.c
+
+2023-09-05 13:39:40 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (21927de9f4)
+
+ dsync: Destroy name128_remotesep_hash in dsync_mailbox_tree_deinit()
+
+ Forgotten in 678d0463849ba777106eb7875f27db07a5d8e3df
+
+M src/doveadm/dsync/dsync-mailbox-tree.c
+
+2023-09-02 17:50:55 +1000 Ted Phelps <phelps@gnusto.com> (6901e5fc1c)
+
+ dsync: Fix an infinite loop
+
+ Be sure to update 'name' when traversing the components of a path in
+ convert_name_to_remote_sep. Otherwise we end up allocating a lot of memory
+ and failing.
+
+M src/doveadm/dsync/dsync-mailbox-tree.c
+
+2023-08-30 13:19:47 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (542877c08e)
+
+ lib-sql: driver-mysql - Initialize MYSQL struct once
+
+ Calling initialize more than once will leak memory.
+
+M src/lib-sql/driver-mysql.c
+
+2023-08-30 13:21:12 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (939e47c94e)
+
+ lib-sql: driver-mysql - Use driver_mysql_disconnect() in deinit
+
+ This ensures we call mysql_close() only in one place.
+
+M src/lib-sql/driver-mysql.c
+
+2023-08-29 15:04:04 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f55acdc81c)
+
+ lib-sql: driver-mysql - Use container_of instead of blind cast
+
+
+M src/lib-sql/driver-mysql.c
+
+2023-07-17 10:36:32 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (34f597596e)
+
+ lib-sql: Disconnect SQL connection on error
+
+
+M src/lib-sql/driver-mysql.c
+
+2023-06-22 10:48:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (648b5a3a6e)
+
+ mdbox: Fix crash still if fdatasync_path() fails
+
+ Broken still in a8424a71d70e2f5c54d9e2aab8338cf9547b15b4
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2023-08-30 15:46:20 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (02bf7bd126)
+
+ configure: Update version
+
+
+M configure.ac
+
+2023-08-30 15:45:45 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (c658ae5288)
+
+ NEWS: Add news for 2.3.21
+
+
+M NEWS
+
+2023-06-15 13:32:11 +0200 Karl Fleischmann <karl.fleischmann@open-xchange.com> (daff6f22c1)
+
+ stats: Allow empty event exporters when registering metrics
+
+
+M src/stats/stats-metrics.c
+
+2023-08-29 10:13:34 +0000 Marco Bettini <marco.bettini@open-xchange.com> (c7a8868882)
+
+ fts: doveadm - Add missing pool initialization in cmd_search_box()
+
+ Broken by: 467a664b5fce33f3d47a3e1171ecacb508968d1a
+
+M src/plugins/fts/doveadm-fts.c
+
+2023-08-24 12:26:44 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (526b66635d)
+
+ auth: db-oauth2 - Set default value for active_attribute and active_value to
+ empty string
+
+ Otherwise it will always require this attribute to be present when not
+ configured.
+
+M src/auth/db-oauth2.c
+
+2023-08-24 22:16:36 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (476e03f65b)
+
+ login-common: If authentication is aborted, clear out final response.
+
+
+M src/login-common/sasl-server.c
+
+2023-06-01 10:47:50 +0000 Marco Bettini <marco.bettini@open-xchange.com> (bfb698553f)
+
+ auth: db-oauth2 - Handle the case for check on attribute presence only
+
+
+M src/auth/db-oauth2.c
+
+2023-06-01 08:37:56 +0000 Marco Bettini <marco.bettini@open-xchange.com> (b6e310356f)
+
+ auth: db_oauth2_user_is_enabled() - Flatten the code
+
+
+M src/auth/db-oauth2.c
+
+2022-05-17 15:19:49 -0400 Steve Mokris <steve@kosada.com> (7969d5be1d)
+
+ auth: db-oauth2 - Fail login if active_attribute is missing
+
+ If active_attribute is required by config, we should fail to login when it's
+ missing.
+
+M src/auth/db-oauth2.c
+
+2023-05-12 11:48:25 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f3e85d8f51)
+
+ lib-oauth2: Do not send empty client_id or client_secret
+
+
+M src/lib-oauth2/oauth2-request.c
+
+2023-05-12 11:47:41 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9ad55e6c04)
+
+ lib-oauth2: Do not send client_id and client_secret as parameters in POST
+ queries
+
+ They need to be configured in the URL as Basic auth instead.
+
+M src/lib-oauth2/oauth2-request.c
+
+2023-05-12 08:59:50 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (e449757553)
+
+ lib-oauth2: Do not send client_id & client_secret as POST parameters when
+ doing introspection
+
+
+M src/lib-oauth2/oauth2-request.c
+
+2023-05-08 08:38:20 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (8623cb0319)
+
+ lib-oauth2: Validate scope when configured
+
+
+M src/lib-oauth2/oauth2-jwt.c
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2023-05-08 08:23:39 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9c7f5a74a7)
+
+ lib-oauth2: Remove typ check
+
+ It is not really useful. And mostly just keeps breaking when people invent
+ new kty values.
+
+M src/lib-oauth2/oauth2-jwt.c
+
+2023-05-08 08:21:43 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (63e0c9ede4)
+
+ lib-oauth2: Ensure aud field has client_id when set.
+
+ OpenID Connect 1.0 specification says that "aud" field must contain OAuth
+ 2.0 client_id of the Relying Party as an audience value.
+
+M src/lib-oauth2/oauth2-jwt.c
+
+2023-05-15 13:49:58 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (18576fde01)
+
+ auth: mech-oauth2 - Always fail with protocol specific error
+
+
+M src/auth/mech-oauth2.c
+
+2023-05-15 11:51:19 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (59647f483c)
+
+ auth: mech-oauth2 - Look for openid configuration URL if missing
+
+
+M src/auth/mech-oauth2.c
+M src/auth/passdb-oauth2.c
+M src/auth/passdb.h
+
+2023-05-04 15:44:15 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3db58fd809)
+
+ lib-oauth2: Return failure instead of crash with invalid or missing token
+
+
+M src/lib-oauth2/oauth2-request.c
+
+2022-12-14 10:10:12 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (d6ff43f766)
+
+ auth: db-oauth2 - Add accessor for OpenID configuration URL
+
+
+M src/auth/db-oauth2.c
+M src/auth/db-oauth2.h
+
+2023-06-02 14:20:08 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (77e2d55092)
+
+ auth: db-oauth2 - Store request username
+
+
+M src/auth/db-oauth2.c
+
+2023-05-15 12:41:39 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3a69b83a35)
+
+ auth: Add auth_request_fail_with_reply()
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2023-05-15 13:49:41 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d8fdd193f0)
+
+ auth: Pass along final response with failure
+
+
+M src/auth/auth-request-handler.c
+
+2023-05-15 12:28:53 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (78b8d7c861)
+
+ lib-auth: Move auth_client_request_continue() lower
+
+ Simplifies next commit
+
+M src/lib-auth/auth-client-request.c
+
+2023-05-15 14:27:55 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (7e5c9ad6da)
+
+ login-common: Serve final response for client on failure
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+M src/login-common/sasl-server.h
+
+2023-05-15 13:49:51 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (dbb801a8f0)
+
+ login-common: Ignore resp when present
+
+
+M src/login-common/client-common-auth.c
+
+2023-05-03 14:35:54 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (5061e0c48a)
+
+ acl: Fix wrong \HasChildren flags for parent mailboxes containing '*' and
+ '%'
+
+ '*' in mailbox name is replaced with '%' while child mailboxes still have
+ '*' in their path, this results in wrong \HasNoChildren flag.
+
+M src/plugins/acl/acl-mailbox-list.c
+
+2023-05-03 14:35:18 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (f2e50d5676)
+
+ lib-storage: Whitespace cleanup.
+
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2023-05-09 07:22:15 +0000 Marco Bettini <marco.bettini@open-xchange.com> (50af4232c1)
+
+ lib-storage: Add mail_get_message_id_no_validation()
+
+
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+
+2023-05-16 09:40:55 +0000 Marco Bettini <marco.bettini@open-xchange.com> (06aecd2b95)
+
+ lib-dict: redis_reply_callback() - Don't crash if there is no callback
+
+
+M src/lib-dict/dict-redis.c
+
+2023-04-18 00:08:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (175043954c)
+
+ lib-index: Delete dovecot.index.cache during purging if it becomes too large
+
+ This only happens if the file was already too large before the purging
+ happens. This mainly fixes assert-crashes caused by old huge >1GB cache
+ files.
+
+ Fixes: Panic: file mail-index-util.c: line 10 (mail_index_uint32_to_offset):
+ assertion failed: (offset < 0x40000000)
+
+M src/lib-index/mail-cache-purge.c
+
+2022-05-17 12:31:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9f903ee879)
+
+ lib-master: Use ssl_require_crl setting only for server-side SSL settings
+
+ We don't currently properly support checking CRLs when acting as SSL client.
+ The CRL would have to be stored as part of the CAs, which isn't commonly
+ done. This bug has been in the code ever since it was added in
+ 30c5c1fc3608ae575f11960281d3e338b6bf7bc8, but it became more noticeable with
+ recent changes that started using lib-master for getting all SSL client
+ settings, e.g. 1e5324b5805bf7299cd8196f7b659fe935f027bd
+
+M src/lib-master/master-service-ssl-settings.c
+
+2023-04-06 09:04:35 +0200 Karl Fleischmann <karl.fleischmann@open-xchange.com> (08528c38e1)
+
+ stats: stats_metrics_add_dynamic() - Validate event exporter
+
+
+M src/stats/stats-metrics.c
+
+2023-03-23 15:37:28 +0000 Marco Bettini <marco.bettini@open-xchange.com> (b3981ea5c6)
+
+ lib-master: stats_client_deinit() - Ensure conn.output is flushed before
+ returning
+
+ This prevents losing exported events still waiting in buffers while the
+ process exits.
+
+M src/lib-master/stats-client.c
+
+2023-03-27 08:19:38 +0000 Marco Bettini <marco.bettini@open-xchange.com> (e52db68ff4)
+
+ lib-master: stats_event_callback() - Skip if conn.output is already closed
+
+ This also prevents further errors from happening on the closed stream.
+
+M src/lib-master/stats-client.c
+
+2023-03-24 14:04:00 +0000 Marco Bettini <marco.bettini@open-xchange.com> (9c3e210f1e)
+
+ lib-master: stats_client_send_event() - Also flush conn.output and check for
+ errors
+
+
+M src/lib-master/stats-client.c
+
+2023-03-23 15:35:49 +0000 Marco Bettini <marco.bettini@open-xchange.com> (6231b7af67)
+
+ lib-master: stats_event_write() - Don't accumulate more than IO_BLOCK_SIZE
+ bytes in str buffer
+
+
+M src/lib-master/stats-client.c
+
+2023-02-24 14:06:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d6c67f24c4)
+
+ lib: event-filter-parser.y - Add workaround for nerrs being unused warning
+
+ Fixes with clang-17: warning: variable 'event_filter_parser_nerrs' set but
+ not used
+
+M src/lib/event-filter-parser.y
+
+2023-02-24 14:02:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6c22f4dc1f)
+
+ global: Remove dead code
+
+
+M src/lib-dict/test-dict-client.c
+M src/lib-master/test-event-stats.c
+M src/lib/test-mempool-allocfree.c
+
+2021-12-31 11:29:02 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7c73ba5364)
+
+ lib-dict: test-dict-client - Handle shutdown cleanly with ctrl-c
+
+
+M src/lib-dict/test-dict-client.c
+
+2022-07-07 13:58:02 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4c06fee481)
+
+ login-common: Handle missing ssl_iostream in get_var_expand_table()
+
+ It can be missing during connection disconnection when connection is lost
+ uncleanly.
+
+M src/login-common/client-common.c
+
+2023-04-04 11:51:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b0fd628d56)
+
+ notify-status: Fix crash if user initialization fails
+
+ The deinit code crashed if mail_namespaces_created hook hadn't been called
+ before user was deinitialized.
+
+M src/plugins/notify-status/notify-status-plugin.c
+
+2023-06-29 13:40:24 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2340275fad)
+
+ lib-sql: pgsql - Use orig_ioloop instead of local variable
+
+ orig_ioloop is used later, leaving it NULL here causes problems when timeout
+ is added by sqlpool.
+
+ Broken in 8981a973987c237552e46b68075b64caa8c1f5bb
+
+M src/lib-sql/driver-pgsql.c
+
+2023-06-26 10:43:00 +0000 Marco Bettini <marco.bettini@open-xchange.com> (4c3ae0468e)
+
+ dbox: Fix for dangling pointer being passed to cleanup_interval()
+
+ Broken in 88eee28fd86d619b26ce6aebadca5b18e748dc6f
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2023-06-20 18:58:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7268e169ec)
+
+ mdbox: Optimize mail_temp_scan_interval storage/ scanning
+
+ Use the generic dbox scanning code, which avoids stat()ing the directory by
+ keeping the timestamp in index header. Also do the scanning while at session
+ deinit instead of startup, so the latency isn't visible to clients.
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2023-06-20 18:58:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (37ddfe8efb)
+
+ lib-storage: Split off index_mailbox_view_update_last_temp_file_scan()
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+
+2023-06-20 22:28:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6b4a3f8e7b)
+
+ dbox: mail_temp_scan_interval - Fix deleted temp file prefix
+
+ dbox files are always created with DBOX_TEMP_FILE_PREFIX, not the mailbox
+ list-specific prefix. This was a problem only if dbox was used with
+ LAYOUT=Maildir++, which nobody was likely to do. Other layouts had identical
+ temp file prefixes to DBOX_TEMP_FILE_PREFIX.
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2023-06-20 18:54:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (41ddf30762)
+
+ dbox: Split off dbox_mailbox_list_cleanup()
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+
+2023-06-20 18:44:52 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (58028ecbcf)
+
+ mdbox: Don't do temp file scanning for mailbox directories
+
+ The intention was to delete any temporary mail files that have been left
+ behind by crashed processes, but mail files are written to storage/
+ directory.
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2023-06-20 18:24:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a8424a71d7)
+
+ mdbox: Fix fdatasync() path when saving mails
+
+ It was supposed to be called on the parent directory of where mails were
+ written, i.e. storage/ directory. The previous code was instead calling it
+ on the mailbox-specific directory (similarly to sdbox) where nothing was
+ written.
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2023-06-20 18:21:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c6935e5ef2)
+
+ mdbox: Fix crash if fdatasync_path() fails
+
+ There is no dest_mail anymore at this stage of transaction.
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2023-04-12 12:06:52 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (7bb46f7e89)
+
+ lib-storage: Rollback save transaction when transaction commit fails.
+
+
+M src/lib-storage/index/index-transaction.c
+
+2023-02-05 20:51:12 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ac81ce75a6)
+
+ sdbox: Fix panic due to leaked mail_index_view if sync fails
+
+ Fixes: Panic: Leaked view for index .../dbox-Mails/dovecot.index: Opened in
+ mail-index-sync.c:445
+
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2023-02-05 20:50:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (aae93d3ea7)
+
+ lib-index: Don't update log_file_tail_offset on sync if reading
+ dovecot.index.log failed
+
+ This is more of a theoretical issue, since dovecot.index.log read failure is
+ very unlikely.
+
+M src/lib-index/mail-index-sync-update.c
+
+2023-02-05 20:47:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (830a7db7c0)
+
+ lib-index: Don't update max_tail_offset if write to dovecot.index.log fails
+
+ The max_tail_offset didn't actually increase in that situation. This fixes
+ wrongly updating mail_index_header.log_file_tail_offset after write to
+ dovecot.index.log failed (due to out of disk space), which in turn can cause
+ some unexpected errors.
+
+M src/lib-index/mail-transaction-log-append.c
+
+2023-02-05 20:46:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (08740f7902)
+
+ lib-index: Fix event leak if purging dovecot.index.cache fails
+
+
+M src/lib-index/mail-cache-purge.c
+
+2022-11-02 15:56:54 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (6d5eb29761)
+
+ lib-oauth2: jwt - Allow missing 'typ' field
+
+
+M src/lib-oauth2/oauth2-jwt.c
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2020-05-28 15:05:08 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9f528295d1)
+
+ lib-oauth2: test-oauth2-jwt - Ensure we ignore 'none' algorithm
+
+
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2023-04-14 11:35:30 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3ea25161a3)
+
+ lib-login: Don't update process title if verbose_proctitle=no
+
+ Broken by 4fcd7f497577af361fc3313fbc07a61c14e17715
+
+M src/lib-master/master-login.c
+
+2023-03-24 03:26:33 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1e8d0face3)
+
+ global: Enable login_server_settings.update_proctitle
+
+
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/main.c
+M src/pop3/main.c
+M src/submission/main.c
+
+2023-03-24 03:26:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2a9b8c4e3a)
+
+ lib-login: Add login_server_settings.update_proctitle
+
+ Update the current login state in process title when enabled.
+
+M src/lib-master/master-login.c
+M src/lib-master/master-login.h
+
+2023-03-24 04:02:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5266019fbb)
+
+ lib-login: Keep connection in server's linked list until it's fully freed
+
+ Otherwise the connection isn't accessible from any global variables.
+
+M src/lib-master/master-login.c
+
+2023-03-24 02:29:39 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (af6edaef3f)
+
+ imap: Update process title while unhibernating
+
+ Previously the process title stayed as [idling] even though the process was
+ busy waiting on the imap-hibernate process to finish sending the
+ unhibernation request.
+
+M src/imap/imap-master-client.c
+M src/imap/imap-master-client.h
+M src/imap/main.c
+
+2023-03-24 02:00:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ed42bc9c0f)
+
+ lib-master: Set process title to [initializing] until
+ master_service_init_finish()
+
+
+M src/lib-master/master-service.c
+
+2023-03-24 02:02:58 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d591711cdb)
+
+ lib: Add process_title_get_counter()
+
+
+M src/lib/process-title.c
+M src/lib/process-title.h
+
+2023-03-24 01:53:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c7cf91d863)
+
+ master: Set VERBOSE_PROCTITLE environment to child processes
+
+ This is needed for updating process title during initialization before
+ settings are read.
+
+M src/lib-master/master-interface.h
+M src/master/service-process.c
+
+2023-03-24 01:15:21 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f89dec342d)
+
+ imap: Disconnect imap-master client if it's not sending anything for 25
+ seconds
+
+
+M src/imap/imap-master-client.c
+
+2023-03-24 01:45:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (61e4e19d06)
+
+ imap: Improve disconnection log message if it happens immediately after
+ unhibernation
+
+ The "No commands sent after unhibernation" can mean that imap-hibernate
+ process saw a timeout while unhibernating and shutdown the connection. Or it
+ can also mean just that the client itself disconnected.
+
+M src/imap/imap-client.c
+
+2023-03-24 01:41:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8eb93d1c41)
+
+ imap-hibernate: If unhibernation fails, make sure imap process won't finish
+ it later on
+
+ Especially if unhibernation fails due to a connection timeout to imap
+ process due to high load, it's possible that the imap process will
+ eventually finish the unhibernation and continue with the client. This is
+ rather confusing, since imap-hibernate process already logged that the
+ client got disconnected.
+
+M src/imap-hibernate/imap-client.c
+
+2022-01-13 16:54:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e4d6c8055e)
+
+ imap: Add client.unhibernated boolean
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-common.h
+M src/imap/imap-master-client.c
+M src/imap/main.c
+M src/imap/test-imap-client-hibernate.c
+
+2023-05-05 15:20:34 +0000 Marco Bettini <marco.bettini@open-xchange.com> (80ddfb7b30)
+
+ auth: mech_gssapi_unwrap() - Release gss_release_buffe(outbuf) before
+ returning
+
+
+M src/auth/mech-gssapi.c
+
+2023-03-23 22:23:39 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7566d8783f)
+
+ master: Fix service { idle_kill } to work better on busy servers
+
+ The previous behavior was to kill a process once it had idled for idle_kill
+ seconds. However, on a busy server the new connections are picked up
+ somewhat randomly by all the idling processes, so there's never any single
+ process idling for a long time. This effectively prevents the idle_kill from
+ killing any processes, even if there are unnecessarily many of them.
+
+ The new behavior here tracks the lowest number of idling processes during
+ idle_kill time interval. Then it kills that many processes. If the load
+ stays the same, this should shrink the number of processes to the number
+ that is needed to handle the load, but no more.
+
+M src/master/service-monitor.c
+M src/master/service-process.c
+M src/master/service.h
+
+2023-03-23 16:07:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d0e74ddac0)
+
+ master: Replace per-process idle_kill timeout with per-service
+
+ This is much more efficient, since it doesn't have to keep updating the
+ timeout constantly for busy processes.
+
+ This change still preserves the original way the idle_kill setting behaves.
+
+M src/master/service-monitor.c
+M src/master/service-process.c
+M src/master/service-process.h
+M src/master/service.h
+
+2023-03-23 16:37:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (008622eb2c)
+
+ master: Add asserts to make sure counters don't wrap
+
+
+M src/master/service-process.c
+
+2023-03-23 16:36:10 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6cfee1e183)
+
+ master: Add service.process_idling to count number of idling processes
+
+
+M src/master/service-monitor.c
+M src/master/service-process.c
+M src/master/service.h
+
+2023-03-23 15:09:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a4e9e0c9b3)
+
+ master: Split processes list to busy and idling processes
+
+ Keep the idling processes sorted by idle_start time. This will be needed by
+ the next commit.
+
+M src/master/main.c
+M src/master/master-client.c
+M src/master/service-monitor.c
+M src/master/service-process.c
+M src/master/service-process.h
+M src/master/service.c
+M src/master/service.h
+
+2023-02-28 12:05:44 +0000 Marco Bettini <marco.bettini@open-xchange.com> (3b67507e97)
+
+ dbox: dbox_cleanup_temp_files() - Fuzz scan interval adding 0..+30% based on
+ username hash
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2023-02-28 11:45:43 +0000 Marco Bettini <marco.bettini@open-xchange.com> (c3756423f0)
+
+ dbox: dbox_cleanup_temp_files() - Reformat code
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2023-02-28 11:44:48 +0000 Marco Bettini <marco.bettini@open-xchange.com> (5fcf0da179)
+
+ dbox: dbox_cleanup_temp_files() - Remove unnecessary else/else if after
+ returns
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2023-02-28 11:30:22 +0000 Marco Bettini <marco.bettini@open-xchange.com> (e91d8309f5)
+
+ dbox: dbox_mailbox_open() - Drop unused ctime
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2023-02-28 11:21:10 +0000 Marco Bettini <marco.bettini@open-xchange.com> (4bf0ee1814)
+
+ dbox: dbox_mailbox_open() - Move dbox_cleanup_temp_files() to
+ dbox_mailbox_close()
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2023-02-28 10:15:50 +0000 Marco Bettini <marco.bettini@open-xchange.com> (f18b8e9f46)
+
+ dbox: dbox_mailbox_open() - Infer last_temp_file_scan from dir's atime if 0
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2023-02-28 10:14:26 +0000 Marco Bettini <marco.bettini@open-xchange.com> (4ddb4f7656)
+
+ dbox: dbox_mailbox_create() - Update last_temp_file_scan
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2023-03-03 16:15:17 +0000 Marco Bettini <marco.bettini@open-xchange.com> (119d496acd)
+
+ lib-storage: dbox_cleanup_temp_files() - Fix inverted check for ENOENT
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2023-03-24 08:53:27 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (eab9fd0154)
+
+ stats: openmetrics - Set field always when used
+
+ Satisfied static analysers.
+
+ Broken in ba19a18d54cb7cf7de93d6a235862a408cfe5828
+
+M src/stats/stats-service-openmetrics.c
+
+2023-01-26 08:15:29 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (8aef0ce5ea)
+
+ stats: openmetrics - Create metrics for all specified fields
+
+
+M src/stats/stats-service-openmetrics.c
+
+2023-04-04 00:43:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4c74cf89f6)
+
+ dsync: Fix handling mailboxes with % character when BROKENCHAR isn't
+ explicitly set in config
+
+ When vname_escape_char (= BROKENCHAR) isn't explicitly set in configuration,
+ '%' character (or if it was hierarchy separator, '~') was used as the
+ default internal escape character. However, this was used inconsistently
+ between local and remote mailbox trees. The remote tree stored the mailbox
+ names unescaped, while the local mailbox names were escaped. This
+ inconsistency caused dsync to do unnecessary mailbox renames, which might
+ have ended up failing.
+
+ This especially fixes dsync failures when mailbox name ended with the '%'
+ character.
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+
+2023-04-04 00:43:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e69f52d697)
+
+ dsync: Refactor dsync_brain_mailbox_to_parts() into
+ dsync_mailbox_name_to_parts()
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+
+2023-03-20 14:00:48 +0000 Marco Bettini <marco.bettini@open-xchange.com> (37f46933cf)
+
+ virtual: virtual_backend_box_lookup() - Enforce callers to check if the call
+ succeeded
+
+
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+
+2023-03-24 13:50:29 +0000 Marco Bettini <marco.bettini@open-xchange.com> (f861c0be75)
+
+ virtual: virtual_sync_apply_existing_expunges() - Don't crash if the backend
+ mailbox has been removed
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2023-01-02 10:23:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c29eccb64e)
+
+ lib-index: Fix assert-crash when header's log_file_seq/offset shrinks
+
+ mail_index_sync_set_log_view() is also missing this check, but it doesn't
+ seem to actually happen. It's likely handled by mail_index_map() already.
+
+ Fixes: Panic: file mail-transaction-log-view.c: line 165
+ (mail_transaction_log_view_set): assertion failed: (min_file_seq <=
+ max_file_seq)
+
+M src/lib-index/mail-index-sync.c
+
+2022-03-21 12:22:38 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (d3aa3d876a)
+
+ lib-http: http-server-connection - Fix segfault occurring when output is
+ resumed on closed connection.
+
+
+M src/lib-http/http-server-connection.c
+
+2023-03-07 15:53:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7b60aa05af)
+
+ man: Add doveadm fts check fast/full
+
+
+M doc/man/doveadm-fts.1.in
+
+2023-02-09 17:04:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5b6f678009)
+
+ lib-imap-client: Fix/clarify selection state handling
+
+ The old code assumed that selected_box would be non-NULL while a new mailbox
+ is being selected. That's not true though, the imapc-storage code closes the
+ old mailbox before selecting the next one. So the QRESYNC-specific code for
+ tracking selected-state was never being used. Fixed this, and clarified in
+ general how the selected-state is supposed to work.
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+
+2023-02-09 17:03:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2d6514adf9)
+
+ lib-imap-client: Rename imapc_connection.selecting_box to
+ qresync_selecting_box
+
+ It's only used when QRESYNC extension is enabled.
+
+M src/lib-imap-client/imapc-connection.c
+
+2023-02-09 16:21:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (dbe23ac284)
+
+ imapc: Fix handling EXISTS reply to previous mailbox while selecting new
+ mailbox
+
+ For example if the communication was:
+
+ C: a SELECT box1
+ ... C: b SELECT box2 S: * 10 EXISTS S: * 1 EXISTS S: * OK [UIDVALIDITY
+ 1675948459] UIDs valid S: ... S: b OK
+
+ The first EXISTS is meant for box1, not box2. Fixed by not starting a FETCH
+ (FLAGS) for the mailbox being selected until the tagged reply is received.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2023-02-09 16:12:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a11c232854)
+
+ imapc: Don't process untagged replies in mailbox that isn't fully selected
+ yet
+
+ For example if the communication was:
+
+ C: a SELECT box1
+ ... C: b SELECT box2 S: * 1 EXPUNGE S: * 1 EXISTS S: * OK [UIDVALIDITY
+ 1675948459] UIDs valid S: ... S: b OK
+
+ The expunge was intended for box1, not box2. This caused: Warning:
+ imapc(...): Mailbox '...' state corrupted: EXPUNGE received for empty
+ mailbox - reconnecting
+
+ Fixed this by ignoring untagged EXPUNGE, FETCH, SEARCH and ESEARCH replies
+ when the UIDVALIDITY reply hasn't been yet received for a mailbox.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2023-02-08 20:40:41 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (cf7d19e729)
+
+ auth: test-lua - Check that password is returned in lookup
+
+
+M src/auth/test-lua.c
+
+2023-02-08 20:32:57 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (0cc4207a33)
+
+ auth: test-lua - Test bad keynames end up ignored
+
+
+M src/auth/test-lua.c
+
+2023-02-01 13:58:42 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (97e121bb6d)
+
+ lib-storage: mail-user - Add event_ prefixed values from userdb as event
+ fields
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2023-02-01 13:53:42 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (01263527d5)
+
+ login-common: Add event_ prefixed values from auth as event fields
+
+
+M src/lib-auth/auth-client-request.c
+M src/login-common/client-common-auth.c
+M src/login-common/sasl-server.c
+
+2023-02-06 21:23:48 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (bb8fbcc60a)
+
+ auth: db-lua - Skip invalid keys and values on field export
+
+
+M src/auth/db-lua.c
+
+2023-01-20 16:41:47 +0100 Markus Valentin <markus.valentin@open-xchange.com> (0e3b992877)
+
+ maildir: maildir_mailbox_open() - Split off maildir_is_selectable()
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2023-01-20 16:40:22 +0100 Markus Valentin <markus.valentin@open-xchange.com> (7522de9385)
+
+ maildir: maildir_mailbox_open() - If the namespace root or INBOX has any
+ subdir create others as well
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2023-01-20 08:50:48 +0100 Markus Valentin <markus.valentin@open-xchange.com> (d669ab7d1b)
+
+ maildir: maildir_mailbox_open() - Disable maildir subdirectory creation for
+ INBOX
+
+ This was added in 522925f6e9ff8fe9592511c2221b3d6526d4cbf4. In the meantime
+ autocreate code changed so this is no longer valid.
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2023-01-09 15:10:47 +0100 Markus Valentin <markus.valentin@open-xchange.com> (dc1d871a38)
+
+ welcome-plugin: Remove welcome_open_box()
+
+
+M src/plugins/welcome/welcome-plugin.c
+
+2023-01-09 15:06:54 +0100 Markus Valentin <markus.valentin@open-xchange.com> (171295bdef)
+
+ welcome-plugin: Move script_execute() to welcome_create_box()
+
+ The welcome script was executed while opening the INBOX only when the same
+ session had created it. This could have led to unexpectedly not executing
+ welcome when not opening the mailbox right after it was created.
+
+ The original code delayed the welcome script run because mailbox creation
+ wasn't finished until the mailbox was opened. This seems to have become
+ fixed at some point.
+
+M src/plugins/welcome/welcome-plugin.c
+
+2023-01-17 08:44:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (cb666c441a)
+
+ lib-http: server - Fix potential crash with previous change on client
+ disconnect
+
+ Broken by 1418d1e9018fc34287722467c6ee506f3e378e1a
+
+M src/lib-http/http-server-response.c
+
+2023-01-11 14:32:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1414b26044)
+
+ lib-http: test-http-payload - Use ostream-final-trickle for server
+ connections
+
+
+M src/lib-http/test-http-payload.c
+
+2023-01-11 14:31:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (72de31a36e)
+
+ lib-http: test-http-payload - Add filenames to data mismatch error messages
+
+
+M src/lib-http/test-http-payload.c
+
+2023-01-11 14:26:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b0801787b2)
+
+ lib-test: Add ostream-final-trickle
+
+
+M src/lib-test/Makefile.am
+A src/lib-test/ostream-final-trickle.c
+A src/lib-test/ostream-final-trickle.h
+
+2023-01-11 16:02:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d3a0ff0ef3)
+
+ lib: Add connection_vfuncs.init()
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2023-01-12 12:23:31 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e72869b16a)
+
+ lib-http: server - Don't disconnect client before response is fully sent
+
+ This could happen at least when the payload is empty and the final LF was
+ buffered.
+
+M src/lib-http/http-server-response.c
+
+2023-01-11 00:44:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a5bd8e1bc5)
+
+ lib-http: server - Don't disconnect client before payload is fully sent
+
+
+M src/lib-http/http-server-response.c
+
+2023-01-12 17:17:29 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ec90c65b92)
+
+ lib-storage: Add mail_storage_service_input.unexpanded_set_parser
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2022-11-23 09:21:10 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (90ac2496ca)
+
+ NEWS: Update news
+
+
+M NEWS
+
+2022-12-28 12:19:11 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (ed402ee9a7)
+
+ auth: Fix auth_request_password_verify() result handling
+
+ Pass the result directly to caller, as auth_request_password_verify()
+ returns passdb result already.
+
+M src/auth/auth-worker-client.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-lua.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+
+2022-12-28 12:05:39 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (65d5b77f0e)
+
+ auth: Change auth_request_password_verify() to return enum passdb_result
+
+ This does not break anything, because PASSDB_RESULT_OK is 1 and mismatch is
+ 0.
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2022-12-26 23:48:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8832f6c002)
+
+ lib-storage: Fix unnecessary data stack growth when iterating mailboxes
+
+ When listing mailbox list indexes, it was possible that each iteration
+ increased the data stack memory usage. It was all freed at the end though,
+ so this didn't cause any permanent leaks.
+
+ Broken by 4fdb040d2471c6e5006579bef1dd0586f89c8570
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+
+2022-12-14 15:07:38 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (1fc7d5465f)
+
+ lib-lua: http - Use correct dns-client path
+
+ The current code tries to look it up from user homedir sometimes.
+
+ Broken in 5b56debd31800ec45fc0c6529b138d1ce943b0aa
+
+M src/lib-lua/dlua-dovecot-http.c
+
+2022-12-01 10:54:38 +0100 Markus Valentin <markus.valentin@open-xchange.com> (ea3859fd59)
+
+ lib-sql: Add sql_statement_set_no_log_expanded_values()
+
+ This allows to store no_log_expanded_values to sql_statement.
+
+M src/lib-dict-backend/dict-sql.c
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-api.h
+
+2022-12-01 11:13:16 +0100 Markus Valentin <markus.valentin@open-xchange.com> (dd7f5beff9)
+
+ dict: Implement DICT_PROTOCOL_CMD_HIDE_LOG_VALUES for dict and dict-proxy
+
+
+M src/dict/dict-commands.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-client.h
+
+2022-12-01 11:03:26 +0100 Markus Valentin <markus.valentin@open-xchange.com> (b94b31d5a9)
+
+ lib-dict: Add .set_hide_log_values() to dict vfuncs
+
+ This is used to set hide_log_values in dict op settings.
+
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+
+2022-12-05 11:58:31 +0100 Markus Valentin <markus.valentin@open-xchange.com> (0f5980d01e)
+
+ cassandra: Rename query to log_query and initialize it with
+ sql_statement_get_log_query()
+
+ Also add sql_statement_get_log_query() to sql-api.
+
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+
+2022-12-05 11:50:30 +0100 Markus Valentin <markus.valentin@open-xchange.com> (ec9f878128)
+
+ lib-event: Add event_unset_log_message_callback()
+
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2022-11-28 11:17:11 +0100 Markus Valentin <markus.valentin@open-xchange.com> (74bbb6b0e9)
+
+ fs-api: Add fs_get_event()
+
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2022-12-01 12:37:17 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f23ca5016f)
+
+ pop3: Fix assert-crash when POP3 command name contained ':'
+
+ The cmd_<name> reason code now only uses valid command names.
+
+ Broken by d2ab26be6038bd53b13a3ff18c403d6c192c1d91 with incomplete fix in
+ 1309137812424c80e63d3c1052795b43d6e19803.
+
+ Fixes: Panic: event_reason_code_prefix(): name has ':'
+
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-commands.h
+
+2022-12-01 12:32:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (cdd778233d)
+
+ pop3: Move pop3 commands to array and add pop3_command_find()
+
+
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-commands.h
+
+2022-11-23 09:21:10 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (1f127c8a59)
+
+ NEWS: Update news
+
+
+M NEWS
+
+2022-11-14 23:27:33 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (88150e0bb8)
+
+ lmtp: Fix restoring global log prefix after session is finished
+
+ Broken by 069dfd657fd91a0e2a3a9307a0cf499d795f27f2
+
+ This change also slightly changes the lmtp log prefixes in some places. It
+ removes "conn $ip:$port [$idx]: rcpt $user:" from some of the log messages
+ (but that wasn't in all of the log messages anyway), but it now always
+ includes mail_log_prefix in these log messages, which previously wasn't
+ always set at that point yet.
+
+M src/lmtp/main.c
+
+2022-10-21 13:32:48 +0000 Marco Bettini <marco.bettini@open-xchange.com> (805db6b027)
+
+ fts: struct fts_user - Drop data_languages
+
+
+M src/plugins/fts/fts-user.c
+M src/plugins/fts/fts-user.h
+
+2022-10-21 09:15:04 +0000 Marco Bettini <marco.bettini@open-xchange.com> (74d8e389bf)
+
+ fts: fts-search-args - Fix stopwords expansion (only on multiple languges
+ and with stopword filter enabled)
+
+
+M src/plugins/fts/fts-search-args.c
+
+2022-10-20 14:07:23 +0000 Marco Bettini <marco.bettini@open-xchange.com> (07ec8339ee)
+
+ lib-storage: enum mail_search_arg_type - Add SEARCH_NIL
+
+
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-search-args-cmdline.c
+M src/lib-storage/mail-search-args-imap.c
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2022-11-09 15:29:39 +0000 Marco Bettini <marco.bettini@open-xchange.com> (f41286b8f1)
+
+ lib-storage: mail_search_args_simplify_drop_redundant_args() - Apply
+ Absorptive law versus all terms, not just the 1st
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2022-11-03 17:40:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8fb6b9e1b8)
+
+ dsync: Skip autocreated mailboxes that haven't been created yet
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+
+2022-11-04 14:01:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b05564d157)
+
+ imapc: Fix listing INBOX when INBOX is already the namespace prefix
+
+ This especially caused problems when using dsync with imapc, resulting in
+ "Remote lost mailbox GUID" errors.
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2022-11-01 11:21:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (142c054f85)
+
+ replicator: Fix crash when importing user not listed by userdb iteration
+
+ Broken by 31545b4f38ea85615f0111a33d630a03d92d22ab
+
+M src/replication/replicator/replicator-queue.c
+
+2022-08-16 23:42:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7286076402)
+
+ replicator: Add unit test to replicator-queue
+
+
+M src/replication/replicator/Makefile.am
+A src/replication/replicator/test-replicator-queue.c
+
+2022-10-28 17:57:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (95ec1043e0)
+
+ replicator: Add replicator_queue_count() and replicator_queue_peek()
+
+ These will be useful for the following unit test.
+
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-queue.h
+
+2022-10-25 15:39:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8190571703)
+
+ replicator: Add "next sync secs" field to doveadm replicator status
+
+
+M src/doveadm/doveadm-replicator.c
+M src/replication/replicator/doveadm-connection.c
+
+2022-10-25 13:27:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (390e5a4c3d)
+
+ replicator: Make sure to prevent request starvation
+
+ This synchronizes how priority queue is ordered vs what
+ replicator_queue_want_sync_now() returns. The mismatch might have caused
+ request starvation in some situations because they behaved differently.
+
+ Also this change makes sure that higher priority requests don't infinitely
+ block lower priority requests. Instead, they get a temporary boost time
+ (hardcoded 15-45 minutes). Afterwards lower priority requests are started to
+ be handled as well.
+
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-queue.h
+
+2022-10-25 13:11:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (97bf10e1da)
+
+ replicator: Don't update user's last_update if priority doesn't change
+
+ This didn't actually matter, since it was only used to check if importing
+ should update an existing user. However, importing is only run at startup
+ when all users have last_update=0 anyway.
+
+ The following changes bring new use cases for last_update.
+
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-queue.h
+
+2022-10-25 13:08:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5c9f252471)
+
+ replicator: Change replicator_queue_add_sync_callback() to take user struct
+
+ This is just to clean up the API to match the previous change.
+
+M src/replication/replicator/notify-connection.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-queue.h
+
+2022-10-25 12:49:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (278d4a08f2)
+
+ replicator: Fix user placement in replication queue
+
+ Especially replicator queue importing and NOTIFY command could have placed
+ the user to wrong place in the queue, because they modified the last sync
+ timestamps afterwards.
+
+ Fixed by splitting replicator_queue_add() into get/update/add(), so all the
+ necessary changes can be done before replicator_queue_add() is used to place
+ the user into the queue.
+
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/notify-connection.c
+M src/replication/replicator/replicator-queue-auth.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-queue.h
+
+2022-10-28 00:56:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (94f620c4da)
+
+ maildir: If mailbox create fails, don't try to apply mailbox_update changes
+
+ This was especially causing problems with mailbox GUID mismatches in dsync.
+ The mismatch wasn't automatically fixed, because mailbox_create()
+ incorrectly kept updating the mailbox GUID for the already existing mailbox.
+
+ Fixes errors such as: Remote lost mailbox GUID ... (maybe it was just
+ deleted?)
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2022-10-27 02:56:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (29c982fe52)
+
+ lib-storage: mailbox_attribute_get*() - Fail early on with empty key lookup
+
+ This fixes using mail_attribute_dict with dict-sql.
+
+M src/lib-storage/mailbox-attribute.c
+
+2022-03-03 14:21:00 +0100 Markus Valentin <markus.valentin@open-xchange.com> (2aa632260b)
+
+ imapc: imapc_connection_disconnect_full() - Only conditionally abort
+
+ Only abort commands if there are no reconnect commands. Otherwise these
+ still will be handled and the commands memory will be freed after handling
+ them.
+
+ Broken by 6d16e82fa2c352974558e1415d06f07d8962fe09
+
+M src/lib-imap-client/imapc-connection.c
+
+2022-02-28 15:50:05 +0100 Markus Valentin <markus.valentin@open-xchange.com> (e91916ad57)
+
+ imapc: imapc_connection_disconnect_full() - Prevent leaking cmd->pool
+
+ If the imapc connection was already disconnected when calling
+ imapc_connection_disconnect() it didn't clean up the commands and especially
+ the command pools.
+
+M src/lib-imap-client/imapc-connection.c
+
+2022-10-12 13:26:03 +0200 Markus Valentin <markus.valentin@open-xchange.com> (b0f19c117a)
+
+ imapc: imapc_mailbox_get_status() - Implement STATUS_UNSEEN with INDEXPVT
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2022-10-19 09:26:55 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (410acf8760)
+
+ lib-storage: mail-storage-list-index-rebuild - Don't use continue inside
+ T_BEGIN..T_END
+
+ Coverity doesn't like using continue there.
+
+M src/lib-storage/list/mail-storage-list-index-rebuild.c
+
+2022-10-05 15:42:25 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ef26f7d1ef)
+
+ lib-storage: LAYOUT=index rebuild - Fix detecting duplicate mailbox GUIDs in
+ index
+
+ Otherwise duplicate folders are not properly cleared out.
+
+ Broken in 2fc8d7024bb161aab08031b8212a736301844858
+
+M src/lib-storage/list/mail-storage-list-index-rebuild.c
+
+2022-10-05 15:27:31 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ce65fc1fc9)
+
+ lib-storage: LAYOUT=index rebuild - Remove existence check
+
+ It's not needed.
+
+M src/lib-storage/list/mail-storage-list-index-rebuild.c
+
+2022-09-27 15:03:37 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (8dbd0d79cc)
+
+ lib-storage: LAYOUT=index rebuild - Sort mailbox tree before creating
+
+ Try to load the mailbox original name already from storage so we can sort &
+ create the mailbox tree in correct order.
+
+M src/lib-storage/list/mail-storage-list-index-rebuild.c
+
+2022-09-27 13:01:29 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (1ff6f0948a)
+
+ lib-storage: LAYOUT=index rebuild - Remove first_list usage
+
+ Instead, keep track of the list where box was found.
+
+M src/lib-storage/list/mail-storage-list-index-rebuild.c
+
+2022-10-05 15:15:17 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b5b41c5410)
+
+ lib-storage: LAYOUT=index rebuild - Remove useless check for LAYOUT=index
+
+ This is already done when collecting namespaces.
+
+ Simplifies next change.
+
+M src/lib-storage/list/mail-storage-list-index-rebuild.c
+
+2022-09-21 11:14:40 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (7c2176d18e)
+
+ lib-storage: LAYOUT=index rebuild - Fix rebuilds when using multiple
+ namespaces
+
+ The old code did not properly populate the mailbox list for each namespace,
+ but only for the first namespace. This caused mailbox storage existence
+ checks to always fail.
+
+ This applies for LAYOUT=index only.
+
+ Broken in 2fc8d7024bb161aab08031b8212a736301844858
+
+M src/lib-storage/list/mail-storage-list-index-rebuild.c
+
+2022-10-18 11:35:22 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (bcdf913eb8)
+
+ lib-storage: list - Add separators to mailbox names when decoding from index
+
+ Mailbox name header decode did not add separators to name, producing only
+ FooBarBar, when it was supposed to give Foo/Bar/Baz.
+
+ Broken in 8216a079d8aac93e2537ed79485e301350ff3887
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2022-10-11 11:17:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (efafbfaad6)
+
+ lib-storage: Store mailbox names unescaped in box-name header
+
+ This header is used when rebuilding mailbox list indexes with LAYOUT=index.
+ The escape character is currently hardcoded for LAYOUT=index, so this
+ couldn't have broken anything unless the hardcoded separator was changed.
+ Still, this was wrong/confusing behavior.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2022-06-15 12:19:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (27131bdfa3)
+
+ dict-redis: Fix crash when using synchronous commit
+
+ Redis is usually used via dict proxy process, which always uses async
+ commit, so this didn't matter so much.
+
+M src/lib-dict/dict-redis.c
+
+2022-02-10 17:12:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a8f52eb73f)
+
+ director: Fix handling auth_master_user_separator setting
+
+ It was actually using a separate master_user_separator setting, causing
+ logins based on auth_master_user_separator to be hashed to wrong backends.
+
+M src/director/director-settings.c
+M src/director/director-settings.h
+M src/director/login-connection.c
+
+2022-09-27 14:28:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4a1b25a1c0)
+
+ doveadm: Fix assert-crash on secondary service_user failures
+
+ This mainly affected dsync when imapc authentication failed, but could have
+ also happened with copy and import commands.
+
+ Fixes: Panic: file lib-event.c: line 506 (event_pop_global): assertion
+ failed: (event == current_global_event)
+
+M src/doveadm/doveadm-mail.c
+
+2022-09-28 16:21:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (069dfd657f)
+
+ lib-storage: Fix MAIL_STORAGE_SERVICE_FLAG_NO_LOG_INIT to not change log
+ prefix in ioloop context changes
+
+ This didn't appear to cause any visible bugs with the current code, but is
+ required by the next commit.
+
+ Broken by ad13ab0702141065b79a1b7e8f2833e5b93871a4
+
+M src/lib-storage/mail-storage-service.c
+
+2022-08-25 09:20:40 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (62f388b03e)
+
+ doc/example-config: Document submissions/465 for submission-login
+
+
+M doc/example-config/conf.d/10-master.conf
+
+2022-02-22 17:47:55 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (08bf01a739)
+
+ lib-storage: Avoid calling mail_set_attachment_keywords() recursively
+
+ It doesn't break, but it's unnecessary work.
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2022-02-22 17:44:02 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (73962c1f59)
+
+ lib-imap: imap_bodystructure_parse*() - Reset parts.data on failure
+
+ Having the data filled only to some message_parts can confuse the callers,
+ thinking that all the parts were successfully filled.
+
+ Fixes: Panic: file message-part-data.c: line 579
+ (message_part_is_attachment): assertion failed: (data != NULL)
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/test-imap-bodystructure.c
+
+2022-06-16 10:57:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (300b5c257b)
+
+ dsync: Add more debug logging
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2022-06-16 10:55:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8609825d4e)
+
+ dsync: Fix dsync_features=no-header-hashes to match UIDs
+
+ Mails were previously assumed to be the same, even if their UIDs didn't
+ match. This caused the sync to misbehave in some situations.
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2022-02-04 09:33:34 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (4c56bab522)
+
+ lib: ioloop-kqueue - Include time-util.h
+
+ Needed to compile on MacOS
+
+M src/lib/ioloop-notify-kqueue.c
+
+2022-05-16 11:04:10 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7accb09647)
+
+ util: dovecot-sysreport - Add timestamps before/after "ps" output
+
+ Sometimes running "ps" can take a while, so make it clear in the output if
+ this has happened.
+
+M src/util/dovecot-sysreport
+
+2022-05-16 10:52:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fe8710dde7)
+
+ util: dovecot-sysreport - Wait 3 seconds between "ps" outputs
+
+ This allows showing more clearly in ps_output file whether a process is
+ using 100% CPU.
+
+M src/util/dovecot-sysreport
+
+2022-06-13 09:56:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a5ffdc8deb)
+
+ doveadm deduplicate: Allocate memory properly for keys in hash table
+
+ This caused wrong mails to be deleted somewhat randomly. Broken by
+ 320844f50cd669b602d30210e2e5216f65d2050f
+
+M src/doveadm/doveadm-mail-deduplicate.c
+
+2022-06-07 09:40:10 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (f0a9cbfb9d)
+
+ auth: db_oauth2_have_all_fields() - Fix auth field existence check
+
+ The correct pointer to pass on there is field, since ptr is the original
+ which still includes the ending }.
+
+ Broken in 9b670175445a75987a713ff899d1a945255b0b5b and incorrectly fixed in
+ 5c2f3d0b85830d18dbb8b45b348da091e24d1b3b.
+
+M src/auth/db-oauth2.c
+
+2022-05-24 15:52:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c4086c78a8)
+
+ lib-compression: istream-decompress - Copy parent stream name
+
+ This is needed, because istream-decompress doesn't actually use the parent
+ stream as the istream parent.
+
+M src/lib-compression/istream-decompress.c
+
+2022-05-19 12:39:55 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (8b3b959d0c)
+
+ stats: stats-service-openmetrics - Always clear the stack before next metric
+ body
+
+ If the attempt of generating output for the previous metric doesn’t
+ completely consume the stack, the next metric will start with a non-empty
+ stack, which breaks the metrics output.
+
+M src/stats/stats-service-openmetrics.c
+
+2022-05-19 11:24:23 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9708531c04)
+
+ doveadm: Add dsync_features=no-header-hashes
+
+ When this setting is enabled and one dsync side doesn't support mail GUIDs,
+ there is no fallback to using header hashes. Instead, dsync assumes that all
+ mails with identical IMAP UIDs contains the same mail contents. This can
+ significantly improve dsync performance with some IMAP servers that don't
+ support caching Date/Message-ID headers.
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2022-05-18 11:31:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (30e6947179)
+
+ auth: Fix assert-crash in iterating multiple userdbs
+
+ Broken by 501e17ba6b448ba3c88338596e0e8f99f0693f79
+
+ Fixes: Panic: file userdb-blocking.c: line 125 (userdb_blocking_iter_next):
+ assertion failed: (ctx->conn != NULL)
+
+M src/auth/auth-master-connection.c
+
+2022-05-02 13:12:26 +0000 Marco Bettini <marco.bettini@open-xchange.com> (e56bb5e361)
+
+ lib: Fix for clang Wstrict-bool pragma failing on unpatched clang
+
+ Note that clang recognises GCC diagnostic pragmas too, so there is no need
+ for distinct pragmas in this case
+
+M src/lib/event-filter-lexer.l
+M src/lib/event-filter-parser.y
+
+2022-05-02 11:14:10 +0000 Marco Bettini <marco.bettini@open-xchange.com> (fdf4cf0d01)
+
+ quota: Fix for clang -Wstrict-bool clashing with #include <rpc/rpc.h>
+
+
+M src/plugins/quota/Makefile.am
+A src/plugins/quota/rquota-pragmas.h
+
+2022-05-02 11:13:41 +0000 Marco Bettini <marco.bettini@open-xchange.com> (2f8682fc0d)
+
+ m4: adding check for clang -Wstrict-bool availability
+
+
+M configure.ac
+M m4/dovecot.m4
+
+2022-05-17 09:05:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (39abdd9343)
+
+ submission: Don't log write() errors that fail due to ECONNRESET
+
+ These happen only if client initialization fails.
+
+M src/submission/main.c
+
+2022-05-17 09:03:47 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (06e883ec95)
+
+ imap: Don't log write() errors that fail due to ECONNRESET
+
+ These happen only before the client is fully initialized.
+
+M src/imap/main.c
+
+2022-05-03 00:27:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a91f361d84)
+
+ fts: Fix optimizing searches in virtual mailboxes without up-to-date indexes
+
+ This could have caused header searches in virtual mailboxes to not return
+ all results when fts_enforced!=yes
+
+ Broken by 9705b81fb51b5bdeaba12932a390ced2cc9dcad7
+
+M src/plugins/fts/fts-storage.c
+
+2022-04-25 10:43:45 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (97f19460a9)
+
+ lib-lua: dlua-dovecot-http - Support more settings with HTTP client
+
+
+M src/lib-lua/dlua-dovecot-http.c
+
+2022-04-25 14:27:12 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3eddd5eba5)
+
+ lib-http: Rename max_auto_retry_delay to max_auto_retry_delay_secs
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2022-04-19 11:42:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1c6c3c320d)
+
+ auth: auth_worker_call() - Return void instead of the connection
+
+ The return value is no longer necessary, and it most likely would just be
+ used wrong.
+
+M src/auth/auth-worker-server.c
+M src/auth/auth-worker-server.h
+
+2022-04-19 11:40:52 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (94577c4450)
+
+ auth: Fix crash when user iteration request is queued
+
+ auth_worker_call() returns NULL when the request couldn't be handled
+ immediately, which would result in NULL pointer dereference later on.
+
+M src/auth/userdb-blocking.c
+
+2022-04-19 11:39:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f89c9e587e)
+
+ auth: Add connection parameter to auth_worker_callback_t
+
+
+M src/auth/auth-worker-server.c
+M src/auth/auth-worker-server.h
+M src/auth/passdb-blocking.c
+M src/auth/passdb-cache.c
+M src/auth/userdb-blocking.c
+
+2022-04-14 13:46:59 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (865fb4f3c1)
+
+ doveadm: Fix hang when flushing a corked print-ostream
+
+ This could have happened at least with doveadm sync/backup command, i.e.
+ causing replication to hang until timeout is reached:
+
+ Error: write(<local>) failed: Timed out after 60 seconds
+
+M src/doveadm/doveadm-print-server.c
+
+2022-04-08 15:59:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0dd36a73e4)
+
+ lib-index: Always write tail offset the same as head offset
+
+ The mail_index_write() must not be called unless this is safe to do. This
+ prevents unnecessarily reading through dovecot.index.log between tail..head
+ offsets, which can be expensive due to modseq calculation.
+
+M src/lib-index/mail-index-write.c
+
+2022-04-08 15:10:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (aa7d67e6d6)
+
+ lib-index: Optimize modseq scanning by using the modseq header in index
+
+ View is very commonly set to start reading new changes since dovecot.index
+ was last written. When reading the newer records in dovecot.index.log, the
+ modseq of each change is needed to be known. However, the initial modseq
+ calculation was usually done inefficiently by reading the whole
+ dovecot.index.log from the beginning of the file. This change prevents that
+ by using instead the "modseq" header in dovecot.index to get the initial
+ modseq.
+
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-modseq.h
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-transaction-log-modseq.c
+
+2022-04-08 13:42:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (40e2a21f83)
+
+ lib-index: Handle 0-sized dovecot.index.log record properly
+
+ The previous behavior was to just silently ignore it and have the next write
+ to the transaction log silently truncate away the trailing garbage.
+
+ Now if the log file isn't locked the issue is still ignored, since it's
+ possible that this is just a race condition. But if the log is locked, it's
+ handled as corruption.
+
+M src/lib-index/mail-transaction-log-file.c
+
+2022-04-12 10:12:11 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (36cbfb8e2b)
+
+ lib: test-event-flatten - Use __FILE__ to get correct expected filename
+
+ Fixes out of tree buids
+
+ Broken in 4f752d381c8e19dd07d1e593996d02294668c8b6
+
+M src/lib/test-event-flatten.c
+
+2022-03-01 10:01:06 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (5c2f3d0b85)
+
+ auth: db-oauth2 - Fix off by one in oauth2 variable handling
+
+ Broken in 9b670175445a75987a713ff899d1a945255b0b5b
+
+M src/auth/db-oauth2.c
+
+2022-03-21 11:03:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (dc40c6dbcf)
+
+ dsync: Properly terminate escape_chars when escaping mailbox names
+
+ Broken by 596c5a52e7e554571285e90063712cb0d37b34eb
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2022-03-02 09:39:30 -0500 Timo Sirainen <timo.sirainen@open-xchange.com> (9e7503d439)
+
+ dsync: Fix hierarchical mailbox name parts individually
+
+ For example with filesystem-based mailbox formats it's not allowed to create
+ "box/../child" mailbox. With previous code dsync just gave up and created
+ the mailbox name based on its GUID. This is now improved to instead try to
+ insert '_' character after each hierarchy separator so the newly fixed
+ mailbox name is "box/_../child".
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2022-03-01 08:37:57 -0500 Timo Sirainen <timo.sirainen@open-xchange.com> (801aae4bd5)
+
+ dsync: Escape and unescape mailbox names as needed
+
+ This should fix various issues with syncing local and remote mailbox names.
+ It especially avoids changing the escape character to alt_char.
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+
+2022-03-01 11:51:04 -0500 Timo Sirainen <timo.sirainen@open-xchange.com> (cfd1b0687f)
+
+ dsync: Track whether escape character was added just for dsync
+
+ Will be used by the following commit
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+
+2022-03-01 08:36:55 -0500 Timo Sirainen <timo.sirainen@open-xchange.com> (60ae30dd9e)
+
+ dsync: Add clarifying comment about mailbox_log_record.maibox_guid contents
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+
+2022-03-01 08:06:14 -0500 Timo Sirainen <timo.sirainen@open-xchange.com> (3864ecbfc7)
+
+ dsync: Add escape_char to dsync-mailbox-tree
+
+ This will be used by the following changes.
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-private.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mailbox-tree-private.h
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+
+2022-03-18 09:41:37 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (f95da1fa2f)
+
+ lib-test: test-subprocess - Free subprocess before forking
+
+ Otherwise it'll leak memory.
+
+ Broken in 34bdfdcbc7e3b374a219732329b6ce6d84a7666e
+
+M src/lib-test/test-subprocess.c
+
+2021-10-25 12:23:56 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (25ae16cb40)
+
+ lib-lua: Add a minimal interface to lib-http
+
+ Adds the ability to
+ - Creating http clients
+ - Creating http requests
+ - Adding arbitrary headers and payload to the http request
+ - Submitting the request to remote server and getting the response
+
+M src/lib-lua/Makefile.am
+A src/lib-lua/dlua-dovecot-http.c
+M src/lib-lua/dlua-dovecot.c
+M src/lib-lua/dlua-script-private.h
+
+2022-03-14 10:18:58 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (e5ae6b26e9)
+
+ doveadm-who: Do not parse numbers as IP addresses
+
+ Fixes doveadm kick as well.
+
+ Broken in 381daab1e3b56a0bc94d2191cf62beba0df51af9
+
+M src/doveadm/doveadm-who.c
+
+2022-03-01 12:06:20 +0100 Markus Valentin <markus.valentin@open-xchange.com> (6026905b7a)
+
+ lib: test-seqset-builder - Add missing seqset_builder_deinit()
+
+ Fixes leaking memory when running tests.
+
+M src/lib/test-seq-set-builder.c
+
+2022-03-01 13:49:39 +0100 Markus Valentin <markus.valentin@open-xchange.com> (4540884c46)
+
+ imapc: imapc_transaction_save_rollback() - Fix NULL-check for ctx->src_mbox
+
+ Assert that unfinished context implies that ctx->src_mbox is non-NULL. Also
+ check for ctx->src_mbox being non-NULL before deinitializing it.
+
+M src/lib-storage/index/imapc/imapc-save.c
+
+2022-02-28 13:15:06 +0100 Markus Valentin <markus.valentin@open-xchange.com> (e5a07bd1c4)
+
+ imapc: imapc_mailbox_msgmap_update() - Set new_message_r
+
+ In case a message has not yet been keep the reply till syncing and do not
+ discard it right away.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2022-02-24 15:31:39 +0100 Markus Valentin <markus.valentin@open-xchange.com> (f5fc15b1b1)
+
+ imapc: Delay fetching state after untagged exists reply
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2021-12-16 09:11:55 +0100 Markus Valentin <markus.valentin@open-xchange.com> (173cc696f8)
+
+ imapc: imapc_copy() - Make sure capabilities are known before copying
+
+
+M src/lib-storage/index/imapc/imapc-save.c
+
+2021-11-11 16:17:35 +0100 Markus Valentin <markus.valentin@open-xchange.com> (09bfbb4cb1)
+
+ imapc: Implement rollback for failed copies
+
+
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2021-11-11 18:31:54 +0100 Markus Valentin <markus.valentin@open-xchange.com> (95baaaf454)
+
+ imapc: imapc_save_copyuid() deduplicate code
+
+
+M src/lib-storage/index/imapc/imapc-save.c
+
+2021-11-11 16:18:09 +0100 Markus Valentin <markus.valentin@open-xchange.com> (1e888011d0)
+
+ imapc: Enable bulk copying if remote backend has UIDPLUS capability
+
+
+M src/lib-storage/index/imapc/imapc-save.c
+
+2021-11-11 14:52:54 +0100 Markus Valentin <markus.valentin@open-xchange.com> (79b5dc6024)
+
+ imapc: Implement bulk copying for imapc
+
+
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2021-11-11 16:10:53 +0100 Markus Valentin <markus.valentin@open-xchange.com> (d8ac772071)
+
+ imapc: Extract imapc_copy_simple() from imapc_copy()
+
+ Keep the old one by one copying functionality as simple call. This will be
+ used if the remote backend does not have the UIDPLUS capability.
+
+M src/lib-storage/index/imapc/imapc-save.c
+
+2022-01-12 15:09:16 +0100 Markus Valentin <markus.valentin@open-xchange.com> (dd9923ed99)
+
+ lib-storage: index_save_context_free() - Add assertion on non-NULL
+ ctx->dest_mail
+
+
+M src/lib-storage/index/index-storage.c
+
+2021-12-08 17:17:56 +0100 Markus Valentin <markus.valentin@open-xchange.com> (ed093cb058)
+
+ lib: Add seq-set-builder and tests for it
+
+
+M src/lib/Makefile.am
+A src/lib/seq-set-builder.c
+A src/lib/seq-set-builder.h
+M src/lib/test-lib.inc
+A src/lib/test-seq-set-builder.c
+
+2022-02-10 17:37:59 +0100 Marco Bettini <marco.bettini@open-xchange.com> (0b8d22e109)
+
+ lib-storage: imapc_mailbox_close() - Remove unprocessed
+ untagged_fetch_contexts
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2022-02-10 16:26:10 +0100 Marco Bettini <marco.bettini@open-xchange.com> (589f8b1eba)
+
+ lib-storage: Remove trainling spaces
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2022-02-02 16:58:24 +0100 Markus Valentin <markus.valentin@open-xchange.com> (6b7a40bd5d)
+
+ imapc: imapc_sync_handle_untagged_fetches() - Commit after adding the
+ untagged fetch messages
+
+ The absence of the commit could have caused issues when imapc_sync_finish()
+ was not called as it left mbox->delayed_sync_trans initialized but
+ mbox->delayed_sync_view was NULL.
+
+ Broken by 55a8c2d294bb2f764209c7ce455d258b2b7506f5
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2022-01-18 09:46:32 +0100 Markus Valentin <markus.valentin@open-xchange.com> (4b517a91b4)
+
+ imapc: Start to handle new untagged fetch messages in imapc_sync()
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2022-01-18 09:22:24 +0100 Markus Valentin <markus.valentin@open-xchange.com> (6d505f1b39)
+
+ imapc: Add imapc_sync_handle_untagged_fetches()
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2022-01-17 15:41:25 +0100 Markus Valentin <markus.valentin@open-xchange.com> (aa26f7a231)
+
+ imapc: imapc_untagged_fetch_handle() - Change return type to bool
+
+ When calling imapc_untagged_fetch_handle() also retrieve new_message_r from
+ it which allows imapc_mailbox_msgmap_update() to determine if the message
+ just handled was already in index or not.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2022-01-27 08:06:16 +0100 Markus Valentin <markus.valentin@open-xchange.com> (235f491ffe)
+
+ imapc: imapc_untagged_fetch_update_flags() - Reduce indentation
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2022-01-27 07:56:32 +0100 Markus Valentin <markus.valentin@open-xchange.com> (ea5eb228c7)
+
+ imapc: Split off imapc_untagged_fetch_update_flags() for handling flag
+ updates
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2022-01-17 15:00:41 +0100 Markus Valentin <markus.valentin@open-xchange.com> (4656356f1e)
+
+ imapc: Introduce imapc_untagged_fetch_ctx
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2022-01-17 13:57:56 +0100 Markus Valentin <markus.valentin@open-xchange.com> (332c4ef1a4)
+
+ imapc: Decouple imapc_untagged_fetch parsing and handling
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2022-03-09 02:30:12 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (a987d6b01f)
+
+ submission-login: Add workaround for SMTP backend that is not Dovecot.
+
+ Adds workaround called "exotic-backend".
+
+M src/submission-login/client-authenticate.c
+M src/submission-login/submission-login-settings.c
+M src/submission-login/submission-login-settings.h
+M src/submission/submission-settings.c
+
+2022-03-02 15:40:16 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (f703acd4a2)
+
+ auth: auth-cache - Always use translated_username as cache key
+
+ This fixes auth cache when passdb/userdb changes the user field.
+
+M src/auth/auth-cache.c
+
+2022-03-02 14:57:20 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (020f8d5cff)
+
+ auth: Set translated_user to requested_login_user in master login
+
+ Fixes caching issues with master logins.
+
+M src/auth/auth-request-fields.c
+
+2021-07-06 14:02:41 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2e5b63175d)
+
+ auth: Include cache hit/miss information in passdb/userdb lookup end events
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/passdb-cache.c
+
+2022-02-28 17:12:32 +0100 Marco Bettini <marco.bettini@open-xchange.com> (9a355e8aa7)
+
+ fts: Parse mail header before checking whether to index it
+
+ Fixes an issue where mime parts Content-type wasn't properly set, causing
+ binary mime parts to be fed to the indexes.
+
+ Broken in ddb85f3533842aa7c4e943c10bbd3dcb745c2eae
+
+M src/plugins/fts/fts-build-mail.c
+
+2022-02-18 18:31:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1133504c52)
+
+ dsync: Log reason why mailbox is synced with debug logging
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain-private.h
+
+2022-02-21 23:07:11 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (8bc0825d97)
+
+ dsync: If modseqs aren't permanent, assume HIGHESTMODSEQ=0
+
+ Otherwise the HIGHESTMODSEQ is just whatever happens to be in the in-memory
+ view of the index, which most likely isn't the true HIGHESTMODSEQ. Using 0
+ makes it clear that the HIGHESTMODSEQ isn't valid and can't be used.
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2022-02-12 15:07:39 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (9da4834ad0)
+
+ submission-login: submission-proxy - Do not include initial response in AUTH
+ command if it is too long.
+
+
+M src/submission-login/client.h
+M src/submission-login/submission-proxy.c
+
+2022-02-21 21:36:55 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (9a16de7aad)
+
+ submission-login: submission-proxy - Rename local variable in
+ proxy_send_login().
+
+
+M src/submission-login/submission-proxy.c
+
+2022-02-21 21:32:45 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (7a79eba26e)
+
+ lib-smtp: smtp-client - Move SMTP_BASE_LINE_LENGTH_LIMIT definition to
+ smtp-common.h.
+
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-common.h
+
+2022-02-21 21:29:23 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (10b0d57967)
+
+ lib-smtp: smtp-client-connection - Rename SMTP_CLIENT_BASE_LINE_LENGTH_LIMIT
+ to SMTP_BASE_LINE_LENGTH_LIMIT.
+
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2022-02-23 14:21:02 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (84fe9d12fc)
+
+ lib-smtp: smtp-client-connection - Fix typo in comment.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2022-02-22 14:14:20 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (d5d8b69aa7)
+
+ director: Fix crashes caused by changing host tag
+
+ Fixes: Panic: file director.c: line 1175 (director_move_user): assertion
+ failed: (user->host->tag == host->tag) Panic: file director-request.c: line
+ 303 (director_request_continue_real): assertion failed: (user->host->tag ==
+ mail_tag)
+
+M src/director/mail-host.c
+
+2022-02-22 14:10:02 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (44b7eda458)
+
+ director: Prevent loops where directors keep changing host tags
+
+
+M src/director/director-connection.c
+
+2022-02-21 12:47:29 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (7a64ec1ef8)
+
+ lib: If log prefix update can't be sent to log, exit with FATAL_LOGERROR
+
+
+M src/lib/failures.c
+
+2022-02-21 12:39:02 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (1bf3963714)
+
+ lib: Fix losing log prefix or IP change when log process is busy
+
+ The fd for writing to log process is non-blocking. When sending options to
+ log process, it was done with write_full(), which stopped whenever EAGAIN
+ was returned. This error was simply ignored, and the logging code thought
+ that the prefix was successfully changed (or the IP was sent).
+
+ This mainly caused a problem when processes were reused and log process was
+ busy. The prefix update could have failed, and the following logging would
+ be using the previous session's log prefix, i.e. log lines could have been
+ logged for the wrong user/session.
+
+ Broken by 9372e48b702a3af5705785e08fbf47b0e37f2047
+
+M src/lib/failures.c
+
+2022-02-06 14:20:08 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (3e8befe6b5)
+
+ dict: Fix potential timeout leak at deinit
+
+ The deinit code could still trigger proctitle refresh.
+
+M src/dict/main.c
+
+2022-02-22 11:23:33 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (17118d5970)
+
+ dict: Make sure proctitle refresh timeout goes to the main ioloop
+
+ In some situations it could have gone to dict_wait() ioloop, causing timeout
+ leaks or crashes.
+
+M src/dict/main.c
+
+2021-10-25 15:43:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (974e970889)
+
+ lib-storage: Don't use cached message_parts while message is being parsed
+
+ Finish the parsing instead. Otherwise there can be some confusion about
+ parsed_bodystructure* fields, which indicate that data->parts have the
+ bodystructure info while in reality data->parts came from cached fields and
+ they have no bodystructure info.
+
+M src/lib-storage/index/index-mail.c
+
+2021-10-25 12:22:06 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6b6d61e9d1)
+
+ lib-storage: Reset bodystructure parsing state when reseting message_parts
+
+ Fixes: Panic: file message-part-data.c: line 28
+ (message_part_data_is_plain_7bit): assertion failed: (data != NULL)
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/test-mail.c
+
+2022-02-09 23:12:19 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d31af56e9a)
+
+ dict-sql: Fix assert-crash if trying to rollback an open set/inc transaction
+
+ Fixes: Panic: file dict-sql.c: line 911 (sql_dict_transaction_free):
+ assertion failed: (!array_is_created(&ctx->prev_set))
+
+M src/lib-dict-backend/dict-sql.c
+
+2022-02-04 04:30:48 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (b743c13533)
+
+ anvil: connect_limit_deinit() - Free ident_pid_hash elements
+
+
+M src/anvil/connect-limit.c
+
+2022-02-11 09:17:58 +0100 Marco Bettini <marco.bettini@open-xchange.com> (feebfa572a)
+
+ indexer: indexer_client_status_callback() - Fix accessing freed memory
+
+ Broken by a9683d7b3
+
+M src/indexer/indexer-client.c
+
+2022-02-07 16:04:41 +0100 Marco Bettini <marco.bettini@open-xchange.com> (e65b925b86)
+
+ indexer: Fix memory leak on indexer timeout
+
+
+M src/indexer/indexer-client.c
+
+2022-02-04 01:28:45 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (ff258ecea5)
+
+ stats: stats_metrics_remove_dynamic() - Free the removed metric
+
+
+M src/stats/stats-metrics.c
+
+2022-02-04 01:32:18 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (8437a9224f)
+
+ stats: stats_metric_alloc() - Fix indentation on p_new() call
+
+
+M src/stats/stats-metrics.c
+
+2022-01-31 12:42:46 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (c5ef0ce4b7)
+
+ replication: aggregator - Free replicator_connection content
+
+
+M src/replication/aggregator/replicator-connection.c
+
+2022-02-01 14:22:31 +0100 Marco Bettini <marco.bettini@open-xchange.com> (12a751615b)
+
+ mail-crypt: Fix for mail being wrongly storing encrypted via LMTP
+
+ If 1st recipient has mail_crypt_save_version=2, and 2nd recipient has
+ mail_crypt_save_version=0, the mail for 2nd recipient is wrongly stored
+ encrypted.
+
+ Same happens if 2nd recipient has mail_crypt disabled
+
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+
+2020-03-31 13:51:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a707e6907c)
+
+ mail-crypt: Remove "plugin disabled" texts from errors
+
+ The plugin isn't just disabled, the user initialization fails entirely.
+
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+
+2020-03-31 13:49:28 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4514e72dd7)
+
+ mail-crypt: Fix crash when plugin is already initialized, but not used for
+ another user
+
+ Fixes: Panic: Module context mail_crypt_user_module missing
+
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+
+2021-04-29 21:09:01 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (41e439f993)
+
+ doveadm deduplicate: Simplify code by using doveadm_mail_iter_deinit_sync()
+
+
+M src/doveadm/doveadm-mail-deduplicate.c
+
+2021-04-29 21:05:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d60ca6eaac)
+
+ doveadm deduplicate: Optimize by deduplicating in a single transaction
+
+
+M src/doveadm/doveadm-mail-deduplicate.c
+
+2022-02-14 13:50:02 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (70a924bd84)
+
+ pop3: Fix empty command handling
+
+ If empty command is given, error out instead of trying to create event. This
+ fixes a crash caused by d2ab26be6038bd53b13a3ff18c403d6c192c1d91.
+
+M src/pop3/pop3-client.c
+
+2022-02-02 17:01:49 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (6b66c7694e)
+
+ lib-master: Fix deinit memory leak with process_shutdown_filter
+
+
+M src/lib-master/master-service.c
+
+2021-12-17 09:27:07 +0100 Marco Bettini <marco.bettini@open-xchange.com> (3b05ece496)
+
+ plugins/fts: Allow plugins to carry state across calls during search session
+
+
+M src/plugins/fts/fts-api.h
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.h
+
+2022-01-26 16:09:29 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d6f90fc69e)
+
+ auth: ldap: Drop partially saved results before retrying request
+
+ Fixes "LDAP search returned multiple entries" happening after reconnects.
+
+M src/auth/db-ldap.c
+
+2022-01-26 16:03:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c870c58f3f)
+
+ auth: ldap: If any requests were lost, reconnect to LDAP server
+
+
+M src/auth/db-ldap.c
+
+2022-01-26 16:00:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (30325b92b7)
+
+ auth: ldap: If LDAP connection appears to be hanging, abort all old requests
+
+ Retrying the reconnect might fix them, but since this situation isn't
+ supposed to happen in the first place, it's safer to just remove them
+ entirely to guarantee that it's not trying to keep retrying them for a long
+ time.
+
+M src/auth/db-ldap.c
+
+2022-01-26 14:46:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6360d26c8a)
+
+ auth: ldap: Reconnect to server if receiving unknown msgid
+
+ It's unclear why this happens. Is it a bug on server or client side? Either
+ way, this situation doesn't now fix itself automatically, so reconnecting
+ should help.
+
+M src/auth/db-ldap.c
+
+2022-01-26 14:43:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (88d55b93ba)
+
+ auth: ldap: Stop re-sending request after 3 disconnect+reconnects
+
+ This prevents retrying the same LDAP request forever in situations where the
+ request causes LDAP server to become disconnected. This might fix some real
+ issues, but it was mainly implemented because testing the following commit
+ caused infinite looping.
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+
+2022-02-01 14:57:16 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (342c872791)
+
+ lmtp: proxy - Add per-connection counter to session_id
+
+ This way connections to two different backends don't try to use the same
+ session_id. Add 'P' letter before the counter to clarify that it's the proxy
+ connection counter.
+
+M src/lmtp/lmtp-proxy.c
+
+2022-02-01 14:40:48 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (84ebee8902)
+
+ lmtp: Simplify/clarify per-recipient session ID
+
+ The session ID is the transaction ID followed by an increasing recipient
+ count (number of RCPT commands) in the SMTP transaction. Clarify this by
+ adding 'R' letter before the counter. Also don't add the counter suffix at
+ all for the first recipient, since most transactions only have a single
+ recipient.
+
+M src/lmtp/lmtp-recipient.c
+
+2022-02-01 14:35:05 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (edf91ac779)
+
+ lib-smtp: server-transaction - Simplify/clarify transaction ID
+
+ The transaction ID is the session ID followed by an increasing transaction
+ count (number of MAIL commands) in the SMTP server connection. Clarify this
+ by adding 'T' letter before the counter. Also don't add the counter suffix
+ at all for the first session, since most sessions only have a single
+ transaction.
+
+M src/lib-smtp/smtp-server-transaction.c
+
+2022-02-01 14:29:43 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (f26b7d3c13)
+
+ lib-smtp, lmtp: Add brackets to <session-id> in logging
+
+ This makes it clearer where the session-id stops. It's also similar to how
+ it is in mail_log_prefix.
+
+M src/lib-smtp/smtp-server-transaction.c
+M src/lmtp/lmtp-proxy.c
+
+2022-02-01 15:03:15 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (7a168bb5b5)
+
+ lmtp: proxy - Use recipient-specific session-id when logging the result
+
+ Instead of transaction ID, which is shared between recipients.
+
+M src/lmtp/lmtp-proxy.c
+
+2022-02-01 16:00:36 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (d107539524)
+
+ lmtp: struct lmtp_recipient - Change all strings to const
+
+
+M src/lmtp/lmtp-recipient.h
+
+2022-01-27 21:40:25 +0100 Markus Valentin <markus.valentin@open-xchange.com> (9e151e0fd9)
+
+ lib-storage: LAYOUT=index: Fix accessing freed memory when deleting
+ \Noselect parents
+
+ Broken by f5328d6f7e4a8e460c736fa0336f5766aa58abda
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2022-01-28 10:54:53 +0100 Markus Valentin <markus.valentin@open-xchange.com> (dc5e01c2b2)
+
+ lib-http: http_server_resource_create() - Remove unnecessary pool allocation
+
+ Fixes leaking the memory pool created in stats_http_resource_add()
+
+M src/lib-http/http-server-resource.c
+
+2022-01-26 04:00:32 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (4a4a4cf02b)
+
+ lib-smtp: test-smtp-client-errors - Add test for succesful authentication
+ with large initial response.
+
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2022-01-26 03:58:49 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (3de3cd5987)
+
+ lib-smtp: smtp-client-connection - Fix authentication with multi-roundtrip
+ SASL mechanisms.
+
+ Before, it would fail with an unexpected reply error.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2022-01-24 01:39:19 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (1a09d82bee)
+
+ lib-smtp: test-smtp-client-errors - Add test for successful authentication.
+
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2022-01-24 01:41:15 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (20d406b91c)
+
+ lib-smtp: test-smtp-client-errors - Rename "authentication failed" test to
+ "authentication".
+
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2022-01-28 03:14:16 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (5ad9c03dc4)
+
+ lib-smtp: smtp-client - Fix maximum line length to include CRLF.
+
+
+M src/lib-smtp/smtp-client-private.h
+
+2022-01-21 01:08:31 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (c8671f74ee)
+
+ lib-smtp: smtp-client-connection - Do not include initial response in AUTH
+ command if it is too long.
+
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2022-01-21 02:26:18 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (02e43414e0)
+
+ lib-smtp: smtp-client-connection - Move auth cleanup to separate function.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2022-01-28 03:17:59 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (76810027a5)
+
+ lib-sasl: dsasl-client - Make dsasl_client_free(&NULL) a no-op.
+
+
+M src/lib-sasl/dsasl-client.c
+M src/lib-smtp/smtp-client-connection.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+
+2022-01-21 02:28:23 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (94c8febccc)
+
+ lib-smtp: smtp-client-connection - Reformat comment.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2022-01-26 19:28:33 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (3e0a147292)
+
+ indexer: Fix memory leak - worker_requests were never freed
+
+ Broken by 141766b24f885259508ae39f2e18811018373bc7
+
+M src/indexer/indexer.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-connection.h
+
+2022-01-25 23:31:34 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (8e0763ac32)
+
+ indexer: Fix memory leak - session IDs were never freed
+
+ Broken by a8dcd4e2332c73087e9b148d34259230a77edb28
+
+M src/indexer/indexer-queue.c
+
+2021-12-01 12:21:48 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7b96f6cbf5)
+
+ lib-storage: Fix search query that only contains SEARCH_MAILBOX_GUID
+
+ Fixes assert-crash in virtual mailbox:
+
+ Panic: file virtual-search.c: line 77 (virtual_search_get_records):
+ assertion failed: (result != 0)
+
+M src/lib-storage/index/index-search-private.h
+M src/lib-storage/index/index-search.c
+
+2021-12-16 11:49:24 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (a97162ccc6)
+
+ lib-master: Add process_shutdown_filter setting
+
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2021-12-16 11:44:38 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (14f8d9c734)
+
+ lib-master: Refactor parsing event filters from settings.
+
+
+M src/lib-master/master-service-settings.c
+
+2021-12-16 11:38:53 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (623a7b2be8)
+
+ lib-master: Remove check for client->filter == NULL before
+ event_filter_match().
+
+
+M src/lib-master/stats-client.c
+
+2021-12-16 11:38:08 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (8e99dae094)
+
+ lib: Add check for NULL to event_filter_match().
+
+
+M src/lib/event-filter.c
+
+2021-12-15 15:19:04 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (181f1456d6)
+
+ lib-master: Whitespace cleanup.
+
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2021-12-01 13:35:12 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (1425e94b93)
+
+ lib-storage: Emit event with process stat in mail_user_deinit().
+
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2021-12-07 16:58:43 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (d8c4013cdc)
+
+ lib: Add event_add_int_non_zero()
+
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2021-12-01 13:34:22 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (0ba13e8e70)
+
+ lib: Add functionality for acquiring process stat.
+
+
+M src/lib/Makefile.am
+A src/lib/process-stat.c
+A src/lib/process-stat.h
+
+2021-12-21 10:47:54 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (3a25648a1d)
+
+ lib: add timeval_to_usecs()
+
+
+M src/lib/time-util.h
+
+2021-12-20 16:17:54 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (578c5f4b8c)
+
+ lib: Whitespace cleanup
+
+
+M src/lib/lib-event.c
+
+2022-01-14 08:07:50 +0100 Markus Valentin <markus.valentin@open-xchange.com> (1e0870724b)
+
+ lib-storage: mailbox-list: index_list_rename_mailbox() - Support NO-NOSELECT
+
+ When NO-NOSELECT is configured delete parent mailboxes which are not
+ selectable or existant when renaming child mailboxes.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2022-01-14 08:04:09 +0100 Markus Valentin <markus.valentin@open-xchange.com> (964fe86c5c)
+
+ lib-storage: mailbox-list: index_list_delete_mailbox() - Support NO-NOSELECT
+
+ When NO-NOSELECT is configured delete parent mailboxes which are not
+ selectable or not existant when deleting child mailboxes.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2022-01-21 16:31:04 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (77239a25c5)
+
+ doveadm fetch/search: Use DOVEADM_MAIL_ITER_FLAG_STOP_WITH_CLIENT
+
+ These commands only write output to the client, so it's safe to stop them if
+ the client disconnects.
+
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-search.c
+
+2022-01-21 16:29:48 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4eb82acbc3)
+
+ doveadm: doveadm_mail_iter_init() - Add
+ DOVEADM_MAIL_ITER_FLAG_STOP_WITH_CLIENT
+
+ When this flag is used, the iteration is stopped if print ostream has
+ reported an error, i.e. doveadm-client has disconnected.
+
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-iter.h
+
+2022-01-21 16:24:39 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2b2cdb719b)
+
+ doveadm: doveadm_mail_iter_init() - Change bool parameter to flags
+
+
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-deduplicate.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-flags.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-iter.h
+M src/doveadm/doveadm-mail-mailbox-cache.c
+M src/doveadm/doveadm-mail-rebuild.c
+M src/doveadm/doveadm-mail-search.c
+
+2022-01-20 14:16:51 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (aacaf65d7f)
+
+ doveadm-server: Fix hang when flushing print output and client disconnects
+
+
+M src/doveadm/doveadm-print-server.c
+
+2022-01-20 14:13:48 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (8f34eb952d)
+
+ lib: ostream-multiplex - Call flush callbacks also when stream has failed
+
+ It may be important for the flush callbacks to know when ostream has been
+ closed. This is a partial fix to prevent doveadm-server hanging when it's
+ printing lots of output and doveadm client disconnects.
+
+M src/lib/ostream-multiplex.c
+
+2022-01-20 13:34:50 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (d902430e43)
+
+ doveadm: Fix assert-crash when proxying causes print buffer to be flushed
+
+ Fixes: Panic: file ioloop.c: line 865 (io_loop_destroy): assertion failed:
+ (ioloop == current_ioloop)
+
+M src/doveadm/doveadm-print-server.c
+
+2021-12-22 12:12:51 +0100 Markus Valentin <markus.valentin@open-xchange.com> (d02a022d73)
+
+ imapc: Fix doveadm copy with imapc
+
+ When copying to a mailbox with imapc it does not sync the destination
+ mailbox when opening. This created "Error: Syncing mailbox '$mailboxname'
+ failed: Internal error occurred." Prevent this error by checking for the
+ MAILBOX_FLAG_SAVEONLY flag which is used by doveadm to create the
+ destination mailbox. If that flag is set ignore that there was no initial
+ fetching done.
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2022-01-21 12:12:52 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (2088e0917e)
+
+ configure.ac: Set dovecot version to 2.3.100.devel
+
+ This helps with version comparisons.
+
+M configure.ac
+
+2022-01-14 04:02:09 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (bcdc6ef0ec)
+
+ submission: submission-backend-relay - Make sure QUIT command yields 221
+ when relay connection is closed normally.
+
+ Before, it would sometimes erroneously treat the closing connection as a
+ "connection lost" 421 situation.
+
+M src/submission/submission-backend-relay.c
+
+2022-01-14 04:01:29 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (9f05ce1758)
+
+ submission: submission-backend-relay - Fix segfault in QUIT command
+ client-side destruction.
+
+
+M src/submission/submission-backend-relay.c
+
+2020-11-09 02:29:04 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (a53380c353)
+
+ lib-smtp: smtp-server-cmd-rset - Stop processing pipeline until RSET is
+ complete.
+
+ A subsequent MAIL command could get reset in the middle otherwise. Before,
+ it only blocked input until a reply was submitted, but the transaction isn't
+ reset until the RSET command is complete (just before actually sending the
+ reply) which can cause issues when the subsequent MAIL command is already
+ being processed.
+
+M src/lib-smtp/smtp-server-cmd-rset.c
+
+2020-11-09 00:02:51 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (5a7616f93b)
+
+ lib-smtp: smtp-server-cmd-helo - Stop processing pipeline until HELO/EHLO is
+ complete.
+
+ A subsequent MAIL command could get reset in the middle otherwise. Before,
+ it only blocked input until a reply was submitted, but the transaction isn't
+ reset until the EHLO/HELO command is complete (just before actually sending
+ the reply) which can cause issues when the subsequent MAIL command is
+ already being processed.
+
+M src/lib-smtp/smtp-server-cmd-helo.c
+
+2020-11-08 03:58:06 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (5aeca06ad6)
+
+ lib-smtp: smtp-server-command - Add
+ smtp_server_command_pipeline_block/unblock().
+
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server.h
+
+2022-01-10 03:54:13 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (d79841aa34)
+
+ lib-smtp: smtp-client-transaction - Plug the command pipeline while
+ transaction is pending.
+
+ This prevents commands submitted after creating the transaction from being
+ exectuted out-of-order before the transaction's MAIL command.
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2022-01-10 03:53:41 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (ffbf4efea2)
+
+ lib-smtp: smtp-client-transaction - Add
+ smtp_client_command_mail_submit_after().
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-command.h
+
+2022-01-10 01:18:56 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (2ccec52a52)
+
+ lib-smtp: smtp-client-transaction - Prevent recursion for
+ smtp_client_transaction_fail*().
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2022-01-11 02:05:26 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (c40e19df16)
+
+ lib-smtp: Reformat smtp-server-cmd-quit.c.
+
+
+M src/lib-smtp/smtp-server-cmd-quit.c
+
+2022-01-20 12:42:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6f703021eb)
+
+ lib-storage: Don't delay setting mail event's log prefix
+
+ This caused crashes if the mail event was kept referenced and used for
+ logging after struct mail was already freed. With the delayed mail event
+ creation the log prefix shouldn't be much of a performance problem, so just
+ set the prefix immediately.
+
+ Partially reverts bc68e1c368db746557829f67556f3c72943b7956.
+
+M src/lib-storage/mail.c
+
+2022-01-19 15:07:58 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (6b6465700f)
+
+ configure: Update version to 2.3.devel
+
+
+M configure.ac
+
+2021-11-30 12:47:52 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (51bb266887)
+
+ NEWS: Add news for 2.3.17.1
+
+
+M NEWS
+
+2021-09-28 12:40:29 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3330f8f631)
+
+ NEWS: Add news for 2.3.17
+
+
+M NEWS
+
+2022-01-10 19:46:12 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (26c5c2aa2b)
+
+ lib-storage: Remove reason_code=mailbox:search
+
+ Continues the slow per-mail event removals started in
+ f3c568e3cbc113920bc029e07e56619589c6a26d.
+
+ Reverts 87cd6570a14b3f572fc6000f710df409371a4bcb
+
+M src/lib-storage/index/index-search.c
+
+2021-12-13 12:54:19 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (c043787771)
+
+ lmtp: lmtp-proxy - Add session ID to backend connection error replies.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2021-12-13 04:08:32 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (b29d0df2ef)
+
+ submssion: submission-backend-relay - Avoid logging two errors about a
+ connection problem.
+
+ Earlier commit changed lib-smtp to consistently log an error for connection
+ problems, which causes a second error to occur for submission relay backend.
+ This is undesirable.
+
+M src/submission/submission-backend-relay.c
+
+2021-12-07 01:51:45 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (08d650cb81)
+
+ lmtp: lmtp-proxy - Add lmtp_verbose_replies setting.
+
+ It causes the proxy to return errors with full details in replies to the
+ LMTP client.
+
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2021-12-27 11:35:05 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (a0cd85f004)
+
+ lmtp: lmtp-proxy - Split off lmtp_proxy_handle_connection_error().
+
+
+M src/lmtp/lmtp-proxy.c
+
+2022-01-04 21:20:22 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (1d88bdfdf8)
+
+ lmtp: lmtp-proxy - Change proxy connection failure message make more sense.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2021-12-07 01:58:32 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (11b6ccdfce)
+
+ lib-smtp: smtp-client - Add verbose_user_errors setting.
+
+ It returns the detailed administrator errors as user error in the reply
+ returned to the calling application.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client.c
+M src/lib-smtp/smtp-client.h
+
+2021-12-07 01:51:18 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (40d49a038b)
+
+ lib-smtp: smtp-client-connection - Log administrator connection failures at
+ a single place.
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2021-12-23 00:59:45 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (f436df8709)
+
+ lib-smtp: smtp-client-connection - Consistently log an error for connection
+ failures.
+
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/test-smtp-client-errors.c
+
+2021-12-07 02:44:58 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (5ef51c52ef)
+
+ lib-smtp: smtp-client-connection - Add definition for repeatedly used
+ connection error.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2021-12-27 11:24:36 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (06f838091b)
+
+ lmtp: Reformat lmtp-proxy.c.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2021-12-07 01:23:13 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (2e82fdb706)
+
+ lib-smtp: Reformat smtp-client-connection.c.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2022-01-05 01:27:48 +0000 Stephan Bosch <stephan.bosch@dovecot.fi> (3575639fc4)
+
+ lib-compression: ostream-zlib - Fix signed vs unsigned comparison.
+
+
+M src/lib-compression/ostream-zlib.c
+
+2022-01-05 01:25:34 +0000 Stephan Bosch <stephan.bosch@dovecot.fi> (5108d7bddd)
+
+ lib: test-event-flatten - Fix format string specifier for usec time
+
+
+M src/lib/test-event-flatten.c
+
+2021-12-28 09:37:42 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f3c568e3cb)
+
+ lib-storage: Remove most reason_code=mail:*
+
+ Event reasons create events internally. This is rather expensive if it's
+ done for operations that access all emails in a large folder, e.g. SORT. The
+ per-mail reason_codes also didn't seem to be hugely helpful, so best to just
+ remove them.
+
+ Some of the mail:* reasons were left where they are causing mail stream to
+ be opened anyway. In these cases the extra CPU used by event reasons is
+ relatively little.
+
+ Reverts ce517f8323fa4a60b230f29712b207139badb3f0
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/mail.c
+
+2021-12-20 11:05:39 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ac4d66e25e)
+
+ maildir: maildir_filename_base_hash() - Disable ubsan integer wrapping
+ checks
+
+
+M src/lib-storage/index/maildir/maildir-filename.c
+
+2021-12-09 18:06:11 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (ac7bcc31c9)
+
+ lib-fts: Reuse textcat handle between sessions
+
+ textcat initialization is rather CPU intensive. Its configuration is
+ normally always the same between sessions, so we can keep the latest textcat
+ handle cached.
+
+M src/lib-fts/fts-language.c
+
+2021-11-29 17:05:18 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (fd7248b707)
+
+ lib-storage: Remove index_mail_data.seq
+
+ The seq already exists in struct mail, so this unnecessarily duplicated it.
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2021-11-29 16:21:29 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (767b689cfb)
+
+ lib-storage: Minor optimization - Use mail_index_lookup_full() to avoid two
+ index lookups
+
+ mail_index_is_expunged() was already internally doing the full lookup.
+
+M src/lib-storage/index/index-mail.c
+
+2021-11-29 16:16:30 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (526a0f5b18)
+
+ lib-index: mail_index_lookup_full() - Add expunged_r parameter
+
+
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index.h
+
+2021-11-29 13:26:25 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (bc68e1c368)
+
+ lib-storage: Optimize setting mail event log prefix
+
+ This was much more important before mail event creation was delayed. In one
+ installation the t_strdup_printf() call itself took about 4% of the total
+ CPU usage. Now that mail events are delayed, this is likely much less of an
+ issue. Still, this is easy enough of an optimization that might as well do
+ it.
+
+M src/lib-storage/mail.c
+
+2021-11-29 15:46:04 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (165be3edb6)
+
+ lib-storage: Delay creating mail event until mail_event() is called
+
+ Mails can be accessed a lot. The event handling code takes up a lot of CPU,
+ but most of the time the created event wasn't actually used for anything.
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+
+2021-11-29 15:43:29 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (a24e4a14f9)
+
+ lib-storage: Make sure mail event is created before accessing streams or
+ metadata
+
+ This is in preparation for the next commit which delays the mail event
+ creation. The event duration behaves better if the event is created before
+ any potentially slow access is done.
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail.c
+
+2021-11-29 15:36:58 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (58eef6713e)
+
+ lib-storage: Move struct mail.event to mail_private
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+
+2021-11-29 15:32:28 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (b0596718ab)
+
+ lib-lda, lib-storage: Use mail_event()
+
+
+M src/lib-lda/mail-send.c
+M src/lib-storage/mail.c
+
+2021-11-29 15:31:17 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (4b3775baf0)
+
+ lib-storage: Add mail_event()
+
+
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+
+2021-11-29 18:39:22 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (13fd3c3256)
+
+ lib-storage: Add and use mail_metadata_access_start()
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail.c
+
+2021-11-29 18:32:09 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (988a575c35)
+
+ lib-storage: Add and use mail_stream_access_start()
+
+ This replaces setting mail_stream_accessed directly.
+
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail.c
+
+2021-11-29 18:35:31 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (e06ee029f6)
+
+ lib-storage: raw: get_stream() - Add missing lookup_abort and
+ mail_stream_accessed handling
+
+
+M src/lib-storage/index/raw/raw-mail.c
+
+2021-11-29 18:34:43 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (2f2e3b3d37)
+
+ pop3c: Add missing lookup_abort and mail_stream_accessed handling
+
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+
+2021-11-29 20:44:05 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (5b97f3af04)
+
+ maildir: get_stream() - Add missing lookup_abort and mail_stream_accessed
+ handling
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2021-11-29 18:24:30 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (d7b8c40971)
+
+ lib-storage: Rename mail.mail_stream_opened to mail_stream_accessed
+
+ It is set to TRUE even if the mail stream couldn't successfully be opened,
+ so this describes it better. Also it's now consistent with
+ mail_metadata_accessed.
+
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/mail-storage.h
+
+2021-12-03 10:44:10 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (74b94e02e5)
+
+ lib-index: Remove mail_cache_lookup_finished event
+
+ This event was using too much CPU with commands that accessed lots of mails
+ (e.g. IMAP SORT). It also wasn't especially useful.
+
+ Reverts 0d252dccb3013fea4d9a28bd5fafb5ea6e847d0e
+
+M src/lib-index/mail-cache-lookup.c
+
+2021-12-02 11:35:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1fb3dda9ac)
+
+ lib-index: Use ATTR_COLD for error/corruption handling functions
+
+ This could reduce CPU usage due to better branch prediction.
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.h
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-strmap.h
+M src/lib-index/mail-index-sync-private.h
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.h
+
+2021-11-23 15:00:02 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (4a74574d39)
+
+ lib: pool_alloconly_destroy() optimization - Don't clear the last block
+ before free
+
+ The block is going to be freed, so there's no need to clear it.
+ (The clearing still happens if clean_frees=TRUE.)
+
+M src/lib/mempool-alloconly.c
+
+2021-11-23 14:59:28 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (40666e3bca)
+
+ lib: pool_alloconly_destroy() - Deduplicate code
+
+
+M src/lib/mempool-alloconly.c
+
+2021-11-23 14:58:39 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (7c9ee911cf)
+
+ lib: Split off pool_alloconly_free_block()
+
+
+M src/lib/mempool-alloconly.c
+
+2021-11-23 14:56:10 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (333bd2e628)
+
+ lib: Split off pool_alloconly_free_blocks_until_last()
+
+
+M src/lib/mempool-alloconly.c
+
+2021-11-23 15:17:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0bcc6897de)
+
+ lib: Minor optimization - Avoid zeroing a newly created empty event field
+
+
+M src/lib/lib-event.c
+
+2021-11-22 17:36:21 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (9fc6965de1)
+
+ lib: Remove copy of event_passthrough from struct event
+
+ There was no need for it. This saves some memory and CPU.
+
+ This change now prevents modifications to the event_passthrough, but nothing
+ was doing it before either.
+
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+
+2021-11-22 17:23:28 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (a2ea3df64f)
+
+ lib: Grow initial event pool size to 1024 bytes
+
+ The old 64 bytes size wasn't enough to allocate even the struct event
+ itself.
+
+M src/lib/lib-event.c
+
+2021-12-15 09:19:40 +0100 Karl Fleischmann <karl.fleischmann@open-xchange.com> (793cae8549)
+
+ login-common: Explicitly null client auth fields on proxy pool unref
+
+ Explicitly setting `client_id` and `forward_fields` to null in the client
+ may reveal use-after-free issues when trying to access these fields on a
+ client proxy.
+
+M src/login-common/client-common.c
+
+2021-12-10 11:04:06 +0100 Karl Fleischmann <karl.fleischmann@open-xchange.com> (7ad1a92aa5)
+
+ login-common: Use base index for aliases
+
+ Define a base index for aliases in the login variable table. Assign values
+ via offset of that base index. This allows adding more values later without
+ updating any subsequent index.
+
+M src/login-common/client-common.c
+
+2021-12-10 11:32:37 +0100 Marco Bettini <marco.bettini@open-xchange.com> (ddb85f3533)
+
+ fts: Add headers filters
+
+
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-build-mail.c
+
+2021-12-10 11:30:08 +0100 Marco Bettini <marco.bettini@open-xchange.com> (24b66ca063)
+
+ fts: fts-build-mail - Remove stray line
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2020-11-10 00:11:15 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (a92209788d)
+
+ auth: mech-scram - Amend comments.
+
+
+M src/auth/mech-scram.c
+
+2020-11-10 00:11:11 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (49b5780c29)
+
+ auth: mech-scram - Fix handling of authzid.
+
+ The gs2-header field was not recreated correctly for the final verification.
+ Fixed by storing the complete gs2-header value instead.
+
+M src/auth/mech-scram.c
+
+2020-11-10 00:11:07 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (a164ea3786)
+
+ auth: mech-scram - Properly size temporary string buffers.
+
+
+M src/auth/mech-scram.c
+
+2020-11-10 00:11:03 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (1ee7d0d807)
+
+ auth: mech-scram - Restructure message parsing in
+ parse_scram_client_first().
+
+
+M src/auth/mech-scram.c
+
+2020-11-10 00:10:57 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (6678648cfb)
+
+ auth: Reformat mech-scram.c.
+
+
+M src/auth/mech-scram.c
+
+2021-08-20 17:43:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (15f25bf7ad)
+
+ lib-storage: Return reason string in mailbox_vfuncs.list_index_has_changed()
+
+ The callers can use it to log why the list index had changed.
+
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.h
+M src/lib-storage/index/mbox/mbox-sync-list-index.c
+M src/lib-storage/index/mbox/mbox-sync-private.h
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/mail-storage-private.h
+M src/plugins/virtual/virtual-storage.c
+
+2021-08-20 19:09:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e13768d2ee)
+
+ lib-storage: Don't call mailbox_vfuncs.list_index_has_changed() in data
+ stack frame
+
+ This will be required by the next change.
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index.c
+
+2021-08-20 17:26:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6fb3e493e2)
+
+ lib-storage: mailbox_list_index_view_open() - Log a debug line why index
+ isn't up-to-date
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2021-08-20 17:20:01 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (49d2d1d9ba)
+
+ lib-storage: mailbox_list_index_status() - Return failure reason string
+
+ Log a debug line if mailbox list index couldn't be used to get the wanted
+ status information.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/list/mailbox-list-notify-tree.c
+
+2021-12-06 11:54:16 +0100 Marco Bettini <marco.bettini@open-xchange.com> (7751299dee)
+
+ auth: userdb-ldap - Avoid early dereferencing
+
+ userdb_ldap_iterate_callback() is still invoked after dereferencing
+ auth_request in userdb_ldap_iterate_deinit().
+
+ Normally this happens only on teardown, but it may happens also in case of
+ auth disconnecting from auth-worker during iteration.
+ (which shouldn't happen unless the auth process crashes)
+
+M src/auth/userdb-ldap.c
+
+2021-12-09 17:31:04 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (2302fcd607)
+
+ var-expand-crypt: Remove dead code
+
+ It's correct that dcrypt library shouldn't be deinitialized at plugin
+ deinit.
+
+M src/plugins/var-expand-crypt/var-expand-crypt-plugin.c
+
+2021-12-03 17:23:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (82be40f65c)
+
+ login-common: Add more fields to proxy_session_finished
+
+ Added disconnect_side, disconnect_reason, idle_secs, bytes_in, bytes_out.
+
+M src/login-common/login-proxy.c
+
+2021-12-03 17:54:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (da379cfc29)
+
+ login-common: Split off proxy disconnection prefix to
+ LOGIN_PROXY_KILL_PREFIX
+
+
+M src/login-common/login-proxy.c
+
+2021-12-03 17:47:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d36139fc22)
+
+ login-common: login_proxy_free_*() - Rename reason to log_msg
+
+ This better describes it, since it's the full log message.
+
+M src/login-common/login-proxy.c
+
+2021-12-01 14:46:04 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (203147d0fc)
+
+ dsync: Fix -I max-size to actually be the max-size rather than min-size
+
+ The -I max-size parameter was supposed to be used to skip mails that are
+ larger than max-size. Instead, it skipped mails that were smaller.
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2021-11-09 13:42:24 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (34f2fdeed5)
+
+ man: Add missing parameters to doveadm-sync
+
+
+M doc/man/doveadm-sync.1.in
+
+2021-11-30 18:02:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e6a5cb57d1)
+
+ dsync: Remove -D parameter that disables syncing mailbox renames
+
+ It hasn't been necessary for a long time, and its behavior seems to be
+ broken.
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2021-11-09 13:41:37 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (96f9651c98)
+
+ dsync: Add back various missing parameters
+
+ Also add them to the usage string.
+
+ Broken by 5676c510bfa9217df05e9b7cb000ae3554d66f22
+
+M src/doveadm/doveadm-dsync.c
+
+2021-09-22 14:50:50 -0600 Michael M Slusarz <michael.slusarz@open-xchange.com> (2beae65898)
+
+ fts: Don't overwrite INUSE error if indexing times out
+
+
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-storage.c
+
+2021-11-11 12:31:49 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (61d9023523)
+
+ lib-storage/index: If mail stream was already opened, do not count it as
+ slow vsize access
+
+ imapc storage driver will open the mail stream in some circumstances during
+ search, so do not consider this as slow vsize.
+
+M src/lib-storage/index/index-mailbox-size.c
+
+2021-11-16 15:08:47 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (73475e1ea6)
+
+ lib-storage: Split off index_mailbox_vsize_finish_bg()
+
+ Simplifies next commit
+
+M src/lib-storage/index/index-mailbox-size.c
+
+2021-08-10 12:22:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1ee84ba065)
+
+ lib-index: Fix storing cache fields' last_used with 64bit big endian CPUs
+
+
+M src/lib-index/mail-cache-fields.c
+
+2019-01-17 12:13:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (616684a8fe)
+
+ maildir: Fix crash at error handling
+
+ At this point dest_mail is already NULL. Mainly could happen when running
+ out of disk space.
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2021-11-30 09:51:25 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (ea41bf7db1)
+
+ login-proxy: Don't send proxying start event for reconnects
+
+ Send the event only for the beginning of proxying and add the reconnect
+ counts as a field for _established and _finished events.
+
+M src/login-common/login-proxy.c
+
+2021-11-26 14:45:47 +0100 Marco Bettini <marco.bettini@open-xchange.com> (2f7254a6af)
+
+ lib: str_parse_intmax() - Replace signed expression with UNSIGNED_MINUS()
+
+ Found by code analysis tool
+
+M src/lib/strnum.c
+
+2021-11-26 15:48:04 +0100 Marco Bettini <marco.bettini@open-xchange.com> (5297d4862f)
+
+ lib: switch i_rand_limit() - Replace signed expression with UNSIGNED_MINUS()
+
+ Found by code analysis tool
+
+M src/lib/rand.c
+
+2021-11-26 14:15:07 +0100 Marco Bettini <marco.bettini@open-xchange.com> (4a3ef239b4)
+
+ lib: buffer_truncate_rshift_bits() - Replace signed expression with an
+ unsigned equivalent
+
+ Found by code analysis tool
+
+M src/lib/buffer.c
+
+2021-11-29 15:05:29 +0100 Marco Bettini <marco.bettini@open-xchange.com> (668bdc6838)
+
+ lib: bits_rotXYY() - Replace signed expression with UNSIGNED_MINUS() macro
+ for unsigned 2's complement
+
+ Found by code analysis tool
+
+M src/lib/bits.h
+M src/lib/test-bits.c
+
+2021-11-29 15:00:41 +0100 Marco Bettini <marco.bettini@open-xchange.com> (bf9c2cb8b5)
+
+ bits_is_power_of_two() Replace signed expression with __builtin_popcountl()
+
+ Found by code analysis tool
+
+M src/lib/bits.h
+M src/lib/test-bits.c
+
+2021-11-29 14:58:33 +0100 Marco Bettini <marco.bettini@open-xchange.com> (f7cbaac8ff)
+
+ lib: test-bits.c - Removing stray spaces at end of lines
+
+
+M src/lib/test-bits.c
+
+2021-01-15 17:43:19 +0100 Fabrice Bellet <fabrice@bellet.info> (9211e803f2)
+
+ raw-storage: copy the envelope sender instead of referencing it
+
+
+M src/lib-storage/index/raw/raw-storage.c
+
+2019-10-14 16:43:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4a58d467b6)
+
+ lib-fs: Add test-fs utility for testing fs drivers
+
+ It performs random read/write/delete/iter operations.
+
+M src/util/Makefile.am
+A src/util/test-fs.c
+
+2021-06-18 15:19:48 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (051d39ee45)
+
+ replicator: doveadm replicator replicate -f didn't always start full sync
+
+ The full sync happened only if the dsync queue was already full. If it
+ wasn't, dsync was called too early before user->force_full_sync was set.
+
+M src/replication/replicator/replicator-brain.c
+
+2021-07-28 11:52:01 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d0c28bba8b)
+
+ replicator: Move replicator_brain_timeout(()
+
+
+M src/replication/replicator/replicator-brain.c
+
+2021-04-19 18:48:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (21880fac08)
+
+ lib-storage: Optimize behavior when building THREAD tree with empty cache
+
+ Although it's possible that Date, Subject or received-date isn't actually
+ needed for all mails, it's much more efficient behavior to add all of these
+ to cache at the same time if they're not there already. Otherwise the same
+ mail could be opened and parsed up to 3 times.
+
+M src/lib-storage/index/index-thread.c
+
+2020-04-02 11:06:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8abebfe9a4)
+
+ dsync: Improve checking if source and destination are the same location
+
+ Prefer checking using the first -n parameter's namespace. Next try prefix=""
+ if it's created and last fallback to inbox=yes namespace.
+
+M src/doveadm/doveadm-dsync.c
+
+2021-11-22 18:17:52 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (27e371af06)
+
+ dsync: Improve bad namespace configuration related error messages
+
+
+M src/doveadm/doveadm-dsync.c
+
+2021-11-24 16:01:08 +0100 Marco Bettini <marco.bettini@open-xchange.com> (5519de5749)
+
+ submission: smtp_server_command_execute() Remove check for null pointer
+ confusing coverity
+
+
+M src/lib-smtp/smtp-server-command.c
+
+2021-11-22 16:04:11 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (c36969fee5)
+
+ imapc: Do not include the root node in list if it's the namespace prefix
+
+ Otherwise namespace prefix is added to the mailbox tree as a separate node.
+ Fixes duplicated shared namespace root in mailbox list.
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2021-11-23 15:56:45 +0100 Marco Bettini <marco.bettini@open-xchange.com> (5cf012bad9)
+
+ acl: acl_mailbox_exists() - Add missing error handling
+
+ Set mailbox storage error to "internal error" when
+ acl_object_get_my_rights() fails (as per contract).
+
+M src/plugins/acl/acl-mailbox.c
+
+2021-11-23 16:03:07 +0100 Marco Bettini <marco.bettini@open-xchange.com> (a672d83152)
+
+ lib-storage: fail_mailbox_exists() - Return not found as a success instead
+ of an error
+
+ GETMETADATA sometimes responds with “NO [SERVERBUG] BUG: Unknown internal
+ error returned”, instead of “NO Mailbox doesn't exist”, depending on the
+ actual configuration. This can happen with the shared namespace.
+
+M src/lib-storage/fail-mailbox.c
+
+2021-11-23 17:55:43 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (13ed86bbf3)
+
+ login-common: Default director_username_hash to %Lu like everywhere else
+
+ This setting has many places where the default is set, and this syncs it
+ with the others.
+
+M src/login-common/login-settings.c
+
+2021-11-12 11:16:47 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (d36d2c595a)
+
+ lib-storage: mail-duplicate - Fix segfault occurring when user has no
+ configured home directory
+
+ Occurred only when a duplicate DB transaction was created.
+
+M src/lib-storage/mail-duplicate.c
+
+2021-11-12 10:43:16 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (98f709deac)
+
+ lib-storage: mail-duplicate - Fix panic occurring when user has no
+ configured home directory.
+
+ Panic was:
+
+ Panic: file imem.c: line 65 (i_strconcat): assertion failed: (str1 != NULL)
+
+M src/lib-storage/mail-duplicate.c
+
+2021-11-11 09:57:07 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (476990fffa)
+
+ stats: Whitespace cleanup.
+
+
+M src/stats/stats-metrics.c
+
+2021-11-09 14:12:18 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (e41cd77f96)
+
+ doveadm: Fix processing of group-by parameter of doveadm stats add.
+
+
+M src/doveadm/doveadm-stats.c
+
+2020-09-25 03:48:09 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6341cfc57a)
+
+ lib-smtp: smtp-client-transaction - Always drop MAIL/RCPT state data before
+ calling callbacks.
+
+ This prevents problems with callbacks destroying the transaction, the
+ connection, or commands involved in the transaction. This at least fixes a
+ segmentation fault occurring in the submission service when STARTTLS fails
+ during login.
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2021-11-08 23:29:35 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (0037fb7bad)
+
+ lib-smtp: smtp-client-transaction - Make
+ smtp_client_transaction_rcpt_fail_reply(NULL, reply) a no-op.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2020-09-25 03:31:07 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (30f0154b78)
+
+ lib-smtp: smtp-client-transaction - Make
+ smtp_client_transaction_rcpt_abort(NULL) a no-op.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2020-09-25 03:29:53 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (53b3b9f55b)
+
+ lib-smtp: smtp-client-transaction - Make
+ smtp_client_transaction_rcpt_replied(NULL) a no-op.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2020-09-25 03:27:39 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f4c5ab773a)
+
+ lib-smtp: smtp-client-transaction - Assert that
+ smtp_client_transaction_rcpt_approved/denied() has non-NULL parameter.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2020-09-25 03:24:29 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (5e68870131)
+
+ lib-smtp: smtp-client-transaction - Make
+ smtp_client_transaction_rcpt_free(NULL) a no-op.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2020-09-25 03:22:45 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (da73aac321)
+
+ lib-smtp: smtp-client-transaction - Make
+ smtp_client_transaction_mail_fail_reply(NULL, reply) a no-op.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2020-09-25 03:21:06 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (86debae8fe)
+
+ lib-smtp: smtp-client-transaction - Make
+ smtp_client_transaction_mail_abort(NULL) a no-op.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2020-09-25 03:18:56 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (8f2751f53d)
+
+ lib-smtp: smtp-client-transaction - Make
+ smtp_client_transaction_mail_replied(NULL, reply) a no-op.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2020-09-25 03:17:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (02079622d1)
+
+ lib-smtp: smtp-client-transaction - Make
+ smtp_client_transaction_mail_free(NULL) a no-op.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2020-09-25 02:45:27 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c588b55541)
+
+ lib-smtp: smtp-client-command - Drop callback before call in
+ smtp_client_command_input_reply().
+
+
+M src/lib-smtp/smtp-client-command.c
+
+2020-09-25 02:38:54 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (34e5a418c1)
+
+ lib-smtp: smtp-client-command - Make smtp_client_command_fail_reply(NULL,
+ reply) a no-op.
+
+
+M src/lib-smtp/smtp-client-command.c
+
+2020-09-25 02:33:33 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ed211d21b0)
+
+ lib-smtp: smtp-client-command - Make smtp_client_command_abort(NULL) a
+ no-op.
+
+
+M src/lib-smtp/smtp-client-command.c
+
+2020-09-25 03:00:31 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (15c98d994b)
+
+ lib-smtp: Reformat smtp-client-transaction.c.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2020-09-25 03:14:16 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ec3cdb2168)
+
+ lib-smtp: Reformat smtp-client-command.c.
+
+
+M src/lib-smtp/smtp-client-command.c
+
+2021-10-28 09:19:37 +0200 Marco Bettini <marco.bettini@open-xchange.com> (1863b1c535)
+
+ lib-fts: Don't index inline base64 encoded content
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2021-11-14 23:27:00 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (771ebaf961)
+
+ lib-smtp: smtp-server-command - Emit smtp_server_command_started event a
+ little later.
+
+ This way cmd_*args fields are available for the event.
+
+M src/lib-smtp/smtp-server-command.c
+
+2021-10-27 00:48:28 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6687627b15)
+
+ lib-smtp: smtp-server-command - Add cmd_args and cmd_human_args fields.
+
+ This mirrors the identically named fields for the imap service. For SMTP,
+ though, cmd_human_args == cmd_args.
+
+M src/lib-smtp/smtp-server-command.c
+
+2021-07-19 11:53:41 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f0e2299322)
+
+ lib-http: http-client-connection - Fix crash in
+ http_client_connection_server_close().
+
+ The conn->peer member is only not NULL when the connection is associated
+ with a peer object. If it is not, http_client_connection_server_close() will
+ crash. Fixed by doing the peer->client operations only when there is an
+ associated peer.
+
+M src/lib-http/http-client-connection.c
+
+2020-06-27 17:55:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9032716e00)
+
+ lib-http: Reformat http-client-connection.c.
+
+
+M src/lib-http/http-client-connection.c
+
+2021-10-29 11:42:40 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (f572de72f4)
+
+ lib: Add unit tests for named events only optimization.
+
+
+M src/lib/event-filter-private.h
+M src/lib/event-filter.c
+M src/lib/test-event-filter.c
+
+2021-10-29 14:06:39 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (5a69a67fb8)
+
+ lib: Fix event filtering for unnamed events with optional event name
+
+ For example event filter "event=ev_name OR field1=value1" wouldn't
+ previously match if the event didn't have any name, even if it did have
+ field1=value1.
+
+M src/lib/event-filter-parser.y
+M src/lib/event-filter.c
+
+2021-10-22 12:09:24 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (f01aec1f96)
+
+ lib-master: Whitespace cleanup.
+
+
+M src/lib-master/master-service.c
+
+2021-11-09 14:37:07 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (f083562f92)
+
+ auth: passdb-cache - Preserve cached fields when verifying password with
+ worker
+
+
+M src/auth/passdb-cache.c
+
+2021-11-05 17:11:49 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (533ef6c62d)
+
+ lib-smtp: smtp-server-command - Hold a command reference while sending
+ replies.
+
+ Fixes segfault at smtp-server-reply.c:652.
+
+M src/lib-smtp/smtp-server-command.c
+
+2021-11-05 16:53:48 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (2275fc4d51)
+
+ lib-smtp: smtp-server-command - Split off
+ smtp_server_command_send_more_replies().
+
+
+M src/lib-smtp/smtp-server-command.c
+
+2021-11-05 16:46:15 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (9ae95cb884)
+
+ lib-smtp: smtp-server-command - Split off
+ smtp_server_command_send_replies().
+
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2021-11-08 14:36:57 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (083570cb73)
+
+ plugins/fts: Fix memory leak when searching mail in virtual folder with fts.
+
+
+M src/plugins/fts/fts-storage.c
+
+2021-11-08 14:04:07 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (5afea22757)
+
+ configure: Fix version macros to work with devel version
+
+
+M configure.ac
+
+2021-11-08 15:24:30 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (318f566fc4)
+
+ SECURITY.md: Add initial security policy
+
+
+A SECURITY.md
+
+2021-10-26 16:59:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e188435026)
+
+ lib-fts: Fix address tokenizer to handle large input properly
+
+ Previously it could have used excessive amounts of memory if the input
+ didn't contain separator characters.
+
+ The fix changes a bit how the address-tokenizer works: Previously large
+ email addresses were saved as truncated tokens. Now they're skipped entirely
+ by the address tokenizer. Similarly when searching long email addresses
+ they're no longer searched as truncated tokens, but instead simply fed to
+ the parent tokenizer which (likely) searches them in smaller pieces.
+
+ Note that this also sometimes changes the order in which tokens are
+ returned, e.g. "foo", "example", "foo@example.com", "com" instead of
+ returning "com" before the email address. This isn't ideal, but fixing it
+ seems annoyingly complicated and practically it doesn't matter right now.
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2021-10-26 16:34:25 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2af8437d1d)
+
+ lib-fts: Implement support for parent tokenizer "streaming"
+
+ By default parent tokenizer is further tokenizing the token strings returned
+ by child tokenizer. When streaming is enabled, the parent tokenizers are
+ instead tokenizing a stream of data sent by the child tokenizer. This
+ effectively makes the parent tokenizer return the same tokens as if the
+ child tokenizer didn't exist (assuming child tokenizer feeds the parent all
+ the same input).
+
+ Arguably this should be the only way tokenizers work, but at least for now
+ lets keep both ways.
+
+M src/lib-fts/fts-tokenizer-private.h
+M src/lib-fts/fts-tokenizer.c
+
+2021-10-26 12:33:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (782d806db2)
+
+ lib-fts: fts-tokenizer - Add comments explaning how it works
+
+
+M src/lib-fts/fts-tokenizer.c
+
+2021-10-26 11:52:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2e91a13fe9)
+
+ lib-fts: test-fts-tokenizer - Add more uniqueness to the long email address
+
+ This helps at least with debugging problems.
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2021-09-14 18:21:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (31c24137c2)
+
+ lib: DOVECOT_PREREQ() - Add micro version
+
+ Nowadays APIs can change between micro versions as well.
+
+M src/lib/macros.h
+
+2021-09-14 18:23:41 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (cb5968f451)
+
+ lib: DOVECOT_PREREQ() - Remove surrounding if checks
+
+ The DOVECOT_VERSION_* macros are expected to always exist.
+
+M src/lib/macros.h
+
+2021-09-14 18:21:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d199125cc5)
+
+ configure: Add DOVECOT_VERSION_MICRO
+
+
+M configure.ac
+
+2021-11-02 16:06:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e95f985635)
+
+ lib: Fix building with --disable-asserts
+
+ The #endif location was wrong.
+
+M src/lib/macros.h
+
+2021-01-27 02:20:53 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (17efe7a404)
+
+ submission-login: Implicitly login using EXTERNAL mechanism upon MAIL if
+ enabled.
+
+ This is a workaround for TLS clients that present a valid client
+ certificate, yet don't authenticate explicitly. This is enabled by setting:
+
+ submission_client_workarounds = implicit-auth-external
+
+M src/submission-login/client-authenticate.c
+M src/submission-login/client-authenticate.h
+M src/submission-login/client.c
+M src/submission-login/submission-login-settings.c
+M src/submission-login/submission-login-settings.h
+M src/submission/main.c
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+M src/submission/submission-settings.c
+
+2021-10-14 12:47:23 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (1236352801)
+
+ submission-login: client-authenticate - Split off
+ cmd_auth_set_master_data_prefix().
+
+
+M src/submission-login/client-authenticate.c
+
+2021-01-27 13:51:03 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (14b6f813e0)
+
+ login-common: sasl-server - Add support for implicit login.
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/sasl-server.c
+M src/login-common/sasl-server.h
+
+2021-01-27 13:43:23 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (d4321dd910)
+
+ login-common: sasl-server - Turn private argument of
+ sasl_server_auth_begin() into flag.
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+M src/login-common/sasl-server.h
+
+2021-01-27 13:39:23 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (d5588935bf)
+
+ lib-master: master-auth - Add support for MAIL_AUTH_REQUEST_FLAG_IMPLICIT
+ flag.
+
+ It signals that this login is implicit; no command reply is expected. This
+ is going to be used by the Submission service to implicitly login a user
+ using the EXTERNAL SASL mechanism when the first MAIL command is issued. In
+ that case sending a reply for the implicit AUTH command would break the
+ protocol and this new flag is used to signal the post-login submission
+ service to not send an initial reply.
+
+M src/lib-master/master-auth.h
+
+2021-01-27 13:40:43 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (a0eeeb6c76)
+
+ lib-smtp: smtp-server - Add support for suppressing the inital greeting
+ reply.
+
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server.c
+M src/lib-smtp/smtp-server.h
+
+2021-01-27 02:22:10 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (eef32e87e4)
+
+ lib-smtp: smtp-server - Make default command functions public.
+
+
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server.h
+
+2021-01-27 02:21:50 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (6b380d6072)
+
+ lib-smtp: smtp-server-command - Allow overriding commands.
+
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server.h
+
+2021-10-30 00:43:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (73b1ed4e82)
+
+ submission-login: client - Explicitly set SMTP server command and auth line
+ limits.
+
+ This way, it will always use the same limits as all other login services.
+
+M src/submission-login/client.c
+
+2021-10-29 20:41:42 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (056aeb0748)
+
+ lib-smtp: smtp-command-parser - Make parser suitable for input stream with
+ small buffer.
+
+
+M src/lib-smtp/smtp-command-parser.c
+M src/lib-smtp/test-smtp-server-errors.c
+
+2021-10-29 23:44:01 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d982aaadf1)
+
+ lib-smtp: smtp-command - Use size_t for command line limits.
+
+
+M src/lib-smtp/smtp-command-parser.c
+M src/lib-smtp/smtp-command.h
+
+2021-10-29 19:37:16 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (12eb20fc0d)
+
+ lib-smtp: test-smtp-server-errors - Add tests for very long AUTH response
+ lines.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2021-10-29 19:36:18 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (eb22a35feb)
+
+ lib-smtp: test-smtp-command-parser - Add test for very long AUTH response
+ line.
+
+
+M src/lib-smtp/test-smtp-command-parser.c
+
+2021-10-29 23:52:05 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (e0fa1375e2)
+
+ lib-smtp: Reformat smtp-command-parser.c.
+
+
+M src/lib-smtp/smtp-command-parser.c
+
+2021-10-29 23:47:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f47cc80a24)
+
+ lib-smtp: Reformat smtp-command-parser.h.
+
+
+M src/lib-smtp/smtp-command-parser.h
+
+2021-11-01 08:33:49 -0400 Timo Sirainen <timo.sirainen@open-xchange.com> (6fff8d5819)
+
+ master: Use MASTER_SERVICE_FLAG_DISABLE_SSL_SET
+
+ This prevents startup failures if ssl_ca has a large number of certificates.
+
+ Broken by 36ff43f1a9aff8594d08f791e77ea13390fd569f
+
+M src/master/main.c
+
+2021-11-01 08:33:14 -0400 Timo Sirainen <timo.sirainen@open-xchange.com> (ca2237e067)
+
+ lib-master: Add MASTER_SERVICE_FLAG_DISABLE_SSL_SET
+
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.h
+
+2021-10-27 12:06:10 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7fc901f370)
+
+ lib-ssl-iostream: Fix assert-crash when OpenSSL returns syscall error
+ without errno
+
+ Incomplete fix in f41874b3dec541478a85275698a91f089f537df2
+
+ Fixes: Panic: file istream-openssl.c: line 51 (i_stream_ssl_read_real):
+ assertion failed: (errno != 0)
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2021-10-14 18:31:19 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (84d3bc8e21)
+
+ lib-storage: Improve mailbox_vfuncs.search_next_update_seq() comment
+
+
+M src/lib-storage/mail-storage-private.h
+
+2019-08-08 15:35:03 -0600 Michael M Slusarz <michael.slusarz@open-xchange.com> (d1e1e346a8)
+
+ example-config: Remove outdated object-storage conf.d file
+
+
+D doc/example-config/conf.d/11-object-storage.conf
+
+2021-10-28 17:07:39 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0407978a8f)
+
+ dsync: Add back missing -T parameter
+
+ Broken by 5676c510bfa9217df05e9b7cb000ae3554d66f22
+
+M src/doveadm/doveadm-dsync.c
+
+2021-09-16 11:24:31 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (9705b81fb5)
+
+ fts: Keep track of every backend mailbox fts index status for virtual
+ folders.
+
+
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-storage.h
+
+2021-10-22 12:07:17 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (392d79bbd2)
+
+ fts: Whitespace cleanup.
+
+
+M src/plugins/fts/fts-storage.c
+
+2021-10-14 17:33:30 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (356b36fc52)
+
+ lib-storage: Move search matching into
+ mailbox_vfuncs.search_next_match_mail()
+
+
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/dbox-multi/mdbox-deleted-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/plugins/virtual/virtual-storage.c
+
+2021-01-08 11:21:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (547c07bdd3)
+
+ lib: Use data stack frame with IO switch and destroy callbacks
+
+
+M src/lib/ioloop.c
+
+2021-01-08 11:28:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0a9123d94c)
+
+ lib: Use data stack frame with IO context activate/deactive callbacks
+
+ These were running outside the regular ioloop data stack frames, so if the
+ callback used any data stack it kept increasing memory usage.
+
+ This fixes excessive memory usage with old_stats plugin when used with
+ long-running imap sessions. The memory got filled with UPDATE-SESSION
+ commands.
+
+M src/lib/ioloop.c
+
+2021-09-29 00:04:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2cea75b7f5)
+
+ lib-storage: When search parses message headers, deinitialize the parsing
+ properly
+
+ index_mail_parse_header() was being called only for the actual headers. This
+ prevented it from being called with hdr=NULL to indicate that the parsing is
+ finished and should be deinitialized. Move the index_mail_parse_header() to
+ be called earlier so it's called also with hdr=NULL.
+
+ Not deinitilizing the parsing could have caused assert-crashes later on in
+ some situations.
+
+ Fixes: Panic: file index-mail-headers.c: line 667
+ (index_mail_get_raw_headers): assertion failed:
+ (mail->mail.mail.lookup_abort >= MAIL_LOOKUP_ABORT_NOT_IN_CACHE) Panic: file
+ ../../../src/lib/array.h: line 244 (array_idx_i): assertion failed: (idx <
+ array->buffer->used / array->element_size) Panic: file index-mail.c: line
+ 1203 (index_mail_parse_body_finish): assertion failed: (!success)
+
+M src/lib-storage/index/index-search.c
+
+2021-10-21 15:45:56 +0200 Marco Bettini <marco.bettini@open-xchange.com> (be55b9a4e0)
+
+ doveadm: Route help/usage messages on stderr rather than stdout.
+
+
+M src/doveadm/doveadm.c
+
+2021-09-30 16:19:58 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (dbf7ed69c3)
+
+ login-common: Add proxying events
+
+ - proxy_session_started: Emitted before connecting to remote
+ - proxy_session_established: Emitted after connection to remote is
+ established and user is successfully logged in to the backend.
+ - proxy_session_finished: Emitted when proxying has ended. Either
+ successfully or with error.
+
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+
+2021-09-30 12:49:31 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (32e57666dc)
+
+ login-common: Change login proxy message to include IP address
+
+ Will be in format "<IP> (<host>)". Host part is optional and not added if
+ proxy target is an IP address.
+
+M src/login-common/client-common-auth.c
+
+2021-10-05 11:33:06 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (313b96cd9a)
+
+ login-proxy: Add source_port to proxy event after connection is established
+
+
+M src/login-common/login-proxy.c
+
+2021-10-05 15:17:50 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (ac4089115b)
+
+ login-common: Add more fields to login proxy event
+
+ Adds
+ - source_ip
+ - dest_ip
+ - dest_port
+ - dest_host
+ - master_user
+
+M src/login-common/login-proxy.c
+
+2021-10-07 22:52:47 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (574ad02a47)
+
+ login-common: Start proxying after client fields are set
+
+ Allows adding more event fields in login_proxy_new().
+
+M src/login-common/client-common-auth.c
+
+2021-09-30 12:48:09 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (e202252702)
+
+ login-proxy: Add login_proxy_get_ip_str()
+
+ Returns proxy IP address as string.
+
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+
+2021-10-07 10:29:04 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (9ed1cdecee)
+
+ client-common: Add service field to client event
+
+
+M src/login-common/client-common.c
+
+2021-10-13 14:49:43 +0300 Marco Bettini <marco.bettini@open-xchange.com> (351b424a37)
+
+ imap: list_send_status() - Fixes LIST-EXTENDED doesn't return STATUS for all
+ folders
+
+ Sending LIST .. RETURN (SUBSCRIBED STATUS (...)) did not return STATUS for
+ folders that are not subscribed when they have a child folder that is
+ subscribed as mandated by IMAP RFC
+
+M src/imap/cmd-list.c
+
+2021-10-13 11:45:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b3f32368aa)
+
+ lib-index: Add mail_index_alloc_cache_find()
+
+
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-alloc-cache.h
+
+2021-10-07 18:11:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (55338455ae)
+
+ maildir: Fix crash when closing a mailbox that isn't open
+
+ This could have happened at least with virtual plugin.
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2021-10-08 16:32:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2555d374c0)
+
+ master: test-auth-client - Check that authorization ID is as expected
+
+
+M src/master/test-auth-client.c
+
+2021-10-07 20:18:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b314a81a69)
+
+ master: test-auth-client - Fix authenid check to be assert
+
+ It can never be NULL at this point.
+
+M src/master/test-auth-client.c
+
+2021-10-07 19:59:52 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (859529c802)
+
+ lib-dict: dict-lua - Throw Lua error if dict key is invalid or username is
+ missing
+
+ This prevents assert-crashes in the C code.
+
+M src/lib-dict/dict-iter-lua.c
+M src/lib-dict/dict-lua.c
+M src/lib-dict/dict-lua.h
+M src/lib-dict/dict-txn-lua.c
+
+2021-10-07 19:54:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e26cebc652)
+
+ lib-dict: dict_lookup_async() - Add missing assert to check for key prefix
+ and username
+
+
+M src/lib-dict/dict.c
+
+2021-10-07 19:42:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5ed33ba11b)
+
+ lib-master: Prevent read buffer overflow with invalid haproxy header size
+
+ This could have happened only for connections from haproxy_trusted_networks,
+ so it's unlikely to cause any real security issues.
+
+M src/lib-master/master-service-haproxy.c
+
+2021-10-07 19:36:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1ed470aa2d)
+
+ lib-dcrypt: dcrypt_openssl_decrypt_point_password_v1() - Fix crash if pbkdf2
+ generation fails
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2021-10-06 15:38:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1e12cf4be0)
+
+ imap: Fix handling client initialization error
+
+ It should send "OK Logged in" + BYE, not PREAUTH.
+
+ Broken by 714ff4342e39e309ff184905cd2f714def6177a3
+
+M src/imap/main.c
+
+2021-10-08 16:02:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5a26f6160b)
+
+ imap: Move client_add_input() content to calling functions
+
+
+M src/imap/main.c
+
+2021-10-08 15:57:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8f5d8d9e13)
+
+ imap: Move IMAPLOGINTAG environment handling
+
+ It can only happen with stdio clients when they don't have CLIENT_INPUT, so
+ it makes more sense to exist in the calling function.
+
+M src/imap/main.c
+
+2021-10-06 15:43:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (29471bf743)
+
+ imap-login: proxy: Don't forward untagged BYE responses to the client
+
+ It will just cause confusion, especially when connections are retried. It
+ could end up looking like:
+
+ x login user pass
+ * BYE Internal error occurred. Refer to server log for more information.
+ * BYE Internal error occurred. Refer to server log for more information.
+ * BYE Internal error occurred. Refer to server log for more information.
+ * BYE Internal error occurred. Refer to server log for more information. x
+ NO [UNAVAILABLE] Account is temporarily unavailable.
+
+M src/imap-login/imap-proxy.c
+
+2021-10-08 15:53:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f4da884f67)
+
+ lib-storage: mail_storage_service_lookup() - Fix memory leak when returning
+ -2
+
+ This was also visible as event leaks.
+
+M src/lib-storage/mail-storage-service.c
+
+2021-09-28 20:46:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f29786350e)
+
+ lib-index: Fix potential crash with debug logging when looking up cache
+
+
+M src/lib-index/mail-cache-lookup.c
+
+2021-09-28 20:45:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a016ac6a3e)
+
+ lib-index: mail_cache_lookup_iter_next() - Add a warning comment about
+ re-reading fields
+
+
+M src/lib-index/mail-cache-private.h
+
+2021-10-07 15:52:28 +0200 Marco Bettini <marco.bettini@open-xchange.com> (08656f3aad)
+
+ mail-crypt: mail_crypt_load_global_private_key() - Drop unnecessary NULL
+ check
+
+
+M src/plugins/mail-crypt/mail-crypt-global-key.c
+
+2021-09-28 18:13:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b4217b8d36)
+
+ lib, global: i_stream_create_chain() - Add max_buffer_size
+
+ This makes sure that the istream size can't grow too large and waste memory.
+
+ Previously the istream max_buffer_size was dynamically changed to be the
+ smallest seen max_buffer_size in chained istreams. This mostly worked, but
+ sometimes the istream-chain's max_buffer_size was requested before even the
+ first istream was added to it.
+
+ Having an explicit max_buffer_size avoids all the problems of it being
+ dynamic, and there's not really any need for it anyway.
+
+M src/imap/cmd-append.c
+M src/lib-http/test-http-client-errors.c
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib/istream-chain.c
+M src/lib/istream-chain.h
+M src/lib/test-istream-chain.c
+
+2021-10-07 14:52:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2aa531b4a4)
+
+ virtual: Fix assert-crash when backend mbox mailbox is deleted while virtual
+ mailbox is open
+
+ The code wrongly thought that metadata lookup couldn't fail because it was
+ already successfully looked up. But the backend storage could still try to
+ refresh the mailbox to verify whether it still exists or not, and fail if it
+ was deleted.
+
+ This seems to have affected only the mbox mailbox format.
+
+ Broken by 710346bcb884b464c8ed128870fdc1999c13dfd3
+
+M src/plugins/virtual/virtual-sync.c
+
+2021-10-05 02:03:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5050000f5d)
+
+ lib: istream-concat - Add a comment about explicit snapshot function
+
+
+M src/lib/istream-concat.c
+
+2021-10-05 01:39:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e830aca4ef)
+
+ lib: test-istream-concat - Unref child istreams immediately
+
+ This doesn't currently make a difference, since istream-concat keeps them
+ internally referenced. In case this changes and snapshot handling isn't
+ fixed similarly to istream-chain, the unit test should now fail.
+
+M src/lib/test-istream-concat.c
+
+2021-10-04 18:25:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9507dcba9f)
+
+ lib: istream-concat - Fix snapshot handling when combining two istreams
+
+ Snapshotting wasn't handled correctly when two (or more) istreams' contents
+ were combined into the same buffer.
+
+M src/lib/istream-concat.c
+M src/lib/test-istream-concat.c
+
+2021-10-05 00:55:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4614c27f68)
+
+ lib: istream-chain - Optimize snapshot handling
+
+
+M src/lib/istream-chain.c
+
+2021-10-05 01:32:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (539a052672)
+
+ lib: istream-chain - Fix snapshot handling when link istream is destroyed
+
+
+M src/lib/istream-chain.c
+M src/lib/istream-private.h
+M src/lib/istream.c
+M src/lib/test-istream-chain.c
+
+2021-10-04 18:17:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (504c0e6424)
+
+ lib: istream-chain - Fix snapshot handling when combining two istreams
+
+ Snapshotting wasn't handled correctly when two (or more) istreams' contents
+ were combined into the same buffer.
+
+M src/lib/istream-chain.c
+M src/lib/test-istream-chain.c
+
+2021-10-05 01:00:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (39642d6b49)
+
+ lib: Add i_stream_memarea_detach()
+
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2021-10-04 17:41:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (67324622b6)
+
+ lib: test-istream-chain - Use more unique strings for testing
+
+ DEBUG checks don't work well if the input repeats the same character.
+
+M src/lib/test-istream-chain.c
+
+2019-09-15 00:08:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (43d7f354c4)
+
+ lib: istream-seekable - Fix crash after write to temp file failed
+
+ Fixes: Panic: file istream-seekable.c: line 230 (read_from_buffer):
+ assertion failed: (*ret_r > 0)
+
+M src/lib/istream-seekable.c
+
+2019-09-15 00:06:58 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (66fc9ffd4c)
+
+ lib: istream-seekable - Don't double-close temp file fd on errors
+
+ Closing the fd_input stream already auto-closes the fd.
+
+M src/lib/istream-seekable.c
+
+2019-09-14 23:53:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (eb15b02121)
+
+ lib: istream-seekable - Fix crash if writing to temp file fails
+
+
+M src/lib/istream-seekable.c
+M src/lib/test-istream-seekable.c
+
+2021-09-29 13:13:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7f752d77be)
+
+ lib: i_stream_try_alloc() - Add sanity check asserts
+
+
+M src/lib/istream.c
+
+2021-10-06 17:37:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (baf3e985c0)
+
+ lib-imap-client: test-imapc-client - Increase connect timeout for most tests
+
+ The 500ms timeout could have been too short when running with valgrind on an
+ overloaded system. Increase it to 5 seconds, but keep 500ms for the tests
+ that expect a timeout.
+
+M src/lib-imap-client/test-imapc-client.c
+
+2021-10-06 05:03:08 -0400 Marco Bettini <marco.bettini@open-xchange.com> (313ce3e709)
+
+ lib-master: master_login_auth_callback() - Add assert to guard for both
+ errormsg and auth_args being NULL
+
+
+M src/lib-master/master-login.c
+
+2021-10-07 03:55:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e7754572e6)
+
+ auth: db-passwd-file - Fix using paths with %% escaped characters but no
+ %variables
+
+ full_key might not have been NULL, causing var_expand() to read past the
+ array and possibly crash.
+
+M src/auth/db-passwd-file.c
+
+2021-10-07 03:46:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (687bc05ad0)
+
+ lib: t_get_bytes_available() - Move code inside DEBUG to avoid dead code
+ warning
+
+
+M src/lib/data-stack.c
+
+2021-10-07 03:44:46 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6e02a7ba64)
+
+ lib-index: mail_index_sync_init_expunge_handlers() - Simplify and remove
+ dead code
+
+
+M src/lib-index/mail-index-sync-ext.c
+
+2021-10-07 03:37:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1bf116c7a6)
+
+ lib-index: test-mail-index-write - Fix initializing map.hdr_copy_buf
+
+
+M src/lib-index/test-mail-index-write.c
+
+2021-10-07 03:29:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a08c2213af)
+
+ lib-settings: test-settings-parser - Check settings_parser_check() return
+ value
+
+
+M src/lib-settings/test-settings-parser.c
+
+2021-10-07 03:28:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a3b12700a6)
+
+ auth: Make sure auth_request_import() doesn't unexpectedly fail
+
+
+M src/auth/auth-master-connection.c
+
+2021-10-07 03:10:28 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4327b55f45)
+
+ lib: Change i_unreached() to be a function
+
+ This allows overriding the function in a Coverity model, so it can
+ understand that i_unreached() is intended to be unreachable code.
+
+M src/lib/failures.c
+M src/lib/failures.h
+M src/lib/macros.h
+
+2021-10-07 02:32:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (44bd159679)
+
+ lib: base64 - Add asserts to check max_line_len is in valid range
+
+
+M src/lib/base64.c
+
+2021-10-04 13:32:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1f0fad9044)
+
+ ipc: Disable connecting to stats
+
+ This avoids reconnect errors if stats process crashes.
+
+M src/ipc/main.c
+
+2021-10-01 01:44:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (dec257fb78)
+
+ master: Use relative path for stats_writer_socket_path for chrooted services
+
+ This allows login process to reconnect to stats-writer if it gets
+ disconnected.
+
+M src/master/service-process.c
+
+2021-10-01 01:42:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f08703dae8)
+
+ stats: Add login/stats-writer socket
+
+
+M src/stats/stats-settings.c
+
+2021-10-04 02:58:15 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (53b018722b)
+
+ lmtp: lmtp-proxy - Use the per-recipient session ID for the "Saved" message.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2021-10-04 02:57:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0daefe8937)
+
+ lmtp: Move session_id field to generic recipient struct.
+
+
+M src/lmtp/lmtp-commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-recipient.c
+M src/lmtp/lmtp-recipient.h
+
+2021-10-02 00:21:40 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (47c7166b91)
+
+ lmtp: lmtp-proxy - Forward session ID towards backend.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2021-10-02 00:21:06 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (e67d8cdb88)
+
+ lmtp: lmtp-local - Always add RCPT index to session ID for delivery.
+
+ Even when it is 1.
+
+M src/lmtp/lmtp-local.c
+
+2021-10-02 00:36:09 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c8423c354b)
+
+ lib-smtp: smtp-server-transaction - Base transaction ID on connection
+ session ID.
+
+ Composed as "<connection session ID>:<trasaction sequence>".
+
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-transaction.c
+
+2021-10-02 00:32:05 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (e6451151f5)
+
+ lib-smtp: smtp-server-connection - Manage session ID for the connection.
+
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2021-10-02 00:29:29 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (8fb86c24be)
+
+ lib-smtp: smtp-server-cmd-xclient - Parse XCLIENT SESSION field.
+
+
+M src/lib-smtp/smtp-server-cmd-xclient.c
+M src/lib-smtp/smtp-server-reply.c
+M src/submission-login/client.c
+
+2021-10-02 00:16:22 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (8c6d07276b)
+
+ lib-smtp: smtp-client-connection - Send new SESSION field with XCLIENT
+ command.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2021-10-04 02:02:21 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2d4587d13a)
+
+ lib-smtp: smtp-client - Use smtp_proxy_data_merge() to copy proxy data in
+ smtp_client_init().
+
+
+M src/lib-smtp/smtp-client.c
+
+2021-10-02 00:15:07 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b1497466f2)
+
+ lib-smtp: smtp-common - Add SESSION field to proxy data.
+
+
+M src/lib-smtp/smtp-common.c
+M src/lib-smtp/smtp-common.h
+
+2021-10-02 00:25:50 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (66d9b71ad4)
+
+ lib: connection - Add debug message for when property label (peer address)
+ changes.
+
+
+M src/lib/connection.c
+
+2021-10-02 00:26:28 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4a84440f53)
+
+ lib: connection - Make connection_update_properties() public.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2021-10-02 00:24:35 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (44819f897c)
+
+ lib: connection - Drop useless newlines.
+
+
+M src/lib/connection.c
+
+2019-02-21 18:50:10 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (1b13ee113b)
+
+ lib-program-client: test-program-client-local - Use dd instead of head
+
+ `head -c n` is only guaranteed to print n bytes, but it may consume more.
+ FreeBSD's implementation of head(1) uses buffered stdio, which did just
+ that.
+
+ `dd` consumes exactly the specified number of bytes.
+
+M src/lib-program-client/test-program-client-local.c
+
+2021-08-10 13:38:39 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1489e6378c)
+
+ login-proxy: Fix potential memory leak if backend login fails
+
+ It also needs an abnormal way of destroying the client for the leak to
+ happen. For example if the login process is being killed.
+
+M src/login-common/client-common.c
+
+2021-04-19 17:36:02 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (350600f984)
+
+ lib-test: fuzzer - Disable error handling for output stream towards program.
+
+ Fixes:
+
+ Panic: output stream is missing error handling
+
+M src/lib-test/fuzzer.c
+
+2021-04-19 17:34:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b41e7198ad)
+
+ lib-test: fuzzer - Provide names for fuzzer streams.
+
+
+M src/lib-test/fuzzer.c
+
+2021-04-18 12:33:01 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (860e5e3a83)
+
+ lib-smtp: smtp-server-cmd-helo - Fix crash occurring upon pipelined EHLO
+ with invalid domain.
+
+ Failed to check for NULL in domain value for a pipelined EHLO/HELO command.
+
+M src/lib-smtp/smtp-server-cmd-helo.c
+
+2021-10-06 13:20:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2e06ce6c98)
+
+ lib: Fix data_stack_get_alloc_size() and data_stack_get_used_size()
+
+ It only worked correctly if data stack hadn't been grown. This resulted in
+ wrong numbers in the data_stack_grow event.
+
+M src/lib/data-stack.c
+
+2021-10-01 15:08:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bdf4474ed8)
+
+ virtual: Fix leaking mailboxes if virtual mailbox can't be opened
+
+ Fixes also a crash at deinit: Panic: file mail-user.c: line 232
+ (mail_user_deinit): assertion failed: ((*user)->refcount == 1)
+
+M src/plugins/virtual/virtual-storage.c
+
+2021-10-04 17:25:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (79ebaf7b14)
+
+ mdbox: Avoid calling container_of() with a NULL pointer
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2021-10-04 15:20:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6275be1981)
+
+ sdbox: Avoid calling container_of() with a NULL pointer
+
+
+M src/lib-storage/index/dbox-single/sdbox-save.c
+
+2021-10-04 14:42:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a037ede37f)
+
+ lib: buffer_free() - Check for buf==NULL before using container_of()
+
+ Helps with static analyzer complaints.
+
+M src/lib/buffer.c
+
+2021-10-04 14:42:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ecaaa728c7)
+
+ lib: lib-event - Assert-crash if attempting to use NULL passthrough event
+
+ Fixes also complaints from static analyzer.
+
+M src/lib/lib-event.c
+
+2021-10-04 14:22:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bb5048cda0)
+
+ lib: container_of() - Don't check for NULL after all
+
+ Adding the explicit NULL checks for container_of() caused caused static
+ analyzers to think that NULL could be returned at any time. This caused
+ unnecessary warnings in various places.
+
+ Reverts b178d0792b6335277f7fa831fd7e5403105abd04
+
+M src/lib/macros.h
+
+2021-10-04 14:35:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5de8349891)
+
+ lib: macros.h - Fix #endif position
+
+
+M src/lib/macros.h
+
+2021-09-24 16:36:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6baff5b2d4)
+
+ lib-index: Add more mail_index_ext_name_is_valid() asserts
+
+
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-sync-ext.c
+
+2021-09-24 16:35:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f81779845a)
+
+ lib-index: Handle invalid extension header names without assert-crashing
+
+ Fixes: Panic: mail_index_ext_register(...): Invalid name
+
+M src/lib-index/mail-index-map.c
+
+2021-09-24 16:27:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (05e570be12)
+
+ lib-index: Add and use mail_index_ext_name_is_valid()
+
+ Use it in mail_index_ext_register() instead of the more relaxed
+ str_sanitize() check.
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+
+2021-09-24 16:32:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4896364107)
+
+ lib-index: Remove unused mail_index_sync_ext_init()
+
+ It doesn't look like this was ever used for anything. The initial commit
+ used only mail_index_sync_ext_init_new().
+
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-private.h
+
+2021-07-29 11:37:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d7dc02bbb0)
+
+ zlib: Handle empty zlib_save_level the same as if it doesn't exist
+
+
+M src/plugins/zlib/zlib-plugin.c
+
+2021-07-29 11:29:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (42457ff2eb)
+
+ zlib: Fix crash when zlib_save_level is set, but zlib_save is unset
+
+
+M src/plugins/zlib/zlib-plugin.c
+
+2021-10-04 11:14:04 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (4cd6999dd5)
+
+ driver-pgsql: Fix error leak
+
+
+M src/lib-sql/driver-pgsql.c
+
+2021-10-04 12:37:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1e56bbb41b)
+
+ lib-compression: ostream-zlib - Fix non-blocking gz header write
+
+ Broken by 373dc6a93da1f6a0ad0c80dbb72566c2b3a295f2
+
+M src/lib-compression/ostream-zlib.c
+
+2021-08-03 20:38:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1efd4a1765)
+
+ lib-storage: mailbox_get_expunge*() - Fix assert-crash on index corruption
+
+ This happened in the very unlikely situation that indexes became corrupted
+ between two mail_transaction_log_view_set() calls.
+
+ Fixes: Panic: file mailbox-get.c: line 112 (mailbox_get_expunges_init):
+ assertion failed: (ret != 0)
+
+M src/lib-storage/mailbox-get.c
+
+2021-10-01 15:21:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (088783cdaa)
+
+ lib: str_hash() - Ignore integer wrapping with ubsan
+
+ ATTR_NO_SANITIZE_INTEGER was already set for other hash functions, but
+ forgotten for this one.
+
+ Fixes e.g.: Error: hash.c:529:16: runtime error: unsigned integer overflow:
+ 4294967200 + 115 cannot be represented in type ‘unsigned int’
+
+M src/lib/hash.c
+
+2021-09-28 00:51:03 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3c05dcfa58)
+
+ lib: ostream-wrapper - Make sure o_stream_finish() has stream_errno != 0
+ when -1 is to be returned.
+
+ Fixes:
+
+ Panic: file ostream.c: line 209 (o_stream_flush): assertion failed:
+ (stream->stream_errno != 0)
+
+M src/lib/ostream-wrapper.c
+
+2021-10-01 10:42:16 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (a1729a72e8)
+
+ driver-cassandra: Fix prepared statement pool leak
+
+
+M src/lib-sql/driver-cassandra.c
+
+2021-09-30 18:42:08 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (ebd5223c8d)
+
+ stats: Remove metric from stats dump, when removing dynamically.
+
+
+M src/stats/stats-metrics.c
+
+2020-09-23 23:35:53 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d16a69f7e2)
+
+ lib-ssl-iostream: istream-openssl - Remove assert() in i_stream_ssl_read().
+
+
+M src/lib-ssl-iostream/istream-openssl.c
+
+2020-09-23 23:35:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (50b7231aab)
+
+ lib-ssl-iostream: iostream-openssl - Allow plain_input buffer to remain
+ filled in openssl_iostream_bio_input().
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2020-09-23 22:02:41 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b4d477a50b)
+
+ lib-ssl-iostream: iostream-openssl - Use o_stream_uncork_flush() to uncork
+ the plain output.
+
+ This flushes the stream after uncorking it, fixing I/O hang with nested SSL
+ layers.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2021-09-30 00:17:47 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f42c0637ac)
+
+ lib-ssl-iostream: iostream-openssl - Return immediately from
+ openssl_iostream_bio_output() upon error.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2020-09-23 23:58:12 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3200480ecf)
+
+ lib-ssl-iostream: iostream-openssl - Move error handling out of
+ openssl_iostream_bio_output().
+
+ Makes the next commit clearer.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2021-04-16 13:55:06 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (aa8a39557b)
+
+ lib-ssl-iostream: test-iostream-ssl - Make finishing the ssl streams more
+ robust.
+
+ Fixes:
+
+ Panic: file ostream.c: line 59 (o_stream_close_full): assertion failed:
+ (stream->real_stream->error_handling_disabled)
+
+M src/lib-ssl-iostream/test-iostream-ssl.c
+
+2021-04-16 18:18:07 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2816a2525b)
+
+ lib-ssl-iostream: test-iostream-ssl - Properly mark client endpoints.
+
+
+M src/lib-ssl-iostream/test-iostream-ssl.c
+
+2021-04-16 18:21:01 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (7738cb723b)
+
+ lib-ssl-iostream: test-iostream-ssl - Move small_packets_flush_callback().
+
+
+M src/lib-ssl-iostream/test-iostream-ssl.c
+
+2021-04-16 18:19:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3e53f67a65)
+
+ lib-ssl-iostream: test-iostream-ssl - Move bufsize_flush_callback().
+
+
+M src/lib-ssl-iostream/test-iostream-ssl.c
+
+2021-04-16 14:52:34 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0f4a532bd1)
+
+ lib-ssl-iostream: ostream-openssl - Call SSL_shutdown() once stream is
+ finished and buffer is empty.
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2021-04-16 12:31:13 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (46970690e9)
+
+ lib: istream - Remove try_alloc_limit.
+
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2021-04-16 12:27:48 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b44c5504ff)
+
+ lib-ssl-iostream - iostream-openssl - Use i_stream_read_limited().
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2021-04-16 12:25:43 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (377f1cbe88)
+
+ lib: istream - Add i_stream_read_limited().
+
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+M src/lib/istream.h
+
+2020-09-27 15:19:05 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (00df102e56)
+
+ lib-ssl-iostream: istream-openssl - Simplify i_stream_ssl_read().
+
+ Avoid using a stack buffer. Just fill the stream to the maximum buffer size.
+
+M src/lib-ssl-iostream/istream-openssl.c
+
+2021-04-16 18:08:50 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b4a2da442d)
+
+ lib-ssl-iostream: iostream-openssl - Add OPENSSL_IOSTREAM_SYNC_TYPE_NONE.
+
+ This is useful for calling openssl_iostream_handle_error() while avoiding
+ processing more I/O.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+
+2021-09-24 19:16:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8a9d1aa7b6)
+
+ lib-ssl-iostream: Fix error handling if parent iostream fails
+
+ Expand out and remove openssl_iostream_more(). It could have returned errors
+ to two different locations depending on whether the failure came from SSL
+ handshake or parent iostream.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2021-09-24 19:15:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (75a6da0a1e)
+
+ lib-ssl-iostream: ostream-ssl - Add ssl_io helper variable
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2021-09-24 18:59:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6289334552)
+
+ lib: o_stream_copy_error_from_parent() - Assert-crash if source stream_errno
+ is 0
+
+ This can help debug situations where error is missing.
+
+M src/lib/ostream.c
+
+2021-09-24 18:59:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8f22f0ab6e)
+
+ global: Call o_stream_copy_error_from_parent() only on errors
+
+
+M src/lib-http/http-transfer-chunked.c
+M src/lib-mail/ostream-dot.c
+
+2021-09-24 18:58:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (373dc6a93d)
+
+ lib-compression: ostream-zlib - Fix sending partial gz header to parent
+ ostream
+
+ This practically wouldn't happen.
+
+M src/lib-compression/ostream-zlib.c
+
+2021-09-30 15:38:23 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1545fadb3d)
+
+ lib-http: test-http-client-errors - Revert previous retry changes
+
+ The real bug is found now, so the previous fix attempt isn't useful. Reverts
+ ed1264368a5435c3080871380156978a8951fe26
+
+M src/lib-http/test-http-client-errors.c
+
+2021-09-30 15:32:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (37f4f27114)
+
+ lib-http: test-http-client-errors - Reset USR1 notification signal between
+ tests
+
+ The "connection refused" test already set the signal as being received,
+ which caused the "connection refused backoff" test to randomly fail since it
+ thought the signal was immediately received.
+
+M src/lib-http/test-http-client-errors.c
+
+2021-09-25 00:48:12 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ddb173aa3d)
+
+ lib: istream-concat - Prevent inheriting SIZE_MAX max buffer size from
+ parent streams.
+
+ Only when all parent streams have SIZE_MAX for max buffer size, the concat
+ stream will follow suit.
+
+M src/lib/istream-concat.c
+
+2021-09-27 20:35:19 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f5c1baf2cd)
+
+ lib-storage: Add mailbox_list.disable_rebuild_on_corruption
+
+ If set, don't try to rebuild the mailbox list index even if corruption is
+ detected.
+
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/mailbox-list-private.h
+
+2021-09-24 17:59:06 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (462d9b6ea6)
+
+ lib-dcrypt: Fix istream-decrypt snapshotting
+
+ This is mostly copy&pasted from istream-header-filter.
+
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/test-stream.c
+
+2021-09-23 18:02:17 -0600 Michael M Slusarz <michael.slusarz@open-xchange.com> (9bf48f34bf)
+
+ lib-storage: hide mail_cache_min_mail_count setting
+
+
+M src/lib-storage/mail-storage-settings.c
+
+2021-09-26 01:16:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ccb0579b3b)
+
+ master: Avoid leaking master client fds to forked processes
+
+
+M src/master/master-client.c
+
+2021-09-29 14:58:22 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (231105a825)
+
+ stats: Improve error message for doveadm stats add.
+
+
+M src/stats/client-reader.c
+
+2021-09-29 14:57:34 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (22bc379024)
+
+ stats: Check if metric already exists when adding dynamically.
+
+
+M src/stats/stats-metrics.c
+
+2021-09-28 15:35:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1ad80be9a6)
+
+ driver-pglsqlpool: Implement sql_get_flags() reliably
+
+ Try to use one of the already connected databases. If none were found,
+ create a new database.
+
+M src/lib-sql/driver-sqlpool.c
+
+2021-09-28 15:32:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a55f18c67f)
+
+ driver-pgsql: Implement sql_get_flags() reliably
+
+ Some of the flags aren't known until server is connected to, so wait for the
+ connect to finish if necessary before returning the flags.
+
+M src/lib-sql/driver-pgsql.c
+
+2021-09-28 15:33:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a90663e588)
+
+ driver-sqlpool: Implement sql_wait()
+
+
+M src/lib-sql/driver-sqlpool.c
+
+2021-09-27 11:59:09 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (8146312f9c)
+
+ driver-cassandra: Add wait() implementation
+
+
+M src/lib-sql/driver-cassandra.c
+
+2021-09-27 11:58:21 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (8981a97398)
+
+ driver-pgsql: Add wait() implementation
+
+
+M src/lib-sql/driver-pgsql.c
+
+2021-09-27 11:48:34 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (beca893733)
+
+ dict-sql: Add "sql_dict_wait()" implementation
+
+ lib-sql now has sql_wait().
+
+M src/lib-dict-backend/dict-sql.c
+
+2021-09-27 11:46:07 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (3e717dd730)
+
+ lib-sql: Add "wait" vfunc
+
+ To be used in backends that support async operations. On deinit dicts should
+ wait for results and then exit.
+
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-api.h
+
+2021-09-27 19:43:54 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (d5bf78e2da)
+
+ driver-pgsql: Keep a list of pending query results
+
+ To be used in wait() to determine if there are pending operations.
+
+M src/lib-sql/driver-pgsql.c
+
+2021-09-22 20:57:06 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a660f544ea)
+
+ dict: Wait for all dicts to finish pending operations at shutdown
+
+ This also changes the dict process to exit cleanly instead of early via
+ lib_exit().
+
+M src/dict/dict-init-cache.c
+M src/dict/dict-init-cache.h
+M src/dict/main.c
+
+2019-07-11 12:05:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d571a13586)
+
+ dict: Unref dict connection immediately when connection is destroyed
+
+ The delayed unrefing is needed when calling from dict command callbacks to
+ avoid calling dict_deinit() too early. But the connection's destroy() vfunc
+ can't be called directly from dict command callbacks, so there's no need to
+ add further delays. Especially when this happens at deinit where there is no
+ possibility of calling the delayed callback anymore.
+
+M src/dict/dict-connection.c
+
+2021-09-27 11:42:07 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (60f20b00b9)
+
+ driver-pgsql: Fix escaped blob prefix
+
+ Escaped strings must be prefixed with double backslash.
+
+M src/lib-sql/driver-pgsql.c
+
+2021-09-27 11:35:38 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (103a99d531)
+
+ driver-pgsql: Fix assert-crash when using binary fields
+
+ array_idx_modifiable() changed behavior in
+ 1d4e5de8414ed93d1c810b30a91ad83d6d954861 and doesn't allocate space anymore.
+
+ Fixes: Panic: file array.c: line 10 (array_idx_modifiable_i): assertion
+ failed: (idx < array->buffer->used / array->element_size)
+
+M src/lib-sql/driver-pgsql.c
+
+2021-09-29 18:04:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f318731eac)
+
+ doveadm mail batch: Fix run() return value on errors
+
+ The function always returned 0, even when there was an error. This
+ practically doesn't fix anything, but makes it work the way it was intended.
+ It also makes scan-build happier.
+
+ Broken by fd4360e30b695e596a5081a6080152188a12852a
+
+M src/doveadm/doveadm-mail-batch.c
+
+2021-09-22 19:34:32 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d10bc56592)
+
+ mdbox: Add assert to help static analyzers
+
+ mdbox_sync_begin() can return 0 with sync_ctx=NULL, but not with the
+ parameters given here.
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2021-09-22 19:02:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (67c96d89f3)
+
+ lib-smtp: smtp_client_transaction_get_state_name() - Fix return value
+
+ Only the "new" state was returned correctly, while everything else was
+ wrong. This didn't really cause problems, because it was used only by
+ imaptest.
+
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-client-transaction.h
+
+2021-09-22 18:46:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (37ab021b41)
+
+ lib: Ignore COMPILE_ERROR_IF_TRUE() with --enable-static-checker
+
+
+M src/lib/macros.h
+
+2021-09-28 01:24:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b178d0792b)
+
+ lib: container_of() - Always return NULL if input pointer is NULL
+
+
+M src/lib/macros.h
+
+2021-09-22 18:40:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (71d3f9a4c0)
+
+ lib: container_of() - Avoid uintptr_t
+
+ Using uintptr_t confused Coverity, but char* works fine.
+
+M src/lib/macros.h
+
+2021-09-29 00:21:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e47c4a3ff7)
+
+ indexer: Abort requests if indexer-worker disconnects unexpectedly
+
+
+M src/indexer/worker-connection.c
+
+2021-04-19 21:43:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1e14dd0f49)
+
+ lib-storage: Add reason_code=mail:header_fields
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2021-04-19 21:38:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (034597d2fe)
+
+ lib-storage: Add more specific mail:* reason_codes in when prefetching
+
+ Added:
+ * mail:attachment_keywords
+ * mail:date
+ * mail:snippet
+ * mail:mime_parts
+ * mail:imap_envelope
+ * mail:imap_bodystructure
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2021-03-11 23:38:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (88c2ee58f1)
+
+ fts: Add reason_code=fts:index and fts:lookup
+
+ Note that fts:index won't be used for email opening events, because the
+ emails are already opened by the indexer precache searching code due to
+ wanted_fields.
+
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+
+2021-09-09 16:45:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1279e1bd00)
+
+ lib-storage: Add reason_code=mailbox:*
+
+ Added:
+ * mailbox:create
+ * mailbox:update
+ * mailbox:delete
+ * mailbox:rename
+ * mailbox:subscribe
+ * mailbox:unsubscribe
+ * mailbox:attributes_changed
+
+M src/lib-storage/mail-storage.c
+
+2021-03-17 15:15:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (87cd6570a1)
+
+ lib-storage: Add reason_code=mailbox:search
+
+
+M src/lib-storage/index/index-search.c
+
+2021-03-17 14:49:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (858da66efb)
+
+ lib-storage: Add reason_code=mailbox:thread
+
+ This is split into a few different locations in the code.
+
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread.c
+
+2021-03-17 17:48:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (eedf4a3f22)
+
+ lib-storage: Add reason_code=mailbox:vsize*
+
+ * mailbox:vsize - mailbox vsize is asked
+ * mailbox:vsize_update - mailbox vsize is updated (append/expunge)
+
+M src/lib-storage/index/index-mailbox-size.c
+
+2021-03-17 17:48:33 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d4b3fcee59)
+
+ lib-storage: Add reason_code=mailbox:sort
+
+
+M src/lib-storage/index/index-sort.c
+
+2021-03-11 19:43:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ce517f8323)
+
+ lib-storage: Add reason_code=mail:*
+
+ * mail:virtual_size
+ * mail:physical_size
+ * mail:snippet
+ * mail:prefetch
+ * mail:mime_parts
+ * mail:date
+ * mail:received_date
+ * mail:save_date
+ * mail:storage_id
+ * mail:pop3_uidl
+ * mail:pop3_order
+ * mail:guid
+ * mail:refcount
+ * mail:refcount_id
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/mail.c
+
+2021-03-11 19:07:10 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (962efef5f7)
+
+ lib-storage: Remove mailbox_set_reason()
+
+ Event reason_codes should be used instead. Keep the "Mailbox opened" debug
+ message mainly because it's often used in CI tests.
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2021-03-11 19:06:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f1db5fbfb3)
+
+ global: Remove mailbox_set_reason() calls
+
+ These ones that are left are all rather unnecessary.
+
+M src/lib-imap-storage/imap-metadata.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-lda/mail-deliver.c
+M src/lib-storage/mail-storage.c
+M src/lmtp/lmtp-local.c
+M src/plugins/quota/quota-status.c
+M src/plugins/virtual/virtual-storage.c
+
+2021-03-17 17:40:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d2ab26be60)
+
+ pop3: Add reason_code=pop3:cmd_<command name> to events
+
+
+M src/pop3/pop3-client.c
+
+2021-03-11 19:04:36 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (641d0bd3bd)
+
+ pop3: Replace mailbox_set_reason() with reason_code=pop3:initialize
+
+
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+
+2021-03-11 17:29:59 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (bf1b124e0d)
+
+ virtual: Replace mailbox_set_reason() with reason_code=virtual:config_read
+
+
+M src/plugins/virtual/virtual-config.c
+
+2021-03-11 17:27:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d31e44e66c)
+
+ trash: Replace mailbox_set_reason() with reason_code=trash:clean
+
+
+M src/plugins/trash/trash-plugin.c
+
+2021-03-09 16:49:12 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (459f9eeeac)
+
+ quota: Replace mailbox_set_reason() with reason_code=quota:recalculate and
+ quota:count
+
+
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-maildir.c
+
+2021-03-11 17:22:31 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b0d8db1bb3)
+
+ pop3-migration: Replace mailbox_set_reason() with
+ reason_code=pop3_migration:uidl_sync
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2021-03-11 17:03:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d2af1066c4)
+
+ lazy_expunge: Replace mailbox_set_reason() with
+ reason_code=lazy_expunge:expunge
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2021-03-17 18:23:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (bc85909b45)
+
+ lazy-expunge: Split off lazy_expunge_mail_expunge_move()
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2021-03-11 16:56:32 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2ec30d083b)
+
+ lib-storage: Replace mailbox_set_reason() with
+ reason_code=storage:autoexpunge and storage:mailbox_list_rebuild
+
+
+M src/lib-storage/list/mail-storage-list-index-rebuild.c
+M src/lib-storage/mail-autoexpunge.c
+
+2021-03-11 16:53:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a20d06d4b3)
+
+ mdbox: Replace mailbox_set_reason() with reason_code=mdbox:rebuild
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2021-03-16 19:02:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1a30dc1b43)
+
+ mdbox: Split off mdbox_storage_rebuild_scan_prepare()
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2021-03-11 15:46:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e3dc046996)
+
+ indexer: Replace mailbox_set_reason() with reason_code=indexer:index_mailbox
+
+
+M src/indexer/master-connection.c
+
+2021-03-17 17:28:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (bb1df67719)
+
+ imap: Add reason_code=imap:fetch_*
+
+ The main reason for these is to allow understanding why mails are being
+ opened. The possibilities:
+
+ * imap:fetch_body
+ * imap:fetch_header
+ * imap:fetch_header_fields
+ * imap:fetch_bodystructure
+ * imap:fetch_size
+
+M src/imap/cmd-fetch.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.h
+
+2021-03-11 15:44:47 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b41063291e)
+
+ imap: Remove mailbox_set_reason() calls
+
+ They are now unnecessary because of the new reason_code field.
+
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-notify.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-resetkey.c
+M src/imap/cmd-select.c
+M src/imap/cmd-setmetadata.c
+M src/imap/cmd-subscribe.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-notify.c
+M src/imap/imap-state.c
+M src/imap/imap-status.c
+
+2021-03-11 15:44:10 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (61685f7b7a)
+
+ imap: Add reason_code=imap:unhibernate for events during unhibernation.
+
+
+M src/imap/imap-master-client.c
+
+2021-03-11 15:39:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4eb305cccc)
+
+ imap: Add reason_code=imap:notify_update for events during NOTIFY updates
+
+
+M src/imap/imap-notify.c
+
+2021-03-09 16:37:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ad5ef653eb)
+
+ imap: Add and use client_command_context.global_event
+
+ This way all the (potentially large) IMAP command parameters won't be
+ included in all the events. This change might be reverted in the future if
+ the performance worries go away.
+
+ The global event also contains reason_code=imap:cmd_<command name> field.
+
+M src/imap/cmd-append.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-resetkey.c
+M src/imap/cmd-select.c
+M src/imap/cmd-setmetadata.c
+M src/imap/cmd-status.c
+M src/imap/cmd-subscribe.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands.c
+
+2021-03-11 15:26:56 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (cfc7b74425)
+
+ doveadm: Remove mailbox_set_reason() calls
+
+ They are now unnecessary because of the new reason_code field.
+
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-save.c
+M src/doveadm/doveadm-mail.c
+
+2021-03-11 15:26:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fd4360e30b)
+
+ doveadm: Add reason_code=doveadm:cmd_<command name> to events
+
+
+M src/doveadm/doveadm-mail-batch.c
+M src/doveadm/doveadm-mail.c
+
+2021-04-20 00:05:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (82f0d7bf81)
+
+ dsync: ioloop context shouldn't deactivate after ioloop has run
+
+ Normally that is wanted, but dsync reuses the same ioloop as the parent
+ doveadm connection, so after the inner io_loop_run() it's still running in
+ the doveadm connection's io callback.
+
+ Without this all the global events will be popped out, and the following
+ global event change commit will cause crashes.
+
+M src/doveadm/doveadm-dsync.c
+
+2021-04-20 00:28:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a9ffa98ac7)
+
+ doveadm copy: Don't permanently activate source user's ioloop
+
+
+M src/doveadm/doveadm-mail-copymove.c
+
+2021-04-20 00:24:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (23c1983be1)
+
+ doveadm import: Don't permanently activate source user's ioloop
+
+ After the source user is initialized, the original user's ioloop should be
+ activated back.
+
+M src/doveadm/doveadm-mail-import.c
+
+2021-03-17 18:48:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (19779828ea)
+
+ submission: Add reason_code=submission:cmd_<name>
+
+
+M src/submission-login/client.c
+M src/submission/main.c
+
+2021-03-17 18:48:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ebd660c594)
+
+ lmtp: Add reason_code=lmtp:cmd_<name>
+
+
+M src/lmtp/main.c
+
+2021-03-17 18:44:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (750f14dae0)
+
+ lib-smtp: Add reason_code=<reason_code_module>:cmd_*
+
+ This requires caller to set smtp_server_settings.reason_code_module. For now
+ only cmd_mail, cmd_rcpt and cmd_data are implemented. The other commands are
+ likely not very useful.
+
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server.c
+M src/lib-smtp/smtp-server.h
+
+2021-04-22 20:27:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7b6e14ce5e)
+
+ lib-http: http-client-request - Preserve global events' reason_code in
+ request events
+
+ Since HTTP requests are asynchronous, it's possible that the global events
+ go away before the HTTP request is finished. This way the reason_code will
+ be preserved in http_request_finished event.
+
+M src/lib-http/http-client-request.c
+
+2021-03-11 17:54:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fbcb1dafbf)
+
+ lib: Add event_reason_code() for building reason codes easily
+
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+M src/lib/test-lib-event.c
+M src/lib/test-lib.inc
+
+2021-03-09 16:45:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c0a3b73732)
+
+ lib: Add event_reason_begin/end() API
+
+ This can be used to easily add reason_code to all events being emitted
+ within the begin..end calls. The reasons can also be nested. For example:
+
+ reason = event_reason_begin("reason1");
+ // ... reason2 = event_reason_begin("reason2");
+ // .. event_reason_end(&reason2); event_reason_end(&reason);
+
+ This results in having reason_code=["reason1", "reason2"] for all events
+ emitted while reason2 exists.
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2021-04-21 16:55:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2bba7f1f34)
+
+ lib: event_pop_global() - Assert-crash if trying to pop ioloop context's
+ global root event
+
+ This makes it easier to debug bugs.
+
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+M src/lib/lib-event.c
+
+2021-03-11 02:19:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c633d08bf2)
+
+ lib: Push/pop global event stack automatically when ioloop contexts are
+ switched
+
+
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+M src/lib/lib-event.h
+M src/lib/test-ioloop.c
+
+2021-04-21 17:11:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (75285a3169)
+
+ lib-storage: mail_storage_service_next*() - On failure don't leave user's io
+ context activated
+
+
+M src/lib-storage/mail-storage-service.c
+
+2021-03-11 02:18:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (340e961cfe)
+
+ lib-storage: Remove global event stack tracking
+
+ This will be implemented by ioloop contexts directly in the next commit.
+
+M src/lib-storage/mail-storage-service.c
+
+2021-03-09 16:33:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c822238604)
+
+ lib: Fix global events to actually work
+
+ Also add comments to clarify how exactly it works.
+
+M src/lib/event-filter.c
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+M src/lib/test-event-filter.c
+
+2021-04-20 00:08:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (16fca42dec)
+
+ lib: event_push_global() - Assert that event is not NULL
+
+
+M src/lib/lib-event.c
+
+2021-09-09 13:46:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e2995d85c2)
+
+ lib-master: Fix sending events recursively
+
+ The event sending itself may recursively trigger more events (e.g.
+ data_stack_grow). The previous BEGINs must have been flushed by that time or
+ the recursive events might be pointing to event IDs that haven't even been
+ sent to the stats process yet.
+
+ Fixes: stats: Error: Client sent invalid input for UPDATE: Unknown event ID
+
+M src/lib-master/stats-client.c
+
+2021-03-09 16:29:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9d93a24824)
+
+ lib-master, stats: Send global events to stats process
+
+
+M src/lib-master/stats-client.c
+M src/lib-master/test-event-stats.c
+M src/stats/client-writer.c
+M src/stats/test-client-writer.c
+
+2021-03-19 13:13:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0a57bd650e)
+
+ stats: Support group_by for string lists
+
+
+M src/stats/stats-metrics.c
+
+2021-01-27 13:10:07 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (5f8775fc40)
+
+ stats: Support exporting event string lists
+
+
+M src/stats/event-exporter-fmt-json.c
+M src/stats/event-exporter-fmt-tab-text.c
+
+2021-03-19 13:02:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (775ddf19ed)
+
+ stats: Split off stats_metric_get_sub_metric()
+
+
+M src/stats/stats-metrics.c
+
+2021-03-19 13:05:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a1623b5e44)
+
+ stats: Rename stats_metric_get_sub_metric() to
+ stats_metric_find_sub_metric()
+
+
+M src/stats/stats-metrics.c
+
+2021-03-19 12:59:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (81d50807bf)
+
+ stats: Split off stats_metric_group_by_value_label()
+
+
+M src/stats/stats-metrics.c
+
+2021-03-19 12:52:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (add670d598)
+
+ stats: stats_metric_group_by_*() - Add _r suffix to returned value parameter
+
+
+M src/stats/stats-metrics.c
+
+2020-12-15 09:17:57 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (4f752d381c)
+
+ lib: lib-event - Add support for string lists
+
+ Provide API to create string lists. These are particularly useful if you
+ need to provide list of causes for an event, such as why some mail was
+ opened.
+
+M src/lib/Makefile.am
+M src/lib/event-filter.c
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+M src/lib/test-event-filter.c
+M src/lib/test-event-flatten.c
+A src/lib/test-lib-event.c
+M src/lib/test-lib.inc
+M src/stats/event-exporter-fmt-json.c
+M src/stats/event-exporter-fmt-tab-text.c
+M src/stats/stats-metrics.c
+
+2021-08-23 17:21:58 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9a4d33f893)
+
+ lib: test-event-filter - Improve "override parent fields" test
+
+
+M src/lib/test-event-filter.c
+
+2021-08-23 17:15:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e670cb1468)
+
+ lib: test-event-filter - Fix parent/child events to actually be parent/child
+
+
+M src/lib/test-event-filter.c
+
+2021-03-16 19:22:25 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1411aaf4a4)
+
+ lib: Split off event_import_arg()
+
+
+M src/lib/lib-event.c
+
+2021-03-16 19:19:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (bb602382b9)
+
+ lib: Split off event_import_field()
+
+
+M src/lib/lib-event.c
+
+2021-09-24 18:21:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a12796fd66)
+
+ lib-index: Allow ignoring index corruption checks with --enable-devel-checks
+
+ If DEBUG_IGNORE_INDEX_CORRUPTION environment is set, don't check if index
+ contains internal corruption. This is useful for CI tests that intentionally
+ test corrupted indexes.
+
+M src/lib-index/mail-index-sync-update.c
+
+2021-09-28 00:28:35 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (c92afe67a1)
+
+ lib-http: http-server: Add request events
+
+ Adds http_server_request_started and http_server_request_finished.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+
+2021-08-26 13:13:55 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (12229f5e61)
+
+ lib-http: http-server-request - Add request_id and status_code fields to
+ event
+
+
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+
+2021-09-28 15:35:21 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (e8d9838485)
+
+ stats: Use duplicated metric settings in stats_metrics_add_dynamic().
+
+
+M src/stats/stats-metrics.c
+
+2021-09-15 14:44:42 +0200 Markus Valentin <markus.valentin@open-xchange.com> (b04cb5ea03)
+
+ imapc: Add MAIL_STORAGE_CLASS_FLAG_SECONDARY_INDEX storage class flag
+
+ Add SECONDARY_INDEX storage class flag to enable storing shared private
+ indexes in obox user root bundle.
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2021-09-24 17:33:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e399436c15)
+
+ lib-storage: mail_get_binary_stream() - Add comment about having to unref
+ returned istream
+
+
+M src/lib-storage/mail-storage.h
+
+2021-09-22 15:58:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1ce928c75f)
+
+ lib: test-cpu-limit - Remove dead code
+
+ No longer needed after 6d902507c24fca4f64e3e9bf7d79ae5a48281cd8
+
+M src/lib/test-cpu-limit.c
+
+2021-09-27 11:49:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0a70b02bbb)
+
+ lib: test-strfuncs - Avoid testing p_strndup() with overlong max_chars
+ parameter
+
+ This ended up in memchr() call with n=SIZE_MAX-1, which sometimes doesn't
+ work right with old glibc versions.
+
+ Fixes: Panic: Trying to allocate 18446744073709551615 bytes
+
+M src/lib/test-strfuncs.c
+
+2021-09-08 10:39:36 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (211040d836)
+
+ lib-mail: Add test for empty header value
+
+
+M src/lib-mail/test-message-header-parser.c
+
+2021-09-02 17:10:11 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d0e0b22b6b)
+
+ lib-mail: Limit header length to 1000 bytes
+
+
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/test-message-header-parser.c
+
+2021-09-02 17:12:55 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (44c43133a4)
+
+ lib-mail: If message header has no colon, store it as value only
+
+ If the header is missing :, it is not valid header. Storing it as value only
+ ensures it will be kept by mbox rewrite, but will not be processed as a
+ header.
+
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/test-message-header-parser.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2021-09-02 16:46:19 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ac65213384)
+
+ lib-mail: test-message-header-parser - Add NAME10, 100, 1000 macros for
+ testing
+
+
+M src/lib-mail/test-message-header-parser.c
+
+2021-09-07 14:37:34 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (0009fd1edf)
+
+ lib: Add i_memspn() and i_memcspn()
+
+ Binary data safe variants of strspn() and strcspn()
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/lib/test-strfuncs.c
+
+2021-09-16 13:32:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8af2bd8640)
+
+ virtual: Log a debug message why backend mailbox has changed
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2021-09-24 10:39:43 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (801405d49f)
+
+ lib-storage: mail-duplicate - Restructure mail_duplicate_read_db_file() to
+ make sure fd is closed.
+
+ Found by Coverity.
+
+M src/lib-storage/mail-duplicate.c
+
+2021-09-24 10:22:28 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (99d129cd50)
+
+ lib-storage: mail-duplicate - Fix segfault occurring upon failure to lock
+ and open DB file.
+
+ Found by Coverity.
+
+M src/lib-storage/mail-duplicate.c
+
+2021-08-18 16:54:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (26284cf6f7)
+
+ indexer-worker: Fix event leak on error handling
+
+
+M src/indexer/master-connection.c
+
+2021-07-13 04:15:14 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2d32ee8b54)
+
+ lib-storage: mail-duplicate - Implement separate error code for deadlock.
+
+
+M src/lib-storage/mail-duplicate.c
+M src/lib-storage/mail-duplicate.h
+
+2021-09-16 01:49:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (dcee43b54c)
+
+ lib-storage: mail-duplicate - Update records from duplicate DB file after
+ acquirement of per-ID lock.
+
+ The process previously holding the per-ID lock may have updated the DB.
+
+M src/lib-storage/mail-duplicate.c
+
+2021-09-17 11:11:21 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a27a97f49d)
+
+ lib-storage: mail-duplicate - Move acquirement of dotlock for DB file into
+ mail_duplicate_read().
+
+
+M src/lib-storage/mail-duplicate.c
+
+2021-09-20 11:58:12 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9cb56c3b28)
+
+ lib-storage: mail-duplicate - Implement per-ID locking.
+
+
+M src/lib-storage/mail-duplicate.c
+M src/lib-storage/mail-duplicate.h
+
+2021-09-17 11:16:39 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9bd8fff3b0)
+
+ lib-storage: mail-duplicate - Allow calling mail_duplicate_read() more than
+ once in a transaction.
+
+
+M src/lib-storage/mail-duplicate.c
+
+2021-07-13 23:22:52 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b3d183d81d)
+
+ lib-storage: mail-duplicate - Record an entry for both checked and marked
+ IDs.
+
+ Still only write the marked IDs to the file. The in-memory record is needed
+ for the locking introduced in a later commit.
+
+M src/lib-storage/mail-duplicate.c
+
+2021-07-13 05:03:02 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (711f05f3d1)
+
+ lib-storage: mail-duplicate - Add debug messages for transaction.
+
+
+M src/lib-storage/mail-duplicate.c
+
+2021-07-13 05:07:39 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4809e7e1cd)
+
+ lib-storage: mail-duplicate - Add debug messages for database.
+
+
+M src/lib-storage/mail-duplicate.c
+
+2021-07-13 04:40:24 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (70af5522c6)
+
+ lib-storage: mail-duplicate - Add event to transaction object.
+
+
+M src/lib-storage/mail-duplicate.c
+
+2021-07-13 04:53:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4fe7f887a6)
+
+ lib-storage: mail-duplicate - Add event to database object.
+
+
+M src/lib-storage/mail-duplicate.c
+
+2021-06-08 03:51:10 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (63553ff976)
+
+ lib-storage: mail-duplicate - Restructure API to make it transaction-based.
+
+
+M src/lib-storage/mail-duplicate.c
+M src/lib-storage/mail-duplicate.h
+
+2021-07-13 04:03:42 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f786488b23)
+
+ lib-storage: mail-duplicate - Change mail_duplicate_check() return type from
+ bool to enum.
+
+
+M src/lib-storage/mail-duplicate.c
+M src/lib-storage/mail-duplicate.h
+
+2021-09-17 11:04:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (90400db2d6)
+
+ lib-storage: Reformat mail-duplicate.c.
+
+
+M src/lib-storage/mail-duplicate.c
+
+2021-08-07 15:43:35 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (8bfdede141)
+
+ lib-storage: mail-user - Add mail_user_get_volatile_dir().
+
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2021-09-20 02:45:23 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4c1cf82d61)
+
+ lib: file-lock - Adjust API to allow EDEADLK to be used by application.
+
+ It always caused a Dovecot panic before when returned from kernel.
+
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+
+2021-09-19 13:09:29 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (083439ed73)
+
+ lib: file-lock - Rework API to make it extensible.
+
+
+M src/doveadm/dsync/dsync-brain.c
+M src/lib-dict/dict-file.c
+M src/lib-fs/fs-posix.c
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mailbox-list.c
+M src/lib/file-create-locked.c
+M src/lib/file-create-locked.h
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+M src/lib/test-file-create-locked.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+
+2021-09-20 02:39:08 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (de5e12a160)
+
+ lib: file-lock - Rename file_{wait,try}_lock_error() to
+ file_{wait,try}_lock().
+
+
+M src/lib-dict/dict-file.c
+M src/lib-fs/fs-posix.c
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib/file-create-locked.c
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+
+2021-09-20 02:29:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (13b9181e32)
+
+ lib: file-lock - Remove file_{wait,try}_lock().
+
+
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+
+2021-09-20 02:26:46 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4dbae0e6c1)
+
+ global: Avoid use of file_{wait,try}_lock().
+
+ Use the file_{wait,try}_lock_error() variants instead.
+
+M src/lib-dict/dict-file.c
+M src/lib-fs/fs-posix.c
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+
+2021-09-22 17:36:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ed1264368a)
+
+ lib-http: test-http-client-errors - Allow more relaxed timeouts for connect
+ retry tests
+
+ With max_connect_attempts=3 the connects come at (0ms, 100ms, 300ms). Before
+ the 3rd attempt a timeout at 250ms must have triggered, so there was only
+ 50ms time for it to trigger. This wasn't always enough when running with
+ valgrind on an overloaded system. Solve this by increasing
+ max_connect_attempts=4 so the 4th attempt comes at 700ms, giving the timeout
+ 450ms to trigger.
+
+M src/lib-http/test-http-client-errors.c
+
+2021-09-22 12:14:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4f605823a4)
+
+ lib: Add most data_stack_grow event fields before checking if event is
+ wanted
+
+ This allows using e.g. "event=data_stack_grow and alloc_size > 32768" as an
+ event filter.
+
+M src/lib/data-stack.c
+
+2021-09-21 18:27:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (18e1eaf61e)
+
+ config: Add data stack frame
+
+
+M src/config/config-request.c
+
+2021-09-21 18:26:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9055758361)
+
+ doveconf: Avoid unnecessary data stack use when writing output
+
+
+M src/config/doveconf.c
+
+2021-09-21 18:21:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (dab478e5f4)
+
+ master: Create each service in its own data stack frame
+
+
+M src/master/service.c
+
+2021-09-21 17:52:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e873c9aeae)
+
+ doveadm: Call each run() in its own data stack frame
+
+
+M src/doveadm/doveadm-mail.c
+
+2021-09-21 17:14:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7ac69350e3)
+
+ dsync: Add data stack frames to mailbox loops
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2021-09-21 17:10:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1b4f8cf6a2)
+
+ dsync: Split off dsync_brain_recv_mailbox_tree_add()
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2021-09-21 17:50:32 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d83e4f5fd2)
+
+ acl: Code cleanup - Remove pointless while-loop
+
+
+M src/plugins/acl/acl-shared-storage.c
+
+2021-09-21 17:03:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f78c00f1f3)
+
+ acl: acllist rebuild - Move data stack frame to caller's loop
+
+
+M src/plugins/acl/acl-backend-vfile-acllist.c
+
+2021-09-21 16:14:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e05b6df33a)
+
+ acl: Add data stack frame when iterating mailboxes
+
+ Avoids wasting memory when there are a lot of mailboxes.
+
+M src/plugins/acl/acl-mailbox-list.c
+
+2021-09-21 17:51:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5694b04f70)
+
+ lib-storage: mail_user_unref() - Add data stack frame
+
+ The deinit code paths can sometimes eat up quite a lot of data stack.
+
+M src/lib-storage/mail-user.c
+
+2021-09-22 12:49:46 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ef84b4e2f6)
+
+ lib-storage: mailbox_create() - Add data stack frames
+
+
+M src/lib-storage/mail-storage.c
+
+2021-09-22 12:48:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0b1dff0b1d)
+
+ lib-storage: Add data stack frames to [service] user initialization
+
+ Initialization steps can use a lot of data stack, so try to free it at
+ several checkpoints.
+
+M src/lib-storage/mail-storage-service.c
+
+2021-09-21 17:49:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1682263f04)
+
+ lib-storage: Add data stack frame when iterating mailboxes to build GUID
+ cache
+
+
+M src/lib-storage/mailbox-guid-cache.c
+
+2021-09-21 17:48:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8c56e2c025)
+
+ lib-storage: mailbox_verify_*name() - Add data stack frames
+
+ This function can eat up quite a lot of data stack.
+
+M src/lib-storage/mail-storage.c
+
+2021-09-21 17:47:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4908b7c139)
+
+ lib-storage: str_contains_special_use() - Add data stack frame
+
+ This function is called in a loop by namespace_find_special_use().
+
+M src/lib-storage/mail-storage.c
+
+2021-09-21 16:58:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e22519d85d)
+
+ lib-storage: List index rebuild - Add data stack frames
+
+
+M src/lib-storage/list/mail-storage-list-index-rebuild.c
+
+2021-09-21 16:57:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (99b9890db0)
+
+ lib-storage: List index rebuild - Split off
+ mail_storage_list_index_find_indexed_mailbox()
+
+
+M src/lib-storage/list/mail-storage-list-index-rebuild.c
+
+2021-09-21 16:37:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8b7438a3f9)
+
+ lib-storage: Don't use data stack for mailbox list index header update
+
+ There can be a lot of mailboxes, causing excessive data stack usage.
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+
+2021-09-21 16:42:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bb75bc110f)
+
+ lib-index: Don't use data stack for building index header update buffer
+
+ The header update can be large (e.g. dovecot.list.index with many mailboxes)
+ and grow data stack unnecessarily.
+
+M src/lib-index/mail-index-transaction-export.c
+
+2021-09-21 17:51:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (742053d520)
+
+ lib: module_dir_deinit() - Call each deinit() in its own data stack frame
+
+
+M src/lib/module-dir.c
+
+2021-09-21 16:15:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f13526d432)
+
+ lib: test-data-stack - Make sure data stack memory usage doesn't leak
+
+
+M src/lib/test-data-stack.c
+
+2021-09-21 13:38:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6d902507c2)
+
+ lib: test-cpu-limit - Remove checking for CPU usage upper limit
+
+ These tests keep randomly failing on loaded systems. It's more important
+ anyway to check that the minimum CPU usage is high enough than it is to
+ check that CPU usage isn't too high.
+
+M src/lib/test-cpu-limit.c
+
+2021-09-17 16:11:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ba465f3a04)
+
+ lib: Optimize str_tabescape()
+
+
+M src/lib/strescape.c
+
+2021-09-17 16:10:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bcfc14fae3)
+
+ lib: Optimize p_strsplit_tabescaped()
+
+
+M src/lib/strescape.c
+
+2021-09-17 16:06:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5615fa62db)
+
+ lib: Optimize t_strsplit_tabescaped()
+
+
+M src/lib/strescape.c
+
+2021-09-17 16:04:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (09b2f400d2)
+
+ lib: Optimize t_strsplit_tabescaped_inplace()
+
+
+M src/lib/strescape.c
+
+2021-09-17 16:02:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a6b1c0114c)
+
+ lib: Optimize t_strdup*()
+
+ Avoid zeroing the allocated data stack memory just before it's going to be
+ filled with the duplicated string anyway.
+
+M src/lib/strfuncs.c
+
+2021-03-12 01:41:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6345e8f021)
+
+ lib: Optimize t_str_tabunescape()
+
+
+M src/lib/strescape.c
+
+2021-03-12 01:38:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (cd63b1eeea)
+
+ lib: Optimize str_tabunescape()
+
+
+M src/lib/strescape.c
+
+2021-03-12 01:27:30 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ea636c55e4)
+
+ lib: Optimize str_append_tabescaped()
+
+ Avoid calling strlen() and replace for-loop with strcspn().
+
+M src/lib/strescape.c
+
+2021-03-12 01:23:04 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1abeccbeca)
+
+ lib: Optimize str_append_tabescaped_n()
+
+
+M src/lib/strescape.c
+M src/lib/test-strescape.c
+
+2021-03-12 01:19:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (de0871dedb)
+
+ lib: Optimize p_strndup()
+
+
+M src/lib/strfuncs.c
+M src/lib/test-lib.inc
+M src/lib/test-strfuncs.c
+
+2021-02-11 02:56:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7371c1033e)
+
+ lib: Optimize buffer_append() and buffer_append_c()
+
+
+M src/lib/buffer.c
+
+2021-02-11 02:44:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (34d72ca7f2)
+
+ lib: buffer_create_dynamic_max() - Fix max_size handling
+
+ Never allocate buffer larger than its max_size, since it's just wasted
+ memory. Also clarify that the allocation can actually go up to max_size+1
+ because of str_c() NUL byte reservation.
+
+M src/lib/buffer.c
+M src/lib/buffer.h
+
+2021-02-11 02:30:12 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (53adac82ea)
+
+ lib: buffer_append_zero() - Avoid unnecessary memset()
+
+
+M src/lib/buffer.c
+
+2021-02-11 02:21:30 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (93499cd0fd)
+
+ lib: buffer - Add writable_size to simplify checking if buffer needs to be
+ grown
+
+
+M src/lib/buffer.c
+M src/lib/buffer.h
+
+2021-09-15 14:14:47 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4a2d3e3b30)
+
+ lib: buffer - Replace casts with container_of()
+
+
+M src/lib/buffer.c
+
+2021-08-12 10:02:55 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (c513b9a13d)
+
+ lib-storage: Add data stack frame for mailbox_copy and mailbox_move
+
+
+M src/lib-storage/mail-storage.c
+
+2021-08-12 09:58:57 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d1ef929697)
+
+ lib-storage: Add data stack frame for mailbox_rename
+
+
+M src/lib-storage/mail-storage.c
+
+2021-08-12 09:58:41 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (0e6e64c6c0)
+
+ lib-storage: Add data stack frame for mailbox_delete
+
+
+M src/lib-storage/mail-storage.c
+
+2021-09-16 19:32:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (095089cd8f)
+
+ acl: acl_backend_vfile_has_acl() - Simplify code
+
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2021-09-16 19:13:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4f765652f0)
+
+ acl: acl_backend_vfile_has_acl() - Open mailbox to check if it exists
+
+ This is a bit more expensive than the previous behavior, but it's done only
+ when creating or renaming mailboxes which are pretty rare operations.
+
+ This fixes copying parent ACLs with obox when the parent mailbox doesn't
+ exist in local metacache.
+
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend-vfile.h
+
+2021-09-16 19:26:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3533994fd9)
+
+ acl: acl_backend_vfile_has_acl() - Avoid unnecessary local ACL file check
+
+ The local ACL file can't exist if its mailbox doesn't exist.
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2021-09-16 19:22:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0f8fb686c0)
+
+ acl: acl_backend_vfile_has_acl() - Check first if global ACL exists
+
+ Global ACL can be checked more efficiently. If it exists, there's no need
+ anymore to access the local mailbox ro ACL files.
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2021-09-16 18:05:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f63bda4db5)
+
+ acl: Consistently determine whether ACL files are in control or mailbox
+ directory
+
+ Add mail_storage_get_acl_list_path_type() that is used for it. This fixes
+ ACL inheritance with obox.
+
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend-vfile.h
+
+2021-09-06 00:49:06 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (e1cbc8f64d)
+
+ lib-lua: Add function for restricting global variable definition
+
+ Add "dovecot.restrict_global_variables()" with a boolean argument to
+ mitigate unintended variable assignments and to prevent unnecessarily
+ populating global namespace.
+
+ If enabled, variables can only be defined local to the script but global
+ functions are still allowed.
+
+M src/lib-lua/dlua-dovecot.c
+
+2021-09-07 15:03:37 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (460edc6b64)
+
+ lib-lua: Use rawget to check presence of functions in scripts
+
+ With the restricted global variables in next commit, checking for undeclared
+ functions results in error. Use rawget to avoid metamethods.
+
+M src/lib-lua/dlua-script.c
+
+2021-09-17 12:26:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (dc21a1d7e8)
+
+ lib-lua: Build test-dict-lua only with Lua 5.3+
+
+ Fixes building with Lua 5.1
+
+M src/lib-lua/Makefile.am
+
+2021-09-14 10:33:50 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (85e65dd58a)
+
+ lib-compression: bench-compress - Ensure we have both istream and ostream
+ constructor
+
+ After 6e5ae5ef0f0f31acd7bde0db53980a708c81eced we have read-only compression
+ mechanism, that leads to null pointer crash in bench-compress.
+
+M src/lib-compression/bench-compression.c
+
+2021-09-16 20:12:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4ee8601abb)
+
+ NEWS: Add news for 2.3.16
+
+
+M NEWS
+
+2021-09-10 15:52:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9e3df2cddd)
+
+ lib-lua: Add test-dict-lua
+
+
+M src/lib-lua/Makefile.am
+A src/lib-lua/test-dict-lua.c
+
+2021-09-10 15:47:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (39f2166fac)
+
+ dict-lua: Change dict:lookup() to actually return nil if key isn't found
+
+ It was previously returning an empty table, although the comment said it
+ should have returned nil.
+
+M src/lib-dict/dict-lua.c
+
+2021-09-10 12:49:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a564b607de)
+
+ lib-dict: dict-lua - Add set_timestamp()
+
+
+M src/lib-dict/dict-txn-lua.c
+
+2021-09-01 19:33:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (53eeb81a6d)
+
+ lib-dict: dict-lua - Add unset()
+
+
+M src/lib-dict/dict-txn-lua.c
+
+2021-09-07 17:00:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3740bc1679)
+
+ indexer: Remove the concept of a "busy" connection
+
+ All the connections are busy, since they are created for a new request and
+ they are disconnected when the request is done.
+
+M src/indexer/indexer.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-connection.h
+M src/indexer/worker-pool.c
+M src/indexer/worker-pool.h
+
+2021-09-07 16:56:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2f8bdc9372)
+
+ indexer: Handle more requests whenever indexer-worker connection closes
+
+ Previously this was done only when worker process sent a "request finished"
+ notification. Crashing worker processes could have caused the queue to get
+ stuck until more requests were added to the queue.
+
+M src/indexer/indexer.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-connection.h
+M src/indexer/worker-pool.c
+M src/indexer/worker-pool.h
+
+2021-09-07 16:52:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (61ca1eb1b8)
+
+ indexer: Disconnect from worker after each request
+
+ service_count won't be tracked correctly otherwise.
+
+M src/indexer/worker-connection.c
+
+2021-09-07 15:47:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9718957b84)
+
+ indexer: Fix tracking indexer-worker's process_limit
+
+ After recent changes, the process_limit was too often thought to be 1.
+
+M src/indexer/worker-connection.c
+M src/indexer/worker-connection.h
+M src/indexer/worker-pool.c
+
+2021-08-31 12:14:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4018f44337)
+
+ indexer: Change status callback to take struct indexer_request parameter
+
+
+M src/indexer/indexer.c
+M src/indexer/indexer.h
+M src/indexer/worker-connection.c
+M src/indexer/worker-connection.h
+
+2021-08-31 12:12:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b1c4f2b882)
+
+ indexer: Don't free worker_connection too early
+
+ There's no need for the status callback anymore to free the connection. It
+ will be tracked automatically.
+
+M src/indexer/indexer.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-connection.h
+M src/indexer/worker-pool.c
+M src/indexer/worker-pool.h
+
+2021-08-31 12:08:32 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a15eb469aa)
+
+ indexer: Use a separate indexer_queue_callback_t type for indexer-queue
+ callback
+
+
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-queue.h
+
+2021-09-14 15:33:50 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (e7a3c48390)
+
+ lib: Remove connect_finished_time field from connection event.
+
+
+M src/lib/connection.c
+
+2021-09-10 19:00:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (da3bc6ea23)
+
+ lib: ENUM_NEGATE() - Disable runtime sizeof() check with STATIC_CHECKER
+
+ This is to avoid "Dangerous variable-length array (VLA) declaration" errors
+ with clang 12 scan-build, which happen because scan-build keeps thinking
+ that the enums can become larger than 2147483647.
+
+M src/lib/macros.h
+
+2021-08-31 15:44:20 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4826b08c47)
+
+ doveadm: Flush data to server client asynchronously
+
+
+M src/doveadm/doveadm-print-server.c
+
+2021-07-13 13:32:09 +0200 Markus Valentin <markus.valentin@open-xchange.com> (d89e8a5c3c)
+
+ virtual: Add storage flag for secondary index
+
+
+M src/plugins/virtual/virtual-storage.c
+
+2021-07-13 13:28:43 +0200 Markus Valentin <markus.valentin@open-xchange.com> (69ddbe6dd0)
+
+ lib-storage: Add storage_class_flag for secondary index
+
+
+M src/lib-storage/mail-storage-private.h
+
+2021-09-10 06:47:21 +0200 Bernhard M. Wiedemann <bwiedemann@suse.de> (00eba31f19)
+
+ man: doveadm director flush - The parameter is -F, not -f
+
+
+M doc/man/doveadm-director.1.in
+
+2021-09-08 09:53:12 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (30eecd1f82)
+
+ doveadm: doveadm-stats - Allocate field_types
+
+ field_types was function local variable that got used outside of function.
+ Change to use datastack allocation instead to keep it valid after leaving
+ function.
+
+ Broken in e9a46e3a6df2edd6cb68a8fc04a5e8e4564a9d5e
+
+M src/doveadm/doveadm-stats.c
+
+2021-08-31 12:48:38 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (601b5465dc)
+
+ lib-storage: Move (un)deleting debug message to mailbox_mark_index_deleted
+
+
+M src/lib-storage/list/mail-storage-list-index-rebuild.c
+M src/lib-storage/mail-storage.c
+
+2021-08-09 11:56:17 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (99efbc7f81)
+
+ lib-storage: mailbox-list - Detect duplicate GUIDs
+
+ This is only done for LAYOUT=INDEX.
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2021-08-19 17:10:31 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f30403df4b)
+
+ lib-storage: mailbox-list - Add duplicate pool for duplicate detection
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2021-08-16 14:38:47 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (196a5ed776)
+
+ lib-storage: maildir - Use mail_storage_index_list_rebuild
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-sync.c
+
+2021-08-20 11:43:27 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (18afa46644)
+
+ lib-storage: maildir - Allow creating existing folder when rebuilding list
+ index
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2021-08-09 14:23:13 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (a92541c5b9)
+
+ lib-storage: dbox - Use mailbox_list_index_rebuild
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/index-storage.c
+
+2021-08-09 15:47:28 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (451883dbb8)
+
+ lib-storage: dbox - Allow creating existing folder when rebuilding list
+ index
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/index-storage.c
+
+2021-08-13 14:18:21 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2fc8d7024b)
+
+ lib-storage: Add list index rebuild code
+
+
+M src/lib-storage/list/Makefile.am
+A src/lib-storage/list/mail-storage-list-index-rebuild.c
+M src/lib-storage/mail-storage-private.h
+
+2021-08-27 12:59:59 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5a75724a2e)
+
+ lib-storage: Populate mailboxes_fs if needed
+
+
+M src/lib-storage/mail-storage.c
+
+2021-08-20 14:30:46 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3855ccbf9a)
+
+ lib-storage: mailbox-list - Try to get GUID from mailbox path
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2021-08-13 10:29:59 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (a92b1f9316)
+
+ lib-storage: Add fields to mail_storage needed for list rebuild
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2021-06-30 08:44:33 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (36f96c49ca)
+
+ lib-storage: Fix changing mailbox GUID with LAYOUT=index
+
+ The old path would generate Mail/mailboxes/mailboxes/<guid>
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2021-06-22 15:59:25 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (c1a57f47a7)
+
+ doveadm-stats: Add doveadm stats add/remove documentation
+
+
+M doc/man/doveadm-stats.1.in
+
+2021-05-27 11:46:02 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (bc31da4d84)
+
+ doveadm: Add 'stats add' and 'stats remove' commands
+
+
+M src/doveadm/Makefile.am
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-stats.c
+
+2021-06-09 17:23:28 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (eef75dd719)
+
+ stats: replace hardcoded value of default exporter_include with macro
+
+
+M src/stats/stats-settings.c
+M src/stats/stats-settings.h
+
+2021-06-09 17:22:39 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (e9a46e3a6d)
+
+ doveadm: Rewrite doveadm stats dump command to allow reuse code in other
+ commands.
+
+
+M src/doveadm/doveadm-stats.c
+
+2021-05-10 16:39:21 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (57bb3b90cb)
+
+ lib-master: Accept filter updates from stats by stats-client.
+
+
+M src/lib-master/stats-client.c
+
+2021-04-20 17:07:36 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (0444b730c2)
+
+ stats: Implement ipc interface for adding and removing metrics
+
+
+M src/stats/client-reader.c
+
+2021-05-10 16:13:12 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (adbbd40458)
+
+ stats: Implement sending filter updates to connected processes.
+
+
+M src/stats/client-writer.c
+M src/stats/client-writer.h
+
+2021-04-20 17:06:58 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (a2a79fb376)
+
+ stats: Add functions for adding or removing metrics
+
+
+M src/stats/stats-metrics.c
+M src/stats/stats-metrics.h
+
+2021-04-13 11:49:43 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (50f36bb1d2)
+
+ stats: Expose stats_metric_setting_parser_info
+
+
+M src/stats/stats-settings.h
+
+2021-04-20 17:06:26 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (fcacfde02a)
+
+ lib: Add function removing queries from event_filter
+
+
+M src/lib/event-filter.c
+M src/lib/event-filter.h
+
+2021-09-02 14:31:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a476e16ae3)
+
+ lib-http: test-http-client-errors - Fix random hangs
+
+ Wait for subprocesses to be initialized before starting each test. This
+ should fix random hangs with the test.
+
+M src/lib-http/test-http-client-errors.c
+
+2021-09-02 15:39:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8b883745d6)
+
+ lib-test: test_subprocess_notify_signal_*() - Add signo parameter
+
+ This allows using multiple notification signals.
+
+M src/lib-http/test-http-client-errors.c
+M src/lib-test/test-subprocess.c
+M src/lib-test/test-subprocess.h
+
+2021-08-19 12:50:04 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5280904733)
+
+ lib-storage: Make sure header parsing is deinitialized after failures
+
+ This should fix all the possible reasons for: Panic: file
+ index-mail-headers.c: line 198 (index_mail_parse_header_init): assertion
+ failed: (!mail->data.header_parser_initialized)
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2021-08-19 12:32:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0b6a2fb6c1)
+
+ lib-storage: Fix potential assert-crash if filter-stream fails
+
+ If filter-stream isn't read until header (because the parent istream fails),
+ the header parsing isn't deinitialized. If after the failure the headers are
+ attempted to be parsed again, there's an assert-crash. Make sure this won't
+ happen by finishing the filter-istream read, and if that fails then reset
+ the header parsing anyway.
+
+ Destroying the filter_stream may also change the parent istream offset to
+ change, so this commit adds an extra seek to beginning of the istream when
+ beginning to parse the mail headers.
+
+ Fixes: Panic: file index-mail-headers.c: line 198
+ (index_mail_parse_header_init): assertion failed:
+ (!mail->data.header_parser_initialized)
+
+M src/lib-storage/index/index-mail-headers.c
+
+2021-08-19 12:29:36 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (45df8159fe)
+
+ lib-storage: Split off index_mail_filter_stream_destroy()
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2021-08-17 14:33:56 +0200 Markus Valentin <markus.valentin@open-xchange.com> (6b7e4d1527)
+
+ imapc: Fix crashing when copying nonexistent mails
+
+ Check the msgmap before attempting to copy an mail which may has been
+ expunged already. Fixes:
+
+ Panic: file mail-storage.c: line 2385
+ (mailbox_transaction_commit_get_changes): assertion failed: (ret < 0 ||
+ seq_range_count(&changes_r->saved_uids) == save_count ||
+ array_count(&changes_r->saved_uids) == 0)
+
+M src/lib-storage/index/imapc/imapc-save.c
+
+2021-08-18 14:04:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8e592661d5)
+
+ lib-storage: Fix assert-crash in special partial mail parsing failures
+
+ This happened for example if:
+ - mail_precache() started parsing mail
+ - header was parsed, but mail body parsing failed due to mail size mismatch
+ - vsize parsing doesn't restart header parsing, because header size is
+ already known
+ - body parsing assert-crashes because there is no messsage parser
+ initialized
+
+ Fixes: Panic: file index-mail.c: line 1290 (index_mail_parse_body):
+ assertion failed: (data->parser_ctx != NULL)
+
+M src/lib-storage/index/index-mail.c
+
+2021-08-12 12:42:40 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (35f7ff1c41)
+
+ lib-oauth2: Add unit test for missing exp field
+
+
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2021-08-12 12:40:39 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5bc6fa7571)
+
+ lib-oauth2: Add unit tests for valid tokens
+
+
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2021-06-08 00:35:13 +0200 s3lph <5564491+s3lph@users.noreply.github.com> (f3bef96857)
+
+ lib-oauth2-jwt: Remove 'nbf < iat' check, as it's not mandated by RFC7519,
+ and not uncommon to predate the nbf field
+
+
+M src/lib-oauth2/oauth2-jwt.c
+
+2021-08-24 22:58:59 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8a7fa002d2)
+
+ lib-test: Fix race when subprocess immediately receives signal
+
+ Signal could be received before test_subprocess_is_child=1 is set, causing
+ the subprocess's signal handler to also attempt to cleanup other
+ subprocesses.
+
+ This was causing http-test-client-errors unit tests to fail somewhat
+ randomly, especially when running them only with 1 CPU.
+
+M src/lib-test/test-subprocess.c
+
+2021-08-24 15:02:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (07d66366ab)
+
+ lib: Add test-macros
+
+
+M src/lib/Makefile.am
+M src/lib/test-lib.inc
+A src/lib/test-macros.c
+
+2021-08-23 14:21:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a4f9219709)
+
+ lib: Rewrite POINTER_CAST_TO() to avoid new clang warning
+
+ Fixes: warning: performing pointer subtraction with a null pointer has
+ undefined behavior [-Wnull-pointer-subtraction]
+
+M src/lib/macros.h
+
+2021-08-23 14:20:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9c4077a843)
+
+ dbox: Remove unnecessary variable
+
+ The variable was set and updated, but never read.
+
+M src/lib-storage/index/dbox-common/dbox-file.c
+
+2021-08-23 14:20:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a11c739b86)
+
+ lib-dcrypt: Remove unnecessary variable
+
+ The variable was set and updated, but never read.
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2021-08-23 11:46:46 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (bc679231f1)
+
+ doveadm-dsync: Free ssl_iostream_context on connection failure
+
+
+M src/doveadm/doveadm-dsync.c
+
+2021-04-13 18:25:06 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (415c305d6c)
+
+ lib-smtp: smtp-server-cmd-rcpt - Fix assert crash occurring for pipelined
+ MAIL RCPT MAIL sequence.
+
+ The assertion is wrong in that it assumes that no MAIL commands can be
+ pending once RCPT command is next to reply. The RCPT command does not block
+ the pipeline, so that a subsequent MAIL command can also be pending (but
+ will almost never succeed).
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/test-smtp-server-errors.c
+
+2021-04-13 18:25:31 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (23246612f2)
+
+ lib-smtp: smtp-server-cmd-data - Add comment to pipeline state assertion.
+
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2021-08-20 01:19:28 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (741a963c19)
+
+ lib-smtp: smtp-server-cmd-data - Remove useless trans != NULL checks.
+
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2021-08-19 17:06:42 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (285cf9c849)
+
+ dict-sql: Fail early if there's unexpected number of bind arguments for iter
+
+ Otherwise, lib-sql raises a panic.
+
+M src/lib-dict-backend/dict-sql.c
+
+2021-08-17 15:23:31 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e34bffaab5)
+
+ lib: istreams - Make sure freeing snapshots can't access freed parent
+ istream memory
+
+ This happened after the recent istream-header-filter snapshot changes.
+
+M src/lib/istream.c
+
+2021-08-18 19:49:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b401e4136f)
+
+ imap: Fix mailbox leak if MOVE can't open the source mailbox
+
+ Broken by 143b7c2b412ed8f155e812603fda81886bec466e
+
+ Fixes: Panic: file mail-user.c: line 229 (mail_user_deinit): assertion
+ failed: ((*user)->refcount == 1)
+
+M src/imap/cmd-copy.c
+
+2021-08-18 13:54:39 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (16deb5b8bc)
+
+ lib-lua: Don't include lua_resume_compat() for 5.1
+
+ lua_resume() is not supported in 5.1, so don't try to add a compatibility
+ function that fails compilation.
+
+M src/lib-lua/dlua-compat.c
+M src/lib-lua/dlua-compat.h
+
+2021-05-25 19:26:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bb1d67a870)
+
+ lib: Remove unused event_filter_add()
+
+
+M src/lib/event-filter.c
+M src/lib/event-filter.h
+
+2021-08-16 17:13:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f1bbfcb712)
+
+ lib: test-event-filter - Replace event_filter_add() with
+ event_filter_parse()
+
+
+M src/lib/test-event-filter.c
+
+2021-05-24 23:57:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c4369cbf6a)
+
+ lib: Add comments to event-related code
+
+
+M src/lib/event-log.c
+M src/lib/event-log.h
+M src/lib/lib-event-private.h
+M src/lib/lib-event.h
+
+2021-05-24 22:26:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d2c0f1374c)
+
+ lib: event_want_level() - Minor code cleanup
+
+ event_want_log_level() internally does both of these checks, so it's enough
+ to just check its return value.
+
+M src/lib/event-log.c
+
+2021-08-17 12:12:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (730b2a449f)
+
+ lib-fs: Fix fs_stats.copy_count tracking with fs_default_copy()
+
+ The copy_count could have been decreased too many times with async
+ operations.
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2021-08-16 15:36:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b82faee3cb)
+
+ global: Add ATTR_UNSIGNED_WRAPS to fix various ubsan issues
+
+
+M src/auth/crypt-blowfish.c
+M src/lib/numpack.c
+M src/lib/sha3.c
+
+2021-08-05 18:53:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9e80b588f4)
+
+ global: Fix various ubsan issues
+
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-qp-decoder.c
+M src/lib-test/test-istream.c
+M src/lib/test-base64.c
+M src/lib/test-data-stack.c
+
+2021-08-17 10:59:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (05189ecdc7)
+
+ doveadm: Free memory for all loaded mail_plugins at deinit
+
+
+M src/doveadm/doveadm-mail.c
+
+2021-08-17 10:50:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (654d7b2d11)
+
+ doveadm pw -l: Free all memory to avoid memory leak complaints
+
+
+M src/doveadm/doveadm-pw.c
+
+2021-08-17 09:30:25 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b997fc957e)
+
+ doveadm batch: Fix memory leak
+
+
+M src/doveadm/doveadm-mail-batch.c
+
+2021-08-17 11:06:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (46a511412a)
+
+ doveadm: Split off doveadm_mail_cmd_deinit()
+
+
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2021-05-07 21:15:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f708052c5d)
+
+ doveadm: Make doveadm_mail_cmd_free() public
+
+
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2021-08-13 11:08:30 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (f28482afb8)
+
+ global: Use consistent lua function names
+
+ Change lua-style function names to be consistent with dovecot's style.
+
+M src/auth/db-lua.c
+M src/lib-lua/dlua-dovecot.c
+M src/lib-lua/dlua-error.c
+M src/lib-lua/dlua-pushstring.c
+M src/lib-lua/dlua-script-private.h
+M src/lib-lua/dlua-script.c
+M src/lib-storage/mail-lua.c
+M src/lib-storage/mail-storage-lua.c
+M src/lib-storage/mail-user-lua.c
+M src/lib-storage/mailbox-lua.c
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2021-08-12 19:43:25 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (e14026e708)
+
+ lib-lua: test-lua: Fix the test for lua versions later than 5.3
+
+
+M src/lib-lua/test-lua.c
+
+2021-08-12 19:40:22 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (72a864b4b0)
+
+ lib-lua: Add lua_resume_compat() and use it in lua versions prior to 5.4
+
+ Starting lua 5.4 "lua_resume()" expects an extra "nresults" argument. Add a
+ compatibility function to handle this argument in earlier versions.
+
+M src/lib-lua/dlua-compat.c
+M src/lib-lua/dlua-compat.h
+M src/lib-lua/dlua-resume.c
+
+2020-05-24 14:47:18 -0400 Felipe Gasper <felipe@felipegasper.com> (2595113387)
+
+ man: Document command/args destination format to sync/backup.
+
+
+M doc/man/doveadm-sync.1.in
+
+2021-08-16 14:52:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e14e68cb0b)
+
+ lib-compression: istream-lz4 - Fix handling partial header reads
+
+ Reading assert-crashed if the header was read only partially. Either because
+ the file really was truncated or because parent stream already had fewer
+ bytes buffered.
+
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/test-compression.c
+
+2021-08-16 14:51:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d8995452c8)
+
+ lib-compression: istream-lz4 - Remove redundant check
+
+ The loop is reached only if ret is 0, so there's no need to check it again.
+
+M src/lib-compression/istream-lz4.c
+
+2021-08-16 14:50:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (eea3b751de)
+
+ lib-compression: istream-lz4 - Add asserts to make sure parent buffer isn't
+ full
+
+ The parent buffer's max size would have to be tiny for these to happen.
+
+M src/lib-compression/istream-lz4.c
+
+2021-07-01 13:52:29 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (f38100a5fe)
+
+ dict: Use dict-init-cache
+
+ Make use of dict-init-cache for initialization and deinitialization of
+ dicts.
+
+M src/dict/dict-connection.c
+M src/dict/main.c
+
+2021-06-25 14:11:52 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (222e8d5b55)
+
+ dict: Add caching mechanism for initializing dicts
+
+ Add a pool for dict instances. Each dict is refcounted and given a grace
+ period of 30 seconds for deletion. If refcount drops to 0 and no new dict
+ operation uses the instance in that period, it will be freed. A maximum of
+ 10 dicts are kept in the cache.
+
+M src/dict/Makefile.am
+A src/dict/dict-init-cache.c
+A src/dict/dict-init-cache.h
+
+2021-08-09 00:35:09 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (f5a2a9a6d8)
+
+ dict: Add dict_created and dict_destroyed events
+
+ Inherit from dict.event and emitted at dict initialization/deinit.
+
+M src/lib-dict/dict.c
+
+2021-08-15 12:45:12 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (fcf23d9919)
+
+ lib-sasl: test-sasl-client.c - Initialize authid of sasl_empty_set
+
+ This fixes the compiler warning:
+
+ test-sasl-client.c:8:1: error: missing initializer for field 'authid'
+ of 'const struct dsasl_client_settings'
+
+M src/lib-sasl/test-sasl-client.c
+
+2021-08-15 07:12:42 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (0434bd96f7)
+
+ lib-sasl: oauthbearer - Fix memory leak on auth failure
+
+
+M src/lib-sasl/mech-oauthbearer.c
+
+2021-08-11 09:48:06 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (64ab5d866c)
+
+ lib-sasl: Add unit tests
+
+
+M src/lib-sasl/Makefile.am
+A src/lib-sasl/test-sasl-client.c
+
+2021-08-11 09:59:05 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5071cfe16c)
+
+ lib-sasl: Do not crash if password is NULL
+
+
+M src/lib-sasl/dsasl-client.c
+
+2021-08-11 09:47:17 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (feba4f0c88)
+
+ lib-sasl: When setting port, parse value, not key.
+
+ Broken in 228f1e8d583
+
+M src/lib-sasl/mech-oauthbearer.c
+
+2021-08-11 08:49:44 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (902407f7eb)
+
+ auth: Do not forward empty "master" passdb field
+
+
+M src/auth/auth-request-handler.c
+
+2021-08-11 08:48:29 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f4cf9d6974)
+
+ login-common: Ignore empty value for "master" passdb extra field
+
+
+M src/login-common/client-common-auth.c
+
+2021-08-10 12:26:14 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (a0c1fe343e)
+
+ mail-crypt: Add password confirmation for doveadm cryptokey password command
+
+ To prevent setting wrong passwords by accident.
+
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2021-08-10 12:23:55 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (13830767a0)
+
+ mail-crypt: Fix -O argument type for doveadm cryptokey password command
+
+ Should be boolean instead of string.
+
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2021-04-28 02:01:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ddf224808e)
+
+ lib-index: Fix "Extension introduction for unknown id" errors after map is
+ generated
+
+ This happens when:
+ * View is opened
+ * Messages are expunged
+ * View is synced with NOEXPUNGES flag
+ * A new extension is introduced
+ * Index is rotated at least twice
+ * View is again synced with NOEXPUNGES flag
+ * More changes are done to index with the new extension
+ * Once more view is synced with NOEXPUNGES flag
+
+ The last sync will see changes with the new extension ID, but the view's map
+ doesn't know its ID.
+
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/test-mail-index.c
+
+2021-06-24 12:58:58 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (710346bcb8)
+
+ virtual: Expunge old emails if backend box guid changed
+
+ This introduces a new extensible "ext2" header to make it easier to add new
+ fields in the future. It also allows keeping backwards/forwards
+ compatibility with the old code, so the virtual index isn't rebuilt on
+ upgrades or downgrades.
+
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+
+2021-07-29 12:38:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5310858bd0)
+
+ virtual: Don't use data stack when building extension header
+
+ Some users may have thousands of mailboxes, which grows the data stack
+ unnecessarily large.
+
+M src/plugins/virtual/virtual-sync.c
+
+2021-08-09 13:01:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (97367ef617)
+
+ indexer: Fix crash if client disconnects while it's waiting for command
+ reply
+
+ This happened for example if IMAP SEARCH triggered long fts indexing and the
+ IMAP client disconnected while waiting for the reply.
+
+ Broken by f62a25849358e40a08a2c47f5bcaa1613a31d076
+
+M src/indexer/indexer-client.c
+
+2021-05-06 11:58:21 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9f5e723974)
+
+ lib-smtp: smtp-server-cmd-data - Fix global state cleanup upon DATA command
+ destroy.
+
+ Should cleanup global state only when it belongs to the DATA/BDAT command
+ currently being destroyed.
+
+ Fixes NULL-dereference in i_stream_read() found by OSS-Fuzz.
+
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/test-smtp-server-errors.c
+
+2021-08-05 11:38:26 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (da1d2332bd)
+
+ lib-smtp: test-smtp-server-errors - Perform "Bad pipelined DATA" test with
+ actual pipelining.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2021-08-03 19:47:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7f9cfccb54)
+
+ imap, pop3: Prevent reading ssl_ca setting into memory
+
+ Especially with imap there can be a lot of processes and a large ssl_ca
+ could be wasting a lot of memory. This was already the old behavior before
+ removing ssl_* settings from lib-storage.
+
+M src/imap/main.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+M src/pop3/main.c
+
+2021-08-03 19:46:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4ea4a85607)
+
+ config: Add exclude=<name> settings to drop specific settings
+
+
+M src/config/config-connection.c
+M src/config/config-request.c
+M src/config/config-request.h
+M src/config/doveconf.c
+
+2021-07-29 18:04:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (327bd99f84)
+
+ lib-storage: Remove SSL settings from mail_storage_settings
+
+ They can be accessed via master_service_ssl_settings instead.
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2021-07-29 18:02:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1e5324b580)
+
+ lib-storage: mail_user_init_ssl_client_settings() - Use
+ master_service_ssl_settings
+
+ This will allow dropping the duplicate SSL settings handling.
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+
+2021-07-29 17:45:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4930b1b883)
+
+ dsync: Get SSL settings via master_service_ssl_settings
+
+
+M src/doveadm/doveadm-dsync.c
+
+2021-07-29 17:44:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6fcaffd1e5)
+
+ lib-storage: Add mail_storage_service_user_get_ssl_settings()
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2021-07-29 17:44:25 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (aa8cb602eb)
+
+ lib-master: Add master_service_ssl_settings_get_from_parser()
+
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+
+2021-07-29 17:57:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (61a7a9e00e)
+
+ global: Don't zero SSL settings unnecessarily
+
+ mail_user_init_ssl_client_settings() and mail_user_init_fs_settings() will
+ clear them again anyway.
+
+M src/doveadm/doveadm-settings.c
+M src/lib-lda/mail-send.c
+M src/lib-storage/mailbox-list.c
+M src/lmtp/lmtp-proxy.c
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts/fts-parser-tika.c
+M src/plugins/push-notification/push-notification-driver-ox.c
+M src/stats/event-exporter-transport-http-post.c
+M src/submission/submission-backend-relay.c
+
+2021-07-29 17:58:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c59736a995)
+
+ lib-storage: mail_user_init_fs_settings() - Clarify that ssl settings are
+ fully initialized
+
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2021-07-29 17:57:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b8a60edd6a)
+
+ lib-storage: mail_user_init_ssl_client_settings() - Clarify that ssl
+ settings are fully initialized
+
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2021-07-29 15:31:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1b2134e0be)
+
+ doveadm: Free SSL iostream contexts at deinit
+
+ This wasn't really a memory leak, because the contexts are always kept
+ allocated until deinit anyway.
+
+M src/doveadm/doveadm-mail-server.c
+
+2021-07-29 16:06:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (48d8cb6b4f)
+
+ lib-ssl-iostream: ssl_iostream_context_unref(NULL) is a no-op
+
+
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2021-08-07 18:52:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c84de300ae)
+
+ man: doveadm-pw - Fix default scheme to be CRYPT / $2y$ bcrypt
+
+
+M doc/man/doveadm-pw.1.in
+
+2021-07-22 15:31:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c5cbbdf177)
+
+ lib-index: Remove mail_index_transaction_get_highest_modseq()
+
+ This isn't actually used anywhere, so there's no need to keep it.
+
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log-file.c
+
+2021-07-22 15:28:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4ddc389c16)
+
+ lib-index: mail_index_transaction_get_highest_modseq() - Fix handling
+ MAIL_INDEX_MAIL_FLAG_UPDATE_MODSEQ
+
+ MAIL_INDEX_MAIL_FLAG_UPDATE_MODSEQ flag updates didn't calculate the
+ returned modseq correctly. This function wasn't used outside
+ --with-devel-checks though, but with it this fixes:
+
+ Panic: file mail-index-transaction.c: line 212
+ (mail_index_transaction_commit_real): assertion failed: (t->reset ||
+ expected_highest_modseq == log->head->sync_highest_modseq)
+
+M src/lib-index/mail-index-transaction-export.c
+
+2021-07-22 14:24:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (11c6ffa0f6)
+
+ lib-index: Avoid modseq warnings --with-devel-checks
+
+ Avoids warnings: Requested highest-modseq for transaction, but modseq
+ tracking isn't enabled for the file (this shouldn't happen)
+
+M src/lib-index/mail-index-transaction.c
+
+2021-07-22 14:29:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a6548a3b73)
+
+ director: Avoid calling timeval_diff_msecs() with too great time difference
+
+ Fixes assert-crash --with-devel-checks: Panic: file time-util.c: line 76
+ (timeval_diff_msecs): assertion failed: (diff <= INT_MAX)
+
+M src/director/director-connection.c
+
+2021-07-14 10:00:28 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5245129f06)
+
+ lib: data-stack - Initialize alloc_count / alloc_bytes
+
+ This has only effect with devel checks enabled. Fixes counter values to show
+ sensible data.
+
+M src/lib/data-stack.c
+
+2021-07-13 13:41:14 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d74cf4ca2a)
+
+ lib: data-stack - Allow errno changes when sending event
+
+
+M src/lib/data-stack.c
+
+2021-07-29 22:21:52 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (368a96783e)
+
+ lib-master, global: Remove unnecessary MASTER_SERVICE_FLAG_USE_SSL_SETTINGS
+
+ SSL client settings are now always read.
+
+M src/auth/main.c
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+M src/lib-master/master-service.h
+M src/lmtp/main.c
+M src/login-common/main.c
+M src/stats/main.c
+
+2021-07-29 22:20:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (36ff43f1a9)
+
+ lib-master: Use ssl-server settings only when necessary
+
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service.c
+
+2021-07-29 22:18:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a7fb3cce6a)
+
+ lib-master: Remove unused master_service_is_ssl_module_loaded()
+
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2021-07-29 21:45:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c6cea57577)
+
+ lib-master, login-common: Split off master_service_ssl_server_settings
+
+
+M src/config/settings-get.pl
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+M src/lib-master/master-service-ssl.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+M src/login-common/main.c
+
+2021-07-29 21:43:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (79a210c1f7)
+
+ lib-master, global: Split master_service_ssl_settings_to_iostream_set() to
+ client/server functions
+
+
+M src/auth/auth-policy.c
+M src/doveadm/doveadm-settings.c
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+M src/lmtp/lmtp-proxy.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+M src/login-common/main.c
+M src/stats/event-exporter-transport-http-post.c
+
+2021-08-05 17:48:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (77dd65422c)
+
+ master: Avoid creating prefork timeout if process_limit is already reached
+
+
+M src/master/service-monitor.c
+
+2021-08-05 17:53:58 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0610336a86)
+
+ master: Avoid high CPU usage when process_min_avail reaches process_limit
+
+ process_min_avail handling always created a 0ms timeout to try to create the
+ missing processes. This timeout was supposed to stop when it couldn't launch
+ all the wanted processes, but the check wasn't done right. This ended up
+ causing the timeout to be called rapidly over and over again.
+
+M src/master/service-monitor.c
+
+2021-07-22 14:51:05 -0600 Michael M Slusarz <michael.slusarz@open-xchange.com> (904ee71927)
+
+ lazy_expunge: Add lazy_expunge_exclude setting
+
+ This allows mailboxes to be excluded via configuration.
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2021-08-03 17:38:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9d02ac2e42)
+
+ fts: Use mailbox-match-plugin API for fts_autoindex_exclude
+
+ This doesn't change the functionality, just deduplicates the code.
+
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-user.c
+M src/plugins/fts/fts-user.h
+
+2021-08-04 15:50:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3eb404aa8c)
+
+ fts: Always initialize struct fts_user
+
+ Initializing lib-fts is still optional within it.
+
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts/fts-user.c
+M src/plugins/fts/fts-user.h
+
+2021-07-22 14:20:25 -0600 Michael M Slusarz <michael.slusarz@open-xchange.com> (27a98a2d3c)
+
+ lib-storage: Add mailbox exclusion plugin API
+
+ Allows mailbox exclusion configuration to be easily added to any plugin.
+
+M src/lib-storage/Makefile.am
+A src/lib-storage/mailbox-match-plugin.c
+A src/lib-storage/mailbox-match-plugin.h
+
+2021-08-04 19:57:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8939c30ce9)
+
+ master: Fix unfinished "time moved backwards" comment
+
+
+M src/master/main.c
+
+2021-08-04 19:54:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0768778bb6)
+
+ master: Log a warning also about "time moved forwards"
+
+ This isn't really important to know, but it could help figure out
+ performance problems if it happens a lot.
+
+M src/master/main.c
+
+2021-08-04 19:52:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (24216a4924)
+
+ lib: ioloop - Handle "time moved forwards" only after 100ms difference
+
+ Previously this was done after even a single microsecond difference, causing
+ it to happen almost constantly. This was causing performance problems when
+ there were many timeouts that had to be updated. Especially master process
+ could have been spending a lot of time unnecessarily here.
+
+ Broken by b258137d0e0618ae792e3606071a1715d26f107b
+
+M src/lib/ioloop.c
+
+2021-08-04 19:55:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (87bd288902)
+
+ lib: ioloop - Fix 0 timeout with kqueue() and select()
+
+ With these it was waiting for 1 ms instead of 0.
+
+ Broken by fac27f192d8432c45d360025613f7d432271c5bb
+
+M src/lib/ioloop.c
+
+2021-08-04 17:24:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1f6aaaeb3c)
+
+ fts: Fix internal error when fts_index_timeout is set
+
+ Broken by cf114f90e0ba25c18db846ee582e3a130bd52949
+
+M src/plugins/fts/fts-indexer.c
+
+2021-08-03 16:11:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b79d3118e5)
+
+ acl: Cast enums explicitly to int in sorting function
+
+ Fixes ubsan complaint: runtime error: unsigned integer overflow: 0 - 4
+ cannot be represented in type 'unsigned int'
+
+M src/plugins/acl/acl-api.c
+
+2021-06-29 22:45:33 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (bb6efaa417)
+
+ lib-program-client: program-client-remote - Fix signed integer arithmetic.
+
+ Make type cast explicit to gain ubsan approval. Also prevent negative
+ reserve_mod from having unexpected effect.
+
+M src/lib-program-client/program-client-remote.c
+
+2021-08-03 11:44:06 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (ac769778d1)
+
+ util: dovecot-sysreport - Fix help to have -o as the short form of --core
+
+
+M src/util/dovecot-sysreport
+
+2021-08-03 10:56:08 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (6cbeaf165d)
+
+ util: dovecot-sysreport - Use only spaces for indentation
+
+ Stop mixing tabs and spaces.
+
+M src/util/dovecot-sysreport
+
+2021-07-27 20:13:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (23388cf96e)
+
+ stats: Revert the previous OpenMetrics info type revert
+
+ The OpenMetrics standard does support "info" type. The original Prometheus
+ format doesn't support it, but our support is for OpenMetrics. They don't
+ even have any overlapping types that could be used for this, so the only
+ other possibility would have been to make this configurable.
+
+ Reverts 55a519d18fbbb8435854f1fcf2642b908d6fc074
+
+M src/stats/stats-service-openmetrics.c
+
+2021-07-28 16:39:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8b80c45ab1)
+
+ submission-login: Fix compiling error with some older compilers
+
+
+M src/submission-login/submission-proxy.c
+
+2021-07-05 00:37:46 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c096b7fd77)
+
+ submission-login: submission-proxy - Optionally send XCLIENT LOGIN to
+ backend and skip authentication.
+
+ This behavior is enabled by returning proxy_noauth from passdb.
+
+M src/submission-login/submission-proxy.c
+
+2021-07-19 00:29:23 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f94dd904b8)
+
+ login-common: Add proxy field proxy_noauth.
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+
+2021-07-19 00:24:32 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (bdba22fecb)
+
+ submission-login: submission-proxy - Move
+ submission_proxy_success_reply_sent().
+
+
+M src/submission-login/submission-proxy.c
+
+2021-05-18 20:18:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c5387d7778)
+
+ dict: Use the dict name as the log prefix
+
+ Otherwise if there are multiple dicts it may not be obvious which one is
+ causing the errors.
+
+M src/dict/dict-connection.c
+
+2021-07-22 11:26:10 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (55a519d18f)
+
+ stats: Revert dovecot build information to untyped data
+
+ OpenMetrics does not know type 'info', so use 'untyped' instead.
+
+ Broken in ae678116a79fff609cdf4fb1eb7eb3db2975bf1c
+
+M src/stats/stats-service-openmetrics.c
+
+2021-07-21 18:12:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bf111f6830)
+
+ lib-storage: mail_cache_*_fields - Check for invalid header names while
+ parsing config
+
+ This way the errors are noticed early on.
+
+M src/config/settings-get.pl
+M src/lib-storage/mail-storage-settings.c
+
+2020-04-14 12:24:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (723d129153)
+
+ lib-storage: mail_cache_*_fields - Log an error if hdr.<name> isn't valid
+
+ Mainly verify that it doesn't have accidental UTF-8 characters that aren't
+ easily visible in text editors.
+
+M src/lib-storage/index/index-storage.c
+
+2020-04-19 14:03:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ecac22474a)
+
+ lib-mail: Add message_header_name_is_valid()
+
+
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-header-parser.h
+
+2021-07-22 16:38:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fafd7ad584)
+
+ login-proxy: Make sure input line isn't freed too early
+
+ proxy_parse_line() could free the proxy's istream, which frees the line
+ string. With IMAP the line could have been used as part of the error string
+ passed to login_proxy_failed(), which can free the istream before using the
+ string for logging purposes. This could have resulted in logging a corrupted
+ line or a crash.
+
+ Broken by e3134289529cec16ade44cefd0fd26594ae40e30
+
+M src/login-common/client-common-auth.c
+
+2021-07-23 14:45:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (af3e934e33)
+
+ lib-test: Make sure child processes exit cleanly with SIGTERM
+
+ It's normal behavior that the parent process kills the child process with
+ SIGTERM. This shouldn't result in the child process dying with SIGTERM, but
+ a clean exit. This was causing http-test-client-errors unit tests to fail
+ somewhat randomly, especially when running them only with 1 CPU.
+
+M src/lib-test/test-subprocess.c
+
+2021-07-21 14:06:55 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (128bcb85a9)
+
+ lib-test: Ensure we send signals to regular PIDs only
+
+
+M src/lib-test/test-subprocess.c
+
+2021-07-21 14:05:34 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (34bdfdcbc7)
+
+ lib-test: Update subprocess list after forking
+
+ Due to a race condition, we could end up killing PID 0 by accident
+ sometimes.
+
+M src/lib-test/test-subprocess.c
+
+2021-07-22 11:23:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e3e4cd2681)
+
+ lib: random_fill() - Optimize away memmove()
+
+ We just need to track the position of how far the random_next buffer has
+ been used.
+
+M src/lib/randgen.c
+
+2021-07-05 00:36:36 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (82d9013dd3)
+
+ submission-login: submission-proxy - Send XCLIENT data in multiple commands
+ if line exceeds 512 bytes.
+
+ When the proxy talks to non-Dovecot software, failures could occur
+ otherwise. Particularly Postfix will fail.
+
+M src/submission-login/client.h
+M src/submission-login/submission-proxy.c
+
+2021-06-19 00:31:19 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (12c9ce36a4)
+
+ submission-login: submission-proxy - Send PROTO and HELO XCLIENT fields.
+
+
+M src/submission-login/submission-proxy.c
+
+2021-06-18 19:32:03 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9127db1a89)
+
+ submission-login: submission-proxy - Properly send EHLO after XCLIENT.
+
+
+M src/submission-login/client.h
+M src/submission-login/submission-proxy.c
+
+2021-07-05 23:33:51 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3764af4b42)
+
+ submission-login: submission-proxy - Reorder XCLIENT fields to match
+ lib-smtp client.
+
+
+M src/submission-login/submission-proxy.c
+
+2021-06-19 00:25:02 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b1e0d63624)
+
+ submission-login: submission-proxy - Handle EHLO reply in a separate
+ function.
+
+
+M src/submission-login/submission-proxy.c
+
+2021-06-18 23:58:38 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (297f39ba26)
+
+ submission-login: submission-proxy - Move sending STARTTLS to separate
+ function.
+
+
+M src/submission-login/submission-proxy.c
+
+2021-06-18 19:52:33 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (bbf725af33)
+
+ submission-login: submission-proxy - Avoid sending empty XCLIENT FORWARD
+ field.
+
+
+M src/submission-login/submission-proxy.c
+
+2021-06-18 19:31:54 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (52516b0566)
+
+ submission: Separately pass XCLIENT HELO value from pre-login to post-login
+ service.
+
+
+M src/submission-login/client-authenticate.c
+M src/submission/main.c
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2021-06-18 17:02:23 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (019522fc34)
+
+ submission: submission-backend-relay - Use
+ smtp_server_connection_get_proxy_data() for composing client settings.
+
+
+M src/submission/submission-backend-relay.c
+
+2021-06-18 17:46:07 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (13f5a8132c)
+
+ submission: main - Restructure parsing of login input data.
+
+ Needed for adding additional fields.
+
+M src/submission/main.c
+
+2021-06-18 16:43:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0c90556d3f)
+
+ submission-login: client-authenticate - Restructure composition of
+ master_prefix.
+
+ Needed for later commit.
+
+M src/submission-login/client-authenticate.c
+
+2021-06-18 19:27:40 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b33f1b875d)
+
+ lib-smtp: smtp-server-connection - Record proxied EHLO domain separately.
+
+ This prevents it from being overriden by a local EHLO command.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2021-06-18 19:02:34 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (53cdb6dedd)
+
+ lib-smtp: smtp-server - Make smtp_server_connection_set_proxy_data() public.
+
+
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server.h
+
+2021-06-18 16:54:51 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (5f5f93e962)
+
+ lib-smtp: smtp-server-connection - Use
+ smtp_server_connection_get_proxy_data() for the conn_proxy_data_updated()
+ callback.
+
+ Removes code duplication.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2021-06-18 16:52:26 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (26b64133b2)
+
+ lib-smtp: smtp-server-connection - Allow username/ehlo to be set before
+ smtp_server_connection_login().
+
+ This allows setting the proxy data early.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2021-06-18 19:25:43 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0f55dcb0bd)
+
+ lib-smtp: Reformat smtp-server.h.
+
+
+M src/lib-smtp/smtp-server.h
+
+2021-06-18 16:31:08 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (85669603b8)
+
+ submission: Reformat submission-client.h.
+
+
+M src/submission/submission-client.h
+
+2021-06-18 16:30:52 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (cf73c66df0)
+
+ submission: Reformat submission-client.c.
+
+
+M src/submission/submission-client.c
+
+2021-06-24 00:19:16 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c8bdb4578c)
+
+ login-common: Add support for recording rawlog of connection between proxy
+ and backend.
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+
+2021-07-21 17:14:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d757b9af43)
+
+ doveadm: Mark fs_cmd_help() with ATTR_NORETURN
+
+ This helps static analyzers understand that the function doesn't return.
+
+M src/doveadm/doveadm-fs.c
+
+2021-07-21 17:12:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6e7928f5cf)
+
+ doveadm: Avoid passing NULL to memcpy() even though zero bytes are copied
+
+ Makes static analyzers happier.
+
+M src/doveadm/doveadm.c
+
+2021-07-19 16:38:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (567d853885)
+
+ doveadm: Remove dead assignment
+
+
+M src/doveadm/client-connection-tcp.c
+
+2021-04-22 11:09:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a7146d0939)
+
+ lib: Use 32 byte buffer for getting randomness
+
+ This reduces the number of syscalls when small amount of randomness is
+ requested, like i_rand*() calls using only 4 bytes at a time.
+
+M src/lib/randgen.c
+
+2021-06-10 12:16:20 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8d396dda21)
+
+ doveadm: Remove code related to obsolete doveadm_mail_cmd handling
+
+ struct doveadm_mail_cmd couldn't be completely removed since v2 mail
+ commands are still converted to it.
+
+M src/doveadm/client-connection-tcp.c
+M src/doveadm/doveadm-mail-batch.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/doveadm.c
+
+2021-06-10 12:06:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5676c510bf)
+
+ doveadm sync/backup/dsync-server: Convert to v2 command
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-dsync.h
+M src/doveadm/doveadm-mail.c
+
+2021-06-10 11:51:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (dfe41ddaac)
+
+ doveadm batch: Convert to v2 command
+
+
+M src/doveadm/doveadm-mail-batch.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2021-06-10 01:14:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1e48423c17)
+
+ doveadm: Remove struct doveadm_cmd and related code
+
+
+M src/doveadm/client-connection-tcp.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+M src/doveadm/main.c
+
+2021-06-10 01:09:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (875a371693)
+
+ doveadm: Remove doveadm_cmd_ver2.old_cmd
+
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+
+2021-06-10 01:08:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (058f76650a)
+
+ doveadm proxy: Convert to v2 commands
+
+
+M src/doveadm/doveadm-proxy.c
+
+2021-06-10 01:03:46 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (871adaab1f)
+
+ doveadm oldstats: Convert to v2 commands
+
+
+M src/doveadm/doveadm-oldstats.c
+
+2021-06-10 00:59:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3aef610846)
+
+ doveadm stop/reload: Convert to v2 commands
+
+
+M src/doveadm/doveadm-master.c
+
+2021-06-10 00:58:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (59087d1dad)
+
+ doveadm fs: Convert to v2 commands
+
+
+M src/doveadm/doveadm-fs.c
+
+2021-06-10 00:45:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b6e92ea8fb)
+
+ doveadm auth cache flush: Convert auth-server command to v2
+
+
+M src/doveadm/doveadm-auth-server.c
+M src/doveadm/doveadm-auth.c
+
+2021-06-10 00:42:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (af1d3d37f1)
+
+ doveadm auth: Convert to v2 commands
+
+
+M src/doveadm/doveadm-auth.c
+
+2021-06-10 00:18:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (94734b9359)
+
+ doveadm instance: Convert to v2 commands
+
+
+M src/doveadm/doveadm-instance.c
+
+2021-06-10 00:05:28 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fc0b20f702)
+
+ doveadm log: Convert to v2 commands
+
+
+M src/doveadm/doveadm-log.c
+
+2021-06-10 00:01:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f8290ea73a)
+
+ doveadm replicator: Convert to v2 commands
+
+
+M src/doveadm/doveadm-replicator.c
+
+2021-06-09 23:48:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f1524717c6)
+
+ doveadm config: Convert to v2 command
+
+
+M src/doveadm/doveadm.c
+
+2021-06-09 23:45:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (476dc132cb)
+
+ doveadm exec: Convert to v2 command
+
+
+M src/doveadm/doveadm.c
+
+2021-06-10 14:23:46 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (938428f914)
+
+ doveadm: Add CMD_FLAG_NO_UNORDERED_OPTIONS
+
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+
+2021-06-09 23:44:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8b461f612c)
+
+ doveadm: Add CMD_FLAG_NO_OPTIONS
+
+ This allows command to process all parameters, including parameters starting
+ with "-".
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+
+2021-06-09 23:39:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b086c1a88b)
+
+ doveadm: Split off doveadm_cmd_process_options()
+
+
+M src/doveadm/doveadm-cmd.c
+
+2021-06-09 23:37:19 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (087ec4374b)
+
+ doveadm: Reformat doveadm-cmd.c
+
+
+M src/doveadm/doveadm-cmd.c
+
+2021-06-09 23:21:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9f305a24c5)
+
+ doveadm help: Convert to v2 command
+
+
+M src/doveadm/doveadm.c
+
+2021-06-09 23:13:30 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7b67742aa7)
+
+ doveadm dump: Convert to v2 command
+
+
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm.c
+
+2021-06-09 23:10:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4a508ba07a)
+
+ doveadm dump: Change doveadm_cmd_dump.cmd() API to be simpler
+
+
+M src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-dump-dcrypt-file.c
+M src/doveadm/doveadm-dump-dcrypt-key.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/doveadm-dump-thread.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-dump.h
+M src/doveadm/doveadm-zlib.c
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+
+2021-06-09 23:02:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ced5df32b5)
+
+ doveadm pw: Convert to v2 command
+
+
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-pw.c
+M src/doveadm/doveadm.c
+
+2021-06-09 22:55:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (cfe3a83df7)
+
+ doveadm mailbox mutf7: Convert to v2 command
+
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-mutf7.c
+
+2021-06-09 22:47:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (07ba60c061)
+
+ doveadm sis deduplicate/find: Convert to v2 command
+
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-sis.c
+
+2021-06-09 22:42:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (11439a8366)
+
+ doveadm zlibconnect: Convert to v2 command
+
+
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-zlib.c
+M src/doveadm/doveadm.c
+
+2021-06-09 22:39:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (580b696a1f)
+
+ doveadm: Code cleanup - Add doveadm_cmdline_commands_ver2[]
+
+
+M src/doveadm/doveadm.c
+
+2021-06-10 16:56:06 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3d52021b2d)
+
+ doveadm: Support building ARRAY type mail command parameters
+
+
+M src/doveadm/doveadm-mail.c
+
+2021-06-10 16:55:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5dc7039807)
+
+ doveadm: Fix building IP/INT64 type mail command parameters
+
+
+M src/doveadm/doveadm-mail.c
+
+2021-06-10 16:51:58 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ce9ac4a9cc)
+
+ doveadm: Split off doveadm_cmd_parse_arg()
+
+
+M src/doveadm/doveadm-mail.c
+
+2020-12-03 19:20:32 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6477f9be35)
+
+ lib: Fix assert-crash when destroying ioloop that has active context
+
+ Normally the ioloop shouldn't have an active context at deinit, but it seems
+ to be possible in some situations. It's not really bad anyway, so just allow
+ it.
+
+ Fixes: Panic: file ioloop.c: line 928 (io_loop_destroy): assertion failed:
+ (ioloop->cur_ctx == NULL)
+
+M src/lib/ioloop.c
+M src/lib/test-ioloop.c
+
+2021-07-19 14:56:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (eac71a2968)
+
+ lib-mail: Fix memory leak in istream-header-filter
+
+ Broken by 1c1b77dbf9a548aac788efb76973ce2d0fa6c732
+
+M src/lib-mail/istream-header-filter.c
+
+2021-07-19 13:54:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5bd95c2ba9)
+
+ lib: data-stack - t_try_realloc() - Add missing
+ data_stack_last_buffer_reset() call
+
+ This fixes incorrect "buffer overflow" panics with DEBUG builds.
+
+M src/lib/data-stack.c
+
+2021-07-19 13:52:58 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7dedc453ca)
+
+ lib: data-stack - data_stack_last_buffer_reset(() - Add comments and an
+ assert
+
+ This clarifies how the function is expected to work.
+
+M src/lib/data-stack.c
+
+2021-07-12 14:26:38 +0200 Markus Valentin <markus.valentin@open-xchange.com> (4fdb040d24)
+
+ lib-storage: Use escaped name length to calculate truncation margin
+
+ This fixes corruption of mailbox names when the storage_name_escape_char has
+ been part of the parent folder name.
+
+ Broken by 5dd81d83d8d9120ed2a74d5bd2aa62622885b49c
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+
+2021-07-12 13:40:58 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (14ad268aa1)
+
+ lib-lua: Fix LIBDICT_LUA variable usage
+
+ It needs to be appended to, not set again. Broken by
+ 3d0b7e9bb59e3dc41fd5a4d09832eedea7a92933.
+
+M src/lib-lua/Makefile.am
+
+2021-07-08 12:24:47 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3d0b7e9bb5)
+
+ lib-lua: Only link libdict_lua if it's available
+
+
+M src/lib-lua/Makefile.am
+
+2021-07-08 11:10:38 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b4827bc2f2)
+
+ plugins/fts: Restore fts_indexer_cmd
+
+ It was removed in cf114f90e0ba25c18db846ee582e3a130bd52949 and that broke
+ some FTS plugins.
+
+M src/plugins/fts/fts-indexer.c
+
+2021-06-22 13:28:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3bac871aea)
+
+ lib-dict: Fix linking when building without Lua
+
+ Linking didn't work on some non-Linux OSes (non-GNU linkers?)
+
+M src/lib-dict/Makefile.am
+
+2021-06-04 11:16:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b0a354f7a9)
+
+ lib-compression: istream-zstd - Make sure parent stream error isn't
+ overwritten
+
+ This could have happened if the parent istream failed before the zstd header
+ was read. Practically this didn't happen currently, because the initial
+ parent stream error was normally already handled by istream-decompress
+ before istream-zstd was even called.
+
+M src/lib-compression/istream-zstd.c
+
+2021-06-04 11:16:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8e3a7d9a50)
+
+ lib-compression: istream-zlib - Fix parent stream error handling near EOF
+
+ This happened when gz stream (including trailer) was fully read, but the
+ final check to see if there is a concatenated gz stream afterwards failed
+ due to parent istream failure. In this case the error was ignored and
+ istream returned success, truncating any potential concatenated istream
+ input. This situation was very unlikely to happen.
+
+M src/lib-compression/istream-zlib.c
+
+2021-05-27 19:34:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1c1b77dbf9)
+
+ lib-mail: Fix istream-header-filter snapshotting
+
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2021-06-17 19:55:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (25e0619c01)
+
+ lib: Add istream_snapshot.free() to allow more complex snapshots
+
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2021-06-15 12:21:22 +0200 Markus Valentin <markus.valentin@open-xchange.com> (f8c0c372a9)
+
+ lib-storage: Make use of MAIL_INDEX_VIEW_SYNC_FLAG_2ND_INDEX
+
+
+M src/lib-storage/index/index-sync-pvt.c
+
+2021-06-15 12:19:00 +0200 Markus Valentin <markus.valentin@open-xchange.com> (1d9b391105)
+
+ lib-index: Introduce MAIL_INDEX_VIEW_SYNC_FLAG_2ND_INDEX
+
+ This flag is used to make sure secondary views flags-index can work properly
+ without emitting warnings about inconsistency. If an inconsistency is
+ encountered fix it by fully syncing.
+
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index.h
+
+2021-06-15 08:59:17 +0200 Markus Valentin <markus.valentin@open-xchange.com> (c1f2323e15)
+
+ Revert "lib-storage: Always fix inconsistency when syncing private flags
+ index"
+
+ This reverts commit 986d9cbbecffd836d977b6ad956b04e3ca606677.
+
+ This is reverted because storing flags on private indexes no longer send
+ untagged replies.
+
+M src/lib-storage/index/index-sync-private.h
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-transaction.c
+
+2021-07-01 10:46:05 +0200 Markus Valentin <markus.valentin@open-xchange.com> (9183e2b3af)
+
+ acl: Ignore acls in acl_lookup_dict_rebuild_add_backend if ignore_acls is
+ set
+
+ In case an namespace has been configured to ignore ACLs also respect that
+ when acl_lookup_dict_rebuild is called.
+
+ Co-Authored-By: Vincent Brillault <vincent.brillault@cern.ch>
+
+M src/plugins/acl/acl-lookup-dict.c
+
+2021-06-02 00:40:19 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (357ff0b35b)
+
+ lib-smtp: test-smtp-payload - Set all timeouts to CLIENT_PROGRESS_TIMEOUT.
+
+ This prevents connect and idle timeouts from triggering earlier than the
+ progress timeout.
+
+M src/lib-smtp/test-smtp-payload.c
+
+2021-06-22 11:52:02 -0600 Michael M Slusarz <michael.slusarz@open-xchange.com> (c5edbe6007)
+
+ imap: PREVIEW responses need trailing space
+
+ 2.3.15 regression
+
+ Before 2.3.15, there was this same buggy behavior in error cases; 2.3.15
+ moved that buggy behavior to the success code path
+
+ DOP-2463
+
+M src/imap/imap-fetch-body.c
+
+2021-06-14 23:46:48 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5fbff5f80d)
+
+ doveadm-server: Add log prefix to logs written to client
+
+
+M src/doveadm/client-connection-tcp.c
+
+2021-06-14 23:43:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8f2033be24)
+
+ doveadm-server: Simplify writing log output to client
+
+
+M src/doveadm/client-connection-tcp.c
+
+2021-06-14 20:14:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c4acd0ce0e)
+
+ lib: Fix log prefix in internal handler when log handler has been overridden
+
+ Adds back mail_log_prefix to doveadm mail commands when doveadm-server was
+ accessed via TCP.
+
+ Originally broken by c9dd53f7180a78668cbc1e6eb34d5b1722beccb9
+
+M src/lib/failures.c
+
+2021-06-04 23:00:21 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (60cbb2959c)
+
+ dict-file: Make sure home_dir doesn't change during operations
+
+ file_dict is initialized for a specific user. Keep record of the user's
+ home_dir and check for all dict operations that the user did not change.
+
+M src/lib-dict/dict-file.c
+
+2021-06-02 16:17:22 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (ebc92f1ba7)
+
+ global: Remove dict_settings.home_dir
+
+ Allows dict to be shared across users. Dict operations use
+ dict_op_settings.home_dir if set.
+
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict.h
+M src/lib-storage/index/index-attribute.c
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/notify-status/notify-status-plugin.c
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota.c
+
+2021-05-26 15:18:20 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (bdcdd37fb0)
+
+ dict: Split protocol command arguments in dict_command_input()
+
+ Instead of duplicating code and splitting in each command functions
+ separately.
+
+M src/dict/dict-commands.c
+
+2021-05-26 01:41:51 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (e222a33dc1)
+
+ lib-dict: Make sure username is valid as well when checking key prefix
+
+ If this is a private key, username must be non-empty.
+
+M src/lib-dict/dict.c
+
+2021-05-24 12:54:58 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (4c15dc4ede)
+
+ dict: Remove dict_connection.username and dict_settings.username
+
+ - dict should be user agnostic. dict operations have username.
+ - same for dict connection
+ - also removes username from dict process' log prefix
+
+M src/auth/db-dict.c
+M src/auth/db-oauth2.c
+M src/dict/dict-connection.c
+M src/dict/dict-connection.h
+M src/doveadm/doveadm-dict.c
+M src/lib-dict-backend/test-dict-sql.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict-extra/test-dict-fs.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/lib-dict/test-dict-client.c
+M src/lib-fs/fs-dict.c
+M src/lib-oauth2/test-oauth2-jwt.c
+M src/lib-storage/index/index-attribute.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/notify-status/notify-status-plugin.c
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota.c
+
+2021-06-03 19:59:23 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (037442cde7)
+
+ dict: Add username field for command events
+
+ To prepare for connection username removal in next commit. Instead of adding
+ username field for the parent event, add it in command events.
+
+ Commands can now be run for different users. Having the same username field
+ as the one used in initialization can be wrong.
+
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+
+2021-05-24 11:47:15 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (a9e6e57a73)
+
+ dict-client: Do not send username in initial handshake
+
+ Dict commands that need username have it included in their arguments now.
+
+M src/lib-dict/dict-client.c
+
+2021-05-24 11:58:44 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (2af85d6cbc)
+
+ dict-fs: Remove unused fs_dict.username
+
+
+M src/lib-dict-extra/dict-fs.c
+
+2021-05-24 11:58:02 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (88636cd5a1)
+
+ dict-redis: Remove unused redis_dict.username
+
+
+M src/lib-dict/dict-redis.c
+
+2021-05-24 11:57:18 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (f7da270894)
+
+ dict-memcached-ascii: Remove unused memcached_ascii_dict.username
+
+
+M src/lib-dict/dict-memcached-ascii.c
+
+2021-05-24 11:56:29 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (e2a74dab49)
+
+ dict-sql: Remove unused sql_dict.username
+
+
+M src/lib-dict-backend/dict-sql-private.h
+M src/lib-dict-backend/dict-sql.c
+
+2021-05-24 11:54:56 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (38ae540aa5)
+
+ dict-ldap: Remove unused ldap_dict.username
+
+
+M src/lib-dict-backend/dict-ldap.c
+
+2021-06-03 21:27:31 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (6c94259f8f)
+
+ dict: Add dict_event_create
+
+ Helper function for dict events. If dict_op_settings has username set, adds
+ it as a field.
+
+M src/lib-dict/dict.c
+
+2021-06-03 21:18:03 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (843cb951df)
+
+ dict-client: Send username in commands
+
+ Lookup, iterate_begin, and transaction_begin need username. This bumps dict
+ protocol's major version to 3.
+
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-client.h
+
+2021-06-03 21:16:22 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (bb6c727856)
+
+ dict-redis: Use dict_op_settings to get full key
+
+ Switch from dict.username to dict_op_settings.username. Also, ensure that
+ username is escaped.
+
+M src/lib-dict/dict-redis.c
+
+2021-06-03 21:14:51 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (3d78c522f7)
+
+ dict-memcached-ascii: Use dict_op_settings to get full key
+
+ Switch from dict.username to dict_op_settings.username.
+
+M src/lib-dict/dict-memcached-ascii.c
+
+2021-06-03 21:12:27 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (f4d43cf907)
+
+ dict-fs: Use dict_op_settings to get full key
+
+ Switch from dict.username to dict_op_settings.username.
+
+M src/lib-dict-extra/dict-fs.c
+
+2021-06-03 20:58:05 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (6ed788ca21)
+
+ dict: Use dict_op_settings in backends
+
+ - Use dict_op_settings in dict API functions
+ - forward the settings object to backends for dict lookup/iterate
+ - Update backends to use dict_op_settings
+
+M src/lib-dict-backend/dict-cdb.c
+M src/lib-dict-backend/dict-ldap.c
+M src/lib-dict-backend/dict-sql.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-fail.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict.c
+
+2021-06-03 18:31:57 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (8d69e81674)
+
+ notify-status: Initialize dict_op_settings for dict operations
+
+
+M src/plugins/notify-status/notify-status-plugin.c
+
+2021-06-03 18:32:50 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (b87665654f)
+
+ last-login: Initialize dict_op_settings for dict operations
+
+
+M src/plugins/last-login/last-login-plugin.c
+
+2021-06-03 18:30:17 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (88f5f42541)
+
+ quota: Initialize dict_op_settings for dict operations
+
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota.c
+
+2021-06-03 19:32:26 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (42052d71f3)
+
+ dict: Initialize dict_op_settings for dict operations
+
+
+M src/dict/dict-commands.c
+
+2021-06-03 18:33:21 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (b70da6c60b)
+
+ acl: Initialize dict_op_settings for dict lookup
+
+
+M src/plugins/acl/acl-lookup-dict.c
+
+2021-06-03 18:34:26 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (737e107ef7)
+
+ lib-oauth2: Initialize dict_op_settings for dict operations
+
+
+M src/lib-oauth2/oauth2-jwt.c
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2021-06-03 18:41:14 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (683c314667)
+
+ lib-dict: lua: Initialize dict_op_settings for dict operations
+
+ - Add new mandatory argument for lookup, set, and transaction_begin.
+ - Use the username to initialize dict_op_settings passed to lib-dict API
+
+M src/lib-dict/dict-iter-lua.c
+M src/lib-dict/dict-lua.c
+M src/lib-dict/dict-txn-lua.c
+
+2021-07-01 20:39:41 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (b3ab76ff1d)
+
+ lib-dict-extra: test-dict-fs: Initialize dict_op_settings for dict
+ operations
+
+
+M src/lib-dict-extra/test-dict-fs.c
+
+2021-06-03 18:39:39 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (b150ee039c)
+
+ lib-dict-backend: test-dict-sql: Initialize dict_op_settings for dict
+ operations
+
+
+M src/lib-dict-backend/test-dict-sql.c
+
+2021-06-03 18:38:50 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (051d8cbe36)
+
+ lib-dict: test-dict-client: Initialize dict_op_settings for dict operations
+
+
+M src/lib-dict/test-dict-client.c
+
+2021-06-03 18:36:04 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (7fce91db18)
+
+ lib-storage: Initialize dict_op_settings for dict operations
+
+
+M src/lib-storage/index/index-attribute.c
+
+2021-06-03 18:35:28 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (f2083c0b5c)
+
+ lib-fs: Initialize dict_op_settings for dict operations
+
+
+M src/lib-fs/fs-dict.c
+
+2021-06-03 18:13:31 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (11046766af)
+
+ auth: userdb-dict: Initialize dict_op_settings for dict iterate
+
+
+M src/auth/userdb-dict.c
+
+2021-06-03 18:11:47 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (09e89ca08a)
+
+ auth: db-dict: Initialize dict_op_settings for dict lookup
+
+
+M src/auth/db-dict.c
+
+2021-06-03 12:53:08 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (8ec65b7e0c)
+
+ doveadm dict: Initialize & use dict_op_settings for dict commands
+
+ Sets the username in cmd_dict_init_full and use the settings struct for dict
+ operations.
+
+M src/doveadm/doveadm-dict.c
+
+2021-06-03 00:06:44 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (64719ad090)
+
+ lib-storage: Add mail_user.dict_op_set and mail_user_get_dict_op_settings()
+
+ Used to initialize or obtain dict_op_settings for the user.
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2021-06-04 15:39:05 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (aceb659c98)
+
+ lib-storage: mail-user: Clarify mail_user_get_home() usage string
+
+ Explicitly comment about returned string lifetime.
+
+M src/lib-storage/mail-user.h
+
+2021-05-18 17:52:55 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (5b579636a4)
+
+ dict: Optionally accept username in lookup/iterate/begin dict protocol
+ commands
+
+ Only an optional field, don't actually use it.
+
+M src/dict/dict-commands.c
+
+2021-05-28 11:57:39 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (f976f4ac89)
+
+ dict-file: Remove file_dict_iterate_path struct
+
+ No need for the struct since support for multi-path iterate is removed. So
+ path and path length can be merged with file_dict_iterate_context.
+
+M src/lib-dict/dict-file.c
+
+2021-05-26 13:47:50 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (32e8bd5b5a)
+
+ dict backends: Remove multi-path handling code in dict iteration
+
+ With mutli-path iteration support being dropped from dict protocol, these
+ can be cleaned up.
+
+M src/lib-dict-backend/dict-cdb.c
+M src/lib-dict-backend/dict-sql.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-fail.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+
+2021-05-26 12:15:06 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (cbc81b4471)
+
+ dict: Drop support for multi-path iteration in dict protocol
+
+ Remove dict_iterate_init_multiple() since it is not used anywhere. Also drop
+ support in dict protocol to read multiple paths.
+
+M src/dict/dict-commands.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+
+2021-05-18 01:50:03 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (ecc4985151)
+
+ lib-dict: Add dict_op_settings_dup() and dict_op_settings_private_free()
+
+ - dict_op_settings_dup() creates a copy of dict_op_settings into a new
+ struct dict_dop_settings_private.
+ - dict_op_settings_private_free() frees the memory for copied object.
+
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+
+2021-05-03 15:09:49 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (4aeba6af64)
+
+ lib-dict: Add dict_op_settings parameter for dict_iterate_init()
+
+ Only adds the parameter, doesn't use it.
+
+M src/auth/userdb-dict.c
+M src/doveadm/doveadm-dict.c
+M src/lib-dict-backend/test-dict-sql.c
+M src/lib-dict/dict-iter-lua.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/lib-dict/test-dict-client.c
+M src/lib-fs/fs-dict.c
+M src/lib-storage/index/index-attribute.c
+M src/plugins/acl/acl-lookup-dict.c
+
+2021-05-03 15:09:01 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (8c0a16627e)
+
+ lib-dict: Add dict_op_settings parameter for dict_transaction_begin()
+
+ Only adds the parameter, doesn't use it.
+
+M src/dict/dict-commands.c
+M src/doveadm/doveadm-dict.c
+M src/lib-dict-backend/test-dict-sql.c
+M src/lib-dict-extra/test-dict-fs.c
+M src/lib-dict/dict-txn-lua.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/lib-dict/test-dict-client.c
+M src/lib-fs/fs-dict.c
+M src/lib-oauth2/test-oauth2-jwt.c
+M src/lib-storage/index/index-attribute.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/notify-status/notify-status-plugin.c
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota.c
+
+2021-05-03 13:42:56 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (c840870249)
+
+ lib-dict: Add dict_op_settings
+
+ Used for dict operations. Currently username & home_dir are used. Also,
+ change dict_lookup() to accept a parameter of this type but don't actually
+ use it.
+
+M src/auth/db-dict.c
+M src/dict/dict-commands.c
+M src/doveadm/doveadm-dict.c
+M src/lib-dict-backend/test-dict-sql.c
+M src/lib-dict-extra/test-dict-fs.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-lua.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/lib-dict/test-dict-client.c
+M src/lib-fs/fs-dict.c
+M src/lib-oauth2/oauth2-jwt.c
+M src/lib-storage/index/index-attribute.c
+M src/plugins/quota/quota-dict.c
+
+2021-05-03 12:15:54 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (53fa6616c5)
+
+ lib-dict: Remove dict_settings.value_type
+
+ It was originally added to dict-db and no other backend uses it. With
+ dict-db removed, there is no need to keep it.
+
+M src/auth/db-oauth2.c
+M src/dict/dict-connection.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict.h
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2021-05-12 12:54:30 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (08fee75254)
+
+ dict-client: Escape username and dict uri in handshake HELLO message
+
+
+M src/lib-dict/dict-client.c
+
+2021-04-30 14:42:46 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (d5acb577c9)
+
+ lib-dict-backen: Drop unused dict-db
+
+
+M src/lib-dict-backend/Makefile.am
+D src/lib-dict-backend/dict-db.c
+
+2021-06-24 12:56:05 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (5a7c7869c7)
+
+ virtual: Expunge old emails if backend box uidvalidity changed
+
+
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+
+2021-06-14 23:28:48 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9ea5d36197)
+
+ doveadm-server: Don't return two error lines if a command fails
+
+ This normally didn't affect doveadm client usage, but it did break reply
+ matching when multiple usernames were handled by a single command (e.g.
+ wildcard users).
+
+M src/doveadm/client-connection-tcp.c
+
+2020-12-10 10:44:42 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e4ab282d56)
+
+ lib-http: test-http-client-errors - Don't rely on sleeps
+
+ Use the notification signal API instead. Also it's only one test (group)
+ that needs to do this.
+
+M src/lib-http/test-http-client-errors.c
+
+2021-06-18 14:19:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ec04bc903e)
+
+ lib-test: Add notification signal send/wait API
+
+ This allows a simple way for child/parent processes to communicate when
+ they're ready. SIGHUP signal is reserved for this.
+
+M src/lib-test/test-subprocess.c
+M src/lib-test/test-subprocess.h
+
+2020-12-10 10:54:25 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6192e2a196)
+
+ doveadm batch: Fix assert-crash that happened when it was attempted to be
+ used
+
+ Fixes: Panic: file mail-storage.c: line 1067 (mailbox_set_reason): assertion
+ failed: (reason != NULL)
+
+M src/doveadm/doveadm-mail-batch.c
+
+2021-06-25 14:52:11 +0200 Markus Valentin <markus.valentin@open-xchange.com> (d2d021efe0)
+
+ lib-fs: metawrap - Fix handling empty file
+
+ As empty files are already closed when fs-metawrap attempts to append
+ metadata there have been problems with size calculation. Fix this by relying
+ on the same mechanism as if metadata changed during write.
+
+ This recreates metadata and keeps old body. This fixes an issue when writing
+ empty mails to cache (failed: Cached message size larger than expected).
+
+ This was introduced by 03e102ddccaae9e944c503d4269de755731798e8a
+
+M src/lib-fs/fs-metawrap.c
+
+2021-06-25 14:28:57 +0200 Markus Valentin <markus.valentin@open-xchange.com> (cab617276a)
+
+ lib-fs: fs-metawrap - Expect fs_stat to return size 0 for empty file
+
+
+M src/lib-fs/test-fs-metawrap.c
+
+2021-06-14 12:47:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f0256e3d60)
+
+ NEWS: Updates for v2.3.15
+
+
+M NEWS
+
+2021-05-24 14:03:57 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (7ad5753566)
+
+ NEWS: Add news for 2.3.14.1
+
+
+M NEWS
+
+2021-05-22 00:16:38 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (bcdbf445a9)
+
+ lib-smtp: smtp-server-connection - Fix STARTTLS command injection
+ vulnerability.
+
+ The input handler kept reading more commands even though the input was
+ locked by the STARTTLS command, thereby causing it to read the command
+ pipelined beyond STARTTLS. This causes a STARTTLS command injection
+ vulerability.
+
+M src/lib-smtp/smtp-server-cmd-starttls.c
+M src/lib-smtp/smtp-server-connection.c
+
+2021-06-08 09:13:25 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9b04e6fbfb)
+
+ lib-dict-extra: dict-fs - Escape unsafe paths
+
+ Change any path components that are `.` or `..` to `...` and `....`.
+ Prevents path traversal attacks.
+
+M src/lib-dict-extra/Makefile.am
+M src/lib-dict-extra/dict-fs.c
+A src/lib-dict-extra/test-dict-fs.c
+
+2021-06-08 09:04:21 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (15682a20d5)
+
+ lib-oauth2: Do not escape '.'
+
+ This is not really needed and just makes things difficult.
+
+M src/lib-oauth2/oauth2-jwt.c
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2021-05-03 09:58:29 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (368adea6d9)
+
+ lib-oauth2: Add missing test_begin/test_end to token escape
+
+
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2021-04-14 19:17:30 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (dde02b27df)
+
+ lib-oauth2: test-oauth2-jwt - Fix linkage for openssl
+
+ Without whole archive option ssl_iostream_unref isn't included in linkage,
+ which will prevent libdcrypt from loading openssl backend.
+
+M src/lib-oauth2/Makefile.am
+
+2020-11-19 19:55:42 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (137558d31c)
+
+ lib-oauth2: Ensure azp is escaped too
+
+
+M src/lib-oauth2/oauth2-jwt.c
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2021-04-14 13:47:16 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (cf8f670629)
+
+ lib-oauth2: Add test for token escape
+
+
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2021-04-14 14:12:16 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (8b716828c4)
+
+ lib-oauth2: Improve identifier escaping function
+
+
+M src/lib-oauth2/oauth2-jwt.c
+
+2021-04-10 17:54:45 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (1db66e3950)
+
+ lib-oauth2: Move identifier escaping to own function
+
+
+M src/lib-oauth2/oauth2-jwt.c
+
+2021-03-25 15:36:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fa92b1a362)
+
+ lib-storage: Sync mailbox if autoexpunging finds mails that are already
+ expunged
+
+ The syncing should remove the mails from the index.
+
+M src/lib-storage/mail-autoexpunge.c
+
+2021-03-25 15:34:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0e8844adc3)
+
+ lib-storage: Fix infinite loop in autoexpunging if the mails are already
+ expunged
+
+ This happens if the mails exist in the index, but mail_get_save_date() fails
+ with MAIL_ERROR_EXPUNGED.
+
+M src/lib-storage/mail-autoexpunge.c
+
+2021-05-31 14:48:42 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (8609b88e86)
+
+ plugins/fts: Use event logging
+
+
+M src/plugins/fts/fts-indexer.c
+
+2021-05-26 13:55:52 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (cf114f90e0)
+
+ plugins/fts: fts-indexer - Use connection.c functions
+
+
+M src/plugins/fts/fts-indexer.c
+
+2021-05-31 19:31:35 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (43d18b2d3f)
+
+ plugins/fts: fts-indexer - Move fts_indexer_init to end of file
+
+ Simplifies next commit
+
+M src/plugins/fts/fts-indexer.c
+
+2021-05-26 13:54:56 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (1510536887)
+
+ plugins/fts: fts-indexer - Use connection structures
+
+
+M src/plugins/fts/fts-indexer.c
+
+2021-05-06 14:55:55 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b832f6c3c1)
+
+ indexer: worker - Fix busy/free status
+
+ Determining whether worker is free or not should be determined using
+ worker_connection_is_busy, not whether there are connections in the list.
+
+ A worker connection is busy when it has a request.
+
+M src/indexer/indexer.c
+M src/indexer/worker-pool.c
+
+2021-05-06 12:54:15 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f62a258493)
+
+ indexer: indexer-client - Use connection.c functions
+
+
+M src/indexer/indexer-client.c
+M src/indexer/indexer-client.h
+M src/indexer/indexer.c
+
+2021-05-06 12:41:39 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (0273caf1b9)
+
+ indexer: indexer-client - Use connection structure
+
+
+M src/indexer/indexer-client.c
+
+2021-05-06 12:08:39 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (0dfa2531ae)
+
+ indexer: indexer-worker - Use event logging
+
+
+M src/indexer/master-connection.c
+
+2021-05-06 12:03:16 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (bf42ae1ae7)
+
+ indexer: indexer-worker: Use connection.c functions
+
+
+M src/indexer/indexer-worker.c
+M src/indexer/master-connection.c
+M src/indexer/master-connection.h
+
+2021-05-06 11:42:37 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2f5494df0a)
+
+ indexer: indexer-worker: Use connection structure
+
+
+M src/indexer/master-connection.c
+
+2021-05-06 11:21:43 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (990b69f195)
+
+ indexer: worker-connection - Use connection.c functions
+
+
+M src/indexer/worker-connection.c
+M src/indexer/worker-connection.h
+M src/indexer/worker-pool.c
+
+2021-05-06 10:59:24 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (1ed0c8be75)
+
+ indexer: worker-connection - Prepare for using connection.c
+
+
+M src/indexer/worker-connection.c
+M src/indexer/worker-connection.h
+M src/indexer/worker-pool.c
+
+2021-05-06 10:56:40 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (57317458ce)
+
+ indexer: worker-pool - Use connection_list
+
+
+M src/indexer/worker-pool.c
+
+2021-05-06 10:49:23 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (61f8942012)
+
+ indexer: worker-pool - Remove unused last_use
+
+
+M src/indexer/worker-pool.c
+
+2021-05-06 10:29:23 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4225108434)
+
+ indexer: worker-connection - Use connection.h structures
+
+
+M src/indexer/indexer.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-connection.h
+M src/indexer/worker-pool.c
+M src/indexer/worker-pool.h
+
+2021-05-06 10:11:54 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d76761698a)
+
+ indexer: worker-connection - Move constructor further down
+
+ Simplifies next commit
+
+M src/indexer/worker-connection.c
+
+2021-05-06 10:11:24 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9aadd7fa03)
+
+ Reformat worker-connection.c
+
+
+M src/indexer/worker-connection.c
+
+2021-05-25 10:38:46 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (7fcf330135)
+
+ lib: lib-event - Copy ru_last when making passthrough event
+
+ Otherwise user_cpu_usecs does not get added to the sent events.
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2021-05-06 14:29:03 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (da607df02a)
+
+ master: Fix idle-kill for processes with a single short-lived client
+
+ lib-master sends unimportant service status updates to master only once per
+ second when client_limit>1, because within that 1 second the available
+ client count may have already changed many times. Normally this is fine, but
+ there's a problem with the initial client:
+
+ * The client connection launches a new process
+ * The process sends the initial status notification with available_count=MAX
+ * The client connection is handled, but because the status notification was
+ just sent, the update won't be sent until 1 second later
+ * The client disconnects within the 1 second
+ * The available_count is again MAX, so no status notification is sent
+
+ In this situation the master process never created the idle-kill timeout.
+ Usually the following clients will cause a status notification to be sent,
+ but if there was only the one client then this process won't be idle-killed.
+ Fix the situation so that the idle-kill timeout is created already by the
+ initial status notification.
+
+M src/master/service-monitor.c
+
+2021-06-03 19:04:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bb618563b7)
+
+ lib: Add array_foreach_reverse[_modifiable]()
+
+ This is especially useful when deleting multiple elements inside the loop.
+
+M src/lib/array.h
+M src/lib/test-array.c
+
+2021-06-03 16:50:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (df1b4b8750)
+
+ lib: Don't use special code for i_unreached() with STATIC_CHECKER
+
+ This was done originally to help scan-build, but this is no longer
+ necessary. Also actually running code where __builtin_unreachable() was
+ reached produced (very weird) undefined behavior.
+
+ Reverts e2e9ea6da9f3db5fd7fe467db79232d20d03832f
+
+M src/lib/macros.h
+
+2021-06-03 16:48:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ecc984350e)
+
+ Makefile.am: Update configure parameters for scan-build
+
+ Especially add --enable-static-checker.
+
+M Makefile.am
+
+2021-06-04 12:46:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (70defb0fb7)
+
+ lib-imap: imap-parser - Parse literal size using as same algorithm as
+ str_parse*().
+
+ This prevents wrapping the integer value and fixes an ubsan complaint.
+
+ Based on Stephan's similar patch in managesieve-parser.
+
+M src/lib-imap/imap-parser.c
+
+2021-06-04 12:45:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (71e1d599ed)
+
+ lib-imap: imap-parser - Fix 8 bit atom check to use unsigned char.
+
+
+M src/lib-imap/imap-parser.c
+
+2020-11-20 11:56:41 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (605f65f8c1)
+
+ lib-http: Add http-client category to client events
+
+
+M src/lib-http/http-client.c
+
+2021-06-02 12:39:39 +0200 Markus Valentin <markus.valentin@open-xchange.com> (6b2963fe81)
+
+ acl: Ignore acls in acl_mailbox_right_lookup if ignore_acls is set
+
+ In case an namespace has been configured to ignore ACLs make sure that also
+ happens for acl_mailbox_right_lookup.
+
+M src/plugins/acl/acl-mailbox.c
+
+2021-06-01 13:10:23 +0200 Markus Valentin <markus.valentin@open-xchange.com> (d2a85c0441)
+
+ acl: If acl_ignore_namespace is set acl_backend can be NULL
+
+ Allow an uninitialized acl backend when ignore_acls is set.
+
+M src/plugins/acl/acl-mailbox.c
+
+2021-05-25 20:03:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2d676b0007)
+
+ lib-mail: Add MESSAGE_PART_FLAG_OVERFLOW to MIME parts that reached parsing
+ limits
+
+ This allows callers to find out which MIME parts were properly parsed.
+
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part.h
+M src/lib-mail/test-message-parser.c
+
+2021-04-29 17:00:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9d21af067f)
+
+ imap: copy: Abort if client disconnects during COPY
+
+ Since the client didn't receive the COPY tagged reply, it doesn't know
+ whether the COPY succeeded or not. This likely causes it to try the COPY
+ again and duplicate the mails.
+
+M src/imap/cmd-copy.c
+
+2021-05-19 05:56:13 -0600 Splintermail Dev <dev@splintermail.com> (e903c76ef3)
+
+ imap: imap-sync - Fix VANISHED response with UID=1
+
+ Fixes a bug introduced in 4eb3f6f27, where a UID EXPUNGE 1 command resulted
+ in a VANSIHED 0:1 response, which is invalid IMAP syntax
+ (sequence sets must have nonzero values).
+
+M src/imap/imap-sync.c
+
+2021-05-17 12:13:16 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (0cb2ec40a4)
+
+ fts: Do not consider arbitrary headers with 8-bit data as language-specific
+
+ If we do stemming etc processing for arbitrary headers, they might become
+ impossible to find in subsequent searches due to stemming.
+
+ This practically breaks e.g. From/To header searches with non-ascii names.
+
+M src/plugins/fts/fts-build-mail.c
+
+2020-03-09 11:11:04 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c38df6196d)
+
+ lib: DEBUG: Fix potential crash in handling "Growing data stack" debug
+ message
+
+ This could have only happened when data_stack_grow event was enabled and
+ when --enable-devel-checks was used.
+
+M src/lib/data-stack.c
+M src/lib/test-data-stack.c
+
+2021-05-27 11:18:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4784a79d09)
+
+ lib: test-data-stack: Run each test with the same data stack state
+
+
+M src/lib/test-data-stack.c
+
+2021-05-21 16:59:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b0fd5705af)
+
+ lib-lua: Delay running Lua script until dlua_script_init()
+
+ This allows the caller to register globals before running the script.
+
+M src/lib-lua/dlua-script.c
+M src/lib-lua/dlua-script.h
+
+2021-05-21 16:58:01 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f45c32c968)
+
+ lib-lua: Move finalizing event and setting linked list to
+ dlua_create_script()
+
+ There's no need to delay them until dlua_script_create_finish().
+
+M src/lib-lua/dlua-script.c
+
+2021-05-21 17:48:48 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f985653670)
+
+ lib-lua: Update dlua_script_create_*() comment
+
+ Reusing existing scripts wasn't actually implemented.
+
+M src/lib-lua/dlua-script.h
+
+2021-05-21 17:06:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (67c7c1aaae)
+
+ lib-lua: dlua_script_init() - Always return -1 if script_init() fails
+
+ The previous behavior was to forward the script_init() return value to the
+ caller. This was somewhat unexpected behavior.
+
+M src/lib-lua/dlua-script.c
+
+2021-05-31 11:33:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2b508d396c)
+
+ lib-storage: dlua_register_mail_storage() - Fix popping dlua_dovecot in Lua
+ stack
+
+
+M src/lib-storage/mail-storage-lua.c
+
+2021-05-07 20:37:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c8ac1fd03b)
+
+ lib-storage: Fix corrupted cache when adding attachment keywords
+
+ If IMAP BODYSTRUCTURE parsing fails, it means the BODYSTRUCTURE doesn't
+ match the MIME parts. This likely means that one or both of them are
+ corrupted. Handle this by deleting the email from cache, so this error won't
+ keep repeating.
+
+M src/lib-storage/mail.c
+
+2021-05-07 20:28:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bbcf91c5d6)
+
+ lib-storage: Don't log error if attachment flags couldn't be set due to
+ missing cache
+
+ Ever since 194dcaa65cdd247393633f2daa4b40fd12985440 missing attachment
+ keywords have been attempted to be automatically added if all the necessary
+ fields are in dovecot.index.cache. However, if mime.parts wasn't in the
+ cache an error was unnecessarily logged.
+
+ Fixes: Error: Failed to add attachment keywords: mail_get_parts() failed:
+ Mail field not cached
+
+M src/lib-storage/mail.c
+
+2021-05-21 13:53:02 +0200 Markus Valentin <markus.valentin@open-xchange.com> (2480f7bd2c)
+
+ imap-acl: In case mailbox name is "" set it to INBOX for shared namespaces
+
+ To prevent proxying ACL commands with mailbox "" replace it with "INBOX"
+ when used with shared namespaces.
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2021-05-25 16:09:25 +0200 Markus Valentin <markus.valentin@open-xchange.com> (bfde81138a)
+
+ imapc: Extract imapc_mailbox_name_equals from imapc_untagged_status
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2021-05-20 16:03:12 +0200 Markus Valentin <markus.valentin@open-xchange.com> (b58ac1f607)
+
+ imap-acl: Replace mailbox_open_as_admin with mailbox_open_allocated_as_admin
+
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2021-05-20 14:27:46 +0200 Markus Valentin <markus.valentin@open-xchange.com> (becb0ee0d5)
+
+ imap-acl: Allow LISTRIGHT replies without opening as admin
+
+ As the reply is hardcoded there is no need to proxy the ACL command to a
+ remote backend in case imapc_feature "acl" is enabled.
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2021-05-19 15:12:35 +0200 Markus Valentin <markus.valentin@open-xchange.com> (8d994ed413)
+
+ imap-acl: Implement proxying commands to an imapc location for DELETEACL
+
+ Before calling imap_acl_cmd_deleteacl in cmd_deleteacl the new code checks
+ if the command should be proxied and if so, does the proxying.
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2021-05-19 15:11:40 +0200 Markus Valentin <markus.valentin@open-xchange.com> (52333bdb22)
+
+ imap-acl: Implement proxying commands to an imapc location for SETACL
+
+ Before calling imap_acl_cmd_setacl in cmd_setacl the new code checks if the
+ command should be proxied and if so, does the proxying.
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2021-05-19 15:09:24 +0200 Markus Valentin <markus.valentin@open-xchange.com> (7a6dda9cef)
+
+ imap-acl: Implement proxying commands to an imapc location for GETACL
+
+ Before calling imap_acl_cmd_getacl in cmd_getacl the new code checks if the
+ command should be proxied and if so, does the proxying.
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2021-05-25 16:59:31 +0200 Markus Valentin <markus.valentin@open-xchange.com> (d64123e856)
+
+ imap-acl: Extract imap_acl_cmd_deleteacl from cmd_deletacl
+
+ This change makes acl_mailbox_open_allocated_as_admin called later which is
+ necessary for the following proxying IMAP ACL changes.
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2021-05-25 16:45:13 +0200 Markus Valentin <markus.valentin@open-xchange.com> (98f1a2a6e4)
+
+ imap-acl: Extract imap_acl_cmd_setacl from cmd_setacl
+
+ This change makes acl_mailbox_open_allocated_as_admin called later which is
+ necessary for the following proxying IMAP ACL changes.
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2021-05-25 16:29:10 +0200 Markus Valentin <markus.valentin@open-xchange.com> (f583ef8991)
+
+ imap-acl: Extract imap_acl_cmd_getacl from cmd_getacl
+
+ This change makes acl_mailbox_open_allocated_as_admin called later which is
+ necessary for the following proxying IMAP ACL changes.
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2021-05-19 14:52:36 +0200 Markus Valentin <markus.valentin@open-xchange.com> (5a7cf68dfd)
+
+ imap-acl: Implement proxying commands to an imapc location for MYRIGHTS
+
+ Introduce the needed changes to proxy imap-acl commands to a remote backend
+ using imap-client.
+
+ Before calling imap_acl_cmd_myrights in cmd_myrights the new code checks if
+ the command should be proxied and if so, does the proxying.
+
+M src/plugins/imap-acl/Makefile.am
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2021-05-25 12:40:55 +0200 Markus Valentin <markus.valentin@open-xchange.com> (c923bd0f75)
+
+ imap-acl: Add imapc_acl_get_mailbox_error
+
+ Allows to retrieve full mailbox error.
+
+M src/plugins/imap-acl/Makefile.am
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2021-05-25 11:19:47 +0200 Markus Valentin <markus.valentin@open-xchange.com> (f2e0cdfc9c)
+
+ imap-acl: Split off imap_acl_cmd_myrights from cmd_myrights
+
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2021-05-20 13:47:55 +0200 Markus Valentin <markus.valentin@open-xchange.com> (358432fba5)
+
+ imap-acl: Split acl_mailbox_open_as_admin
+
+ This allows easier implementation of the imap-acl proxying.
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2021-05-20 23:21:10 +0200 Markus Valentin <markus.valentin@open-xchange.com> (c963be712f)
+
+ imap-acl: Add imap_acl_storage with module context
+
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-acl/imap-acl-plugin.h
+
+2021-05-25 12:38:50 +0200 Markus Valentin <markus.valentin@open-xchange.com> (7f7a39bcb1)
+
+ imapc: Add imapc_mail_error_to_resp_text_code to access error msg by enum
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2021-05-26 10:31:26 +0200 Markus Valentin <markus.valentin@open-xchange.com> (fa47e36587)
+
+ imapc: Change function signature prefix to imapc_resp_text_code_parse
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2021-05-20 23:18:30 +0200 Markus Valentin <markus.valentin@open-xchange.com> (07e2f39e5c)
+
+ imapc: Add imapc_storage_client_unregister_untagged function
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2021-05-18 16:26:46 +0200 Markus Valentin <markus.valentin@open-xchange.com> (885794cbce)
+
+ imapc: Add imapc_features=acl
+
+ In order to allow proxying IMAP ACL commands to a remote backend
+
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+
+2021-05-21 19:23:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (67c08cfc9b)
+
+ lib: test-event-filter-*: Hide details of tests unless they fail
+
+ This removes ~14k lines of output from test-lib run.
+
+M src/lib/test-event-filter-expr.c
+M src/lib/test-event-filter-merge.c
+M src/lib/test-event-filter-parser.c
+
+2021-05-21 16:11:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d9f2b426ea)
+
+ imap: Send tagged login reply before finalizing user initialization
+
+ Broken by 5fc66f182ff6941639d30372b414c1b39ae1e67e
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-master-client.c
+M src/imap/main.c
+
+2021-05-21 16:23:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (02363cfb7b)
+
+ m4, dovecot-config: Add LIBDOVECOT_LUA_INCLUDE
+
+ This allows building plugins that use lib-lua against uninstalled Dovecot
+ source code tree.
+
+M dovecot-config.in.in
+M m4/dovecot.m4
+
+2021-05-20 11:05:37 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (d386e3727f)
+
+ lib: event filter - Return invalid chars in the lexer
+
+ This way, we leave it up to the parser to figure out whether or not they
+ make sense.
+
+M src/lib/event-filter-lexer.l
+M src/lib/test-event-filter-parser.c
+
+2021-05-20 10:24:35 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (8c6ea200af)
+
+ lib: event filter - Allow '?' in filter language tokens
+
+ Without this, it is not possible to use '?' wildcards without quoting the
+ value.
+
+M src/lib/event-filter-lexer.l
+M src/lib/test-event-filter-parser.c
+
+2021-05-18 17:44:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (308ba466c8)
+
+ dict-sql: Support SQL_DB_FLAG_ON_CONFLICT_DO
+
+
+M src/lib-dict-backend/dict-sql.c
+
+2021-05-18 17:40:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5329cd3af4)
+
+ lib-sql: Add SQL_DB_FLAG_ON_CONFICT_DO for new enough sqlite and pgsql
+
+
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-sql/driver-test.c
+M src/lib-sql/sql-api.h
+
+2021-05-18 17:21:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6cc9bd8e2b)
+
+ lib-sql: sqlpool: Implement get_flags() as a wrapper to the real db
+
+
+M src/lib-sql/driver-sqlpool.c
+
+2021-05-18 17:15:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3b3d90d2c9)
+
+ lib: test-array - Add more unit tests for array_foreach*()
+
+ Make sure that the elem value is as expected after the loop completes.
+
+M src/lib/test-array.c
+
+2021-05-18 17:08:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (60dc5c2fe0)
+
+ lib-sql: Add sql_db_vfuncs.get_flags()
+
+
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+
+2021-05-18 17:02:30 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (88a56737a5)
+
+ dict-sql: Use SQL_DB_FLAG_ON_DUPLICATE_KEY
+
+ Instead of hardcoding mysql check.
+
+M src/lib-dict-backend/dict-sql-private.h
+M src/lib-dict-backend/dict-sql.c
+
+2021-05-18 17:00:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0d8acaeae2)
+
+ lib-sql: Add SQL_DB_FLAG_ON_DUPLICATE_KEY flag for MySQL
+
+
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-test.c
+M src/lib-sql/sql-api.h
+
+2021-05-24 18:55:28 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4766b85437)
+
+ auth: mech-oauth2 - Iterate fields in safer manner
+
+ Static analyser wasn't happy about the previous way.
+
+M src/auth/mech-oauth2.c
+
+2020-11-09 12:29:16 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (5703f0b007)
+
+ lib-smtp: smtp-server-recipient - Remove smtp_server_recipient_initialize().
+
+ It is no longer needed.
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+
+2020-11-09 12:29:29 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (b09ec34569)
+
+ lib-smtp: smtp-server-recipient - Create transaction event early if there is
+ no transaction yet.
+
+ This allows having a parent for the recipient event once the recipient is
+ created, which can precede the creation of the transaction.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server-transaction.c
+
+2021-05-21 18:20:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (57874285f2)
+
+ lib: Free unused data stack memory once per second while running ioloop
+
+ This way if the data stack has grown excessively large temporarily, it won't
+ permanently waste memory. And if the data stack grows back to the same large
+ size, re-allocating it once per second doesn't cause performance problems.
+
+M src/lib/ioloop.c
+
+2021-05-21 18:13:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (14ac1c5efe)
+
+ lib: data-stack - Keep the largest unused block in memory after all
+
+ This reverts 2da21080dbbe50b4924ac0135c84babfb404dcce, but that alone
+ doesn't produce working code so there are also some further fixups.
+
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+M src/lib/test-data-stack.c
+
+2021-05-17 01:24:31 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d0ce18bc7f)
+
+ lib-smtp: test-smtp-payload - Double the client progress timeout.
+
+ Otherwise, SSL tests can fail on systems with low entropy.
+
+M src/lib-smtp/test-smtp-payload.c
+
+2021-04-21 03:02:38 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a2ea45e543)
+
+ lib-smtp: smtp-client-transaction - Allow destroying connection while
+ transaction still holds reference.
+
+ The lifetime of the transaction is controlled by the application and not so
+ much by the connection. The transaction holds a reference to the connection,
+ so if the connection is forcibly destroyed it needs, to notify the
+ transaction of this event.
+
+ This fixes:
+
+ Panic: file connection.c: line 938 (connection_list_deinit): assertion
+ failed: (conn != list->connections)
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+
+2021-04-22 12:13:35 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (efcb45d77f)
+
+ lib-smtp: smtp-client-transaction - Properly handle pending failure upon
+ smtp_client_transaction_send_reset().
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2021-04-22 12:03:59 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f73471d049)
+
+ lib-smtp: smtp-client-connection - Add
+ smtp_client_connection_transactions_fail() and use it.
+
+ Use it to always fail the whole transaction first before the individual
+ commands if possible.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2021-04-22 11:53:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (406f3a4ee7)
+
+ lib-smtp: smtp-client-connection - Split off
+ smtp_client_connection_transactions_fail_reply().
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2021-04-22 12:36:18 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9673639616)
+
+ lib-smtp: smtp-client-connection - Always abort all commands upon
+ smtp_client_connection_close().
+
+ Before, these would get a disconnect failure, which makes no sense when the
+ client is causing the disconnect.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2021-04-22 12:32:38 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0ef7144312)
+
+ lib-smtp: smtp-client-connection - Abort all transactions upon
+ smtp_client_connection_close().
+
+ Before, these would get a disconnect failure, which makes no sense when the
+ client is causing the disconnect.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2021-04-22 12:09:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c93786ad17)
+
+ lib-smtp: test-smtp-payload - Finish client transaction only when it
+ finishes completely.
+
+
+M src/lib-smtp/test-smtp-payload.c
+
+2021-05-17 01:13:36 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a2371f18ce)
+
+ lib-smtp: Reformat smtp-client-transaction.c.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2021-04-22 11:46:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (105fd27947)
+
+ lib-smtp: Reformat smtp-client-connection.c.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2021-05-10 22:37:44 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (c6de40d420)
+
+ auth: oauth2 - Support passing openid-configuration URL to client on failure
+
+
+M doc/example-config/dovecot-oauth2.conf.ext
+M src/auth/auth-request.h
+M src/auth/db-oauth2.c
+M src/auth/mech-oauth2.c
+
+2021-05-10 22:29:23 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (291452bca5)
+
+ auth: mech-oauth2 - Pass error fields as array
+
+ Makes it easier to add fields to it later on.
+
+M src/auth/mech-oauth2.c
+
+2021-05-21 14:42:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f9461066c5)
+
+ imap: copy/move: Fix memory leak when no messages were found
+
+
+M src/imap/cmd-copy.c
+
+2021-02-12 01:22:25 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b13c1e300e)
+
+ doveadm: Delay reading settings until doveadm plugins are loaded
+
+
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+
+2021-02-12 01:54:48 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d8841feb84)
+
+ doveadm: Add doveadm_setting_roots_*() API for plugins to register settings
+
+
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+M src/lib-master/master-service-settings.c
+
+2021-02-15 17:11:07 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b1b19b0e25)
+
+ doveadm: Move settings reading code into doveadm-settings.c
+
+ This code is now shared between doveadm and doveadm-server.
+
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+
+2021-02-12 19:17:25 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ca96472b05)
+
+ lib-master: Add master_service_settings_input.extra_modules
+
+ This allows specifying more than one module.
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+
+2021-02-12 19:15:44 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5f1126a9fb)
+
+ lib-master: master_service_exec_config() - Build argv using dynamic array
+
+
+M src/lib-master/master-service-settings.c
+
+2021-05-11 00:07:24 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ef2a1b2336)
+
+ auth: auth-worker - Respect service_count
+
+ If service_count is set, then auth-worker will stop after given number of
+ requests.
+
+M src/auth/auth-settings.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-client.h
+M src/auth/main.c
+
+2021-05-20 15:54:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (714ff4342e)
+
+ imap: Improve sending internal error to client if initialization fails
+
+ The "Internal server error" should be sent using the same ostream that was
+ created. Also if service_user initialization failed there was no OK reply to
+ sent to login.
+
+M src/imap/main.c
+
+2021-05-20 15:42:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2e56339868)
+
+ imap: Send initial tagged reply directly using ostream
+
+ This simplifies the following commits.
+
+M src/imap/main.c
+
+2021-05-20 13:22:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5fc66f182f)
+
+ imap: Send initial tagged reply and capability after rawlogs are initialized
+
+ This way the initial tagged reply and capability is written to the rawlog.
+ Broken by 16328738d35370685387ec51d20657265855e770
+
+M src/imap/main.c
+
+2021-05-20 13:16:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2dcb967ec1)
+
+ imap: Split client_add_input_capability() into two functions
+
+
+M src/imap/main.c
+
+2021-05-20 13:14:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (75c4ad294a)
+
+ imap: Rename struct client_input to imap_login_request
+
+ This better indicates what it is about, and causes less confusion with all
+ the other client_input variables.
+
+M src/imap/main.c
+
+2021-03-08 16:45:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7c8becb4b0)
+
+ pop3: Handle pipelined input via istream-concat
+
+ This fixes rawlog_dir to work properly. It didn't log the pipelined input to
+ rawlog and it may have also caused the connection to hang.
+
+M src/pop3/main.c
+
+2021-03-08 16:44:31 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8fa48cb6d0)
+
+ pop3: Move finishing istream to client_create_finish()
+
+
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+
+2021-03-08 16:55:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e56bea8045)
+
+ imap: Handle pipelined input from imap-hibernate via istream-concat
+
+ Similarly to the previous commit, this fixes issues with rawlog.
+
+M src/imap/imap-master-client.c
+
+2021-03-08 16:37:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (380aa66738)
+
+ imap: Handle pipelined input via istream-concat
+
+ This fixes rawlog_dir to work properly. It didn't log the pipelined input to
+ rawlog and it may have also caused the connection to hang.
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/main.c
+
+2021-03-08 16:33:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (16328738d3)
+
+ imap: Move iostream-rawlog creation to client_create_finish()
+
+ This allows the caller to modify the istream before rawlog.
+
+M src/imap/imap-client.c
+
+2021-03-08 16:33:33 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c8a9ccc5aa)
+
+ lib: Add i_stream_copy_fd()
+
+
+M src/lib/istream.c
+M src/lib/istream.h
+
+2021-05-14 15:57:20 +0200 Markus Valentin <markus.valentin@open-xchange.com> (ad4c2b77a8)
+
+ acl: Fix broken LIST for shared namespaces
+
+ Due to the recent changes in the usage of the acl_ignore_namespace setting
+ shared namespaces where trying to use fast listing too. This resulted in
+ wrong LIST IMAP command outputs when using acl plugin.
+
+ Broken by dc8ecd38a7e54b8bb80ae97712a0d8ad4edcbed3
+
+M src/plugins/acl/acl-mailbox-list.c
+
+2021-05-12 19:06:27 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (83939b222d)
+
+ lib-lua: dlua-compat - Undefine lua_isinteger
+
+ It's being defined in compat to return boolean, so undefine it here to make
+ sure it compiles. Broken in b59e89ebd97fa52de25b8e976a7dfe61f0d8a639
+
+M src/lib-lua/dlua-compat.c
+
+2021-04-30 11:34:51 +0200 Markus Valentin <markus.valentin@open-xchange.com> (dc8ecd38a7)
+
+ acl: Prevent crashes with acl_ignore_namespace
+
+ In case a namespace was ignored for ACLs an crash could occur because of
+ "Module context acl_storage_module missing". This panic is prevented by this
+ change.
+
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-plugin.h
+
+2021-05-06 10:18:10 +0200 Markus Valentin <markus.valentin@open-xchange.com> (81b845fcf7)
+
+ acl: Move static acl_namespace_is_ignored
+
+
+M src/plugins/acl/acl-mailbox-list.c
+
+2021-02-18 12:41:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b04d1a4a71)
+
+ lib-program-client: Change program_client_run*() to return enum
+ program_client_exit_status
+
+ Their behavior is clearer when result is expressed as enum than int.
+
+M src/director/director.c
+M src/lib-program-client/program-client.c
+M src/lib-program-client/program-client.h
+M src/lib-program-client/test-program-client-net.c
+M src/lib-program-client/test-program-client-unix.c
+M src/lib-smtp/smtp-submit.c
+
+2021-02-18 12:33:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (da5c1d11b9)
+
+ lib-program-client: Rename "exit_code" to "exit_status"
+
+ exit_code typically refers to the numeric 0..255 value that processes exit
+ with.
+
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+M src/lib-program-client/program-client.h
+
+2021-02-18 12:30:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6a30dcc20b)
+
+ lib-program-client: Move enum program_client_exit_code to public .h file
+
+
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client.h
+
+2021-05-10 19:46:53 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2b403bc75c)
+
+ lib-lua: dlua-dovecot - Ref event on push
+
+ Matches with unref on __gc.
+
+M src/auth/db-lua.c
+M src/lib-lua/dlua-dovecot.c
+
+2021-05-10 19:23:48 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5becc3bb36)
+
+ lib-lua: test-lua - Use bool for expected_isnum in check_tointegerx_compat
+
+
+M src/lib-lua/test-lua.c
+
+2021-05-10 19:21:50 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b59e89ebd9)
+
+ lib-lua: Define lua_isinteger as boolean function
+
+
+M src/lib-lua/dlua-script-private.h
+M src/lib-lua/dlua-script.c
+M src/lib-lua/test-lua.c
+
+2021-04-19 14:51:05 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (1fa8dbb63e)
+
+ lib-lua: Fix error reporting for script loading
+
+
+M src/lib-lua/dlua-script.c
+
+2021-04-19 14:45:56 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (27e165d381)
+
+ lib-lua: Use dluaL_error for luaL_error
+
+
+M src/lib-lua/dlua-script-private.h
+
+2021-04-16 13:19:26 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4258a2d8d7)
+
+ lib-lua: Fix luaL_error usage
+
+
+M src/auth/db-lua.c
+M src/lib-lua/dlua-script.c
+M src/lib-storage/mailbox-lua.c
+
+2021-04-16 13:11:20 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5d70672760)
+
+ lib-lua: Add dluaL_error
+
+
+M src/lib-lua/Makefile.am
+A src/lib-lua/dlua-error.c
+M src/lib-lua/dlua-script-private.h
+
+2021-04-16 13:10:41 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (890c7a0581)
+
+ lib-lua: dlua-script - Add dlua_pushfstring
+
+ Uses full sprintf
+
+M src/lib-lua/Makefile.am
+A src/lib-lua/dlua-pushstring.c
+M src/lib-lua/dlua-script-private.h
+
+2021-04-15 11:19:52 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (15773af5b3)
+
+ lib-lua: dlua-wrapper - Constify extra functions
+
+
+M src/lib-lua/dlua-wrapper.h
+
+2021-05-11 16:53:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (da9ccf08a4)
+
+ lib-index, lib-compression: Fix explicit integer wrapping
+
+ Using modulo instead of AND wrapped it one number too early. Luckily these
+ didn't break anything.
+
+M src/lib-compression/test-compression.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-purge.c
+
+2021-05-05 12:45:25 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f550663b37)
+
+ lib: abort() on unexpected exit()
+
+ This can especially be useful in catching bugs in Lua script that could
+ unexpectedly exit.
+
+M src/lib-master/master-service.c
+M src/lib/failures.c
+M src/lib/lib.c
+M src/lib/lib.h
+M src/master/main.c
+
+2021-05-05 12:44:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6d52674782)
+
+ global: Replace exit() with lib_exit()
+
+
+M src/auth/checkpassword-reply.c
+M src/auth/db-checkpassword.c
+M src/config/doveconf.c
+M src/dict/main.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-pw.c
+M src/doveadm/doveadm.c
+M src/lib-compression/bench-compression.c
+M src/lib-oauth2/test-oauth2-jwt.c
+M src/lib-test/test-common.c
+M src/lib-test/test-subprocess.c
+M src/lib/failures.c
+M src/lib/lib.h
+M src/lib/test-file-create-locked.c
+M src/master/main.c
+M src/util/rawlog.c
+M src/util/tcpwrap.c
+
+2021-04-14 10:45:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f2fc1c01f8)
+
+ lib-http: http-client-peer - Fix segfault occurring upon backoff connect.
+
+ If peers decide to close and destroy immediately, the iteration in the
+ shared peer yields an invalid pointer for the next peer to connect. Fixed by
+ preserving pointer to next peer inside the loop.
+
+M src/lib-http/http-client-peer.c
+
+2021-04-30 16:59:50 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (aefe4941c1)
+
+ lib: event filter - Avoid using event field wildcard matching when not
+ needed
+
+ If the right hand side of an event field comparison is not using any
+ wildcards, we can compare using strcasecmp() instead of the more expensive
+ wildcard_match_icase().
+
+ This wildcard matching avoidance change speeds up matching quite a bit. When
+ the desired comparison is *not* a wildcard match (i.e., the filter is
+ 'fieldname=abc'), microbenchmarks show at least a 11% speedup in filter
+ matching speed. When the comparison includes a wildcard (i.e., the filter
+ is 'fieldname=abc*'), microbenchmarks show approximately 0.9% filer matching
+ slowdown.
+
+ Since there are so many non-wildcard matches in a typical filter, this is a
+ very good trade-off.
+
+M src/lib/event-filter-parser.y
+M src/lib/event-filter-private.h
+M src/lib/event-filter.c
+
+2021-04-30 16:39:15 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (dcb47858e1)
+
+ lib: event filter - Rename EVENT_FILTER_NODE_TYPE_EVENT_FIELD to denote
+ wildcard matching
+
+
+M src/lib/event-filter-parser.y
+M src/lib/event-filter-private.h
+M src/lib/event-filter.c
+
+2021-04-30 12:41:55 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (33e01c1c30)
+
+ lib: event filter - Avoid using event name wildcard matching when not needed
+
+ If the right hand side of an event name comparison is not using any
+ wildcards, we can compare using strcmp() instead of the more expensive
+ wildcard_match().
+
+ This wildcard matching avoidance change speeds up matching quite a bit. When
+ the desired comparison is *not* a wildcard match (i.e., the filter is
+ 'event=abc'), microbenchmarks show at least a 30% speedup in filter matching
+ speed. When the comparison includes a wildcard (i.e., the filter is
+ 'event=abc*'), microbenchmarks show approximately 0.4% filer matching
+ slowdown.
+
+ Since there are so many non-wildcard matches in a typical filter, this is a
+ very good trade-off.
+
+M src/lib/event-filter-parser.y
+M src/lib/event-filter-private.h
+M src/lib/event-filter.c
+
+2021-04-30 12:44:17 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (aa6edb3499)
+
+ lib: event filter - Rename EVENT_FILTER_NODE_TYPE_EVENT_NAME to denote
+ wildcard matching
+
+
+M src/lib/event-filter-parser.y
+M src/lib/event-filter-private.h
+M src/lib/event-filter.c
+
+2021-04-30 14:09:10 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (0e7cf747a9)
+
+ lib: Add wildcard_is_literal to check if a mask has * or ?
+
+
+M src/lib/wildcard-match.h
+
+2021-05-10 11:26:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e786e5f40a)
+
+ lib: test-env-util - Make static analyzer happy
+
+
+M src/lib/test-env-util.c
+
+2021-05-06 21:25:54 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (79a2edcd07)
+
+ lib-dict: dict-lua - Don't yield again until previous one has completed
+
+
+M src/lib-dict/dict-iter-lua.c
+
+2021-05-04 12:15:55 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (315f9073f4)
+
+ lib-dict: dict-lua - Use absolute stack positions for arguments
+
+
+M src/lib-dict/dict-iter-lua.c
+M src/lib-dict/dict-lua.c
+M src/lib-dict/dict-txn-lua.c
+
+2021-05-05 13:40:29 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9547662586)
+
+ acl: Reinitialize local acl object after creating mailbox
+
+ For INDEX layout this is needed to actually get the local mailbox path. This
+ fixes inheriting ACLs from parent folder for INDEX layouts.
+
+M src/plugins/acl/acl-mailbox.c
+
+2021-05-05 18:18:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8b92cf375f)
+
+ lib: Add unit tests to env-util
+
+
+M src/lib/Makefile.am
+A src/lib/test-env-util.c
+M src/lib/test-lib.inc
+
+2021-01-20 20:53:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d9dad9970e)
+
+ lib-index: Use env_put() instead of putenv() directly
+
+
+M src/lib-index/test-mail-index-transaction-update.c
+
+2021-01-20 20:51:56 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d1f628e8b0)
+
+ configure, lib: Remove workarounds for unsetenv()
+
+ It's in POSIX.1-2001 and available on all modern systems.
+
+M configure.ac
+D m4/unsetenv.m4
+M src/lib/env-util.c
+
+2021-01-20 20:48:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8e7744b179)
+
+ lib: env_put() - Use setenv() instead of putenv()
+
+ It's already in POSIX.1-2001 so it should be available everywhere.
+
+M src/lib/env-util.c
+M src/lib/env-util.h
+M src/lib/lib.c
+
+2021-01-20 20:46:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9f1b0a7fa5)
+
+ lib, global: Change env_put() API to take name,value pair
+
+
+M src/auth/db-checkpassword.c
+M src/auth/db-ldap.c
+M src/auth/mech-gssapi.c
+M src/config/doveconf.c
+M src/dict/main.c
+M src/doveadm/doveadm.c
+M src/lda/main.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+M src/lib/env-util.c
+M src/lib/env-util.h
+M src/lib/restrict-access.c
+M src/lib/test-var-expand.c
+M src/master/service-process.c
+M src/util/script-login.c
+
+2021-01-20 20:45:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (990bb780a3)
+
+ lib-program-client, script: Use env_put_array()
+
+
+M src/lib-program-client/program-client-local.c
+M src/util/script.c
+
+2021-01-20 20:42:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3af2f08c27)
+
+ lib: Add env_put_array()
+
+
+M src/lib/env-util.c
+M src/lib/env-util.h
+
+2021-04-20 18:06:19 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f19988344d)
+
+ util/dovecot-sysreport: Finish report even if doveadm calls fail
+
+ It can be useful to generate the report even when dovecot isn't running.
+
+M src/util/dovecot-sysreport
+
+2021-04-01 14:16:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ebf2557b57)
+
+ util/dovecot-sysreport --core: Support multiple core files
+
+
+M doc/man/dovecot-sysreport.1.in
+M src/util/dovecot-sysreport
+
+2021-04-01 14:12:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d7cb97d26c)
+
+ util/dovecot-sysreport --core: Check gdb existence earlier
+
+ Simplifies the next commit.
+
+M src/util/dovecot-sysreport
+
+2021-04-01 14:09:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (74d399f441)
+
+ util/dovecot-sysreport --core: Change binary path to be optional
+
+ If not specified, detect it from the core file itself
+
+M src/util/dovecot-sysreport
+
+2021-05-06 01:08:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e2651f1d5e)
+
+ global: Use array_idx_elem() where possible
+
+
+M src/auth/auth-worker-server.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-lua.c
+M src/director/director.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/indexer/indexer-queue.c
+M src/lib-dict-backend/dict-ldap.c
+M src/lib-dict/dict-client.c
+M src/lib-dns/test-dns-util.c
+M src/lib-http/http-server-resource.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-ldap/ldap-connection.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/mail-search-args-imap.c
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-list.c
+M src/lib/hash2.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/push-notification/push-notification-drivers.c
+M src/plugins/push-notification/push-notification-events.c
+M src/plugins/quota/quota.c
+M src/plugins/virtual/virtual-save.c
+M src/stats/stats-service-openmetrics.c
+
+2021-05-04 16:40:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2070e0faf9)
+
+ lib: Add array_idx_elem()
+
+ This returns array_idx()'s value dereferenced, so it only works for arrays
+ of pointers.
+
+ Note that using *array_idx() does the same, but it won't compile if the
+ compiler doesn't have typeof() support.
+
+M src/lib/array.h
+M src/lib/test-array.c
+
+2021-02-10 22:06:29 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f79dbc248c)
+
+ lib: Remove array_swap()
+
+ It's not used anywhere, and it's a bit too weird.
+
+M src/lib/array.h
+M src/lib/test-array.c
+
+2021-02-10 21:45:58 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2b50ec125b)
+
+ global: Use array_foreach_elem() where possible
+
+
+M src/dict/dict-commands.c
+M src/imap-login/imap-login-commands.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/ipc/ipc-connection.c
+M src/ipc/ipc-group.c
+M src/lib-fs/fs-api.c
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-master/master-service-settings.c
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-remote.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-test/test-subprocess.c
+M src/lmtp/lmtp-proxy.c
+M src/login-common/login-proxy.c
+M src/login-common/main.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/replicator-brain.c
+
+2021-02-10 21:45:41 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b3bc25eac5)
+
+ lib-fts: Use array_foreach_elem() where possible
+
+
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-language.c
+M src/lib-fts/fts-tokenizer.c
+
+2021-02-10 21:45:19 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (bdc37a1d9c)
+
+ submission: Use array_foreach_elem() where possible
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend.c
+M src/submission/submission-recipient.c
+
+2021-02-10 21:43:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6392b0706f)
+
+ stats: Use array_foreach_elem() where possible
+
+
+M src/stats/client-http.c
+M src/stats/stats-metrics.c
+M src/stats/stats-service-openmetrics.c
+M src/stats/stats-settings.c
+
+2021-02-10 21:35:04 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7c7e7215de)
+
+ lib-smtp: Use array_foreach_elem() where possible
+
+
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/smtp-submit.c
+
+2021-02-10 21:31:16 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (162320b73c)
+
+ lib-old-stats: Use array_foreach_elem() where possible
+
+
+M src/lib-old-stats/stats.c
+
+2021-02-10 21:20:25 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1bf42b1140)
+
+ config: Use array_foreach_elem() where possible
+
+
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/doveconf.c
+
+2021-02-10 21:18:42 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3200ca5b9a)
+
+ plugins: Use array_foreach_elem() where possible
+
+
+M src/plugins/fts/fts-search-args.c
+M src/plugins/fts/fts-user.c
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+M src/plugins/mail-crypt/mail-crypt-acl-plugin.c
+M src/plugins/mail-crypt/mail-crypt-key.c
+M src/plugins/notify-status/notify-status-plugin.c
+M src/plugins/push-notification/push-notification-driver-dlog.c
+M src/plugins/push-notification/push-notification-driver-lua.c
+M src/plugins/push-notification/push-notification-drivers.c
+M src/plugins/push-notification/push-notification-event-flagsclear.c
+M src/plugins/push-notification/push-notification-event-flagsset.c
+M src/plugins/push-notification/push-notification-plugin.c
+M src/plugins/push-notification/push-notification-triggers.c
+
+2021-02-10 21:09:42 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6a1099f54a)
+
+ master: Use array_foreach_elem() where possible
+
+
+M src/master/main.c
+M src/master/master-client.c
+M src/master/master-settings.c
+M src/master/service-listen.c
+M src/master/service-log.c
+M src/master/service-monitor.c
+M src/master/service.c
+
+2021-02-10 21:03:16 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4dea1aeb5f)
+
+ lib-index: Use array_foreach_elem() where possible
+
+
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-transaction.c
+
+2021-02-10 21:01:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6d8e8e328a)
+
+ lib-imap-client: Use array_foreach_elem() where possible
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+
+2021-02-10 20:58:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d97ca599fa)
+
+ lib-http: Use array_foreach_elem() where possible
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client.c
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-request.c
+M src/lib-http/http-response.c
+M src/lib-http/http-server-resource.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.c
+
+2021-02-10 20:45:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (93c59b3309)
+
+ lib-dict: Use array_foreach_elem() where possible
+
+
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict.c
+
+2021-02-10 20:44:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b797b8377c)
+
+ imap: Use array_foreach_elem() where possible
+
+
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-notify.c
+M src/imap/imap-state.c
+
+2021-02-10 20:41:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (75b985c753)
+
+ doveadm: Use array_foreach_elem() where possible
+
+
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-fs.c
+M src/doveadm/doveadm-mail-batch.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/server-connection.c
+
+2021-02-10 20:34:25 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8364fd0be1)
+
+ director: Use array_foreach_elem() where possible
+
+
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/mail-host.c
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/user-directory.c
+
+2021-02-10 20:25:30 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (cab67ca2cd)
+
+ auth: Use array_foreach_elem() where possible
+
+
+M src/auth/auth-worker-server.c
+M src/auth/auth.c
+M src/auth/db-dict-cache-key.c
+M src/auth/db-dict.c
+M src/auth/passdb.c
+M src/auth/userdb.c
+
+2021-02-10 20:13:52 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6c540c71a7)
+
+ lib-storage: Use array_foreach_elem() where possible
+
+
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/mail-autoexpunge.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-lua.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-watch.c
+
+2021-02-10 20:06:07 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6934e3eff8)
+
+ lib: Use array_foreach_elem() where possible
+
+
+M src/lib/env-util.c
+M src/lib/event-filter.c
+M src/lib/ioloop.c
+M src/lib/istream-multiplex.c
+M src/lib/lib-event.c
+M src/lib/ostream-multiplex.c
+
+2021-02-10 19:53:25 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e788a21940)
+
+ lib: array.h - Update array_foreach*() comments
+
+
+M src/lib/array.h
+
+2021-02-10 19:49:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (178a24d520)
+
+ lib: array.h - Require C99
+
+ We're already requiring C99 elsewhere.
+
+M src/lib/array.h
+
+2021-05-05 17:49:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (50957d30d6)
+
+ lib: array_foreach_elem() - Don't allow using it for sizes larger than a
+ pointer
+
+ Dovecot doesn't use any types larger than the pointer size (e.g. long
+ double). Restricting it to max pointer size might prevent inefficient usage.
+
+M src/lib/array.h
+M src/lib/test-array.c
+
+2021-02-10 19:47:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (db41d8aef3)
+
+ lib: array_foreach_elem() - Small optimization
+
+ Avoid having to recalculate the end of the array after each loop. This makes
+ the resulting assembler output similar to array_foreach().
+
+M src/lib/array.h
+
+2021-04-01 17:24:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c9fa200175)
+
+ lib-index: Try harder to open index with MAIL_INDEX_OPEN_FLAG_READONLY
+
+ The readonly-flag is used when rebuilding index or dumping indexes. In both
+ cases it's better to try to open the index as best as possible, since fsck
+ isn't allowed.
+
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index.c
+
+2021-05-06 15:17:05 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (ef61bea432)
+
+ lib-lua: Remove obsolete threading check
+
+ We support multiple lua thread as long as they are created using the
+ dlua_script_new_thread() helper.
+
+M src/lib-lua/dlua-script.c
+
+2021-05-05 16:47:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3d2a582d56)
+
+ dict-ldap: Fix calling dict_wait() on async lookup
+
+ The dict_wait() could have waited forever because nothing stopped the
+ ioloop. Also fix calling the callback with the proper active ioloop.
+
+M src/lib-dict-backend/dict-ldap.c
+
+2021-05-05 16:41:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8e730ab0b7)
+
+ dict-redis: dict-client: Use the proper active ioloop while calling commit()
+ callbacks
+
+ If the callbacks did any IO/timeout changes, they would have gone to a wrong
+ ioloop. This would have caused a warning about IO/timeout leak though, so it
+ doesn't seem like there were such code paths currently.
+
+M src/lib-dict/dict-redis.c
+
+2021-05-05 16:37:52 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d559180d9e)
+
+ dict-memcached-ascii: Assert-crash if dict ioloop gets any unexpected IOs or
+ timeouts
+
+
+M src/lib-dict/dict-memcached-ascii.c
+
+2021-03-22 17:05:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (92c30d0d36)
+
+ dict-client: Assert-crash if dict ioloop gets any unexpected IOs or timeouts
+
+
+M src/lib-dict/dict-client.c
+
+2021-03-22 16:50:04 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ad5d1ee03f)
+
+ dict-client: Use the proper active ioloop while calling commit() and
+ lookup() callbacks
+
+ If the callbacks did any IO/timeout changes, they would have gone to a wrong
+ ioloop.
+
+M src/lib-dict/dict-client.c
+
+2021-03-22 16:59:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4c40609b56)
+
+ lib: Add io_loop_is_empty()
+
+
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+M src/lib/test-ioloop.c
+
+2021-05-05 11:19:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (49b2183103)
+
+ stats: Truncate field values to 1000 bytes with log exporter
+
+ This attempts to prevent log lines from growing longer than 4 kB, which
+ causes them to wrap.
+
+M src/stats/event-exporter-fmt-json.c
+M src/stats/event-exporter-fmt-tab-text.c
+M src/stats/stats-metrics.c
+M src/stats/stats-metrics.h
+
+2021-05-04 14:12:20 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2227e1ab77)
+
+ imap: copy/move: Refresh source mailbox before copying/moving
+
+ This way if another session had just expunged mails, the expunges will be
+ noticed and the copy/move will abort early.
+
+M src/imap/cmd-copy.c
+
+2021-04-29 15:49:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (143b7c2b41)
+
+ imap: move: Sync source mailbox between commits
+
+ This way the messages are actually expunged from storage after the commit,
+ not just requested to be expunged. Most importantly this means that if
+ another session attempts to start moving the same messages it can be noticed
+ earlier and one of the moves aborted.
+
+M src/imap/cmd-copy.c
+
+2021-04-29 15:45:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (739a46fe1b)
+
+ imap: Add imap_search_anyset_to_uidset()
+
+
+M src/imap/imap-search-args.c
+M src/imap/imap-search-args.h
+
+2021-04-29 15:46:48 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3704149543)
+
+ imap: Allow imap_search_seqset_iter_init() to iterate over uidset also
+
+
+M src/imap/imap-search-args.c
+M src/imap/imap-search-args.h
+
+2021-04-29 15:43:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3421ea2f78)
+
+ lib-storage: Fix mailbox_get_uid_range() to handle "*" correctly
+
+ Previously attempting to convert e.g. 1:* range would just assert-crash.
+ There were no such callers currently though.
+
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/test-mailbox-get.c
+
+2021-04-29 15:39:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (91ba53a4a0)
+
+ lib-storage: Always set struct mail.expunged
+
+ Previously it was set only when some error noticed that there was a problem
+ accessing the mail. Now this is set immediately in mail_set_seq(). This
+ allows e.g. IMAP COPY/MOVE to abort when it encounters expunged mails.
+
+M src/lib-storage/index/index-mail.c
+
+2021-05-04 02:19:07 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d9ce815d93)
+
+ lib-program-client: test-program-client-unix - Add test for delayed
+ disconnect after sending result code.
+
+
+M src/lib-program-client/test-program-client-unix.c
+
+2021-05-03 23:54:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9599b0daaa)
+
+ lib-program-client: test-program-client-net - Add test for delayed
+ disconnect after sending result code.
+
+
+M src/lib-program-client/test-program-client-net.c
+
+2021-05-04 02:12:21 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9af1bb34e8)
+
+ lib-program-client: test-program-client-unix - Fix server-side argument
+ count check.
+
+
+M src/lib-program-client/test-program-client-unix.c
+
+2021-05-04 02:11:34 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (982322ac6e)
+
+ lib-program-client: test-program-client-net - Fix server-side argument count
+ check.
+
+
+M src/lib-program-client/test-program-client-net.c
+
+2021-05-03 23:54:26 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (1666e897f3)
+
+ lib-program-client: program-client-remote - Fix result parsing in the
+ istream.
+
+ This fixes internal errors occurring when the parent stream is fully read
+ before EOF is signaled. This was caused by the fact that the final bytes
+ were not always reserved properly for parsing, so that these ended up being
+ exposed to and eaten by the application. At the end, the result parsing code
+ would be faced with no data, thereby causing an internal error to be
+ returned by the calling application.
+
+ This came to light as CI tests involving Sieve extprograms failed
+ irregularly. This problem only occurs when a (slight) delay exists between
+ the last data being sent and the connection being closed by the script
+ service, making this hard to reproduce. It typically occurred only under
+ high server load.
+
+M src/lib-program-client/program-client-remote.c
+
+2021-05-03 23:51:36 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4d4b1a1798)
+
+ lib-program-client: program-client-remote - Fix error handling of istream.
+
+ These days, input streams also set eof upon error, making the existing code
+ path wrong.
+
+M src/lib-program-client/program-client-remote.c
+
+2021-05-04 01:46:22 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0ffc146325)
+
+ lib-program-client: program-client-remote - Add proper error and debug
+ logging for result code parsing.
+
+
+M src/lib-program-client/program-client-remote.c
+
+2021-05-04 01:34:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (17ca57dba7)
+
+ lib-program-client: program-client-local - Add debug for child start
+ problem.
+
+
+M src/lib-program-client/program-client-local.c
+
+2021-05-03 23:49:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ca34fd9db1)
+
+ lib-program-client: Reformat test-program-client-unix.c.
+
+
+M src/lib-program-client/test-program-client-unix.c
+
+2021-05-03 23:43:47 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (e04a83afc8)
+
+ lib-program-client: Reformat test-program-client-net.c.
+
+
+M src/lib-program-client/test-program-client-net.c
+
+2021-05-03 23:35:38 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (cfb3944760)
+
+ lib-program-client: Reformat program-client-remote.c.
+
+
+M src/lib-program-client/program-client-remote.c
+
+2021-04-22 12:07:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (159e07879e)
+
+ lib-test: Convert test_assert()s to fatal asserts when running static
+ analyzer
+
+ This avoids unnecessary warnings about unit tests crashing when
+ test_assert()s fail. The warnings are correct, but it's a bit unnecessary to
+ write the failure code paths that nicely.
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2021-04-26 14:14:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e71b8894ab)
+
+ lib: Perform most of the event logging within data stack frame
+
+
+M src/lib/event-log.c
+M src/lib/test-event-log.c
+
+2021-04-26 14:13:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7fae81da43)
+
+ lib-storage: Add data stack frames to mail_set_*()
+
+ This can reduce data stack usage significantly with mail thread building.
+
+M src/lib-storage/mail.c
+
+2021-03-31 16:26:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6a058be026)
+
+ lib: data-stack - If frame doesn't change current block, no blocks need to
+ be freed
+
+ This is a micro-optimization to t_pop() to avoid an extra if-check.
+
+M src/lib/data-stack.c
+
+2021-03-31 16:22:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (68ecc20d7b)
+
+ lib: data-stack - Use stack_block.left_lowwater only with DEBUG
+
+
+M src/lib/data-stack.c
+
+2021-03-31 16:17:30 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e8942f869c)
+
+ lib: Remove data_stack_set_clean_after_pop()
+
+
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+M src/lib/test-data-stack.c
+
+2021-03-31 16:04:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (62fa24f787)
+
+ lib: data-stack - Move frame memory allocation inside data stack block
+
+
+M src/lib/data-stack.c
+M src/lib/test-data-stack.c
+
+2021-03-31 14:25:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (158dfdf6ff)
+
+ lib: data-stack - Replace stack_frame_block with a single stack_frame
+
+ This simplifies the code at the cost of more memory allocations. However,
+ this will be fixed by the following commit.
+
+M src/lib/data-stack.c
+
+2020-11-16 20:54:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0e3652c4ea)
+
+ lib: data-stack - Add data_stack_grow event
+
+ This is now always enabled, not just in debug builds.
+
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+M src/lib/lib.c
+M src/lib/test-data-stack.c
+
+2021-03-31 14:40:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (aff92930fb)
+
+ lib: t_get_bytes_available() - Fix return value when current_block is almost
+ full
+
+
+M src/lib/data-stack.c
+M src/lib/test-data-stack.c
+
+2020-11-16 14:56:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f520a62a25)
+
+ lib-settings: settings_check() - Avoid growing data stack unnecessarily
+
+ Each check_func() could have increased data stack usage. Add it inside a
+ data stack frame to avoid it growing unnecessarily large.
+
+M src/lib-settings/settings-parser.c
+
+2020-11-16 14:58:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (df4f7032cb)
+
+ lib: module_dir_*load*(): Avoid growing data stack when checking duplicates
+
+ This check could have unnecessarily grown data stack size when many plugins
+ are installed.
+
+M src/lib/module-dir.c
+
+2020-11-16 19:37:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a7ccda0286)
+
+ global: Use T_END_PASS_STR() where possible
+
+
+M src/config/config-parser.c
+M src/lib-fs/fs-api.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-mail/mail-user-hash.c
+M src/lib-mail/message-search.c
+M src/lib-settings/settings-parser.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-sqlpool.c
+
+2020-11-16 18:23:59 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6f68dc6736)
+
+ lib: data-stack - Add t_pop_pass_str() and T_END_PASS_STR[_IF]()
+
+ This simplifies passing error strings out of stack frames. For example:
+
+ const char *error;
+ T_BEGIN {
+ ...
+ if (ret < 0)
+ error = t_strdup_printf("foo() failed: %m");
+ } T_END_PASS_STR_IF(ret < 0, &error);
+ // error is still valid
+
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+M src/lib/test-data-stack.c
+
+2021-03-31 11:56:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b5b15e1d41)
+
+ lib: Add data_stack_frame_contains()
+
+
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+
+2021-03-31 13:19:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f0180e7885)
+
+ lib: Add data_stack_get_alloc_size()
+
+
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+
+2021-03-31 12:59:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b2bb139396)
+
+ lib: Fix data_stack_get_used_size() to return correct size
+
+ It only included the last allocated block's used size.
+
+M src/lib/data-stack.c
+
+2021-03-31 12:52:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1f021a21b1)
+
+ lib: data-stack - Don't set stack_block.next=NULL after mem_block_alloc()
+ already did it
+
+
+M src/lib/data-stack.c
+
+2021-03-31 12:51:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7b1c81b369)
+
+ lib: data-stack - mem_block_alloc() - Set stack_block.left to final value
+ immediately
+
+ There's no need to first set it to 0 and then have the caller change it
+ again.
+
+M src/lib/data-stack.c
+
+2020-11-17 00:36:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6c37802b18)
+
+ lib: data-stack - Remove unused_frame_blocks
+
+ It's not that expensive to keep allocating them as needed, and it's a
+ potential waste of memory to keep them around.
+
+M src/lib/data-stack.c
+
+2020-11-17 00:32:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2da21080db)
+
+ lib: data-stack - Don't keep largest unused block in memory
+
+ It's not that expensive to allocate it again, but it might be expensive to
+ keep allocated a block that became huge due to a bug. The huge block could
+ be just wasting memory without ever being used again.
+
+M src/lib/data-stack.c
+
+2020-11-16 18:09:44 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (59ff832bd1)
+
+ lib: data-stack - Add unit test for data_stack_set_clean_after_pop()
+
+
+M src/lib/test-data-stack.c
+
+2020-11-16 18:08:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8d5c1b2ecb)
+
+ lib: data-stack - Rename variables in clean_after_pop handling
+
+ These new variables make more sense than the old ones.
+
+M src/lib/data-stack.c
+
+2020-11-16 18:06:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c702072ece)
+
+ lib: data-stack - Rename lowwater to left_lowwater
+
+ This describes its behavior better. Also add a comment explaining what
+ exactly it is.
+
+M src/lib/data-stack.c
+
+2020-11-16 17:57:39 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8a37fc6f68)
+
+ lib: data-stack - Rename block_space_used[] to block_space_left[]
+
+ This describes its behavior better. Also add a comment explaining what
+ exactly it is.
+
+M src/lib/data-stack.c
+
+2020-11-16 15:25:36 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d3e36b20b1)
+
+ lib: data-stack - Use INITIAL_STACK_SIZE without growing it to nearest power
+
+
+M src/lib/data-stack.c
+
+2021-03-31 13:13:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (dda74fe776)
+
+ global: Never use t_push(NULL)
+
+ A non-NULL name is expected by the debug logging.
+
+M src/lib-master/master-service.c
+M src/lib/data-stack.c
+
+2021-03-31 13:11:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (afe3adbd51)
+
+ lib: Recalculate events' debug logging state after replacing event filters
+
+
+M src/lib/event-log.c
+M src/lib/event-log.h
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+
+2021-05-03 19:40:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (10dbf465e0)
+
+ lib-index: test-mail-index-sync-ext - Fix memory leak
+
+
+M src/lib-index/test-mail-index-sync-ext.c
+
+2021-04-12 22:43:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (02de37f6c2)
+
+ lib-smtp: smtp-server-transaction - Make sure current data command is
+ recorded as soon as possible.
+
+ This prevents crashes when replies are sent early. This also prevents
+ crashes when invalid DATA commands are sent in succession.
+
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/test-smtp-server-errors.c
+
+2021-04-12 22:50:48 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b9d41364d0)
+
+ lib-smtp: smtp-server-transaction - Rename
+ smtp_server_transaction_last_data() to
+ smtp_server_transaction_data_command().
+
+
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-transaction.c
+
+2021-04-12 22:46:17 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b98ebb2b00)
+
+ lib-smtp: smtp-server-recipient - Rename smtp_server_recipient_last_data()
+ to smtp_server_recipient_data_command().
+
+
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server-transaction.c
+
+2021-05-03 14:07:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (635fb845ea)
+
+ login-common: Add client.list_type to better track which linked list client
+ belongs to
+
+ Add asserts to make sure the client is always in the expected list.
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2021-04-23 16:43:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e619fe552d)
+
+ login-common: Fix handling destroyed_clients linked list
+
+ The client needs to be removed from destroyed_clients linked list before
+ it's added to client_fd_proxies linked list.
+
+ Broken by 1c622cdbe08df2f642e28923c39894516143ae2a
+
+M src/login-common/client-common.c
+
+2021-02-06 20:11:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1992a4d1d6)
+
+ lib-index: test-mail-index-sync-ext - Fix to link with the full libindex
+
+
+M src/lib-index/Makefile.am
+M src/lib-index/test-mail-index-sync-ext.c
+
+2021-02-02 17:41:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (37a5735c2d)
+
+ lib-index: Add/update comments related to cloning maps
+
+
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync-update.c
+
+2021-02-02 17:25:33 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b249bb724c)
+
+ lib-index: Don't call mail_index_modseq_sync_map_replaced() if nothing
+ changed
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2021-02-02 16:13:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e274d915fc)
+
+ lib-index: Add comments to struct mail_transaction_log and related
+
+
+M src/lib-index/mail-transaction-log-private.h
+
+2021-02-02 16:13:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4c74469147)
+
+ lib-index: Rename MAIL_TRANSACTION_LOG_LOCK_CHANGE_TIMEOUT to .._DOTLOCK_..
+
+
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+
+2021-02-02 16:02:58 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f309a14f3d)
+
+ lib-index: Rename mail_transaction_log_file.lock_created to lock_create_time
+
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+
+2021-02-02 15:59:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7eb8a13552)
+
+ lib-index: Move mail_transaction_log_file_get_modseq_next_offset() to its
+ own file
+
+ This nicely isolates the modseq_cache code to its own file.
+
+M src/lib-index/Makefile.am
+M src/lib-index/mail-transaction-log-file.c
+A src/lib-index/mail-transaction-log-modseq.c
+
+2021-02-02 15:26:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (52fb040144)
+
+ lib-index: Remove unused mail_transaction_log_file.saved_tail_sync_offset
+
+ Shrinking tail_offsets have been ignored since
+ 082e82792b8ac33ad42beac510441b37a3c50737
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+
+2021-02-02 15:24:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f2a5850203)
+
+ lib-index: Rename mail_transaction_log_file.saved_tail_offset to
+ last_read_hdr_tail_offset
+
+ This describes better what it's actually used for.
+
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+
+2021-02-02 15:07:02 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9a2f2a1149)
+
+ lib-index: Remove mail_transaction_log.nfs_flush
+
+ Just access it via mail_index.flags like it's done elsewhere.
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+
+2021-02-02 14:59:02 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (751e99be42)
+
+ lib-index: Rename mail_transaction_log.dotlock_count to dotlock_refcount
+
+ Also change it to a signed integer and add asserts to make sure it's >=0.
+ This is how refcounts are handled generally in Dovecot.
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+
+2021-02-01 23:05:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (63cf1888d1)
+
+ lib-index: Update mail caching decisions explanation comment.
+
+
+M src/lib-index/mail-cache-decisions.c
+
+2021-02-01 22:30:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f7ab72fd4e)
+
+ lib-index: Add test-mail-cache-fields unit test
+
+
+M src/lib-index/Makefile.am
+A src/lib-index/test-mail-cache-fields.c
+
+2021-02-01 22:11:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ea548e9c48)
+
+ lib-index: Add comments to struct mail_cache and related
+
+ Also reorder some fields so the grouping makes more sense.
+
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.h
+
+2021-01-25 21:10:32 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (67b438b599)
+
+ lib-index: Add comments to struct mail_cache_header and related
+
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.h
+
+2021-01-29 19:11:36 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (cf1c443ca8)
+
+ lib-index: Add comments to mail-transaction-log.h
+
+
+M src/lib-index/mail-transaction-log.h
+
+2021-01-25 23:06:59 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d13f33d7a9)
+
+ lib-index: Update mail_index_mail_flags comments and add
+ MAIL_INDEX_MAIL_FLAG_UNUSED
+
+
+M src/lib-index/mail-index.h
+
+2021-01-25 22:42:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9a71b83bdd)
+
+ lib-index: Add comments to struct mail_index_ext_header and related
+
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-transaction-log.h
+
+2021-01-25 22:10:29 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f18d48f83f)
+
+ lib-index: Add comments to struct mail_index_header and related
+
+
+M src/lib-index/mail-index.h
+
+2021-01-20 19:22:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (60db30ce31)
+
+ lib-index: Add comments to struct mail_index_view
+
+
+M src/lib-index/mail-index-view-private.h
+
+2021-01-20 19:21:10 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (52ae13770e)
+
+ lib-index: Add comments and reorder fields in struct mail_index
+
+ The field ordering was pretty random for some fields. The new ordering
+ should make more sense.
+
+M src/lib-index/mail-index-private.h
+
+2021-01-20 18:43:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (382fe4cf01)
+
+ lib-index: Rename mail_index.pending_log2_rotate_time to
+ hdr_log2_rotate_time_delayed_update
+
+ This describes better what it does. Also add some comments explaining what
+ its purpose is.
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-transaction-log.c
+
+2021-02-06 21:00:58 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ffe862c746)
+
+ lib-index: mail_index_expunge_handler_t - Remove seq and context parameters
+
+ They're not actually used anywhere.
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index.c
+
+2021-01-25 22:44:17 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7943d5ec25)
+
+ lib-index: mail_index_register_expunge_handler() - Remove call_always
+ handling
+
+ It's not needed anymore.
+
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index.c
+
+2021-01-20 18:17:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5068447559)
+
+ lib-index: Remove "sync lost" callback handlers
+
+ These were used to invalidate in-memory dovecot.index.cache cache with
+ mmap_disable=yes. This became unnecessary when cache file became
+ append-only.
+
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+
+2021-01-20 18:07:33 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (15aea21ba8)
+
+ lib-index: Move fields from struct mail_index to struct mail_index_error
+
+ This clarifies which are error related fields.
+
+ nodiskspace isn't actually currently used for anything, but it seems
+ potentially useful in the future.
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index.c
+
+2021-01-20 18:04:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ba11772d6e)
+
+ lib-index: Use mail_index_reset_error() when opening index
+
+ This resets the error more cleanly than changing nodiskspace directly.
+
+M src/lib-index/mail-index.c
+
+2021-01-20 18:01:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (25d5331503)
+
+ lib-index: Remove mail_index.index_lock_timeout
+
+ Nothing needs it.
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-file.c
+
+2021-01-20 17:54:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2f0a0e87b2)
+
+ lib-index: Move fields from struct mail_index to struct mail_index_settings
+
+ This clarifies which fields are settings related.
+
+M src/lib-index/mail-cache-purge.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log.c
+
+2021-01-20 17:35:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (706709e677)
+
+ lib-index: Remove mail_index_view.index_sync_view
+
+ Nothing was using it.
+
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-view-private.h
+
+2021-01-20 17:34:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (920b0ad025)
+
+ lib-index: Remove mail_index_view.transactions and related functions
+
+ It's enough to have transaction_list, nothing needs the count.
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-view-private.h
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index-view.c
+
+2021-01-20 17:31:36 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ab3f44539b)
+
+ lib-index: Change mail_index_view_get_transaction_count() into
+ _have_transactions()
+
+ This allows removing mail_index_view.transactions in the next commit.
+
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index.h
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2021-01-20 17:22:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (09a5aeb327)
+
+ lib-index: Rename mail_index.last_read_log_* to main_index_hdr_log_*
+
+ Also update the comment to describe better what the variables do.
+
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-write.c
+
+2021-01-19 12:51:07 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1eea5d4468)
+
+ lib-index: Remove mail_index_map.hdr_base
+
+ It was just causing unnecessary complexity. Simpler to just keep
+ hdr_copy_buf always up-to-date and access it directly.
+
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/test-mail-index-write.c
+
+2021-01-29 17:45:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6383fd8538)
+
+ lib-index: MAIL_TRANSACTION_LOG_VERSION_* - Add also FEATURE_ suffix for
+ feature macros
+
+ This more clearly differentiates them from the other
+ MAIL_TRANSACTION_LOG_VERSION_* macros
+
+M src/lib-index/mail-transaction-log.h
+
+2021-01-29 17:03:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c697dd10a1)
+
+ lib-index: Verify that keywords in dovecot.index header don't change
+ unexpectedly
+
+ Previously this was behind DEBUG for performance reasons, but that was only
+ because dovecot.index file used to be modified directly. Nowadays it's rare
+ that the index is being re-read within the same session (most changes are
+ read via dovecot.index.log), so it's better to verify that things are
+ working correctly.
+
+M src/lib-index/mail-index-map-hdr.c
+
+2021-01-19 12:48:16 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d71c7b5cf2)
+
+ lib-index: Add and use MAIL_INDEX_MAP_HDR_OFFSET() helper macro
+
+
+M src/doveadm/doveadm-dump-index.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index-write.c
+
+2021-01-19 12:42:02 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (55f8474dbf)
+
+ lib-index: Fill mail_index_map.hdr_copy_buf also when mmap()ing index
+
+ This doesn't seem to have been necessary so far, but will be required by the
+ following changes.
+
+M src/lib-index/mail-index-map-read.c
+
+2021-05-03 13:15:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7031569672)
+
+ imap: Fix using SETMETADATA NIL to unset value
+
+ Broken by 923362d27d9b2428e301614673cb0efba3bf928f
+
+M src/imap/cmd-setmetadata.c
+
+2021-04-22 11:36:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (28ca2bb152)
+
+ master: Explain how "client_limit is lower than required" is calculated in
+ the warning
+
+
+M src/config/settings-get.pl
+M src/master/master-settings.c
+
+2021-04-21 10:41:27 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (a200c09711)
+
+ stats: Use only one filter for stats and exports
+
+ Since there is no way to have a exported-only metric (i.e., all metrics are
+ used for statistics calculations), the exported metrics are always a subset
+ of all metrics. Additionally, since exported metrics have a non-NULL
+ exporter info while stats-only metrics have a NULL, it is very easy to check
+ if a given metric shoud be exported or not.
+
+ We can combine these facts and simplify the event matching. We can simply
+ match against the "all metrics" filter, perform the statistics, and then
+ export the event if needed.
+
+ This reduces the CPU load quite dramatically since we are no longer
+ duplicating the matching for exported metrics. Stats-only metrics shouldn't
+ see any measurable difference in performance.
+
+M src/stats/stats-metrics.c
+
+2021-04-21 11:50:54 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (32cb941a17)
+
+ lib: event filter - Extend existing queries if context matches
+ (event_filter_parse)
+
+ Since there is no practical difference between a filter with one query and a
+ filter with multiple queries using the same context pointer, we can extend
+ the existing queries as long as there is a context pointer match. This
+ reduces the number of queries (and filter expressions) thereby increasing
+ future optimization opportunities.
+
+M src/lib/event-filter.c
+
+2021-04-21 11:47:51 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (12507668f7)
+
+ lib: event filter - Extend existing queries if context matches
+ (event_filter_merge_with_context*)
+
+ Since there is no practical difference between a filter with one query and a
+ filter with multiple queries using the same context pointer, we can extend
+ the existing queries as long as there is a context pointer match. This
+ reduces the number of queries (and filter expressions) thereby increasing
+ future optimization opportunities.
+
+M src/lib/event-filter.c
+
+2021-04-21 11:42:55 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (1115aeff8b)
+
+ lib: event filter - Extend existing queries if context matches
+ (event_filter_add)
+
+ Since there is no practical difference between a filter with one query and a
+ filter with multiple queries using the same context pointer, we can extend
+ the existing queries as long as there is a context pointer match. This
+ reduces the number of queries (and filter expressions) thereby increasing
+ future optimization opportunities.
+
+M src/lib/event-filter.c
+
+2021-04-21 11:52:27 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (c18107397c)
+
+ lib: event filter - Move add_node higher up in the file to avoid a prototype
+
+
+M src/lib/event-filter.c
+
+2021-04-21 11:37:31 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (725c7bdec7)
+
+ lib: event filter - Add filter op argument to add_node
+
+
+M src/lib/event-filter.c
+
+2021-04-21 11:19:31 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (d8d2f0ea3c)
+
+ lib: event filter - Generalize query construction helpers
+
+ If instead of taking the internal query, they take a filter expression node,
+ they can be reused by optimizations in subsequent commits.
+
+M src/lib/event-filter.c
+
+2021-04-26 19:49:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (714fb52a99)
+
+ lib: Rename event_find_field() to event_find_field_nonrecursive() and make
+ it public
+
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2021-03-16 19:13:23 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b3460178be)
+
+ lib: Reformat lib-event to avoid long lines
+
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2021-03-16 19:09:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (07437af0e5)
+
+ lib: Rename event_find_field*() to event_find_field_recursive*()
+
+ This clarifies how it works.
+
+M src/auth/test-auth-request-fields.c
+M src/lib-dict/dict.c
+M src/lib/event-filter.c
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+M src/lib/test-event-filter-expr.c
+M src/lib/test-event-filter.c
+M src/stats/event-exporter-fmt-json.c
+M src/stats/event-exporter-fmt-tab-text.c
+M src/stats/stats-metrics.c
+
+2021-03-16 18:26:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (30fd8eada2)
+
+ lib: event_find_field() - Rewrite without using recursion
+
+ This simplifies the following change.
+
+M src/lib/lib-event.c
+
+2021-03-09 16:32:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f9177a5788)
+
+ lib: event_match_field() - Avoid recursing event fields twice
+
+ event_find_field() is already recursive.
+
+M src/lib/event-filter.c
+
+2021-03-09 16:31:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (012a453862)
+
+ lib: Split off event_has_category_nonrecursive()
+
+
+M src/lib/event-filter.c
+
+2021-03-11 18:55:21 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (66d3263685)
+
+ lib-master: test-event-stats - Fix "large event id" test to check for END
+
+ Otherwise the END would be visible in the next test.
+
+M src/lib-master/test-event-stats.c
+
+2021-03-11 18:29:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a6437c7668)
+
+ lib-master: test-event-stats - Avoid busy-looping while waiting for "test
+ done" file
+
+
+M src/lib-master/test-event-stats.c
+
+2021-01-27 10:55:14 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c0f394fe76)
+
+ lib: event importing - Do not accept empty field name
+
+
+M src/lib/lib-event.c
+
+2020-12-15 09:15:56 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (e3bd0f78e1)
+
+ lib: lib-event - Use named initializators for passthrough event
+
+
+M src/lib/lib-event.c
+
+2021-04-26 15:39:36 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (94f8661813)
+
+ m4: Include local copy of pkg.m4
+
+ We need features not present in early versions. The variable=name support
+ has been there since 1.7.4 of pkg-config.
+
+M configure.ac
+A m4/pkg.m4
+
+2021-04-21 19:18:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0b49075d90)
+
+ lib-storage: Avoid logging the same mail istream read error multiple times
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2021-04-26 12:02:58 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (226d78ac75)
+
+ master: Notify systemd after we are really stopped
+
+
+M src/master/main.c
+
+2021-04-26 08:39:50 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2465a431d4)
+
+ Makefile.am: Fix systemd detection mess in automake
+
+
+M Makefile.am
+M configure.ac
+A m4/want_systemd.m4
+
+2021-04-26 08:29:02 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (8df32a724b)
+
+ dovecot.service: Set type to notify only when compiling with systemd
+
+
+M Makefile.am
+M configure.ac
+M dovecot.service.in
+
+2021-04-26 08:38:14 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (599271fcc1)
+
+ Makefile.am: Make systemd service file generation more readable
+
+
+M Makefile.am
+
+2021-04-26 09:38:44 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2353fd43af)
+
+ configure.ac: Move CFLAGS to right place
+
+ Now it's in middle of passdb displaying
+
+M configure.ac
+
+2021-03-24 16:09:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (eb6509f963)
+
+ lib-storage: Fix detecting duplicate nodes in mailbox list index
+
+ The duplicates were checked only for root nodes, not for child nodes.
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2021-04-08 17:08:54 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (49f4107082)
+
+ driver-mysql: Rollback a failed multi-statement transaction
+
+ If transaction failed, send "ROLLBACK" statement.
+
+M src/lib-sql/driver-mysql.c
+
+2021-04-07 16:44:00 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (0795e4cc62)
+
+ driver-mysql: Avoid BEGIN/COMMIT for single statement transactions
+
+ To reduce unnecessary load to database.
+
+M src/lib-sql/driver-mysql.c
+
+2021-04-01 20:39:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0f66865e0e)
+
+ lib-imap: imap_bodystructure_write() - Return error on corruption instead of
+ assert-crash
+
+ This could happen if broken message_parts came from cache and
+ message_part->data was newly read from the mail input.
+
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap/fuzz-imap-bodystructure.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-bodystructure.h
+M src/lib-imap/test-imap-bodystructure.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/index-mail.c
+
+2021-04-08 15:04:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4db18b7413)
+
+ lib-storage: Split off index_mail_parse_bodystructure_full()
+
+
+M src/lib-storage/index/index-mail.c
+
+2021-04-09 14:09:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (12ae2af6ac)
+
+ lib-imap: fuzz-imap-bodystructure - Change failures to i_panic() instead of
+ i_fatal()
+
+
+M src/lib-imap/fuzz-imap-bodystructure.c
+
+2021-03-04 09:52:40 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (641cfdb62a)
+
+ NEWS: Mention XZ/LZMA removal.
+
+
+M NEWS
+
+2021-03-02 10:55:53 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (b2f9c2f538)
+
+ NEWS: Update news for 2.3.14
+
+
+M NEWS
+
+2021-03-30 21:12:41 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a5209c83c3)
+
+ lib-smtp: smtp-params - Make explicit which extra parameters can be written
+ by smtp_params_*_write().
+
+ This can be used to prevent sending unsupported parameters to the remote
+ server, even when these are listed in extra_parameters. Before, blindly
+ proxying parameters would cause MAIL/RCPT error replies from the remote
+ server.
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+M src/lib-smtp/test-smtp-params.c
+
+2021-03-30 21:06:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4987b516aa)
+
+ lib-smtp: smtp-client-connection - Explicitly specify which MAIL/RCPT
+ parameters are added by extra capabilities.
+
+ This is used in later commit to limit which custom parameters are actually
+ sent to the server based on the capabilities supported by said server.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client.h
+M src/lmtp/lmtp-proxy.c
+
+2021-03-30 21:48:24 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b37ecc4f02)
+
+ lib-smtp: smtp-client-connection - Prevent recording extra capabilities from
+ server more than once.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2021-03-30 21:45:33 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (8bf233ddf3)
+
+ lib-smtp: smtp-client-connection - Prevent duplicate registrations for extra
+ capabilities.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2021-03-31 12:33:38 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (47203e9f30)
+
+ lib-smtp: smtp-client-connection - Move
+ smtp_client_connection_find_extra_capability().
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2021-03-30 21:33:17 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (af677f5b78)
+
+ lib-smtp: smtp-client-connection - Change extra capability registration to
+ use a struct.
+
+ This is needed for adding additional features in later commit.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-connection.h
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client.h
+M src/lmtp/lmtp-proxy.c
+
+2021-03-30 21:41:48 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (1a77fca29f)
+
+ lib-smtp: smtp-client-connection - Fix typo in function name.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2021-03-31 00:06:29 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (985f21ad5a)
+
+ lmtp: lmtp-commands - Drop XRCPTFORWARD parameter once processed.
+
+ This prevents it from popping up elsewhere. This for example crudely fixes a
+ problem in the proxy where XRCPTFORWARD was sent even without backend server
+ support.
+
+M src/lmtp/lmtp-commands.c
+
+2021-04-19 12:46:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (cdbb581436)
+
+ imap: NOTIFY - Fix crash if client disconnects while sending FETCH
+ notification (try #2)
+
+ Continues the incomplete fix for c4f4058d16096f23eea0b3182205d6653f5954dd
+
+ Fixes: Panic: Trying to close mailbox INBOX with open transactions
+
+M src/imap/imap-client.c
+
+2021-04-16 16:13:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (673a9e1d17)
+
+ login-common: Fix memory leak if anvil query is aborted
+
+
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2021-04-16 11:18:15 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (50b5ee12db)
+
+ virtual: virtual-mail - Use index_mail_set_seq to ensure cleanup
+
+ Forgotten in 67ab2070cf513179382b564871f2a0f177987cc9
+
+M src/plugins/virtual/virtual-mail.c
+
+2021-04-16 11:16:36 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (0cd683c086)
+
+ virtual: virtual-mail - Pass wanted_headers and wanted_fields to backend
+ mails only
+
+ Broken in 67ab2070cf513179382b564871f2a0f177987cc9
+
+M src/plugins/virtual/virtual-mail.c
+
+2021-04-16 10:01:45 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (e5098ff2b0)
+
+ virtual: virtual-mail - Use index_mail_free
+
+ Since we are using index_mail_init, we need to use index_mail_free to free
+ up the virtual mail.
+
+M src/plugins/virtual/virtual-mail.c
+
+2021-04-16 10:24:22 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (df46da1ace)
+
+ virtual: virtual-mail - Free wanted headers in close if we are freeing
+
+ Simplifies next change
+
+M src/plugins/virtual/virtual-mail.c
+
+2021-04-16 10:03:33 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (448330c320)
+
+ virtual: virtual-mail - Free up mails in virtual_mail_close if we are
+ freeing up
+
+ Makes next change easier
+
+M src/plugins/virtual/virtual-mail.c
+
+2021-04-14 18:08:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (829b04676c)
+
+ lib: Add comment to CALLBACK_TYPECHECK() macro
+
+
+M src/lib/macros.h
+
+2021-03-31 03:08:26 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (0d252dccb3)
+
+ lib-index: Add "mail_cache_lookup" event
+
+ Adds new event for cache lookups with lookup name as "field" event field.
+
+M src/lib-index/mail-cache-lookup.c
+
+2021-03-31 17:28:46 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (fa7a490bc3)
+
+ lib-index: Small refactor in mail_cache_lookup_field()
+
+ Makes it easier to emit event in next commit regardless of code path.
+
+M src/lib-index/mail-cache-lookup.c
+
+2021-03-30 00:37:59 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (d6ceec7f3a)
+
+ lib-storage: Add "mail_expunged" event
+
+ Emitted when a message is actually expunged. Has UID as a field.
+
+M src/lib-storage/mail-storage.c
+
+2021-03-29 13:41:55 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (d5fe1b3c75)
+
+ lib-storage, plugins/virtual: Use mail_sync_notify()
+
+ Instead of calling sync_notify vfunc directly.
+
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/plugins/virtual/virtual-sync.c
+
+2021-03-29 13:41:32 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (8f9b9731e6)
+
+ lib-storage: Add mailbox_sync_notify()
+
+ Instead of calling sync_notify vfunc directly everywhere.
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2021-03-29 13:01:40 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (0972d42cdb)
+
+ lib-storage: Emit "mail_expunge_requested" event
+
+ Adds a new event, "mail_expunge_requested" which is emitted when a message
+ is marked to being expunged.
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail.c
+
+2021-02-10 13:57:08 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c8fa10672b)
+
+ lib-storage: Emit "mail_opened" event when mails opened
+
+ Adds a new event, "mail_opened" with "reason" as field. Also drop duplicate
+ event in index_mail_init_stream().
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail.c
+
+2021-04-06 00:38:06 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (9a8449d815)
+
+ lib-storage: Include "age_days" field in mail.event
+
+ Goes back one week, if mail age information is known, an integer field is
+ added with value of mail age in number of days.
+
+M src/lib-storage/index/index-mail.c
+
+2021-03-31 16:08:06 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (67ab2070cf)
+
+ plugins/virtual: Use index_mail_init() to initialize the mail
+
+ Cleans up duplicated code. Also, index_mail_init initializes mail.event as
+ well. Something that was missing previously.
+
+M src/plugins/virtual/virtual-mail.c
+
+2021-03-31 16:01:02 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (3fe38329a9)
+
+ lib-storage: Refactor index_mail_init() to make it more reusable
+
+ Adds arguments for two memory pools, to be set for mail.pool and
+ mail.data_pool. If data_pool is NULL, a pool is allocated but mail_pool is
+ required.
+
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/pop3c/pop3c-mail.c
+
+2021-03-11 14:14:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5dd81f98a9)
+
+ lib-storage: Recreate mail.event when active mail is changed
+
+ This makes sure that the two mails' events are treated completely
+ independently without any accidental spilling. It also prevents wasting
+ memory if each mail changes the event and grows the memory pool.
+
+M src/lib-storage/index/index-mail.c
+
+2021-04-12 21:18:05 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4d76fa500b)
+
+ lib-smtp: fuzz-smtp-server - Implement all callbacks required for full
+ transaction.
+
+ Before required RCPT and DATA callbacks were omitted, causing assertion
+ failures when the fuzzer reached the RCPT stage.
+
+M src/lib-smtp/fuzz-smtp-server.c
+
+2021-04-12 21:14:07 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (99b3f881f8)
+
+ lib-test: fuzzer - Fix FD-based fuzzing to only shutdown input FD upon end
+ of data.
+
+ Before, it closed the whole socket once the data input ended. This for
+ example caused the SMTP server fuzzer to end before all replies were sent.
+ This shortened the test and could have hidden bugs that occur later in the
+ SMTP transaction.
+
+M src/lib-test/fuzzer.c
+M src/lib-test/fuzzer.h
+
+2021-04-12 21:12:27 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d14c6b5e52)
+
+ lib-smtp: smtp-reply - Add debug message for reply send error.
+
+ This makes it a little clearer at what point the connection loss or error
+ was noticed and for which command/reply.
+
+M src/lib-smtp/smtp-server-reply.c
+
+2021-04-14 11:57:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6a3b1ac4fb)
+
+ lib-lua: Fix compiler warning with dlua_pcall_yieldable()
+
+
+M src/lib-lua/dlua-script-private.h
+
+2021-04-09 11:35:05 +0200 Markus Valentin <markus.valentin@open-xchange.com> (c3fc5c9060)
+
+ lib-storage: Make sure listescape can work correctly with shared namespaces
+
+ This makes sure that if storage_name_escape_char is set, shared mailboxes do
+ not return the invalid/unescaped mailbox storage_name internally which could
+ result in failures like "Invalid mailbox name: Name must not have '/'
+ character" even when using the listescape plugin.
+
+ Broken by 5fd5ad3a2be6708e81f8dcfcbb06a3957dddd276
+
+M src/lib-storage/mailbox-list.c
+
+2021-04-01 21:42:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1d9b4e1400)
+
+ lib: Fix buffer_t aliasing problems with LTO
+
+ This changes the buffer_t slightly, which requires adding extra braces when
+ buffer_t contents are directly defined.
+
+ This changes Dovecot to require C11 compatible compiler, because it uses
+ anonymous union and struct. GNU99 extensions are also enough.
+
+M src/anvil/anvil-settings.c
+M src/auth/auth-settings.c
+M src/config/config-settings.c
+M src/config/settings-get.pl
+M src/dict/dict-settings.c
+M src/director/director-settings.c
+M src/dns/dns-client-settings.c
+M src/doveadm/doveadm-settings.c
+M src/imap-hibernate/imap-hibernate-settings.c
+M src/imap-login/imap-login-settings.c
+M src/imap-urlauth/imap-urlauth-login-settings.c
+M src/imap-urlauth/imap-urlauth-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap/imap-settings.c
+M src/indexer/indexer-settings.c
+M src/indexer/indexer-worker-settings.c
+M src/ipc/ipc-settings.c
+M src/lib/buffer.c
+M src/lib/buffer.h
+M src/lib/test-buffer.c
+M src/lmtp/lmtp-settings.c
+M src/log/log-settings.c
+M src/old-stats/stats-settings.c
+M src/plugins/fts-lucene/Snowball.cc
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/pop3-login/pop3-login-settings.c
+M src/pop3/pop3-settings.c
+M src/replication/aggregator/aggregator-settings.c
+M src/replication/replicator/replicator-settings.c
+M src/stats/stats-settings.c
+M src/submission-login/submission-login-settings.c
+M src/submission/submission-settings.c
+
+2021-04-01 21:37:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4e5bb6738d)
+
+ lib: buffer - Change real_buffer.r_buffer type to const void *
+
+
+M src/lib/buffer.c
+
+2021-04-01 12:47:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (831c95f67d)
+
+ imap: Fix accessing uninitialized variable warning with LTO
+
+ There doesn't seem to be any other way to quiet this warning, although it's
+ wrong.
+
+M src/imap/imap-master-client.c
+
+2021-04-01 12:45:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (21bb5d5224)
+
+ doveadm dict: Handle missing parameters without crashing
+
+
+M src/doveadm/doveadm-dict.c
+
+2021-04-01 12:20:46 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7831a1f082)
+
+ global: Fix accessing uninitialized variables on unit test failures
+
+
+M src/lib-index/test-mail-index-modseq.c
+M src/lib/test-strnum.c
+M src/lib/test-time-util.c
+
+2021-04-01 12:33:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7da0d129c5)
+
+ lib-imap: imap_envelope_parse() - Refactor to avoid LTO warnings
+
+ The original code was correct, but gcc with LTO still gave warnings about
+ potentially uninitialized envlp_r and error_r.
+
+M src/lib-imap/imap-envelope.c
+
+2021-04-01 12:22:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a879354bbf)
+
+ lib: test-array - Fix LTO compiler warnings
+
+ -flto correctly realizes that the source buffer size is 1, while memcpy() is
+ trying to copy UINT_MAX. Try to hide this by allocating the source buffer
+ dynamically. The intention is to assert-crash anyway before the memcpy() is
+ reached.
+
+M src/lib/test-array.c
+
+2021-04-13 12:45:45 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (7473d1c11e)
+
+ lib-compression: ostream-zstd - Do not return 0 as default
+
+ This is accepted by the library but does complicate things with dovecot.
+
+M src/lib-compression/ostream-zstd.c
+
+2021-04-13 12:45:23 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3fd17f53c9)
+
+ lib-compression: ostream-zstd - Fix assert on value range
+
+
+M src/lib-compression/ostream-zstd.c
+
+2021-04-10 13:52:15 +0200 Arjen de Korte <build+github@de-korte.org> (397ca180b8)
+
+ doc/openssl.cnf: Increase default_bits to 2048
+
+ NIST guidelines mandate that all SSL certificates must be of at least 2048
+ key length
+
+M doc/dovecot-openssl.cnf
+
+2021-03-26 14:10:37 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (096b7122b9)
+
+ global: Update default TLS protocol to TLSv1.2
+
+
+M doc/example-config/conf.d/10-ssl.conf
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-storage/mail-storage-settings.c
+
+2021-04-06 15:42:22 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9301b1042b)
+
+ lib-ssl-iostream: Accept TLS version case-insensitive
+
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+
+2021-03-26 14:11:48 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (585e09f4d7)
+
+ lib-ssl-iostream: Add additional supported protocols
+
+ ANY - Any protocol version accepted TLSv1.3 - Self-explanatory LATEST - The
+ newest protocol only
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+
+2021-03-26 12:08:40 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (57aa5d271f)
+
+ lib-master: Add ssl_cipher_suites
+
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2021-04-01 12:41:40 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4b8d368a91)
+
+ imap-zlib: Support per-algorithm compression level
+
+
+M src/config/old-set-parser.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+
+2021-03-30 19:05:42 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (46eb5a53d1)
+
+ zlib: Check that compression level is within supported range
+
+
+M src/plugins/zlib/zlib-plugin.c
+
+2021-03-30 19:04:31 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d4d2eec8a4)
+
+ imap-zlib: Check that compression level is within supported range
+
+
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+
+2021-03-30 19:03:30 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9b420dde6e)
+
+ fs-compress: Check that compression range is within supported range
+
+
+M src/plugins/fs-compress/fs-compress.c
+
+2021-04-01 09:26:10 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (97628ea00b)
+
+ lib-compression: Implement min/default/max getters
+
+
+M src/lib-compression/compression.c
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-lz4.c
+M src/lib-compression/ostream-zlib.c
+M src/lib-compression/ostream-zlib.h
+M src/lib-compression/ostream-zstd.c
+
+2021-03-30 19:01:20 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (250a7ea9db)
+
+ lib-compression: Add compression level range to handlers
+
+
+M src/lib-compression/compression.h
+
+2021-03-30 18:54:42 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (fa63cbcd70)
+
+ lib-compression: Use designated initializers for compression handlers
+
+
+M src/lib-compression/compression.c
+
+2021-04-01 09:51:09 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ca81d36252)
+
+ m4: want_zstd.m4 - Detect is ZSTD_minCLevel is present
+
+
+M m4/want_zstd.m4
+
+2021-02-05 14:48:52 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (0a81b9bccb)
+
+ lib-compression: Be explicit about xz magic number including a \0
+
+
+M src/lib-compression/compression.c
+
+2021-04-09 01:49:21 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4e55a32d71)
+
+ lib-smtp: test-smtp-server-errors - Add actual HELO tests to "bad HELO"
+ test.
+
+ Before, it only tested the EHLO command.
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2021-04-09 01:43:38 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (642ecfa43e)
+
+ lib-smtp: test-smtp-server-errors - Add correct command test to "bad HELO"
+ test.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2021-04-09 01:25:59 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b3a21d8622)
+
+ lib-smtp: test-smtp-server-errors - Properly check server reply in "bad
+ HELO" test.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2021-04-09 01:29:06 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f97765d1b7)
+
+ lib-smtp: test-smtp-server-errors - Rename "bad EHLO" test to "bad HELO".
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2020-09-11 21:08:03 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (896f120709)
+
+ lib-smtp: smtp-server-cmd-helo - Fix panic occurring for default HELO reply.
+
+ This only fails for the HELO command; the EHLO command is unaffected. The
+ default reply routine is not actually used at the moment, but it is used by
+ the fuzzer.
+
+ Panic was:
+
+ Panic: file smtp-server-cmd-helo.c: line 160
+ (smtp_server_cmd_ehlo_reply_create): assertion failed: (cmd->cmd->reg->func
+ == smtp_server_cmd_ehlo)
+
+M src/lib-smtp/smtp-server-cmd-helo.c
+
+2020-09-11 22:40:31 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0cf64cf8f1)
+
+ lib-smtp: Reformat smtp-server-cmd-helo.c.
+
+
+M src/lib-smtp/smtp-server-cmd-helo.c
+
+2021-03-23 10:27:23 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (905668e0ac)
+
+ lib-smtp: smtp-server-cmd-data - Fix crash occurring when BDAT is the last
+ in a too long sequence of bad commands.
+
+ When smtp_server_reply() detects that too many replies were sent regarding
+ syntax errors, it will terminate the connection. Most commands will just
+ stop processing and exit when a reply is submitted, so no crash occurs for
+ those. However, BDAT will try to skip the data block, so that it will not be
+ interpreted as a large set of input commands, which subsequentely crashes
+ because the command parser is already gone after terminating the connection.
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2021-03-25 10:59:19 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (444b4afdf0)
+
+ push-notification: Fix logging initialization error
+
+
+M src/plugins/push-notification/push-notification-drivers.c
+
+2021-03-24 09:43:17 +0100 Markus Valentin <markus.valentin@open-xchange.com> (81ec456313)
+
+ imapc: imapc_list_get_fs() - Set index_pvt_dir for mailbox_list_settings
+
+ To allow using private indexes with imapc storage the index_pvt_dir must be
+ set when listing the mailbox. Previously this did not happen because the
+ index_pvt_dir was simply NULL, now the value is copied from the
+ imapc_mailbox_list.
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2021-03-30 16:50:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (57069b23e6)
+
+ lib-index: Avoid accessing already freed "reason" when purging
+
+ Broken by 4b60d609c05d334d29a72c6dbbe301a66f518089
+
+M src/lib-index/mail-cache-purge.c
+
+2021-03-30 11:00:57 +0100 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (a64539fba0)
+
+ lib-ssl-iostream: Avoid calling X509_check_ip_asc if malformed input was
+ used
+
+ Try to match certificate using "X509_check_ip_asc" only when
+ "X509_check_host" didn't report an internal error or malformed input.
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+
+2021-03-24 11:01:34 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (4ccc5f9571)
+
+ lib-lua: Document the DLUA_WRAP_C_DATA macro
+
+
+M src/lib-lua/dlua-wrapper.h
+
+2020-08-13 20:01:41 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (18cf172fc0)
+
+ oauth2-jwt: Use int64_t instead time_t for portability
+
+
+M src/lib-oauth2/oauth2-jwt.c
+
+2021-03-21 22:15:48 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (af41ad228f)
+
+ lib-ssl-iostream: Use OpenSSL's X509_check_host and X509_check_ip_asc if
+ available
+
+ Make use of "X509_check_host()" and "X509_check_ip_asc()" if OpenSSL version
+ used has support for these functions. Revert back to previous custom
+ implementation in case either is not available.
+
+ Hosts are checked with partial wildcards (e.g. foo*.example.com) disabled.
+ If host name check fails, check against IP addresses in the certificate.
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+
+2021-03-21 22:14:55 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (202a65fb59)
+
+ m4: Add HAVE_X509_CHECK_HOST, HAVE_X509_CHECK_IP, and HAVE_X509_CHECK_IP_ASC
+
+ Defined when compiling against an OpenSSL version supporting
+ "X509_check_host",
+ "X509_check_ip()", and "X509_check_ip_asc()" respectively.
+
+M m4/ssl.m4
+
+2021-03-18 12:20:35 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (8d84e36e31)
+
+ lib-ssl-iostream: Ignore case when checking certificate name
+
+ Host name case must be ignored when cheking with certificate.
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+
+2021-03-22 13:00:31 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ca86ef368a)
+
+ lib: ioloop - Remove unused timer_is_larger() macro
+
+
+M src/lib/ioloop.c
+
+2021-03-01 12:56:21 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d92eb240cd)
+
+ lib: test-ioloop - Make sure recreating 0-timeout in callback works
+
+
+M src/lib/ioloop.c
+M src/lib/test-ioloop.c
+
+2021-03-01 13:03:16 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fac27f192d)
+
+ lib: ioloop - Fix 0 ms timeouts to trigger without waiting 2ms between calls
+
+
+M src/lib/ioloop.c
+M src/lib/test-ioloop.c
+
+2021-03-01 13:02:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (adad8ad7fc)
+
+ lib-test: test_assert_ucmp() - Fix typo to make it compile
+
+
+M src/lib-test/test-common.h
+
+2021-03-22 13:04:15 +0100 Markus Valentin <markus.valentin@open-xchange.com> (1fc91d56d4)
+
+ lib-compression: Get error with i_stream_get_error() so it's recursive
+
+ In some cases the iostream.error was NULL so the errno default message was
+ used. This fixes an regression introduced by 8b6142f9ba9.
+
+M src/lib-compression/istream-decompress.c
+
+2021-03-23 09:02:06 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (b72e08e519)
+
+ lib-dict: dict-lua - Do not free pool after iteration finishes
+
+ Otherwise we get double-free from gc.
+
+ Broken in 1e67b93cc9f469bb144fc890a6cb9b9b9cd20811
+
+M src/lib-dict/dict-iter-lua.c
+
+2021-03-23 12:32:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9c58ce8e50)
+
+ man: doveconf - Fix -P/ typo to just -P
+
+
+M doc/man/doveconf.1.in
+
+2021-03-23 12:31:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c4d7aea669)
+
+ man: doveconf - Document -s parameter
+
+
+M doc/man/doveconf.1.in
+
+2021-01-27 20:26:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e453a424d9)
+
+ doveadm zlibconnect: Support multiple compression algorithms
+
+ Unfortunately they don't work very well, because only the deflate ostream
+ supports flushing ostream before closing it.
+
+M src/doveadm/doveadm-zlib.c
+
+2021-01-27 19:50:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0871db37b3)
+
+ doveadm zlibconnect: Support automatically starting compression on COMPRESS
+ command
+
+ The previous method of using ctrl-d wasn't really suitable for scripting.
+
+M src/doveadm/doveadm-zlib.c
+
+2021-01-27 20:29:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9a1eba3f41)
+
+ lib-compression: Fix potential hangs with non-blocking istreams
+
+
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/istream-zstd.c
+
+2021-01-27 20:34:29 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (14ab7acd03)
+
+ lib: i_stream_read() - Fix assert with DEBUG enabled
+
+ It doesn't matter if the data buffer changes for <=0 return value if the
+ buffer was previously empty.
+
+M src/lib/istream.c
+
+2021-02-04 02:15:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e6d8ac87a2)
+
+ lib-storage: mailbox_list_init_fs() - Add event_parent
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2021-02-04 02:00:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (040ec09363)
+
+ lib-storage: Rename mail_storage_service_input.parent_event to event_parent
+
+ This makes it more consistent with other settings.
+
+M src/imap/main.c
+M src/lda/main.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+M src/lmtp/lmtp-local.c
+M src/plugins/quota/quota-status.c
+
+2021-02-04 01:58:25 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (dd0049bf67)
+
+ lib-fs: Rename fs_settings.event to event_parent
+
+ This makes it more consistent with other settings.
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-dict.c
+M src/lib-storage/mail-user.c
+
+2021-02-04 01:36:52 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (84da97fd4e)
+
+ lib-dict: Set connections' event_parent correctly
+
+ dict->dict.event is NULL at this point.
+
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+
+2021-02-04 01:27:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (afbc5c30e4)
+
+ auth: db-sql - Fill sql_settings.event_parent
+
+
+M src/auth/db-sql.c
+
+2021-02-04 01:16:12 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ef3f457051)
+
+ global: Set http_client_settings.event_parent when possible
+
+
+M src/auth/db-oauth2.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts/fts-parser-tika.c
+
+2021-02-04 01:13:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0b1beeccb0)
+
+ fts-solr: solr-connection - Add parent event
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-connection.h
+
+2021-02-04 01:10:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (91be621311)
+
+ global: Set dns_lookup_settings.event_parent
+
+
+M src/auth/auth-request.c
+M src/lib-http/http-client-host.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-program-client/program-client-remote.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2021-02-04 01:09:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (27c92f1d02)
+
+ imapc: Add parent event
+
+
+M src/auth/passdb-imap.c
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/test-imapc-client.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2021-02-04 01:07:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (132e9b08d6)
+
+ pop3c: Add parent event
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-client.h
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2021-02-04 01:01:42 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3d7cd9a60e)
+
+ global: Set dict_settings.event_parent when possible
+
+
+M src/auth/db-dict.c
+M src/auth/db-oauth2.c
+M src/lib-fs/fs-dict.c
+M src/lib-storage/index/index-attribute.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/notify-status/notify-status-plugin.c
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota.c
+
+2021-03-22 16:24:20 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (26bfe7b6a7)
+
+ lib-lua: dlua-threads - pop thread table after manipulation
+
+ Forgot on a84bfdaf6df8fd6a4cbbf0845c18b09e6ceada36
+
+M src/lib-lua/dlua-thread.c
+
+2021-02-22 15:29:45 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (80156c4f7b)
+
+ auth: Fix Makefile variables for Lua
+
+ Otherwise automake complains about touching the variables in many places.
+
+M src/auth/Makefile.am
+
+2021-02-05 15:40:49 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (8276f856d6)
+
+ dovecot-config: Include used Lua details
+
+
+M Makefile.am
+M configure.ac
+M dovecot-config.in.in
+M m4/dovecot.m4
+
+2021-02-05 15:21:46 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (20660943f8)
+
+ push-notification-driver-lua: Use dlua_pcall
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2021-02-05 15:17:44 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (96bd734b7a)
+
+ mail-lua: Pop return values after use
+
+
+M src/plugins/mail-lua/mail-lua-plugin.c
+
+2021-02-05 15:17:37 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (bcf502353d)
+
+ mail-lua: Use dlua_pcall
+
+
+M src/plugins/mail-lua/mail-lua-plugin.c
+
+2021-02-05 15:13:26 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (1265f55524)
+
+ auth: db-lua - Use dlua_pcall
+
+
+M src/auth/db-lua.c
+
+2021-02-16 09:21:58 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (fcf86bb7b2)
+
+ lib-lua: Fix script loading
+
+ Handle error cases correctly.
+
+M src/lib-lua/dlua-script.c
+
+2021-02-05 13:34:27 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (fe1c3e670f)
+
+ lib-lua: Use dlua_pcall
+
+
+M src/lib-lua/dlua-script.c
+M src/lib-lua/test-lua.c
+
+2021-02-05 13:33:47 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (b78bc8f862)
+
+ lib-lua: Add dlua_pcall
+
+
+M src/lib-lua/dlua-script-private.h
+M src/lib-lua/dlua-script.c
+
+2021-02-05 13:41:24 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (95e6c3974e)
+
+ lib-lua: dlua-dovecot - Ensure script is not NULL
+
+
+M src/lib-lua/dlua-dovecot.c
+
+2021-02-16 12:47:17 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (22d54c6e25)
+
+ lib-lua: Define LUA_OK if missing
+
+ It's defined since lua 5.2, and we support lua 5.1.
+
+M src/lib-lua/dlua-compat.h
+
+2021-02-19 15:20:07 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (5c3ec087bf)
+
+ lib-lua: Reformat macros in dlua-script-private.h
+
+
+M src/lib-lua/dlua-script-private.h
+
+2021-03-22 10:36:24 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (12f0271e17)
+
+ lib-lua: Add callback typecheck for dlua_pcall_yieldable
+
+
+M src/lib-lua/dlua-resume.c
+M src/lib-lua/dlua-script-private.h
+
+2021-02-25 10:22:28 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (1e67b93cc9)
+
+ lib-dict: Expose dict and dict transactions to lua scripts
+
+
+M src/lib-dict/Makefile.am
+A src/lib-dict/dict-iter-lua.c
+A src/lib-dict/dict-lua-private.h
+A src/lib-dict/dict-lua.c
+A src/lib-dict/dict-lua.h
+A src/lib-dict/dict-txn-lua.c
+M src/lib-lua/Makefile.am
+
+2021-02-25 15:35:26 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (77cb890b16)
+
+ lib-lua: Implement lua_seti() fallback for pre-5.3 support
+
+
+M m4/want_lua.m4
+M src/lib-lua/dlua-compat.c
+M src/lib-lua/dlua-compat.h
+
+2021-02-25 10:22:24 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (21a2bddaeb)
+
+ lib-lua: Add DLUA_WRAP_C_DATA macro to more easily expose C structures to
+ lua
+
+
+M src/lib-lua/Makefile.am
+A src/lib-lua/dlua-wrapper.h
+
+2021-02-24 13:57:10 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (1dab5661cf)
+
+ lib-lua: Add dlua_pcall_yieldable
+
+
+M configure.ac
+M m4/want_lua.m4
+M src/lib-lua/Makefile.am
+A src/lib-lua/dlua-resume.c
+M src/lib-lua/dlua-script-private.h
+
+2021-02-25 15:49:18 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (2c4ebe2cc7)
+
+ m4: want_lua - Check for lua_{resume,yieldk}
+
+
+M m4/want_lua.m4
+
+2021-02-24 14:53:59 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (c5478e9d2b)
+
+ lib-lua: Add thread local storage API
+
+
+M src/lib-lua/dlua-script-private.h
+M src/lib-lua/dlua-thread.c
+M src/lib-lua/test-lua.c
+
+2021-02-05 16:47:53 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (a84bfdaf6d)
+
+ lib-lua: Add new thread/close thread dlua wrappers
+
+ Code rewritten to use lua registry, warn about unclosed threads, and moved
+ to a separate file by Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com>
+
+M src/lib-lua/Makefile.am
+M src/lib-lua/dlua-script-private.h
+M src/lib-lua/dlua-script.c
+A src/lib-lua/dlua-thread.c
+
+2021-03-12 02:58:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b2948c33c6)
+
+ global: Avoid casting away const
+
+
+M src/auth/test-mech.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap/imap-master-client.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/test-http-client.c
+M src/lib-ldap/ldap-search.c
+M src/lib-mail/test-message-address.c
+M src/lib-smtp/smtp-parser.c
+M src/lib-test/test-ostream.c
+M src/lib/test-array.c
+M src/lib/uri-util.c
+
+2021-03-12 14:53:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8c153a6417)
+
+ lib: iostreams - Use container_of()
+
+
+M src/lib/iostream-temp.c
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-callback.c
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-failure-at.c
+M src/lib/istream-file.c
+M src/lib/istream-hash.c
+M src/lib/istream-jsonstr.c
+M src/lib/istream-limit.c
+M src/lib/istream-multiplex.c
+M src/lib/istream-rawlog.c
+M src/lib/istream-seekable.c
+M src/lib/istream-sized.c
+M src/lib/istream-tee.c
+M src/lib/istream-timeout.c
+M src/lib/istream-try.c
+M src/lib/istream-unix.c
+M src/lib/istream.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-failure-at.c
+M src/lib/ostream-file.c
+M src/lib/ostream-hash.c
+M src/lib/ostream-multiplex.c
+M src/lib/ostream-rawlog.c
+M src/lib/ostream-unix.c
+M src/lib/ostream-wrapper.c
+M src/lib/ostream.c
+
+2021-03-12 02:56:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2ca94e7ac9)
+
+ lib: stats_dist_get_median(), stats_dist_get_percentile() - Remove const
+ parameter
+
+ They weren't really const, because they required modifying the stats to sort
+ them.
+
+M src/lib/stats-dist.c
+M src/lib/stats-dist.h
+M src/lib/test-stats-dist.c
+
+2021-02-27 00:04:54 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (52d11b4eaf)
+
+ login-common: sasl-server - Remove data transfered to post-login service
+ from input stream.
+
+ This prevents duplicating input when SSL is involved, causing commands
+ pipelined after authenticate commands from being duplicated. This issue
+ emerged when login proxy was changed to use the iostream pump/proxy. This
+ means that the proxy uses streams rather than raw FDs, which means that data
+ buffered in input stream before proxy is inherently forwarded to the
+ post-login service... a second time.
+
+M src/login-common/sasl-server.c
+
+2021-03-18 11:17:07 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (cf768ecaf4)
+
+ lib: test-cpu-limit - Test upper CPU limit only for user CPU, not for system
+ CPU
+
+ The system CPU check kept randomly failing with larger and larger limits, so
+ there doesn't seem to be any point trying to test it at all.
+
+M src/lib/test-cpu-limit.c
+
+2021-03-12 02:26:32 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c6ad2aea84)
+
+ lib-index: Fix crash when cache record size is larger than file size
+
+ This shouldn't happen unless the dovecot.index.cache file was corrupted.
+
+M src/lib-index/mail-cache.c
+M src/lib-index/test-mail-cache.c
+
+2020-08-08 12:11:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (219c619d8f)
+
+ lib-index: mail_cache_map() - Fix handling huge size values correctly
+
+ offset+size could have wrapped in 32bit systems.
+
+M src/lib-index/mail-cache.c
+
+2021-03-15 12:53:19 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (718e9c9fb1)
+
+ auth: test-auth-cache - Fix auth_request_var_expand_static_tab[]
+
+ Its size is explicitly set in .h file, so it should be in .c file as well.
+
+M src/auth/test-auth-cache.c
+
+2021-03-15 12:02:32 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (f29449c5c4)
+
+ auth: userdb-passwd: Close the password database in iteration deinit
+
+ Otherwise, next "getpwent()" will continue to return next entries in passwd
+ database which results in unwanted skipping of entries.
+
+M src/auth/userdb-passwd.c
+
+2021-03-09 21:35:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3382a7c0f4)
+
+ doveconf: Don't print an error if $rundir/dovecot.conf symlink doesn't exist
+
+
+M src/config/doveconf.c
+
+2020-04-15 17:57:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (37089190bc)
+
+ lib-storage: Set mail_index_* and mail_cache_* settings hidden
+
+ It's not recommended to change these settings outside testing.
+
+M src/lib-storage/mail-storage-settings.c
+
+2021-03-09 19:10:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (df7fec2087)
+
+ doveconf: Add -s parameter to show also hidden settings
+
+
+M src/config/doveconf.c
+
+2020-04-15 17:50:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e4c710dd0a)
+
+ doveconf: Don't show hidden settings unless they've been explicitly set
+
+
+M src/config/config-request.c
+M src/config/config-request.h
+M src/config/doveconf.c
+
+2020-04-15 17:44:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a1339fbfe9)
+
+ lib-settings: Add SET_FLAG_HIDDEN setting flag
+
+
+M src/lib-settings/settings-parser.h
+
+2020-04-15 17:35:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0ce3e66e7b)
+
+ global: Initialize struct setting_define fields with explicit names
+
+ This allows changing the struct contents without breaking compiling.
+
+M src/auth/auth-settings.c
+M src/dict/dict-settings.c
+M src/doveadm/doveadm-settings.c
+M src/imap/imap-settings.c
+M src/lib-lda/lda-settings.c
+M src/lib-settings/test-settings-parser.c
+M src/lib-smtp/smtp-submit-settings.c
+M src/lib-storage/mail-storage-settings.c
+M src/master/master-settings.c
+M src/plugins/mail-crypt/fs-crypt-settings.c
+M src/pop3/pop3-settings.c
+M src/stats/stats-settings.c
+
+2020-04-15 17:21:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (44a37d2390)
+
+ global: Use SETTING_DEFINE_STRUCT_*() macros when defining settings
+
+ This adds type checking to them.
+
+M src/auth/auth-settings.c
+M src/dict/dict-settings.c
+M src/director/director-settings.c
+M src/doveadm/doveadm-settings.c
+M src/imap-login/imap-login-settings.c
+M src/imap-urlauth/imap-urlauth-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap/imap-settings.c
+M src/lib-lda/lda-settings.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/test-master-service-settings-cache.c
+M src/lib-smtp/smtp-submit-settings.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/maildir/maildir-settings.c
+M src/lib-storage/index/mbox/mbox-settings.c
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/mail-storage-settings.c
+M src/lmtp/lmtp-settings.c
+M src/login-common/login-settings.c
+M src/master/master-settings.c
+M src/old-stats/stats-settings.c
+M src/plugins/quota/quota-status-settings.c
+M src/pop3/pop3-settings.c
+M src/replication/aggregator/aggregator-settings.c
+M src/replication/replicator/replicator-settings.c
+M src/stats/stats-settings.c
+M src/submission-login/submission-login-settings.c
+M src/submission/submission-settings.c
+
+2020-04-15 17:20:20 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8d5c63c0e5)
+
+ quota-status: Fix quota_status_settings.recipient_delimiter to be const
+
+
+M src/plugins/quota/quota-status-settings.h
+
+2020-04-15 17:18:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f54fff4552)
+
+ mail-crypt, master: Remove unused DEF & DEFLIST macros
+
+
+M src/master/master-settings.c
+M src/plugins/mail-crypt/fs-crypt-settings.c
+
+2020-04-15 16:53:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e6c5b2c0cb)
+
+ lib-settings: Rewrite and add missing SETTING_DEFINE_STRUCT_* macros
+
+ These hadn't been used anywhere.
+
+M src/config/test-config-parser.c
+M src/lib-settings/settings-parser.h
+M src/lib-settings/test-settings-parser.c
+
+2021-03-13 14:23:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6986a435e3)
+
+ lib-smtp: fuzz-smtp-server - Fix compiling due to lib-smtp API change
+
+ Forgotten from 2cdab962670df394c28fb7858cb0d4f90f70f71c
+
+M src/lib-smtp/fuzz-smtp-server.c
+
+2021-03-16 17:09:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e0d7153999)
+
+ submission: Remove dead assignment
+
+
+M src/submission/submission-client.c
+
+2020-01-15 20:22:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b099d5eac6)
+
+ login-common: Fix client_destroy_oldest() return value to be more exact
+
+ Only return TRUE if a client connection is immediately destroyed.
+
+M src/login-common/client-common.c
+
+2020-01-15 18:09:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (56328e4da4)
+
+ lib-master: Add a delay to calling avail_overflow_callback with
+ client_limit=1
+
+ Without the delay all (or many/most) processes will call the callback,
+ because the OS notifies all of the processes of the incoming connection.
+ This results in all of the connections being killed instead of only a few of
+ them.
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+
+2020-01-15 19:10:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3b43c181d8)
+
+ lib-master: Change master_service_set_avail_overflow_callback() API
+
+ Needed by the following changes.
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2020-01-15 19:06:32 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (10746c5b85)
+
+ login-common: Change struct client.created to timeval
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2020-01-15 17:49:52 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d905a4e96d)
+
+ lib-master: Code cleanup to refreshing login state
+
+ Unexpected seek offsets are now handled better.
+
+M src/lib-master/master-service.c
+
+2020-01-15 16:30:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c39854c1fb)
+
+ lib-master: Fix calling avail_overflow_callback with service_count=1
+
+ This is used by login processes to kill the oldest connection when all of
+ the clients and processes for the service are taken. This wasn't working
+ when service_count=1 because the listeners were closed already.
+
+ It's not really useful anymore to even do this kind of a listener closing.
+ It was originally added in 9217d2426b4f8ece47441357f35d8bb34d97c4eb to
+ prevent restart problems with long-running login processes. However,
+ nowadays listeners can be closed via SIGQUIT so this isn't necessary.
+
+M src/lib-master/master-service.c
+
+2021-02-26 12:28:03 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (5dd81d83d8)
+
+ lib-storage: Correct escaping for list index lookups
+
+ - Escape storage name when listing mailbox from index and unescape mailbox
+ name when looking for sibling nodes.
+ - Unescape when adding node to list index.
+ - List index iteration is performed with storage name where separators must
+ be escaped with storage_name_escape_char. Index lookup is done with
+ storage_name which is escaped with storage_name_escape_char but node names
+ are unescaped.
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2021-02-22 15:37:19 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (1feae5169f)
+
+ lib-storage: Expose mailbox_list_name_{escape,unescape} functions in header
+
+ To be used in mailbox-list-index.
+
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2021-03-11 17:55:08 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (b603f3284e)
+
+ lib-storage: test-mail-storage: Separate test cases for "LAYOUT=INDEX"
+
+ With default escaping for "INDEX" layout, more mailbox name are accepted.
+
+M src/lib-storage/test-mail-storage.c
+
+2021-02-22 15:29:30 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (d4e4892461)
+
+ lib-storage: mailbox-list: Add default storage name escaping for index
+ layout
+
+ Add a default value for "storage_name_escape_char" when "LAYOUT=index".
+ Needed for situations where mailbox name contains separator char (e.g. after
+ migration to new separator) and listescape plugin is not active.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/mailbox-list.c
+
+2021-02-26 16:03:50 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (2f2e20739a)
+
+ lib-storage: Rename mailbox_list_index_node.name to raw_name
+
+ To make it clear that the string is unescaped raw value, rename from generic
+ "name" to "raw_name".
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/list/mailbox-list-notify-tree.c
+
+2021-03-11 12:31:52 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (42ae314198)
+
+ lib-storage: Add mailbox list index alt separator
+
+ To avoid collision with storage name escape character, use an alternative
+ char ('^') if hierarchy separator for list index is the same char.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2021-03-16 14:37:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e1dd685f1a)
+
+ login-common: Finish freeing the client when anvil lookup is pending at
+ destroy
+
+ Broken by f32daf5ac9eaa886e28659965fc0156b52b60bda
+
+M src/login-common/client-common.c
+M src/login-common/sasl-server.c
+
+2021-03-16 14:37:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (be3cd60a1b)
+
+ login-common: Assert-crash at deinit if there are still referenced clients
+
+
+M src/login-common/client-common.c
+
+2021-03-16 14:36:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1c622cdbe0)
+
+ login-common: Track referenced but destroyed clients in a linked list
+
+ This helps debugging.
+
+M src/login-common/client-common.c
+
+2021-03-11 13:00:56 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0e0519cd25)
+
+ lib: test-cpu-limit - Increase ALLOW_MSECS_ABOVE further
+
+ 1500 was still not enough to prevent random failures.
+
+M src/lib/test-cpu-limit.c
+
+2021-03-15 18:18:07 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2133e37cfc)
+
+ lib: cpu-limit - Redesign the API
+
+ The new API no longer has a signal callback, just a cpu_limit_exceeded()
+ function that needs to be periodically called to check if the limit has
+ exceeded. The callback could be added back if really necessary, but it's
+ just too easy to use signal handlers unsafely.
+
+ The new API also supports separating limits for user and system CPU usage.
+ It also attempts to guard against any unexpected kernel behavior resulting
+ from unclear behavior on how exactly the getrlimit(), setrlimit() and XCPU
+ signals interact.
+
+M src/lib/cpu-limit.c
+M src/lib/cpu-limit.h
+M src/lib/test-cpu-limit.c
+
+2021-03-15 17:22:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (db70cd7091)
+
+ lib: cpu-limit - Split off cpu_limit_get_usage_msecs_with()
+
+
+M src/lib/cpu-limit.c
+
+2021-03-15 17:21:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e83d620cb6)
+
+ lib: cpu-limit - Move cpu_limit_get_usage_msecs()
+
+
+M src/lib/cpu-limit.c
+
+2021-03-15 16:50:25 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (66fb224ce9)
+
+ lib: cpu-limit - Update comments related to nesting
+
+
+M src/lib/cpu-limit.h
+
+2021-03-15 15:42:56 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (337e29dee5)
+
+ lib: cpu_limit_get_usage_[m]secs() - Add type parameter
+
+ It can now return user CPU, system CPU or both usages.
+
+M src/lib/cpu-limit.c
+M src/lib/cpu-limit.h
+
+2021-03-15 15:37:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fde5380485)
+
+ lib: cpu-time - Use the original struct rusage as the initial_usage
+
+ This will allow separation of user and system CPU usage tracking. They could
+ have been tracked with two separate struct timevals, but the extra memory
+ usage is small and it might be nice to have all the available data for
+ debugging.
+
+M src/lib/cpu-limit.c
+
+2021-03-15 18:00:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (387bbf0bae)
+
+ lib: test-cpu-limit - Fix nested limit asserts
+
+
+M src/lib/test-cpu-limit.c
+
+2021-03-10 17:56:12 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (586cca5769)
+
+ lib-imap: Handle empty lists in IMAP BODYSTRUCTURE parsing as invalid
+
+ They should be NIL instead of () if they're empty.
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/test-imap-bodystructure.c
+
+2021-03-10 17:40:47 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (dd51ae09a8)
+
+ lib-imap: Fix assert-crash if parsing invalid BODYSTRUCTURE with empty
+ Content-Language list
+
+ If there's no Content-Language, it should be NIL in the bodystructure. So if
+ the value is (), it is invalid.
+
+ This could in theory have happened when parsing corrupted
+ dovecot.index.cache or receiving it from a broken remote IMAP server with
+ imapc. The bug was found by fuzzing though.
+
+ Fixes: Panic: file imap-bodystructure.c: line 98
+ (part_write_bodystructure_common): assertion failed: (*lang != NULL)
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/test-imap-bodystructure.c
+
+2021-03-10 17:39:48 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2e5ef7cd2c)
+
+ lib-imap: test-imap-bodystructure - imap_bodystructure_parse() - Test
+ returned error
+
+
+M src/lib-imap/test-imap-bodystructure.c
+
+2021-03-11 13:13:24 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (6960b0130c)
+
+ lib-lua: Error out the build if using Lua 5.2
+
+
+M src/lib-lua/dlua-compat.c
+
+2021-03-11 13:13:03 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (508a7f7566)
+
+ Global: Remove support for Lua 5.2
+
+ It took far too much effort to keep compatible with it. Since every distro
+ out there provides either Lua 5.1 or 5.3, it makes sense to give up on 5.2.
+
+M m4/want_lua.m4
+M src/lib-lua/test-lua.c
+
+2021-03-09 10:53:50 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (62a94d2270)
+
+ m4: Allow explict override of lua version
+
+ It is possible that the system has several different versions of Lua
+ installed. This change allows one to force a specific version of Lua during
+ ./configure. For example:
+
+ LUA_CFLAGS="`pkg-config lua51 --cflags`" \
+ LUA_LIBS="`pkg-config lua51 --libs`" \
+ ./configure \
+ --with-lua
+
+M m4/want_lua.m4
+
+2021-03-09 18:40:32 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (37fa8a945b)
+
+ lib-storage: Preserve last-rename-stamp when rebuilding index
+
+
+M src/lib-storage/index/index-rebuild.c
+
+2021-03-09 18:42:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4484e357fe)
+
+ lib-storage: Don't trust last-rename-stamp that is too far into the future
+
+ If the timestamp is in the future, autoexpunging stops working until the
+ future time is passed. If this happened due to corruption, it could take a
+ long time before the timestamp is reached.
+
+M src/lib-storage/mail-autoexpunge.c
+
+2021-03-09 18:37:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e773308cb1)
+
+ lib-storage: Preserve hdr-pop3-uidl when rebuilding index
+
+ This prevents potentially expensive metadata lookups afterwards when trying
+ to find out which mails have the POP3 UIDLs in their metadata.
+
+M src/lib-storage/index/index-rebuild.c
+
+2021-03-09 18:36:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (54eb5a9661)
+
+ lib-storage: Convert index_rebuild_box_name_header() into generic
+ index_rebuild_box_preserve_header()
+
+
+M src/lib-storage/index/index-rebuild.c
+
+2020-05-11 17:41:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2c9d83a640)
+
+ doveadm dump: Support hdr-pop3-uidl index header extension
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2020-05-11 17:40:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f879618dd8)
+
+ doveadm dump: Include mail-storage-private.h to get easier access to some
+ structs
+
+ Avoids having to duplicate the structs.
+
+M src/doveadm/doveadm-dump-index.c
+
+2021-03-10 22:08:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b0f498b692)
+
+ auth: userdb_parse_[ug]id() - Fix error logging to use events properly
+
+ If request is missing, use the global auth_event instead of hiding the
+ error.
+
+M src/auth/userdb.c
+
+2019-10-31 16:39:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fdc10a6c9c)
+
+ auth: Use auth_request.event for logging whenever possible
+
+
+M src/auth/auth-cache.c
+M src/auth/auth-penalty.c
+M src/auth/auth-request.c
+M src/auth/db-checkpassword.c
+M src/auth/mech-winbind.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb.c
+
+2019-10-31 16:31:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (66ddc39ad7)
+
+ auth: auth-client-connection: Log all errors via events
+
+
+M src/auth/auth-client-connection.c
+
+2019-10-31 16:29:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (19a40f34d7)
+
+ auth: auth-worker-server: Log errors via events
+
+
+M src/auth/auth-worker-server.c
+
+2019-10-31 16:21:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0e06d67755)
+
+ auth: auth-request-handler: Log errors via events
+
+
+M src/auth/auth-request-handler.c
+
+2019-10-31 16:18:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5cd4850716)
+
+ auth: authdb_event() - Use const pointer
+
+
+M src/auth/auth-request.h
+
+2019-10-31 16:14:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6e004bf327)
+
+ auth: Replace auth_master_log_error() with e_error()
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-master-connection.h
+M src/auth/auth-request-handler.c
+
+2019-10-31 16:21:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fc151df907)
+
+ auth: auth-worker-client: Log errors via events
+
+
+M src/auth/auth-worker-client.c
+
+2019-10-31 15:36:02 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (82918227d8)
+
+ auth: auth-worker-client: Fix setting process title to [idling]
+
+ The existing code was completely wrong. It was set only when LIST command
+ started running. For other commands it wasn't set at all.
+
+M src/auth/auth-worker-client.c
+
+2019-10-31 15:34:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (543ef9a5cc)
+
+ auth: auth-worker-client: Move common code to auth_worker_request_finished()
+
+
+M src/auth/auth-worker-client.c
+
+2019-10-31 15:31:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (09de553954)
+
+ auth: auth-worker-client: Move auth_worker_request_finished*()
+
+
+M src/auth/auth-worker-client.c
+
+2019-10-31 15:27:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8077977b38)
+
+ auth: auth-worker-client: Set "error" for all auth worker request failures
+
+ Previously the error was set only for protocol errors. Now it's set for
+ everything, including password mismatches. However, only the protocol errors
+ are logged with error level, others are debug level.
+
+M src/auth/auth-worker-client.c
+
+2019-10-31 15:23:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9e5c44af66)
+
+ auth: auth-worker-client: Rename auth_worker_log_finished() to
+ auth_worker_request_finished()
+
+
+M src/auth/auth-worker-client.c
+
+2019-10-31 14:48:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0fbd856f28)
+
+ auth: userdb iteration - Use event based logging
+
+
+M src/auth/userdb-dict.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-sql.c
+
+2019-10-31 14:41:56 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (88d2e192fd)
+
+ auth: db-passwd-file - Use event based logging
+
+
+M src/auth/db-passwd-file.c
+M src/auth/db-passwd-file.h
+
+2019-10-31 14:34:48 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (76c5f00362)
+
+ auth: db-ldap - Use event based logging
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+
+2021-02-25 21:58:17 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f32daf5ac9)
+
+ login-common: Fix assert-crash if client is destroyed during anvil lookup
+
+ This could happen if the client gets disconnected due to
+ "Connection queue full".
+
+ Fixes: Panic: file client-common.c: line 323 (client_destroy): assertion
+ failed: (!client->authenticating)
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2021-03-10 13:50:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3a6ec2997a)
+
+ lib: event_logv() - Make sure errno is preserved
+
+ It already should have been, but this change makes it clearer and more
+ future-safe.
+
+M src/lib/event-log.c
+M src/lib/test-event-log.c
+
+2021-03-02 19:30:23 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e980325475)
+
+ imap: Use internal error for logging FETCH failed disconnection message
+
+
+M src/imap/cmd-fetch.c
+
+2021-03-02 18:58:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (69069554be)
+
+ submission-login: Fix logging "no auth attempts" at disconnection
+
+ client.banner_sent wasn't set, which prevented this from being logged.
+
+M src/submission-login/client.c
+
+2021-03-02 17:51:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1f926dd5d0)
+
+ lib-smtp: smtp_server_connection_ssl_init() - Don't start SSL handshake
+
+ If SSL handshaking fails, it shouldn't be logged as an error similarly to
+ actual SSL initialization errors.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2021-03-02 17:44:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (eee5cd271a)
+
+ lib-smtp: Remove smtp_server_connection.disconnect_reason
+
+ This isn't used anywhere and its purpose is a bit unclear.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2021-03-02 17:33:30 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7a91266647)
+
+ imap-urlauth: Change event_category_urlauth to be static
+
+
+M src/imap-urlauth/imap-urlauth-client.c
+
+2021-03-02 17:30:52 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (de3d7f4d0e)
+
+ imap-urlauth: Replace i_info() and i_error() calls with e_info() and
+ e_error()
+
+
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-login.c
+
+2021-03-02 17:26:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e069e121fa)
+
+ imap-urlauth: Don't change log prefix just before disconnection line
+
+ It shouldn't be necessary. (And if it was, it should be done in init.)
+
+M src/imap-urlauth/imap-urlauth-client.c
+
+2021-03-02 17:25:31 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (33d03c7aa8)
+
+ imap-urlauth: client_destroy() - Allow NULL reason only if client is
+ disconnected
+
+
+M src/imap-urlauth/imap-urlauth-client.c
+
+2021-03-02 17:24:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9354759519)
+
+ imap-urlauth: Remove duplicate "Disconnected: " prefix
+
+ It's already logged by client_destroy()
+
+M src/imap-urlauth/imap-urlauth-login.c
+
+2021-03-02 17:19:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e0116a1bec)
+
+ imap-urlauth: Add Username to log prefix
+
+
+M src/imap-urlauth/imap-urlauth-client.c
+
+2021-03-02 17:15:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (34543d8893)
+
+ imap-urlauth: Fix event leak if worker can't be connected to
+
+
+M src/imap-urlauth/imap-urlauth-client.c
+
+2021-03-02 15:15:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5e34090a35)
+
+ lib-smtp: Standardize iostream error handling
+
+ Use [io]_stream_get_disconnect_reason() for logging all errors. None of the
+ iostream errors are logged as error level anymore. This way for example TLS
+ connection problems caused by broken clients aren't logged as errors.
+
+M src/lib-smtp/smtp-command-parser.c
+M src/lib-smtp/smtp-server-cmd-auth.c
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-connection.c
+
+2021-03-02 15:07:56 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a0a04a86fc)
+
+ lib: Add o_stream_get_disconnect_reason()
+
+
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2021-03-02 15:06:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (170505ce06)
+
+ lib: Clarify i[o]_stream_get_disconnect_reason() comment
+
+
+M src/lib/iostream.h
+M src/lib/istream.h
+
+2021-03-02 14:51:48 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6ece37a1ca)
+
+ lib-smtp: Remove EIO-specific error handling
+
+ No such error should be seen by lib-smtp.
+
+M src/lib-smtp/smtp-command-parser.c
+
+2021-03-02 13:15:56 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (206d350e75)
+
+ submission: Standardize "Disconnected:" log line
+
+ Remote IP is no longer logged. If it's wanted, it can be added to
+ mail_log_prefix just like with other protocols.
+
+M src/submission/submission-client.c
+
+2021-03-02 13:13:52 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6d5e9dc47c)
+
+ lib-smtp: Standardize QUIT logging
+
+ Similar to POP3, use "Logged out" or "Aborted login by logging out".
+
+M src/lib-smtp/smtp-server-command.c
+
+2021-03-01 16:47:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5fb3a030d7)
+
+ pop3: Improve "inactivity" disconnection reason log messages
+
+
+M src/pop3/pop3-client.c
+
+2021-03-01 16:46:16 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a5a8dad1f2)
+
+ pop3: Add "Disconnected: " prefix to all disconnection log lines
+
+
+M src/pop3/pop3-client.c
+
+2021-02-03 22:15:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7bce44b6af)
+
+ login-common: Add and use client_destroy_iostream_error()
+
+ This standardizes the disconnection log message.
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2021-02-03 21:59:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (de71b89e54)
+
+ *-login: Replace "Aborted login" with "Disconnected: Aborted login by
+ logging out"
+
+
+M src/imap-login/imap-login-client.c
+M src/login-common/client-common.h
+M src/pop3-login/client.c
+
+2021-02-03 21:58:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (04440c6364)
+
+ *-login: Add "Disconnected: " prefix to most disconnection log lines
+
+ All except "Disconnected by proxy" disconnections.
+
+M src/imap-login/imap-login-client.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/login-proxy.c
+M src/login-common/main.c
+M src/submission-login/client.c
+
+2021-02-03 21:18:41 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e72f10af89)
+
+ imap-hibernate: Add "Disconnected: " prefix to all disconnection log lines
+
+
+M src/imap-hibernate/imap-client.c
+
+2021-03-01 16:40:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (28ac5a03c9)
+
+ imap: Improve "inactivity" disconnection reason log messages
+
+
+M src/imap/imap-client.c
+
+2021-02-03 21:13:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e81273bac4)
+
+ imap: Improve client disconnection log line in APPEND
+
+
+M src/imap/cmd-append.c
+
+2021-02-03 17:47:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7ca5d9e76d)
+
+ imap: Add "Disconnected: " prefix to all disconnection log lines
+
+ It's currently not very clear that all these different log lines are about
+ the disconnection event.
+
+M src/imap/imap-client.c
+
+2021-03-02 16:40:48 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e898f7bba9)
+
+ lmtp: Simplify client_destroy() handling
+
+ This is similar to the earlier submission commit.
+
+M src/lmtp/lmtp-client.c
+M src/lmtp/lmtp-client.h
+
+2021-03-02 16:37:30 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (578708f67d)
+
+ lmtp: Simplify/clarify disconnection code flow
+
+ This is similar to the earlier submission commit.
+
+M src/lmtp/lmtp-client.c
+M src/lmtp/lmtp-client.h
+
+2021-03-02 16:09:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0244a63021)
+
+ submission: Remove client.stats
+
+ client.conn is no longer ever NULL, so this isn't needed.
+
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2021-03-02 16:00:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d013b6fd8b)
+
+ submission: Simplify client_destroy() handling
+
+ Now it simply calls smtp_server_connection_terminate() and the conn_free()
+ callback does the actual destroying.
+
+M src/submission/submission-backend.c
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2021-03-02 15:46:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8d8676f61b)
+
+ submission: Simplify/clarify disconnection code flow
+
+ client_disconnect() is now removed. Instead, client_destroy() now calls
+ smtp_server_connection_terminate() directly to cause a disconnection and
+ smtp_server_callbacks.conn_disconnect() handles the disconnection directly.
+ This same behavior happened earlier also, but it wasn't as clear.
+
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2021-03-02 15:41:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (453fd9e00e)
+
+ submission: Move client_connection_disconnect|free()
+
+
+M src/submission/submission-client.c
+
+2021-03-05 17:03:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c05c419c69)
+
+ lib-smtp, lmtp, submission: Move adding "(state=%s)" in disconnection reason
+ to lib-smtp
+
+ The following changes will break this in submission and lmtp. The state will
+ be reset before conn_disconnect() is called, so they would always log
+ state=READY.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server.c
+M src/lib-smtp/smtp-server.h
+M src/lmtp/lmtp-client.c
+M src/submission-login/client.c
+M src/submission/submission-client.c
+
+2021-03-02 14:17:29 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (691d92feb9)
+
+ lib-smtp: Add "unfinished %s command" if client disconnected during command
+ processing
+
+ This also removes the need for special code path to differentiate between
+ logging "Remote closed connection" and "Remote closed connection
+ unexpectedly".
+
+M src/lib-smtp/smtp-server-connection.c
+
+2021-03-02 15:23:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2cdab96267)
+
+ lib-smtp: Rename conn_destroy() callback to conn_free()
+
+ It's called when the final reference to connection is dropped, so this
+ describes it better.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server.h
+M src/lib-smtp/test-smtp-payload.c
+M src/lib-smtp/test-smtp-server-errors.c
+M src/lmtp/lmtp-client.c
+M src/submission-login/client.c
+M src/submission/submission-client.c
+
+2021-03-02 10:57:08 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (ae50fc29a4)
+
+ indexer: Convert indexer-worker log info to event
+
+ Emit an event named "indexer_worker_indexing_finished", with following extra
+ fields:
+ - message_count: Number of messages indexed
+ - first_uid: First uid of the message indexed
+ - last_uid: Last uid of the message indexed
+ - user_cpu_usecs: Total user mode cpu time spent on indexing
+
+ On successful indexing and on MAIL_ERROR_NOTFOUND error event is emitted
+ with "e_debug()", in other error situations event is emitted with
+ "e_error()".
+
+M src/indexer/master-connection.c
+
+2021-03-04 23:26:52 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (6b32c8b25a)
+
+ lib: lib-event: Add event_enable_user_cpu_usecs
+
+ - Add an internal rusage struct to events to keep track of resource usage.
+ - "event_enable_user_cpu_usecs()" enables "user_cpu_usecs" field for the
+ event
+
+ If "user_cpu_usecs" field is enabled, user CPU time will be calculated at
+ the time of sending the event and will be added to event fields.
+
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2021-03-11 09:28:58 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (b99dea5b81)
+
+ m4: want_lua - Fix Lua function checks
+
+ One has to use $LIBS variable to ensure libraries come after conftest.c in
+ configure.
+
+ Broken in af819cd2f43b8896d949a33f8099234ac57df6e5
+
+M m4/want_lua.m4
+
+2021-03-03 17:08:07 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (61789ad382)
+
+ lib-lua: Add table get helpers
+
+
+M src/lib-lua/Makefile.am
+M src/lib-lua/dlua-compat.c
+M src/lib-lua/dlua-script-private.h
+A src/lib-lua/dlua-table.c
+M src/lib-lua/test-lua.c
+
+2021-03-04 17:05:45 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (ea26d657e0)
+
+ lib-lua: Check for function presence instead of Lua version in compat code
+
+
+M m4/want_lua.m4
+M src/lib-lua/dlua-compat.c
+M src/lib-lua/dlua-compat.h
+
+2021-03-04 17:03:03 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (991e3c8cec)
+
+ lib-lua: Reorder compat luaL_{setfuncs,setmetatable}
+
+ Switch their order to keep them alphabetical. This will make the header
+ changes in the next commit a little more consistent.
+
+ Additionally, fix up the coding style.
+
+M src/lib-lua/dlua-compat.c
+
+2021-03-04 16:51:46 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (2354db8607)
+
+ lib-lua: Move compat macros and prototypes to dlua-compat.h
+
+ Additionally, fix -Wstrict-bool issue in luaL_newmetatable() compatibility
+ wrapper.
+
+M src/lib-lua/dlua-compat.h
+M src/lib-lua/dlua-script-private.h
+
+2021-03-04 16:38:50 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (1bcc5f4a73)
+
+ lib-lua: Remove unused compatibility macros
+
+ These are never used since all supported Lua versions define
+ LUA_VERSION_NUM.
+
+M src/lib-lua/dlua-script-private.h
+
+2021-03-04 16:21:07 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (32e963965c)
+
+ lib-lua: Implement a Lua 5.1 & 5.2 compatibility wrapper for lua_isinteger
+
+
+M src/lib-lua/dlua-compat.c
+M src/lib-lua/dlua-compat.h
+M src/lib-lua/test-lua.c
+
+2021-03-04 16:16:53 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (af819cd2f4)
+
+ m4: want_lua - Check for lua_isinteger
+
+
+M m4/want_lua.m4
+
+2021-03-04 15:35:37 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (cdf6260258)
+
+ lib-lua: Implement a Lua 5.1 compatibility wrapper for lua_tointegerx
+
+
+M src/lib-lua/Makefile.am
+M src/lib-lua/dlua-compat.c
+A src/lib-lua/dlua-compat.h
+M src/lib-lua/dlua-script-private.h
+M src/lib-lua/test-lua.c
+
+2021-03-04 15:31:29 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (f86a94015f)
+
+ m4: want_lua - Check for lua_tointegerx
+
+
+M m4/want_lua.m4
+
+2021-02-12 13:11:53 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (cd7e0ae51b)
+
+ lib-smtp: test-smtp-client-errors - Amend early data reply test to verify
+ that connection is still viable.
+
+ Some problems only surface when the connection is reused for the next
+ command. Before, the connection was terminated immediately after the
+ transaction, which hides such issues.
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2021-02-09 23:35:53 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (e305a608bf)
+
+ lib-smtp: smtp-client-connection - Hold reference to command that is sending
+ a stream.
+
+ This fixes a panic:
+
+ Panic: file smtp-client-command.c: line 715
+ (smtp_client_command_do_send_more): assertion failed: (cmd->stream != NULL)
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+
+2021-02-09 23:35:42 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (4d03a50a50)
+
+ lib-smtp: smtp-client-command - Make smtp_client_command_unref() return TRUE
+ when the object persists.
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-command.h
+
+2021-02-09 23:44:42 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (09cd268754)
+
+ lib-smtp: smtp-client-command - Make smtp_client_command_unref(NULL) a
+ no-op.
+
+
+M src/lib-smtp/smtp-client-command.c
+
+2021-03-06 17:58:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (63bebe6103)
+
+ imap: Fix logging garbage if imap-hibernate sends invalid VERSION
+
+
+M src/imap/imap-client-hibernate.c
+
+2021-03-05 15:26:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d386b616c0)
+
+ lib-mail: mail-html2text - Fix character signedness type mismatch
+
+ Fixes ubsan complaints: mail-html2text.c:186:12: runtime error: implicit
+ conversion from type 'unsigned char' of value 226 (8-bit, unsigned) to type
+ 'char' changed the value to -30 (8-bit, signed)
+
+M src/lib-mail/mail-html2text.c
+
+2021-03-05 12:44:42 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (070f586350)
+
+ fts-tika: Don't fail indexing if Tika returns 5xx error
+
+ Broken by 8e1eaf849ce4668c0941338e3e3671db159da575, which changed 5xx to be
+ retried once before it was ignored. However, it accidentally changed the
+ second 5xx to return failure instead of being ignored.
+
+M src/plugins/fts/fts-build-mail.c
+
+2021-03-02 17:10:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (52d3c54afd)
+
+ pop3: Change IO context earlier while shutting down
+
+ This didn't practically cause any issues currently, but the new behavior is
+ more correct and future-proof.
+
+M src/pop3/pop3-client.c
+
+2021-03-02 17:08:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (055a98fa40)
+
+ imap: Fix using mail_log_prefix is used when client disconnects during
+ server shutdown
+
+
+M src/imap/imap-client.c
+M src/imap/main.c
+
+2021-03-02 17:02:32 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5f948f4079)
+
+ submission: Fix using mail_log_prefix when client is disconnected due to
+ server shutdown
+
+
+M src/submission/submission-client.c
+
+2021-02-26 16:10:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (47097c6d27)
+
+ dict-sql: Add more comments
+
+
+M src/lib-dict-backend/dict-sql.c
+
+2021-02-26 16:05:47 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (27f28a1fde)
+
+ dict-sql: Rename [extra_]values to pattern_values
+
+
+M src/lib-dict-backend/dict-sql.c
+
+2021-02-26 16:03:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (98dd0628a7)
+
+ dict-sql: Rename dict_sql_map.max_field_count to max_pattern_fields_count
+
+
+M src/lib-dict-backend/dict-sql-settings.c
+M src/lib-dict-backend/dict-sql-settings.h
+M src/lib-dict-backend/dict-sql.c
+
+2021-02-26 16:02:05 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (94fbb67e34)
+
+ dict-sql: Rename dict_sql_map.sql_fields to pattern_fields
+
+
+M src/lib-dict-backend/dict-sql-settings.c
+M src/lib-dict-backend/dict-sql-settings.h
+M src/lib-dict-backend/dict-sql.c
+
+2021-02-26 15:40:41 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8abff720eb)
+
+ dict-sql: Change char key1 to bool add_username
+
+
+M src/lib-dict-backend/dict-sql.c
+
+2021-02-26 15:32:48 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (00b313513f)
+
+ dict-sql: Simplify sql_dict_maps_are_mergeable() and add comments
+
+
+M src/lib-dict-backend/dict-sql.c
+
+2021-02-26 15:29:02 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (70f6f640cc)
+
+ lib: test-array - Use i_strcmp_p() instead of reimplementing it
+
+
+M src/lib/test-array.c
+
+2021-02-26 15:02:02 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4810970ea6)
+
+ dict-sql: Simplify set/inc flushing
+
+ Especially the *_real() function names were confusing.
+
+M src/lib-dict-backend/dict-sql.c
+
+2021-02-25 17:54:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3b46f12e9b)
+
+ dict-sql: Support merging multiple atomic_inc fields
+
+
+M src/lib-dict-backend/dict-sql.c
+M src/lib-dict-backend/test-dict-sql.c
+
+2021-02-25 17:40:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f6a4383d65)
+
+ dict-sql: Support merging multiple set fields
+
+
+M src/lib-dict-backend/dict-sql.c
+M src/lib-dict-backend/dict.conf
+M src/lib-dict-backend/test-dict-sql.c
+
+2021-02-25 17:19:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (69a1c091d3)
+
+ dict-sql: Keep trying to merge INSERT/UPDATE always to the previous key
+
+ Previously if the first two couldn't be merged, it would flush both. Now it
+ flushes only the first and attempts to merge the 2nd and 3rd.
+
+M src/lib-dict-backend/dict-sql.c
+
+2021-02-25 17:10:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (977346e1bf)
+
+ dict-sql: Move prev_set_* and prev_inc_* to struct sql_dict_prev
+
+
+M src/lib-dict-backend/dict-sql.c
+
+2021-02-25 15:50:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4d66f8f75b)
+
+ lib-sql: driver-test - Use test_assert_strcmp()
+
+
+M src/lib-sql/driver-test.c
+
+2021-02-25 15:49:47 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9a1ee0e316)
+
+ lib-dict-backend: test-dict-sql - Use test_assert_strcmp*()
+
+
+M src/lib-dict-backend/test-dict-sql.c
+
+2021-02-23 22:49:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6c92f46723)
+
+ lib-fs: Add type safety to fs_file/iter_set_async_callback() callback
+ context
+
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-wrapper.c
+
+2021-02-23 11:11:47 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2a79971244)
+
+ lib-dict, global: Add type safety to dict_transaction_commit_async()
+ callback context
+
+
+M src/dict/dict-commands.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/quota-dict.c
+
+2021-02-23 11:16:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (02c3916fa3)
+
+ lib-dict, quota: Add and use dict_transaction_commit_async_nocallback()
+
+
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/plugins/quota/quota-dict.c
+
+2021-02-23 11:09:36 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2397fa2a40)
+
+ lib-dict, global: Add type safety to dict_iterate_set_async_callback()
+ callback context
+
+
+M src/dict/dict-commands.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+
+2021-02-23 11:08:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (46cc92aa6c)
+
+ lib-dict, global: Add type safety to dict_lookup_async() callback context
+
+
+M src/dict/dict-commands.c
+M src/doveadm/doveadm-dict.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+
+2021-03-02 09:51:59 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (1314743ca9)
+
+ configure: Remove useless checks for luajit
+
+ At one point, we considered supporting LuaJIT. While it turned out to be
+ not worth it, the prototype removal accidentally left checks in the
+ configure file.
+
+M configure.ac
+
+2021-02-22 17:44:03 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (16bc5913a0)
+
+ global: dict_iterate_deinit(NULL) is a no-op
+
+
+A coccinelle/null-nop-dict_iterate_deinit.cocci
+M src/auth/userdb-dict.c
+M src/dict/dict-commands.c
+
+2021-02-22 17:43:49 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (d7446176ef)
+
+ lib-dict: Make dict_iterate_deinit(NULL) a no-op
+
+
+M src/lib-dict/dict.c
+
+2021-02-22 17:43:05 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (dace16f540)
+
+ global: dict_transaction_rollback(NULL) is a no-op
+
+
+A coccinelle/null-nop-dict_transaction_rollback.cocci
+M src/dict/dict-connection.c
+M src/lib-storage/index/index-transaction.c
+
+2021-02-22 17:41:23 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (955ba101dc)
+
+ lib-dict: Make dict_transaction_rollback(NULL) a no-op
+
+
+M src/lib-dict/dict.c
+
+2021-02-04 18:25:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ac9e117021)
+
+ fts: Replace generic "transaction context" error with more specific ones
+
+
+M src/plugins/fts/fts-storage.c
+
+2021-02-03 19:42:17 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (33cc04ebb7)
+
+ fts: Fix mail_precache() and related error handling
+
+ The mail_precache() caller is now expected to stop on error, so there's no
+ need for fts to stop the search internally anymore. And similarly the caller
+ will log the mail_precache() error so the search or transaction don't need
+ to fail.
+
+ ft->failed is now used only for failures that are more specific to the
+ transaction.
+
+M src/plugins/fts/fts-storage.c
+
+2021-02-03 19:30:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2e19383b9f)
+
+ fts: Use storage error logging when possible
+
+ Use mail_storage_set_internal_error() only when it's required, because it
+ loses the internal error string in storage.
+
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-build-mail.h
+M src/plugins/fts/fts-storage.c
+
+2021-02-03 19:27:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (dc78357452)
+
+ lib-fts, fts: fts_language_detect() - Return error string instead of logging
+ it
+
+
+M src/lib-fts/fts-language.c
+M src/lib-fts/fts-language.h
+M src/lib-fts/test-fts-language.c
+M src/plugins/fts/doveadm-fts.c
+M src/plugins/fts/fts-build-mail.c
+
+2021-02-03 21:00:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3c37ef3730)
+
+ indexer: Include "attempted to index ... messages" also in all error
+ messages
+
+ After the following changes search or transaction won't always fail anymore.
+
+M src/indexer/master-connection.c
+
+2021-02-04 18:07:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3f328ac9f5)
+
+ global: Handle mail_precache() errors
+
+
+M src/doveadm/doveadm-mail-index.c
+M src/indexer/master-connection.c
+M src/plugins/fts/fts-storage.c
+
+2021-02-04 18:05:39 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (921fe06624)
+
+ lib-storage: Change mail_precache() API to allow returning an error
+
+
+M src/lib-storage/fail-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/virtual/virtual-mail.c
+
+2021-02-23 16:32:39 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (576d40df2c)
+
+ Makefile: Always include dovecot.socket and dovecot.service
+
+
+M Makefile.am
+
+2021-02-23 12:52:29 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (21ca65f26d)
+
+ lib-master: Always import systemd related variables with systemd
+
+ Otherwise it is too easy to break systemd integration by forgetting these
+ from import_environment.
+
+M src/lib-master/master-service.c
+
+2021-02-22 16:14:14 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (6e811f1aec)
+
+ master: Improve systemd integration
+
+
+M src/master/main.c
+
+2021-02-22 15:29:48 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (a42bb363b4)
+
+ master: Use libsystemd instead of local source
+
+
+M Makefile.am
+M configure.ac
+M src/lib-master/master-service-settings.c
+M src/master/Makefile.am
+M src/master/main.c
+D src/master/sd-daemon.c
+D src/master/sd-daemon.h
+M src/master/service-listen.c
+
+2021-02-23 16:08:28 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (19e05adc36)
+
+ master: service-listen - Use dovecot coding standard for systemd code
+
+
+M src/master/service-listen.c
+
+2021-02-22 16:01:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (92f7801e67)
+
+ lib-imap-client: Add asserts to make sure running commands always have a
+ timeout
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2021-02-22 15:41:42 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e8da1037b9)
+
+ lib-imap-client: Don't remove global command timeouts when mailbox is
+ unselected
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2021-02-22 13:15:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ae48fa6fac)
+
+ lib-imap-client: Fix busy-loop if server disconnects too early when trying
+ to logout
+
+ This can happen if:
+ * imapc sends NOOP to break idle
+ * remote server sends BYE, but doesn't immediately disconnect
+ * session is stopped, which causes imapc to attempt to send LOGOUT
+ * imapc waits for NOOP response first
+ * remote server disconnects
+ * imapc notices the disconnection, but does nothing with it, because it
+ thinks it's already handled. This keeps busy-looping.
+ * If there was a mailbox selected, this results in infinite busy-loop. If a
+ mailbox wasn't selected, imapc_cmd_timeout aborts the NOOP command.
+
+M src/lib-imap-client/imapc-connection.c
+
+2021-02-24 17:51:19 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (eea988f038)
+
+ lib-mail: message-parser - Always properly finish parsed input
+
+ If the caller hadn't called message_parser_parse_next_block() after seeing
+ EOF in the istream, the deinit could have crashed with:
+
+ Panic: file message-parser.c: line 802 (message_parser_deinit_from_parts):
+ assertion failed: (ctx->nested_parts_count == 0 ||
+ i_stream_have_bytes_left(ctx->input))
+
+M src/lib-mail/message-parser.c
+
+2021-03-01 12:03:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (96626062da)
+
+ lib: io_loop_context_new() - Fix memory leak
+
+ Broken by fea09a415cf89223d8b17c5982257c9b3c357cbc
+
+M src/lib/ioloop.c
+
+2021-02-18 14:43:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6b28234f3d)
+
+ login-common: Fix implicit integer conversions when connect timeout is
+ reached
+
+
+M src/login-common/login-proxy.c
+
+2021-02-03 20:48:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e73be660c5)
+
+ lmtp: Fix log prefix when autoexpunge is running
+
+ The username was missing from the log prefix.
+
+M src/lmtp/lmtp-local.c
+
+2021-02-03 20:42:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fea09a415c)
+
+ lib: io_loop_context_new() no longer implicitly activates the context
+
+ The new behavior requires explicitly activating the context. This change was
+ needed, because an implicit creation activated the context but didn't call
+ any of the callbacks. If ioloop wasn't run, the activation callbacks were
+ never called. This meant that when context was deactivated, the deactivation
+ callbacks weren't run either.
+
+M src/imap-hibernate/imap-client.c
+M src/lib-storage/mail-storage-service.c
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2021-02-17 19:33:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b32b3f989d)
+
+ lib-storage: Replace i_error() and i_warning() with e_error() and
+ e_warning()
+
+ This changes only the generic code. The driver-specific code still needs
+ changing.
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/mail-autoexpunge.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-uidvalidity.c
+
+2021-02-18 12:20:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (26bf371412)
+
+ lib-storage: test-mailbox-list - Initialize namespace, user and event
+
+ Required by the following change.
+
+M src/lib-storage/test-mailbox-list.c
+
+2021-02-17 19:28:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e9912fbbff)
+
+ lib-storage: mail-duplicate - Replace i_error() with e_error()
+
+
+M src/lib-storage/mail-duplicate.c
+
+2021-02-17 19:16:58 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ad13ab0702)
+
+ lib-storage: Add functions to get log prefixes
+
+ This changes the log prefixes to be stored even when
+ MAIL_STORAGE_SERVICE_FLAG_NO_LOG_INIT is used.
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2021-02-03 20:37:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d46404a323)
+
+ lib-storage: Initialize service_user's logging before creating ioloop
+ context
+
+ Needed by the next change.
+
+M src/lib-storage/mail-storage-service.c
+
+2021-02-03 20:35:02 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e5caac3a90)
+
+ lib-storage: Add PID to the default log prefix
+
+
+M src/lib-storage/mail-storage-service.c
+
+2021-02-16 13:39:02 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (120f30fbd4)
+
+ doc/example: 10-metrics.conf - Add metrics related settings
+
+
+A doc/example-config/conf.d/10-metrics.conf
+M doc/example-config/conf.d/Makefile.am
+
+2021-02-16 13:25:40 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (4bc2e75557)
+
+ doc/eaxmple: 10-logging.conf - Update syntax example to point to online
+ documentation
+
+
+M doc/example-config/conf.d/10-logging.conf
+
+2021-02-18 18:58:29 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9d269602cb)
+
+ lib: event_get_last_duration() - Change it to return uintmax_t
+
+ It can't be negative, so unsigned return value makes more sense. Also
+ clarify the function comment and parameter name.
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+M src/lib/test-event-log.c
+M src/stats/stats-metrics.c
+
+2021-02-18 16:25:50 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (b811181069)
+
+ stats: openmetrics: Do microsecond to seconds conversion only for duration
+ values
+
+ Other metrics should be exported with their values unchanged.
+
+M src/stats/stats-service-openmetrics.c
+
+2021-02-16 21:06:50 +0100 Martin Michaelis <code@mgjm.de> (9efdef3083)
+
+ stats: openmentrics: Change histogram bucket unit to seconds
+
+ In ae678116a79fff609cdf4fb1eb7eb3db2975bf1c the unit of durations was
+ changed from microseconds to seconds, but the `le` field in histograms is
+ still in microseconds.
+
+M src/stats/stats-service-openmetrics.c
+
+2021-02-18 21:39:09 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (e73615a40f)
+
+ stats: refactor duration field name into a macro
+
+
+M src/stats/stats-metrics.c
+M src/stats/stats-metrics.h
+
+2021-02-16 15:39:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a48bab26c6)
+
+ lib-master: If config reading via doveconf exec fails, show details in the
+ error
+
+
+M src/lib-master/master-service-settings.c
+
+2021-02-16 15:38:36 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d199f1369b)
+
+ lib-master: Reset master_service.config_path_from_master if -c parameter is
+ used
+
+ This doesn't fix anything currently, but clarifies the behavior and is
+ needed by the following commit.
+
+M src/lib-master/master-service.c
+
+2019-01-04 09:57:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (cd17ae1d77)
+
+ plugins: fts-solr: Use a private HTTP client.
+
+ This is a workaround for problems with the
+ http_client_request_send_payload() API that occur when several shared HTTP
+ clients use this API at the same time and payload sending gets interleaved.
+
+M src/plugins/fts-solr/solr-connection.c
+
+2019-01-04 09:55:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0d24830967)
+
+ plugins: fts: tika: Use a private HTTP client.
+
+ This is a workaround for problems with the
+ http_client_request_send_payload() API that occur when several shared HTTP
+ clients use this API at the same time and payload sending gets interleaved.
+
+M src/plugins/fts/fts-parser-tika.c
+
+2021-02-17 13:18:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (dc5e992d33)
+
+ lib: test-cpu-limit - Increase ALLOW_MSECS_BELOW to 500ms
+
+ The test still randomly failed with 100ms. Maybe 500ms is enough?
+
+M src/lib/test-cpu-limit.c
+
+2021-02-17 13:18:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3178728945)
+
+ lib: test-cpu-limit - Use test_assert_cmp()
+
+
+M src/lib/test-cpu-limit.c
+
+2021-02-18 14:23:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (09cb1a7d08)
+
+ lib-test: Add test_assert_ucmp[_idx]()
+
+ These are the unsigned versions of test_assert_cmp*()
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2021-02-17 13:17:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1bb6d7189b)
+
+ lib-test: Add test_assert_cmp[_idx]()
+
+ Similar to test_assert_strcmp() but for numbers: If the comparison fails,
+ print the values and the used operator.
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2021-02-17 11:49:44 +0100 Markus Valentin <markus.valentin@open-xchange.com> (02bec0cfeb)
+
+ acl: acl_lookup_dict_rebuild_update()
+
+ Initialize dict_transaction_context *dt with NULL. Due to the changes done
+ in bfa7433bfcf538af7c4fdafe37a88bde6508c751 dt could be used uninitialized.
+
+M src/plugins/acl/acl-lookup-dict.c
+
+2021-02-17 01:02:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (bf86675d35)
+
+ Makefile.am: Don't delete dovecot.socket in make clean
+
+ Broken by 0650928f3e3728911d6bcea4daf743df02ec1b3d
+
+M Makefile.am
+
+2020-12-21 21:02:23 -0700 Michael M Slusarz <michael.slusarz@open-xchange.com> (d275fba32b)
+
+ imap: Fix PREVIEW behavior to support RFC 8970
+
+
+M README.md
+M configure.ac
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.h
+
+2021-02-17 14:40:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1227b34da9)
+
+ mbox: Fix potentially logging read error when there was no error
+
+ Broken by 959385969388b2d4f6d3d0218fa175481cb46c8a
+
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+
+2021-02-10 13:13:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c4f4058d16)
+
+ imap: NOTIFY - Fix crash if client disconnects while sending FETCH
+ notification
+
+ Fixes: Panic: Trying to close mailbox INBOX with open transactions
+
+M src/imap/imap-notify.c
+M src/imap/imap-sync.c
+
+2021-02-03 17:38:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c09b7032c1)
+
+ doveadm: Avoid duplicate error logging with doveadm_print_istream()
+
+
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-print.h
+
+2021-02-03 17:34:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (da7208fb96)
+
+ lib-compression, global: Remove support for implicit error logging
+
+
+M src/doveadm/doveadm-zlib.c
+M src/lib-compression/bench-compression.c
+M src/lib-compression/compression.h
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-decompress.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/istream-zlib.h
+M src/lib-compression/istream-zstd.c
+M src/lib-compression/ostream-zstd.c
+M src/lib-compression/test-compression.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/zlib/zlib-plugin.c
+
+2021-02-03 17:04:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1a388627f1)
+
+ doveadm zlibconnect: Avoid duplicate error logging
+
+ The istream errors are already logged with i_fatal(). There's no need for a
+ duplicate error.
+
+M src/doveadm/doveadm-zlib.c
+
+2021-02-03 17:04:16 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e58e57cb7e)
+
+ doveadm dump -t imapzlib: Explicitly log compress istream errors
+
+
+M src/doveadm/doveadm-zlib.c
+
+2021-02-03 16:57:30 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fb92b79819)
+
+ zlib: Remove extra error logging for istream failures
+
+ The error will nowadays be logged as the istream error anyway.
+
+M src/plugins/zlib/zlib-plugin.c
+
+2021-02-03 17:32:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9593859693)
+
+ mbox: istream-raw-mbox - Log parent istream read errors
+
+
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+
+2021-02-03 17:18:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1ae18869a5)
+
+ mbox: Use mbox_ostream_set_syscall_error()
+
+
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+
+2021-02-03 17:24:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e884af64a7)
+
+ mbox: Use mbox_istream_set_syscall_error()
+
+
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2021-02-03 17:18:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b00e7d5660)
+
+ mbox: Add mbox_[io]stream_set_syscall_error()
+
+ This allows logging the iostream-specific error rather than the more generic
+ errno.
+
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-storage.h
+
+2020-04-23 15:26:22 +0300 Alex/AT <alex@alex-at.net> (f753ea9b31)
+
+ lib-master: Fix haproxy PROXY protocol LOCAL type connection behavior when
+ header includes address information or TLVs
+
+ PROXY protocol LOCAL type headers can actually include supplementary
+ information (addresses, TLVs) which need to be skipped to correctly handle
+ the header. Fixes Invalid TLV bug with haproxy 2.0.14 service checks.
+
+ More info here: https://github.com/haproxy/haproxy/issues/511 And here:
+ https://www.mail-archive.com/haproxy@formilux.org/msg36890.html
+
+M src/lib-master/master-service-haproxy.c
+
+2021-02-16 16:40:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ded811b345)
+
+ lib: cpu-limit - Don't round current CPU usage up when checking if rlim_max
+ is reached
+
+ The fatal error could trigger half a second too early.
+
+ Also always increase the provided cpu_limit_sec by 1 second to make sure it
+ won't trigger too early. Although even with this change it can still trigger
+ a few milliseconds too early for some reason.
+
+M src/lib/cpu-limit.c
+
+2021-02-16 16:42:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5b87dcaf94)
+
+ lib: cpu-limit - Allow time comparisons to be more relaxed
+
+ This should fix random failures.
+
+M src/lib/test-cpu-limit.c
+
+2020-11-10 16:33:41 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7db69420cf)
+
+ lib-storage: Fix assert-crash when parsing binary attachments
+
+ EOF may not have been detected in the cur_block istream early enough,
+ causing the calculation to go wrong. This happened at least with empty
+ base64 bodies, but could have possibly happened in other situations also.
+
+ Fixes: Panic: file index-mail-binary.c: line 357 (blocks_count_lines):
+ assertion failed: (block_count == 0 || block_idx+1 == block_count)
+
+M src/lib-storage/index/index-mail-binary.c
+
+2021-02-12 14:45:39 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (1f135ee6d2)
+
+ config: test-config-parser - Change filename to match .gitignore pattern
+
+
+M src/config/test-config-parser.c
+
+2021-02-12 14:32:01 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (412d9554e9)
+
+ config: test-config-parser - Cleanup input file after test
+
+
+M src/config/test-config-parser.c
+
+2021-02-01 15:38:49 +0100 Markus Valentin <markus.valentin@open-xchange.com> (bfa7433bfc)
+
+ acl: acl_lookup_dict_rebuild_update() - Commit transaction after each
+ [un]set
+
+ When used with Cassandra an error can occur if multiple changes are included
+ into one transaction: "Multiple changes in transaction not supported".
+ Prevent these errors by committing every change on it's own.
+
+M src/plugins/acl/acl-lookup-dict.c
+
+2020-12-16 00:13:19 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5d3d8e5dac)
+
+ lib-storage: Fix assert-crash in shared namespace if storage has no
+ directories
+
+ This allows using imapc with shared namespaces.
+
+ Fixes: Panic: file mailbox-list.c: line 1419: unreached
+
+M src/lib-storage/index/shared/shared-storage.c
+
+2020-12-16 00:09:32 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (32da598980)
+
+ acl: Add acl_ignore_namespace* settings
+
+ Ignore ACLs entirely for the listed namespaces. For example:
+
+ plugin {
+ acl_ignore_namespace = virtual/
+ acl_ignore_namespace2 = shared/*
+ }
+
+M src/plugins/acl/acl-mailbox-list.c
+
+2021-02-07 09:23:03 +0100 Simon Rupf <simon@rupf.net> (da1dad0097)
+
+ util: health-check - Timeout the read via trap for POSIX shell compatibility
+
+
+M src/util/health-check.sh
+
+2021-01-23 11:29:22 +0100 Simon Rupf <simon@rupf.net> (5510fd8854)
+
+ util: health-check - Consistent variable style
+
+
+M src/util/health-check.sh
+
+2021-01-23 11:07:36 +0100 Simon Rupf <simon@rupf.net> (ce3a0fdd36)
+
+ util: health-check - Made bash script compatible with dash shell
+
+
+M src/util/health-check.sh
+
+2020-05-24 23:15:53 +0200 Nis Martensen <nis.martensen@web.de> (0650928f3e)
+
+ Makefile.am: fix typo and broken variable assignment
+
+
+M Makefile.am
+
+2020-05-24 22:05:42 +0200 Nis Martensen <nis.martensen@web.de> (daee059866)
+
+ systemd integration: notify service manager when ready
+
+ With Type=simple or Type=forking, systemd does not really know when the
+ service is ready to accept connections and might start depending services
+ too early. Use Type=notify to explicitly tell the service manager when the
+ service is ready.
+
+ For a real problem caused by assuming readiness too early, please see
+ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=951722
+
+ For the meaning of the service type and details of the readiness protocol,
+ see also the following links:
+ https://www.freedesktop.org/software/systemd/man/systemd.service.html#Type=
+ https://www.freedesktop.org/software/systemd/man/sd_notify.html
+
+ As discussed in the last link, more elaborate state notifications are
+ possible. This patch only implements the most basic part.
+
+ Original patch prepared by Michael Biebl, with slight modification.
+
+M dovecot.service.in
+M src/lib-master/master-service-settings.c
+M src/master/main.c
+
+2020-10-29 01:04:26 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (ea851d0745)
+
+ lib: Add API for limiting CPU usage of subroutines.
+
+
+M src/lib/Makefile.am
+A src/lib/cpu-limit.c
+A src/lib/cpu-limit.h
+A src/lib/test-cpu-limit.c
+M src/lib/test-lib.inc
+
+2020-10-29 01:09:17 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (3ce88c8669)
+
+ lib: time-util - Add support for rounding off timeval to a time_t value.
+
+
+M src/lib/time-util.h
+
+2020-10-29 01:06:57 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (f3fff8e029)
+
+ lib: time-util - Add support for calculating the sum of two timeval values.
+
+
+M src/lib/time-util.h
+
+2021-02-01 12:33:02 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (4341feba66)
+
+ run-test-valgrind.supp: Add more suppressions
+
+
+M run-test-valgrind.supp
+
+2021-01-28 23:09:00 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (6e13107de7)
+
+ dsync: Add namespace prefixes to mailbox tree
+
+ Adds syncing selectable namespace prefixes, especially shared INBOXes with
+ "mail_shared_explicit_inbox=yes".
+
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+
+2021-01-07 09:40:51 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (6832759cf5)
+
+ dsync: Check namespace prefix when syncing shared namespaces
+
+ When iterating over namespaces, comparing namespace pointers doesn't work
+ for shared namespaces. Instead, check the prefix and include all the
+ mailboxes in the namespace for syncing.
+
+M src/doveadm/dsync/dsync-brain.c
+
+2021-01-19 10:33:17 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (cd0a0a4240)
+
+ dsync: Don't send out of tree namespace parents for syncing
+
+ For namespaces prefixes with multiple hierarchical names, we shouldn't send
+ parents (i.e. first part/parts of the prefix) that are outside of syncing.
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2021-02-04 20:54:14 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (c452b7177e)
+
+ lib-storage: Cache mailbox's namespace prefix if selectable
+
+ If namespace prefix is a selectable mailbox, mailbox_guid_cache_refresh
+ should add it to cache.
+
+M src/lib-storage/mailbox-guid-cache.c
+
+2021-02-04 15:57:09 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (fd350bc887)
+
+ lib-storage: Add mailbox_guid_cache_add_mailbox()
+
+ Refactored caching logic in mailbox_guid_cache_refresh to this new function.
+
+M src/lib-storage/mailbox-guid-cache.c
+
+2021-02-04 20:52:19 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (74005f66c0)
+
+ lib-storage: Add mail_namespace_prefix_is_inbox()
+
+
+M src/lib-storage/mail-namespace.h
+
+2021-02-04 01:42:52 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (be9a813f05)
+
+ lib-storage: Skip private server attributes for shared inboxes
+
+ Private server attributes should be iterated only for user's own inbox.
+
+M src/lib-storage/mailbox-attribute.c
+
+2021-02-01 17:53:59 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (27b25d6942)
+
+ lib-storage: mailbox-list-iter: Send delayed inbox after actually seeing the
+ inbox
+
+ Control delayed inbox listing with a flag in ns_list_iterate_context. Send
+ only when the inbox is actually seen.
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2021-02-02 12:43:50 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (f137dce5b6)
+
+ lib-index: Fix implicit integer truncation found by ubsan
+
+
+M src/lib-index/mail-index-transaction-view.c
+
+2021-02-03 15:55:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9accb79b48)
+
+ lib-index: Avoid a duplicate "missing middle file seq" warning.
+
+ The previous changes fixed repeating warning, but it was still possible that
+ the warning was logged twice. Now it's logged only once.
+
+M src/lib-index/mail-index-view-sync.c
+
+2021-02-01 17:49:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f47f204636)
+
+ lib-index: Change "missing middle file seq" error into warning
+
+ It's not really an error, but it has been useful in finding performance
+ problems. Possibly it should be changed into a named event at some point.
+
+M src/lib-index/mail-index-view-sync.c
+
+2021-02-01 17:02:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c118345086)
+
+ lib-index: view_sync_set_log_view_range() - Move error logging to parent
+
+
+M src/lib-index/mail-index-view-sync.c
+
+2021-02-01 16:53:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c038c664ea)
+
+ lib-index: Fix repetitive "missing middle file seq" error.
+
+ If a view keeps being synced with MAIL_INDEX_VIEW_SYNC_FLAG_NOEXPUNGES,
+ every sync regenerated the missing log files and logged this error. This
+ could have resulted in lots of errors being logged about it, as well as
+ unnecessary CPU usage.
+
+ The view syncing was always syncing from the last "expunge log position",
+ even when expunges weren't being synced. The new behavior is to do that only
+ when expunges are synced, but otherwise use the "head log position" to sync
+ only the new changes since the last view sync.
+
+ The error is now logged once when the log is first noticed being lost.
+ Another error is logged when pending expunges are synced.
+
+M src/lib-index/mail-index-view-sync.c
+
+2021-01-26 09:30:42 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (93014e52f8)
+
+ m4: dovecot.m4 - Execute tests with libtool
+
+ This allows libtool to do all the necessary preparations before test harness
+ is used.
+
+M m4/dovecot.m4
+
+2021-01-26 09:29:44 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c0b98d9284)
+
+ m4: dovecot.m4 - Find out and use absolute path to valgrind
+
+
+M m4/dovecot.m4
+
+2021-02-08 10:05:47 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (a25fa78789)
+
+ lib-settings: test-settings-parser - Use ULL suffix
+
+ Some of the sizes do not fit to UL in 32 bit systems.
+
+M src/lib-settings/test-settings-parser.c
+
+2021-01-22 14:00:21 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (6e5ae5ef0f)
+
+ lib-compression: Remove xz/lzma write support
+
+ For now, we keep the read support to allow for a more gradual migration from
+ lzma/xz.
+
+ The code has bugs. Additionally, there is no benefit in keeping it around.
+ bzip2 or zstd (at maximum compression level) are likely better choices for
+ archival. For non-archival usecases, a light compression algorithm like
+ zstd (at low to medium compression level) or lz4 are better choices.
+
+M configure.ac
+M run-test-valgrind.supp
+M src/lib-compression/Makefile.am
+M src/lib-compression/compression.c
+D src/lib-compression/ostream-lzma.c
+M src/lib-compression/ostream-zlib.h
+M src/lib-compression/test-compression.c
+
+2021-01-28 17:04:37 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (4b1c694608)
+
+ lib-mail: test-message-snippet - Add unit tests for multipart messages
+
+
+M src/lib-mail/test-message-snippet.c
+
+2021-02-03 17:22:07 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c8c1e9d840)
+
+ lib-mail: test-message-snippet - Use test_assert_strcmp
+
+ Makes it easier to see what failed.
+
+M src/lib-mail/test-message-snippet.c
+
+2021-01-28 16:52:10 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (5f9da73421)
+
+ lib-mail: Reformat test-message-snippet.c
+
+
+M src/lib-mail/test-message-snippet.c
+
+2021-01-28 17:01:38 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c276029aed)
+
+ lib-mail: message-snippet - Stop building snippet on first non-empty part
+
+ When we have gotten some snippet out of first eligible part, we can stop.
+
+M src/lib-mail/message-snippet.c
+
+2021-01-28 16:48:05 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (964e60417a)
+
+ lib-mail: message-snippet - Do not stop on first non-text part
+
+ Some mail structures would break snippet generation because the code would
+ stop on multipart.
+
+M src/lib-mail/message-snippet.c
+
+2021-01-28 11:07:32 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c5842d9cfe)
+
+ lib-mail: message-snippet - Free html parser before making new
+
+ If html parser has already been initialized, free it before restarting the
+ parser.
+
+ Fixes memory leak introduced by 7f7be2cbf68f8a202a688d5bc50f82483d461643
+
+M src/lib-mail/message-snippet.c
+
+2021-02-04 08:59:29 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (bf8286ac5b)
+
+ stats: stats-service-openmetrics - Use PRIdTIME_T for startup time
+
+
+M src/stats/stats-service-openmetrics.c
+
+2021-02-04 08:57:24 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (b97fa96434)
+
+ login: login-proxy - Fix type conflict
+
+
+M src/login-common/login-proxy.c
+
+2021-02-04 08:54:59 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (77de43799e)
+
+ lib-mail: test-message-header-decode - Use ptrdiff_t for rep_char_len
+
+ The length is compared to a pointer difference, so using ptrdiff_t squashes
+ a warning.
+
+M src/lib-mail/test-message-header-decode.c
+
+2021-02-04 08:46:51 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (e38c52558e)
+
+ lib-settings: test-setting-parser - Use correct type in test
+
+ SIZE uses uoff_t.
+
+M src/lib-settings/test-settings-parser.c
+
+2021-02-04 08:45:37 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (8aa7f840c6)
+
+ lib: backtrace - Use correct format modifier
+
+ Matches size_t correctly.
+
+M src/lib/backtrace-string.c
+
+2021-02-04 08:44:46 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (01366bd18e)
+
+ lib: test-time-util - Use correct types for test case
+
+ Fixes type mismatch on 32-bit systems.
+
+M src/lib/test-time-util.c
+
+2021-01-19 19:11:47 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (0ac71cbbc9)
+
+ master: Fix reopening log files on SIGUSR1
+
+
+M src/master/main.c
+
+2021-01-19 19:11:20 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (34f7b38b50)
+
+ man: Clarify how doveadm log reopen works
+
+
+M doc/man/doveadm-log.1.in
+
+2021-01-28 16:45:45 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (260b49d7a3)
+
+ dovecot.service.in: Update documentation URL
+
+
+M dovecot.service.in
+
+2021-01-22 13:19:05 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (264d67d6f0)
+
+ lib-master: test-event-stats - Fix unit test when compiling using build
+ directory
+
+ When using build directory __FILE__ expands to
+ "../../../src/lib-master/test-event-stats.c", which doesn't match
+ "test-event-stats.c" what is normally used.
+
+M src/lib-master/test-event-stats.c
+
+2021-01-18 18:14:47 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (001d919b9d)
+
+ lib-master: test-event-stats - Cast test value to uint64_t
+
+
+M src/lib-master/test-event-stats.c
+
+2021-01-04 16:31:03 +0000 Paul Howarth <paul@city-fan.org> (2cc1feca90)
+
+ lib: Fix timeval_cmp_margin for 32-bit systems
+
+ The test suite compares times with seconds values of -INT_MAX and INT_MAX.
+ The result of this comparison does not fit in a value of type int and so the
+ test suite fails on 32-bit systems where time_t is an int. To fix this,
+ calculations on seconds values are done using long long integers.
+
+ Broken by 16ab5542
+
+M src/lib/time-util.c
+
+2021-01-26 17:44:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (195f6742c3)
+
+ dsync: Use a better default vname escape character
+
+ A control character was a bit unreadable in strings.
+
+M src/doveadm/doveadm-dsync.c
+
+2021-01-26 18:55:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (00c7664505)
+
+ dsync: Replace escape characters in outgoing mailbox names with alt_char
+
+ Especially when dsync is used for migration, we don't want to end up having
+ invalid mUTF7 mailbox names locally. Also, remote might not even be
+ configured to use the same escape character.
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2021-01-26 18:54:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (11b549e552)
+
+ dsync: Send alt_char also to slave brain
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mailbox-tree.c
+
+2021-01-18 23:53:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ae3de56ed9)
+
+ lib-storage: mailbox_list_escape_name_params() - Assert that escape_char
+ isn't NUL
+
+
+M src/lib-storage/mailbox-list.c
+
+2021-01-15 19:27:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d02d59d343)
+
+ imapc: Add comment explaining various mailbox names
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2021-01-18 23:31:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b4ae3a5fac)
+
+ imapc: fs mailbox_list - Remove vname_escape_char
+
+ This isn't necessary.
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2021-01-18 23:30:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1535a2ddbb)
+
+ imapc: Add IMAPC_LIST_FS_NAME_ESCAPE_CHAR
+
+ This clarifies how the escape characters are used.
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2021-01-18 23:23:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2a42647297)
+
+ imapc: Add a default vname_escape_char
+
+ Having vname_escape_char guarantees that all the remote mailbox names are
+ accessible by escaping them as necessary.
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2021-01-18 23:19:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6abcea7e0a)
+
+ imapc: Fix local filesystem directory name escaping
+
+ Use the remote mailbox name as the base. Convert the hierarchy separator and
+ add escaping as necessary.
+
+ The old method was based on storage_name, and it's a bit unclear if it
+ worked correctly in all situations.
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2021-01-16 17:20:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fc0be41d1d)
+
+ imapc: Add imapc_list_remote_to_storage_name()
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2021-01-16 15:03:59 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d8d1e4db34)
+
+ imapc: Fix remote/storage mailbox name mismatches
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2021-01-16 15:00:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0e2c465f45)
+
+ imapc: Use more explicit mailbox name variable names
+
+ Clearly specify which type of a mailbox name it is to avoid
+ misunderstandings.
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2021-01-16 14:44:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ec9ad14e8a)
+
+ imapc: Rename imapc_list_get_fs_name() to imapc_list_storage_to_fs_name()
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2021-01-16 14:41:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (caa30d512b)
+
+ imapc: Rename imapc_list_to_vname() to imapc_list_remote_to_vname()
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2021-01-16 14:40:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b840f1fc1e)
+
+ imapc: Rename imapc_list_to_remote() to imapc_list_storage_to_remote_name()
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2021-01-14 17:45:07 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (bd8839f99c)
+
+ lib-storage: mailbox_list_default_get_storage_name() - Escape
+ ns_prefix/INBOX if possible
+
+ If storage_name_escape_char is set, escape the "I" letter in the
+ storage_name if the namespace also has inbox=yes. This way it's possible to
+ distinguish between the actual INBOX and ns_prefix/INBOX.
+
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/test-mailbox-list.c
+
+2021-01-14 17:33:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a243cdb748)
+
+ lib-storage: Update mailbox_list_settings.{vname|storage_name}_escape_char
+ comments
+
+ Also add the examples in the comments to unit tests to make sure they really
+ work.
+
+M src/lib-storage/mailbox-list.h
+M src/lib-storage/test-mailbox-list.c
+
+2021-01-14 17:27:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (73364f0f2b)
+
+ lib-storage: Fix mailbox name escape/unescape ordering
+
+ This fixes some cases like not properly escaping '/' in storage_name if it
+ was also the namespace separator. This also allows using the same character
+ for both vname_escape_char and storage_name_escape_char.
+
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/test-mailbox-list.c
+
+2021-01-14 17:07:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6adcea35e5)
+
+ lib-storage: mailbox_list_default_get_vname() - Fix escaping namespace
+ separator in storage_name
+
+ For example if { storage_name="foo/bar", storage_sep=".", ns_sep="/" } the
+ "/" in the name shouldn't be treated as a namespace separator. If
+ vname_escape_char is set, it should be returned escaped instead.
+
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/test-mailbox-list.c
+
+2021-01-14 16:38:04 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e3be8553d3)
+
+ lib-storage: Use imap_escaped_utf8_to_utf7()
+
+
+M src/lib-storage/mailbox-list.c
+
+2021-01-14 16:32:25 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c50fd4ddf1)
+
+ lib-storage: Use imap_escaped_utf8_hex_to_char()
+
+
+M src/lib-storage/mailbox-list.c
+
+2021-01-14 16:23:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9d41e00eda)
+
+ lib-storage: Use mailbox_list_settings.vname_escape_char also with utf8
+ storage names
+
+ mailbox_list_default_get_storage_name() was already unescaping with utf8, so
+ mailbox_list_default_get_vname() should also be escaping with utf8.
+
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/test-mailbox-list.c
+
+2021-01-14 15:40:44 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6da08d8c61)
+
+ lib-storage: mailbox_list_default_get_vname() - Use
+ imap_utf7_to_utf8_escaped()
+
+ This changes the output a bit for broken mUTF7 names. Previously if any part
+ of the string had broken mUTF7 input, none of it was converted. Now it's
+ instead trying to convert as much as it can.
+
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/test-mailbox-list.c
+
+2021-01-14 15:09:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5f858f84b9)
+
+ lib-storage: mailbox_list_default_get_vname() - Escape each hierarchical
+ name separately
+
+ Same reasoning as for the similar change for
+ mailbox_list_default_get_storage_name().
+
+M src/lib-storage/mailbox-list.c
+
+2021-01-14 12:47:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (af18e441c9)
+
+ lib-storage: Split off mailbox_list_storage_name_prepare()
+
+
+M src/lib-storage/mailbox-list.c
+
+2021-01-14 12:34:48 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8f139ccc9f)
+
+ lib-storage: mailbox_list_default_get_storage_name() - Escape each
+ hierarchical name separately
+
+ This makes it possible in the following commits to allow unescaping to write
+ namespace hierarchy separator character without converting it into the
+ mailbox_list separator.
+
+M src/lib-storage/mailbox-list.c
+
+2021-01-14 12:30:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5fd5ad3a2b)
+
+ lib-storage: mailbox_list_default_get_storage_name() - Cleanup shared
+ namespace root handling
+
+
+M src/lib-storage/mailbox-list.c
+
+2021-01-14 12:03:58 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0dc071a974)
+
+ lib-storage: Split off mailbox_list_vname_prepare()
+
+ This also slightly changes the code logic. mailbox_list_escape_name() is now
+ called also for INBOX, but that doesn't actually matter.
+
+M src/lib-storage/mailbox-list.c
+
+2021-01-14 15:22:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4224bb8302)
+
+ lib-storage: Remove mailbox_list_unescape_name() by moving its code inline
+
+ There was only a single caller for this function. It doesn't need to exist.
+
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+
+2021-01-14 15:20:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (20e26b52d5)
+
+ lib-storage: Remove mailbox_list_escape_name() by moving its code inline
+
+ There was only a single caller for this function. It doesn't need to exist.
+
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+
+2021-01-13 20:55:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (71877ef5e4)
+
+ lib-storage: Add unit tests for
+ mailbox_list_default_get_{storage_name|vname}()
+
+
+M src/lib-storage/test-mailbox-list.c
+
+2021-01-13 18:50:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7b794d3070)
+
+ lib-storage: Rename mailbox_list_settings.broken_char to vname_escape_char
+
+ This clarifies that it's only used in vnames.
+
+M src/doveadm/doveadm-dsync.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2021-01-13 18:47:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5cfd6cec1d)
+
+ lib-storage: Rename mailbox_list_settings.escape_char to
+ storage_name_escape_char
+
+ This clarifies that it's only used in storage_names.
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/plugins/listescape/listescape-plugin.c
+
+2021-01-13 19:50:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (bffa6a9c0c)
+
+ lib-imap: Add imap_utf7_to_utf8_escaped() and imap_escaped_utf8_to_utf7()
+
+ These can be used to convert invalid mUTF-7 to escaped UTF-8 and back to the
+ original invalid input.
+
+M src/lib-imap/imap-utf7.c
+M src/lib-imap/imap-utf7.h
+M src/lib-imap/test-imap-utf7.c
+
+2021-01-13 19:48:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (db7054d86a)
+
+ lib-imap: test-imap-utf7 - Simplify test_imap_utf7_non_utf16()
+
+
+M src/lib-imap/test-imap-utf7.c
+
+2021-01-13 19:19:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (40070778c0)
+
+ lib-imap: Move unnecessary shift check to mbase64_decode_to_utf8()
+
+
+M src/lib-imap/imap-utf7.c
+
+2021-01-13 19:17:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (02f35f281e)
+
+ lib-imap: test-imap-utf7 - Improve/clarify testing '&'
+
+ & is never base64-encoded.
+
+M src/lib-imap/test-imap-utf7.c
+
+2021-01-25 13:32:18 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (aeea2ce10e)
+
+ config: Add unit test for config parser
+
+
+M src/config/Makefile.am
+A src/config/test-config-parser.c
+
+2021-01-20 10:07:56 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (686c1f22a0)
+
+ config: Extract sources to libconfig.la
+
+ Makes unit testing possible
+
+M src/config/Makefile.am
+
+2021-01-19 11:54:15 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (8ab5ea3dd6)
+
+ lib-settings: test-settings - Add tests for settings file
+
+
+M configure.ac
+M src/lib-settings/Makefile.am
+A src/lib-settings/test-settings.c
+
+2021-01-18 15:43:06 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (dc5600c988)
+
+ test-settings-parser: Add test for size
+
+
+M src/lib-settings/test-settings-parser.c
+
+2021-01-18 15:32:51 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c064eea80e)
+
+ lib-settings: test-settings-parser - Add test for settings parser
+
+
+M src/lib-settings/test-settings-parser.c
+
+2021-01-18 14:11:28 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (4b0ffe1630)
+
+ lib-settings: Add support for $ENV:name
+
+ Expands into given environment variable
+
+M src/lib-settings/settings.c
+
+2020-01-22 14:34:15 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (479223dc56)
+
+ config: Add support for $ENV:name
+
+ Expands into given environment variable
+
+M src/config/config-parser.c
+
+2020-01-22 14:33:38 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (2edc5200f8)
+
+ config: Expand multiple variables per line
+
+ Needed to properly support environment variables.
+
+M src/config/config-parser.c
+
+2021-01-20 10:49:23 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (9c6bc94d9d)
+
+ config: config-parser - Add config_write_keyvariable
+
+ Move code handling key variable expansion to separate function. Simplifies
+ next commit.
+
+M src/config/config-parser.c
+
+2021-01-12 13:53:19 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (18ddfa4eda)
+
+ lib-storage: Make lua methods and functions use the passed in lua_State *
+ directly
+
+
+M src/lib-storage/mail-user-lua.c
+M src/lib-storage/mailbox-lua.c
+
+2021-01-12 14:27:31 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (fd03e3c9a2)
+
+ lib-storage: Make dlua_push_mail() take lua_State * directly
+
+
+M src/lib-storage/mail-lua.c
+M src/lib-storage/mail-storage-lua.h
+
+2021-01-12 14:26:07 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (fba66539f2)
+
+ lib-storage: Make dlua_push_mail_user() take lua_State * directly
+
+
+M src/lib-storage/mail-storage-lua.h
+M src/lib-storage/mail-user-lua.c
+M src/plugins/mail-lua/mail-lua-plugin.c
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2021-01-12 13:30:45 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (8c77a11e89)
+
+ lib-storage: Make lua_storage_cmp() take lua_State * directly
+
+
+M src/lib-storage/mail-storage-lua-private.h
+M src/lib-storage/mail-user-lua.c
+M src/lib-storage/mailbox-lua.c
+
+2021-01-12 12:59:39 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (9e2ceb472e)
+
+ lib-storage: Make lua_check_storage_mailbox() take lua_State * directly
+
+
+M src/lib-storage/mailbox-lua.c
+
+2021-01-12 12:02:05 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (f15ca44e54)
+
+ lib-storage: Make dlua_push_mailbox() take lua_State * directly
+
+
+M src/lib-storage/mail-lua.c
+M src/lib-storage/mail-storage-lua.h
+M src/lib-storage/mail-user-lua.c
+M src/lib-storage/mailbox-lua.c
+
+2021-01-07 18:12:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7e98d506b0)
+
+ master: Send instance_name setting to log process
+
+ This way log process can use it for syslog ident
+
+M src/lib-master/master-service-settings.h
+M src/master/service-process.c
+
+2020-12-07 15:58:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f1a97bdc3d)
+
+ cassandra: Fix logging messages with LFs
+
+ At least some trace level messages had them.
+
+M src/lib-sql/driver-cassandra.c
+
+2020-04-18 12:56:14 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4a7f625eed)
+
+ m4: Fix configuration of libunwind on i386 (and probably other systems).
+
+ Use the standard libunwind-coredump instead of the system-dependent library.
+ This way, all can be configured using pkg-config, without relying on a
+ failed attempt to use the $build_cpu variable to find the system-dependent
+ library. This fails on i386 and probably other systems as well.
+
+M m4/want_unwind.m4
+M run-test-valgrind.supp
+
+2020-03-25 16:20:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7036a7bfe1)
+
+ lib-imap: imap_bodystructure_write() - Add asserts to check unexpected NULLs
+ inside lists
+
+ This just changes the assert that already triggers into a bit clearer
+ assert.
+
+M src/lib-imap/imap-bodystructure.c
+
+2020-03-25 15:52:29 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8818482ba6)
+
+ lib-imap: Add unit test for invalid BODYSTRUCTUREs
+
+
+M src/lib-imap/test-imap-bodystructure.c
+
+2020-03-25 15:52:02 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d749c280bf)
+
+ lib-imap: imap_arg_get/as_nstring() - fail if input is an atom
+
+ Atoms were wrongly allowed in these places.
+
+ These have been used in very few places, so this change should be pretty
+ safe to do. The only affected places are:
+
+ * SETMETADATA - Backwards compatibility preserved by earlier commit
+ * ID - It's not expected that any clients use atoms here
+ * imapc - Server replies are parsed more strictly now
+
+M src/lib-imap/imap-arg.c
+M src/lib-imap/imap-bodystructure.c
+
+2020-03-25 15:49:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (dd43103e2a)
+
+ lib-imap: Don't wrongly accept NILs or atoms when parsing BODYSTRUCTURE
+
+ Especially NILs could cause crashes later on when some internal field is
+ NULL when it's not expectedly to be.
+
+ Fixes a crash when parsing BODYSTRUCTURE and writing it out with
+ imap_bodystructure_write() when some of the parameter lists contained NILs.
+
+M src/lib-imap/imap-bodystructure.c
+
+2020-03-25 15:47:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (69be6e9a89)
+
+ lib-imap: imap_body_parse_from_bodystructure() - Write size field as atom
+
+ Following changes will break writing it as nstring.
+
+M src/lib-imap/imap-bodystructure.c
+
+2020-03-25 16:00:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (923362d27d)
+
+ imap: SETMETADATA - Explicitly support using atoms for values
+
+ Required to keep atoms working (and especially not assert-crashing) after
+ the following imap_arg_get_nstring() change.
+
+M src/imap/cmd-setmetadata.c
+
+2021-01-20 11:15:18 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (429a12a38b)
+
+ lib: event-filter - Implement event_filter_merge() unit test
+
+
+M src/lib/Makefile.am
+A src/lib/test-event-filter-merge.c
+M src/lib/test-lib.inc
+
+2021-01-12 11:15:44 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (ebb4a80f8e)
+
+ lib: event-filter - Use p_strdup() instead of p_strdup_empty() to avoid
+ NULLs
+
+ The code used p_strdup_empty() in an (incorrect) attempt to avoid NULLs
+ turning into empty strings (""). None of the strdup variants do this.
+ However, p_strdup_empty() converts empty strings to NULLs. This caused a
+ NULL pointer dereference later on.
+
+M src/lib/event-filter-parser.y
+M src/lib/event-filter.c
+
+2021-01-21 09:15:10 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (9577b94d55)
+
+ lib: test-lib - Free event filters
+
+ Fixes memory leak
+
+ Forgotten from 01ccf687d660331ca3e483c90582156757cebb7f
+
+M src/lib/test-event-filter-expr.c
+
+2021-01-19 13:46:13 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (01ccf687d6)
+
+ lib: event-filter - Implement filter boolean expression unit tests
+
+ This is a exhaustive test of the boolean operators using field equality
+ comparisons. This test code focuses on the boolean operators (AND, OR, NOT)
+ and not on the comparison operators (=, <, >, <=, and >=) and their
+ arguments (event names, source locations, categories).
+
+M src/lib/Makefile.am
+A src/lib/test-event-filter-expr.c
+M src/lib/test-lib.inc
+
+2021-01-19 13:42:17 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (7843020071)
+
+ lib: event-filter - Correct a comment referring to old filter syntax
+
+
+M src/lib/event-filter.c
+
+2021-01-19 13:41:45 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (ae60143ac7)
+
+ lib: event-filter - Add a helper function to get at the filter's boolean
+ expression
+
+ This is necessary for the soon-to-be-implemented unit tests.
+
+M src/lib/event-filter-private.h
+M src/lib/event-filter.c
+
+2021-01-19 13:40:17 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (586b2386e4)
+
+ lib: event-filter - Expose internal functions to allow for unit testing
+
+ We'll need these to avoid code duplication when unit testing the boolean
+ expression evaluation logic.
+
+M src/lib/event-filter-private.h
+M src/lib/event-filter.c
+
+2021-01-04 12:01:28 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (abe9c7585d)
+
+ lib: event-filter - Make NOT operator right associative and higher
+ precedence
+
+ For example, consider the filter:
+
+ event=* AND
+ NOT event=foo AND
+ NOT event=bar AND
+ NOT event=baz
+
+ The "NOT" operator is supposed to be bound to the comparisons to the
+ immediate right. That is, it supposed to be equivalent to:
+
+ event=* AND
+ (NOT event=foo) AND
+ (NOT event=bar) AND
+ (NOT event=baz)
+
+ Both of these should produce the following parse tree:
+
+ AND
+ AND
+ AND
+ EQ EVENT '*'
+ NOT
+ EQ EVENT 'foo'
+ NOT
+ EQ EVENT 'bar'
+ NOT
+ EQ EVENT 'baz'
+
+ Instead, before this commit, the NOTs were getting bound to the entire
+ sub-expression to the right. Therefore, the original filter expression was
+ being parsed as if it were:
+
+ event=* AND
+ NOT (event=foo AND
+ NOT (event=bar AND
+ NOT event=baz))
+
+ Which produced the following parse tree:
+
+ AND
+ EQ EVENT '*'
+ NOT
+ AND
+ EQ EVENT 'foo'
+ NOT
+ AND
+ EQ EVENT 'bar'
+ NOT
+ EQ EVENT 'baz'
+
+M src/lib/event-filter-parser.y
+
+2021-01-14 20:31:18 +0100 Philippe Antoine <contact@catenacyber.fr> (709727324b)
+
+ lib-test: fuzzer - Don't crash in targets without ioloop
+
+
+M src/lib-test/fuzzer.c
+
+2021-01-18 17:53:36 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (93652abc5f)
+
+ auth: Makefile.am - Use $(LIBDOVECOT_LUA) instead of redefining it
+
+
+M src/auth/Makefile.am
+
+2021-01-18 17:53:07 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (4d610d1664)
+
+ auth: Fix building built-in lua
+
+ It was working only when building as plugin.
+
+M src/auth/Makefile.am
+
+2021-01-18 13:46:55 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (77702eda2b)
+
+ lib: test-buffer - Fix memory leak errors in fatal buffer tests
+
+
+M src/lib/test-buffer.c
+
+2021-01-18 13:46:46 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (45c915ec94)
+
+ lib-test: Add test_fatal_set_callback()
+
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2021-01-18 11:38:04 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (2c84623c0a)
+
+ lib-master: test-event-stats - Add test for large event id
+
+ Ensure UPDATE command syntax is correct when event id is over 1 million
+
+M src/lib-master/test-event-stats.c
+
+2020-12-21 10:45:32 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (141766b24f)
+
+ indexer: Remove worker-specific request queue
+
+ - Each request is done in a single connection and indexer master disconnects
+ from worker after indexing job is complete.
+ - No need to keep a worker queue since it always have length of 1. Instead,
+ keep a pointer to indexer_request for each worker connection.
+ - If indexing is in progress for a user, don't try to use the same
+ connection when a new request arrives for the same user. Instead, move the
+ request to the back of the queue and wait for the in progress request to
+ finish then create a new connection and submit request to worker.
+
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-queue.h
+M src/indexer/indexer.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-connection.h
+
+2020-12-20 19:45:09 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (9466769ab6)
+
+ indexer: Cleanup idle_list from worker pool
+
+ - Indexer always disconnects from worker process, no need to keep a list of
+ idle processes.
+ - The callback already calls worker_pool_release_connection every time
+ worker updated percentage. Defer disconnecting from working to the callback.
+ It checks if the request is completed and destroys connection.
+
+M src/indexer/worker-connection.c
+M src/indexer/worker-pool.c
+
+2020-12-14 21:39:39 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (1e8fc75ecf)
+
+ indexer: Disconnect from indexer-worker after each request
+
+ This allows indexer-worker to properly handle service configurations such as
+ service_count and idle_kill time.
+
+M src/indexer/indexer-worker.c
+M src/indexer/master-connection.c
+M src/indexer/master-connection.h
+M src/indexer/worker-connection.c
+
+2020-05-20 11:18:48 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0732cea98a)
+
+ lib: array - Make sure it assert-crashes if trying to add more than UINT_MAX
+ elements
+
+ This is required, because array_count() returns unsigned int.
+
+M src/lib/array.h
+M src/lib/test-array.c
+
+2020-05-20 11:16:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (024d6f96b8)
+
+ lib: Add buffer_create_dynamic_max()
+
+
+M src/lib/buffer.c
+M src/lib/buffer.h
+M src/lib/test-buffer.c
+M src/lib/test-lib.inc
+
+2020-05-20 13:42:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d4ceac0f2a)
+
+ lib: hash - Add assert to make sure hash table doesn't grow beyond UINT_MAX
+ nodes
+
+ hash_table_count() returns unsigned int, so the node count can't be larger.
+ It's internally also tracked as unsigned int currently. It should be large
+ enough for all practical use cases.
+
+M src/lib/hash.c
+
+2020-12-17 17:48:37 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (0da82cff36)
+
+ auth: db-lua - Deref script in auth_lua_call_userdb_iterate_init() only once
+
+
+M src/auth/db-lua.c
+
+2020-12-17 17:47:57 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (650edc28f3)
+
+ auth: db-lua - Deref script in auth_lua_call_userdb_lookup() only once
+
+
+M src/auth/db-lua.c
+
+2020-12-17 17:47:03 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (05a9dab949)
+
+ auth: db-lua - Deref script in auth_lua_call_passdb_lookup() only once
+
+
+M src/auth/db-lua.c
+
+2020-12-17 17:46:20 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (724a9e18b1)
+
+ auth: db-lua - Deref script in auth_lua_call_password_verify() only once
+
+
+M src/auth/db-lua.c
+
+2020-12-17 17:44:16 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (d556f2f4fe)
+
+ auth: db-lua - Make auth_lua_dovecot_auth_register() take lua_State *
+ directly
+
+
+M src/auth/db-lua.c
+
+2020-12-17 17:43:36 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (1e85955b59)
+
+ auth: db-lua - Make auth_lua_auth_request_register() take lua_State *
+ directly
+
+
+M src/auth/db-lua.c
+
+2020-12-17 17:39:24 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (4ea5c4ab95)
+
+ auth: db-lua - Make auth_lua_call_lookup_finish() take lua_State * directly
+
+
+M src/auth/db-lua.c
+
+2020-12-17 17:37:10 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (5b48410b0f)
+
+ auth: db-lua - Make auth_lua_export_passdb_table() take lua_State * directly
+
+
+M src/auth/db-lua.c
+
+2020-12-17 17:35:21 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (cf40467e30)
+
+ auth: db-lua - Make auth_lua_call_lookup() take lua_State * directly
+
+
+M src/auth/db-lua.c
+
+2020-12-17 17:32:50 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (38fcb7885e)
+
+ auth: db-lua - Make auth_lua_export_userdb_table() take lua_State * directly
+
+
+M src/auth/db-lua.c
+
+2020-12-17 17:31:59 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (86c185ed0c)
+
+ auth: db-lua - Make auth_lua_export_table() take lua_State * directly
+
+
+M src/auth/db-lua.c
+
+2020-12-17 17:30:38 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (74a77410f1)
+
+ auth: db-lua - Make auth_lua_push_auth_request() take lua_State * directly
+
+
+M src/auth/db-lua.c
+
+2020-12-17 16:53:08 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (4114a88fc2)
+
+ auth: db-lua - Make lua methods and functions use the passed in lua_State *
+ directly
+
+
+M src/auth/db-lua.c
+
+2020-12-17 16:50:50 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (e2e7790dd5)
+
+ auth: db-lua - Make auth_lua_check_auth_request() take lua_State * directly
+
+
+M src/auth/db-lua.c
+
+2020-12-17 16:43:19 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (4a1e9db35e)
+
+ lib-lua: Use dlua_register()
+
+
+M src/lib-lua/test-lua.c
+
+2020-12-17 16:41:21 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (31570c8b44)
+
+ lib-lua: Add dlua_register()
+
+
+M src/lib-lua/dlua-script-private.h
+M src/lib-lua/dlua-script.c
+
+2020-12-16 19:54:10 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (d62387e4d2)
+
+ lib-storage: Make lua methods and functions use the passed in lua_State *
+ directly
+
+
+M src/lib-storage/mail-lua.c
+M src/lib-storage/mail-user-lua.c
+
+2020-12-16 20:01:30 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (56c07b8e2d)
+
+ lib-storage: Make lua_storage_mail_user_set_metadata_unset() take lua_State
+ * directly
+
+
+M src/lib-storage/mail-user-lua.c
+
+2020-12-16 19:59:13 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (bee28ca65e)
+
+ lib-storage: Make lua_check_storage_mail_user() take lua_State * directly
+
+
+M src/lib-storage/mail-user-lua.c
+
+2020-12-16 19:51:57 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (57bfc584f6)
+
+ lib-storage: Make lua_check_storage_mail() take lua_State * directly
+
+
+M src/lib-storage/mail-lua.c
+
+2020-12-17 13:07:52 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (451be24cb2)
+
+ lib-lua: Make dlua_dump_stack() take lua_State * directly
+
+
+M src/lib-lua/dlua-script-private.h
+M src/lib-lua/dlua-script.c
+
+2020-12-17 13:06:57 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (8ec0595125)
+
+ lib-lua: Move dlua_dump_stack() prototype to private header
+
+
+M src/lib-lua/dlua-script-private.h
+M src/lib-lua/dlua-script.h
+
+2020-12-17 13:00:10 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (b693164bc7)
+
+ lib-lua: Make dlua_check_event() take lua_State * directly
+
+
+M src/lib-lua/dlua-dovecot.c
+M src/lib-lua/dlua-script-private.h
+
+2020-12-17 13:00:00 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (072e385983)
+
+ lib-lua: Make dlua_push_event() take lua_State * directly
+
+
+M src/auth/db-lua.c
+M src/lib-lua/dlua-dovecot.c
+M src/lib-lua/dlua-script-private.h
+
+2020-12-17 12:57:26 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (5999db7250)
+
+ lib-lua: Move dlua_{check,push}_event() prototypes to private header
+
+
+M src/lib-lua/dlua-script-private.h
+M src/lib-lua/dlua-script.h
+
+2020-12-17 12:55:25 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (79e5cb9496)
+
+ lib-lua: Make dlua_getdovecot() take lua_State * directly
+
+
+M src/auth/db-lua.c
+M src/lib-lua/dlua-dovecot.c
+M src/lib-lua/dlua-script-private.h
+M src/lib-storage/mail-storage-lua.c
+
+2020-12-17 12:53:44 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (c753146df2)
+
+ lib-lua: Make dlua_setmembers() take lua_State * directly
+
+
+M src/auth/db-lua.c
+M src/lib-lua/dlua-script-private.h
+M src/lib-lua/dlua-script.c
+M src/lib-storage/mail-storage-lua.c
+
+2020-12-16 19:23:13 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (b093dd2ba1)
+
+ lib-lua: Make lua methods and functions use the passed in lua_State *
+ directly
+
+
+M src/lib-lua/dlua-dovecot.c
+
+2020-12-16 19:33:55 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (baf231eb0e)
+
+ lib-lua: Make dlua_push_event_passthrough() take lua_State * directly
+
+
+M src/lib-lua/dlua-dovecot.c
+
+2020-12-16 19:32:19 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (33aac3bd10)
+
+ lib-lua: Make dlua_check_event_passthrough() take lua_State * directly
+
+
+M src/lib-lua/dlua-dovecot.c
+
+2020-12-16 19:18:33 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (fca6435452)
+
+ lib-lua: Make dlua_event_log() take lua_State * directly
+
+
+M src/lib-lua/dlua-dovecot.c
+
+2020-12-16 19:16:44 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (f41f7aa669)
+
+ lib-lua: Make dlua_get_file_line() take lua_State * directly
+
+
+M src/lib-lua/dlua-dovecot.c
+
+2020-12-16 19:05:04 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (2e60aba389)
+
+ lib-lua: Make DLUA_REQUIRE_ARGS*() take the lua_State * directly
+
+ This is the first in a series of commits that convert a number of functions
+ to pass around the lua_State pointer directly and to use it instead of using
+ the lua_State pointed to by the struct dlua_script.
+
+ This change is needed to eventually support the 'yield' functionality and
+ "sequential looking, but async behind the scenes" lua scripts. To support
+ this, the C code needs to instantiate multiple lua_States and then operate
+ on the correct one - whichever one is passed back by the lua runtime. This
+ lays the ground work for that.
+
+M src/lib-lua/dlua-dovecot.c
+M src/lib-lua/dlua-script-private.h
+M src/lib-storage/mail-lua.c
+M src/lib-storage/mail-user-lua.c
+M src/lib-storage/mailbox-lua.c
+
+2021-01-13 12:54:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (dbcd7610b5)
+
+ imap: test-imap-client-hibernate - Remove dead assignment
+
+
+M src/imap/test-imap-client-hibernate.c
+
+2020-10-09 21:07:40 +0200 Geert Hendrickx <geert@hendrickx.be> (f8ac63a3f2)
+
+ util: dovecot-sysreport: Use "uname -n" instead of "hostname" for
+ portability
+
+ hostname is not defined by POSIX, so not guaranteed to work.
+
+M src/util/dovecot-sysreport
+
+2020-12-23 12:50:33 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (cf887a3250)
+
+ lib-mail: mail-html2text: HTML entity lookup must be case-sensitive
+
+ HTML entities are case-sensitive.
+
+M src/lib-mail/mail-html2text.c
+
+2020-01-30 13:50:30 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (15fd25955e)
+
+ lib-storage: Add unit test for mailbox-list error handling
+
+ This is exactly the same test as what mail-storage has for its error
+ handling.
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/test-mail-storage.c
+A src/lib-storage/test-mailbox-list.c
+
+2020-02-22 12:01:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (369be49d06)
+
+ lib-storage: test-mail-storage - Split overlong lines
+
+
+M src/lib-storage/test-mail-storage.c
+
+2020-01-30 13:48:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6e0031ebf4)
+
+ lib-storage: Change mailbox_list_set_error/critical() to work the same as
+ storage's
+
+ The storage ones had various fixes to different situations. Just make the
+ mailbox list ones exactly the same to get the same fixes.
+
+M src/lib-storage/mailbox-list.c
+
+2020-01-24 13:50:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (dde65e0ec9)
+
+ lib-storage: mailbox_list_get_last_error() - Handle unexpected situations
+ better
+
+ Change the logic to be similar as in mail_storage_get_last_error() if the
+ mail_error or error_string unexpectedly isn't set.
+
+M src/lib-storage/mailbox-list.c
+
+2020-10-22 22:49:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4735c12bb1)
+
+ lib-storage: Detect corrupted mail size when calculating body size
+
+ When body size is calculated from message size - header size, make sure that
+ the message size is at least as large as the header size. Otherwise treat
+ the message size as corrupted.
+
+M src/lib-storage/index/index-mail.c
+
+2020-11-22 19:16:03 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (6d9008af1d)
+
+ stats: openmetrics: Do not duplicate counter and duration metrics for
+ histograms
+
+ Histograms generate "_count" and "_sum" metrics either for each quantile or
+ for the whole distribution. This patch prevents creating a duplicate metric
+ with type counter which results in metric name collision.
+
+M src/stats/stats-service-openmetrics.c
+
+2020-11-23 18:22:22 +0000 Manuel Rüger <manuel@rueg.eu> (ae678116a7)
+
+ stats: Make exported metrics compliant with OpenMetrics standards
+
+ Commit based on github PR: https://github.com/dovecot/core/pull/136
+
+ Fix issues raised by promtool and prometheus client library parser. Cleanup
+ and code fixes by Siavash Tavakoli.
+
+M src/stats/stats-service-openmetrics.c
+
+2020-12-22 13:23:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c98cf39bac)
+
+ indexer, auth: Set indexer-worker and auth-worker services' type=worker
+
+
+M src/auth/auth-settings.c
+M src/indexer/indexer-worker-settings.c
+
+2020-12-21 21:24:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (58aa56e033)
+
+ lib-master, master: Add "worker" service type
+
+ The worker services are expected to reach their process_limit regularly.
+ There shouldn't be a warning logged about temporarily reaching the limit,
+ since it can happen due to race conditions.
+
+M src/lib-master/service-settings.h
+M src/master/master-settings.c
+M src/master/service-monitor.c
+M src/master/service-process.c
+M src/master/service.h
+
+2020-12-21 21:23:32 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0a2428d9b1)
+
+ master: Split off service_log_drop_warning()
+
+
+M src/master/service-monitor.c
+
+2020-01-16 15:03:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6a267b61a6)
+
+ master: Update comment to service_process.total_count
+
+ It's not an exact value. Making it exact would require changing the IPC
+ protocol to master, which isn't worth it just for this.
+
+M src/master/service-process.h
+
+2020-01-16 14:58:21 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b95a60b44e)
+
+ lib-master: Notify master immediately when process can accept more clients
+
+ Instead of delaying it for 1 second. Otherwise the master might be
+ complaining about process/client limit being reached or creating more
+ processes unnecessarily.
+
+M src/lib-master/master-service.c
+
+2020-12-28 10:26:07 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (96cae05285)
+
+ lib-mail: message-snippet: Fix expected number of leading non-whitespace
+ chars
+
+ If message body starts with a single char + space (e.g. "I am"), the space
+ is wrongly removed (i.e. snippet would be "Iam") because at least two
+ non-whitespace characters are expected. Fix the minimum to 1 to fix this.
+
+M src/lib-mail/message-snippet.c
+M src/lib-mail/test-message-snippet.c
+
+2021-01-07 14:57:23 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (225e2e040c)
+
+ auth: Log failure before freeing up request
+
+ The request got free'd before logging, causing use-after-free access.
+
+ Broken in cec5a9c92d094d639c49bb83eeb9383ebb231c6f
+
+M src/auth/auth-request.c
+
+2020-12-09 01:31:30 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (58668e1611)
+
+ imap: cmd-setmetadata: Do not open mailbox
+
+ Set metadata without actually opening the mailbox.
+
+ As a side-effect this changes SETMETADATA command response when ACL rules
+ are present and user only has lookup right. For non-existing mailboxes,
+ command fails with "Mailbox doesn't exist" message instead of
+ "Permission denied" error.
+
+M src/imap/cmd-setmetadata.c
+
+2020-12-01 17:21:03 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (51b5b63b75)
+
+ imap: cmd-getmetadata: Retrieve metadata values without opening the mailbox
+
+ No need to actually opening the mailbox, only check for its existence. This
+ also makes GETMETADATA command behave more in line with RFC 5464 when acls
+ are preset. Changes to command results for different cases:
+
+ - User with only "l" right:
+ - for non-existing mailbox command failure error changed from "Permission
+ denied"
+ to "Mailbox doesn't exist"
+ - User with "l" right and one of "s", "w", "i", and "p" rights:
+ - for INBOX, command result changed from "Permission denied" failure to
+ "OK"
+ - for existing mailboxes, command result changed from "Permission denied"
+ failure to "OK"
+ - for non-existing mailboxes, command failure error changed from
+ "Permission denied"
+ to "Mailbox doesn't exist"
+ - for autocreated mailboxes, command result changed from "Permission
+ denied"
+ failure to "OK"
+ - User with "l" right and one of "x", "c", "d", and "a" rights:
+ - for non-existing mailboxes, command failure error changed from
+ "Permission denied"
+ to "Mailbox doesn't exist"
+ - User with only "r" right:
+ - for INBOX, command result changed from "OK" to "Mailbox doesn't exist"
+ - for existing mailboxes, command result changed from "OK" to "Mailbox
+ doesn't exist"
+ - for autocreated mailboxes, command result changed from "OK" to "Mailbox
+ doesn't exist"
+
+M src/imap/cmd-getmetadata.c
+
+2020-12-09 01:08:30 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (f096b20f6f)
+
+ imap: cmd-getmetadata: Do not ignore NOTFOUND and PERM when handling errors
+
+ Don't ignore MAIL_ERROR_NOTFOUND MAIL_ERROR_PERM in
+ cmd_getmetadata_handle_error and fail GETMETADATA command properly. This
+ code was added in the initial GETMETADATA implementation commit. It doesn't
+ seem like it has ever done anything useful.
+
+M src/imap/cmd-getmetadata.c
+
+2020-12-01 17:23:31 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (466bf85d64)
+
+ doveadm mailbox metadata: Don't open mailbox for get and list commands
+
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+
+2020-12-16 10:08:11 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (9dc72c3091)
+
+ lib-storage: Move checking autocreated boxes to storage backends
+
+ This allows acl plugin to check ACLs for autocreated mailboxes as well.
+
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/mail-storage.c
+
+2020-12-09 00:58:17 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (2eec12bb32)
+
+ lib-storage: index-attribute: Fix typo
+
+
+M src/lib-storage/index/index-attribute.c
+
+2020-12-01 10:11:40 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (2cbc917523)
+
+ doveadm: doveadm-mail-mailbox-metadata: Add flag for prefixes in metadata
+ list
+
+ Add an optional "-p" flag for metadata list command. Keys should have been
+ listed with "/private" or "/shared" prefixes from the get-go but for the
+ sake of not breaking users' workflow put this behind a flag.
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+
+2020-12-16 16:50:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0eb35dc578)
+
+ lib-mail: test-message-search - Avoid static analyzer warnings about NULL
+ pointers
+
+
+M src/lib-mail/test-message-search.c
+
+2020-12-16 16:47:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (41056265f7)
+
+ dsync: Add assert to help static analyzers
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2020-12-16 16:21:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (46df1de0ec)
+
+ cassandra: Fix error handling on SSL initialization failure
+
+
+M src/lib-sql/driver-cassandra.c
+
+2021-01-11 11:04:57 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (daa7f7d285)
+
+ lib: istream-file,ostream-file - Mark close failure as unlikely
+
+ File descriptor close failure is unlikely to happen.
+
+M src/lib/istream-file.c
+M src/lib/ostream-file.c
+
+2020-12-21 11:51:36 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (09a41a815b)
+
+ lib: istream-file,ostream-file - Ignore ECONNRESET
+
+ This happens e.g. on FreeBSD when closing a socket that has not been fully
+ flushed to client. Since we can't do anything about that, we might as well
+ just ignore it.
+
+M src/lib/istream-file.c
+M src/lib/ostream-file.c
+
+2020-12-21 11:50:51 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (921bb0008a)
+
+ lib: fd-util - Ignore ECONNRESET when closing fd
+
+ This happens e.g. on FreeBSD when closing a socket that has not been fully
+ flushed to client. Since we can't do anything about that, we might as well
+ just ignore it.
+
+M src/lib/fd-util.c
+
+2020-12-17 09:21:38 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (d14330716a)
+
+ lib-lua: Log an error when lua deinit function failed
+
+
+M src/lib-lua/dlua-script.c
+
+2020-12-11 14:43:17 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (3ef9218202)
+
+ lib-lua: Move init/deinit function invocation into helper functions
+
+ This moves them out of the way and keeps them close to each other.
+
+M src/lib-lua/dlua-script.c
+
+2020-12-10 16:22:20 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (b95b0f34f7)
+
+ lib-lua: Warn if threading was detected
+
+
+M src/lib-lua/dlua-script.c
+
+2020-09-24 09:22:38 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (64cd461ab6)
+
+ lib-lua: Store script pointer in LUA_REGISTRY
+
+ This will allow us to translate any lua thread to a script pointer. This is
+ not meant to allow multi-threaded lua scripts, but it is necessary to allow
+ yields to work.
+
+M src/lib-lua/dlua-script.c
+
+2020-12-30 10:05:17 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (3ad00b770a)
+
+ imap-hibernate: Add variable aliases
+
+ Accept new aliases "local_ip" (="lip") and "remote_ip" (="rip") when
+ expanding variables.
+
+M src/imap-hibernate/imap-client.c
+
+2020-12-30 10:02:56 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (754d5017a2)
+
+ login-storage: Add variable aliases
+
+ Accept new aliases "local_ip" (="lip") and "remote_ip" (="rip") when
+ expanding variables.
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+
+2020-12-30 10:00:43 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (ef0d9b1945)
+
+ login-common: Add variable aliases
+
+ Accept new aliases such as "local_ip" (="lip") and "original_user"
+ (="orig_user"), etc.
+
+M src/login-common/client-common.c
+M src/login-common/login-settings.c
+
+2020-12-29 11:18:32 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (daea0c1078)
+
+ .gitignore: Ignore fuzzers
+
+
+M .gitignore
+
+2020-12-29 11:19:38 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (171f2af20e)
+
+ lib-imap: Add fuzz-imap-bodystructure
+
+
+M src/lib-imap/Makefile.am
+A src/lib-imap/fuzz-imap-bodystructure.c
+
+2020-09-11 15:02:57 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ec11aedaef)
+
+ lib-mail: Add fuzz-message-parser
+
+ Fuzzer for message parser
+
+M src/lib-mail/Makefile.am
+A src/lib-mail/fuzz-message-parser.c
+
+2020-09-11 15:02:17 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d1bfe5ff51)
+
+ AUTHORS: Add catena cyber
+
+
+M AUTHORS
+
+2020-03-20 16:00:21 +0100 Philippe Antoine <contact@catenacyber.fr> (9622c5646a)
+
+ lib-smtp: Add fuzz target for smtp server
+
+
+M src/lib-smtp/Makefile.am
+A src/lib-smtp/fuzz-smtp-server.c
+
+2020-03-23 18:33:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (62a53d17e7)
+
+ lib-imap: Add fuzz-imap-utf7
+
+
+M src/lib-imap/Makefile.am
+A src/lib-imap/fuzz-imap-utf7.c
+
+2020-03-23 18:29:16 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (48114f39d8)
+
+ lib-test: Add fuzzing framework
+
+
+M src/lib-test/Makefile.am
+A src/lib-test/fuzzer.c
+A src/lib-test/fuzzer.h
+
+2020-03-23 18:28:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (715d3aca5a)
+
+ configure: Add --with-fuzzer=clang to use clang fuzzer
+
+
+M configure.ac
+M m4/dovecot.m4
+
+2020-11-18 21:22:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a912198bdc)
+
+ lib-imap: Fix writing BODYSTRUCTURE for truncated multipart/digest part
+
+ Fixes error while parsing BODYSTRUCTURE: message_part message/rfc822 flag
+ doesn't match lines in BODYSTRUCTURE
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/test-imap-bodystructure.c
+
+2020-11-18 20:48:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ec2c5ffde7)
+
+ lib-imap: Fix writing BODYSTRUCTURE for truncated multipart/ part
+
+ If the max nesting limit is reached, write the last part out as
+ application/octet-stream. The original content-type could be confusing IMAP
+ clients when they don't see any child parts.
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/test-imap-bodystructure.c
+
+2020-11-18 18:55:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (530c1e950a)
+
+ lib-imap: Fix writing BODYSTRUCTURE for truncated message/rfc822 part
+
+ If the max nesting limit is reached, write the last part out as
+ application/octet-stream instead of dummy message/rfc822.
+
+ Fixes error while parsing BODYSTRUCTURE: message_part message/rfc822 flag
+ doesn't match BODYSTRUCTURE
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/test-imap-bodystructure.c
+
+2020-12-12 17:39:54 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (93ce6ac94e)
+
+ NEWS: Add news for 2.3.13
+
+
+M NEWS
+
+2020-09-11 10:57:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (266e54b7b8)
+
+ lib-imap: Don't generate invalid BODYSTRUCTURE when reaching MIME part limit
+
+ If the last MIME part was message/rfc822 and its child was truncated away,
+ BODYSTRUCTURE was missing the ENVELOPE and BODY[STRUCTURE] parts. Fixed by
+ writing empty dummy ones.
+
+M src/lib-imap/imap-bodystructure.c
+
+2020-09-11 09:53:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fb97a1cddb)
+
+ lib-mail: message-parser - Fix assert-crash when enforcing MIME part limit
+
+ The limit could have been exceeded with message/rfc822 parts.
+
+M src/lib-mail/message-parser.c
+M src/lib-mail/test-message-parser.c
+
+2020-08-24 19:12:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f8114a20e4)
+
+ imap: Add unit test for imap-client-hibernate
+
+
+M src/imap/Makefile.am
+A src/imap/test-imap-client-hibernate.c
+
+2020-08-24 19:10:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1a27cfa8e3)
+
+ imap: imap_client_hibernate() - Return reason string on failure
+
+ This helps writing a unit test for it.
+
+M src/imap/cmd-idle.c
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-client.h
+
+2020-08-24 19:10:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c7d158681f)
+
+ imap: Delay initializing client IO until client_create_finish()
+
+ This helps writing unit tests.
+
+M src/imap/imap-client.c
+
+2020-08-24 16:58:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (73937b5fe7)
+
+ imap: Fix crash if imap-hibernate socket can't be connected to
+
+ The error was supposed to be returned to caller, not logged directly.
+
+M src/imap/imap-client-hibernate.c
+
+2020-08-17 18:33:20 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (68165c8acc)
+
+ imap: Escape tag when sending it to imap-hibernate process
+
+
+M src/imap/imap-client-hibernate.c
+
+2020-08-17 18:26:01 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7a70f01fe8)
+
+ lib-imap: Add imap_parser_client_read_tag()
+
+
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-parser.h
+
+2020-08-17 18:22:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9d3ecff3de)
+
+ imap-login: Use imap_parser_read_tag() and _read_command_name()
+
+
+M src/imap-login/imap-login-client.c
+
+2020-08-17 18:15:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (62061e8cf6)
+
+ imap-login: Split off client_invalid_command()
+
+
+M src/imap-login/imap-login-client.c
+
+2020-08-17 18:11:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0386140f61)
+
+ imap: Use imap_parser_read_tag() and _read_command_name()
+
+
+M src/imap/imap-client.c
+
+2020-08-17 17:59:19 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (eea57c8683)
+
+ imap: Split off client_command_failed_early()
+
+
+M src/imap/imap-client.c
+
+2020-08-17 17:32:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b9a2f18466)
+
+ lib-imap: Add imap_parser_read_tag() and _read_command_name()
+
+
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-parser.h
+M src/lib-imap/test-imap-parser.c
+
+2020-03-11 14:36:10 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6862dfcab9)
+
+ lib-master: Add 5 second timeout when waiting for stats-writer handshake
+
+ Previously the wait was infinite and nothing was logged, making it difficult
+ to know that the problem is with a hanging stats process.
+
+M src/lib-master/stats-client.c
+
+2020-12-22 10:22:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (941668f5a0)
+
+ lib-master, stats: Fix sending and parsing UPDATE commands
+
+ These commands were parsed completely wrong, resulting in errors like:
+
+ Client sent invalid input for UPDATE: Invalid tv_created: Invalid timeval
+ microseconds parameter
+
+M src/lib-master/stats-client.c
+M src/lib-master/test-event-stats.c
+M src/stats/client-writer.c
+
+2020-12-03 10:21:47 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (4a07b3622a)
+
+ lib-lua: Install libdovecot-lua binaries
+
+ This turns this into a full-fledged library. This addresses the issue where
+ libdovecot-lua is completely included in anything that uses it, which caused
+ unnecessarily bloat and could have caused linker problems with multiple
+ definitions of the same symbol.
+
+M src/auth/Makefile.am
+M src/lib-lua/Makefile.am
+
+2020-12-01 12:16:04 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (ba7b64712e)
+
+ lib-storage: Split off the mail user lua code
+
+ Move the code into a separate file to mirror the native C code layout.
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/mail-storage-lua-private.h
+M src/lib-storage/mail-storage-lua.c
+A src/lib-storage/mail-user-lua.c
+
+2020-12-01 12:13:31 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (53e62982d3)
+
+ lib-storage: Split off the mailbox attribute lua code
+
+ Move the code into a separate file to mirror the native C code layout.
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/mail-storage-lua.c
+A src/lib-storage/mailbox-attribute-lua.c
+
+2020-12-01 12:05:59 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (fcbf6da47f)
+
+ lib-storage: Split off the struct mailbox lua code
+
+ Move the code into a separate file to mirror the native C code layout.
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/mail-storage-lua-private.h
+M src/lib-storage/mail-storage-lua.c
+A src/lib-storage/mailbox-lua.c
+
+2020-12-01 11:47:26 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (bf42611743)
+
+ lib-storage: Split off the struct mail lua code
+
+ Move the code into a separate file to mirror the native C code layout.
+
+M src/lib-storage/Makefile.am
+A src/lib-storage/mail-lua.c
+A src/lib-storage/mail-storage-lua-private.h
+M src/lib-storage/mail-storage-lua.c
+
+2020-12-01 11:14:02 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (bf1c270fa3)
+
+ lib-storage: Move storage related lua code into libdovecot-storage-lua.la
+
+ This keeps all the storage code in one place.
+
+M src/lib-storage/Makefile.am
+R100 src/plugins/mail-lua/mail-storage-lua.c src/lib-storage/mail-storage-lua.c
+R100 src/plugins/mail-lua/mail-storage-lua.h src/lib-storage/mail-storage-lua.h
+M src/plugins/mail-lua/Makefile.am
+
+2020-11-16 20:55:14 +0100 Marvin W <git@larma.de> (2c57a92661)
+
+ auth: db-lua - Fix invalid stack empty check
+
+ 3e11b97 introduced assertions to ensure the lua stack is empty after
+ execution. In auth_lua_call_password_verify() this check was inserted
+ *before* popping the error message from the stack, ultimately causing the
+ assertion to fail every time the lua script has a runtime error, leading to
+ process crashing.
+
+M src/auth/db-lua.c
+
+2020-03-06 15:45:47 +0200 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (0113cf0012)
+
+ lib-storage: Remove cydir storage format support
+
+
+M configure.ac
+M src/lib-storage/Makefile.am
+M src/lib-storage/index/Makefile.am
+D src/lib-storage/index/cydir/Makefile.am
+D src/lib-storage/index/cydir/cydir-mail.c
+D src/lib-storage/index/cydir/cydir-save.c
+D src/lib-storage/index/cydir/cydir-storage.c
+D src/lib-storage/index/cydir/cydir-storage.h
+D src/lib-storage/index/cydir/cydir-sync.c
+D src/lib-storage/index/cydir/cydir-sync.h
+M src/lib-storage/mail-storage-register.c
+
+2019-10-11 14:53:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5dc69d900a)
+
+ lib-storage: Fix potential assert-crash fetching BODY[STRUCTURE] when mail's
+ size is cached wrong
+
+ This happened only after mail's size was detected to be different than the
+ mail's cached size.
+
+ Fixes: Panic: file index-mail.c: line 1140 (index_mail_parse_body_finish):
+ assertion failed: (mail->data.parts != NULL)
+
+M src/lib-storage/index/index-mail.c
+
+2020-12-09 09:42:19 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (727f9adc5c)
+
+ plugins: Remove expire plugin
+
+ The autoexpunge functionality should be used instead.
+
+M configure.ac
+M doc/example-config/dovecot-dict-sql.conf.ext
+M doc/example-config/dovecot.conf
+M src/plugins/Makefile.am
+D src/plugins/expire/Makefile.am
+D src/plugins/expire/doveadm-expire.c
+D src/plugins/expire/expire-plugin.c
+D src/plugins/expire/expire-plugin.h
+D src/plugins/expire/expire-set.c
+D src/plugins/expire/expire-set.h
+
+2020-12-09 09:20:54 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (26a6a90baf)
+
+ plugins: Remove mail-filter plugin
+
+
+M configure.ac
+M src/plugins/Makefile.am
+D src/plugins/mail-filter/Makefile.am
+D src/plugins/mail-filter/istream-ext-filter.c
+D src/plugins/mail-filter/istream-ext-filter.h
+D src/plugins/mail-filter/mail-filter-plugin.c
+D src/plugins/mail-filter/mail-filter-plugin.h
+D src/plugins/mail-filter/ostream-ext-filter.c
+D src/plugins/mail-filter/ostream-ext-filter.h
+
+2020-12-09 09:32:29 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (a02076a2c0)
+
+ plugins: Remove snarf plugin
+
+
+M configure.ac
+M src/plugins/Makefile.am
+D src/plugins/snarf/Makefile.am
+D src/plugins/snarf/snarf-plugin.c
+D src/plugins/snarf/snarf-plugin.h
+
+2020-12-09 09:50:10 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (9d48f0dd05)
+
+ plugins: Remove autocreate plugin
+
+ Automatic mailbox creation should be done via the autocreate namespace
+ option.
+
+M configure.ac
+M src/plugins/Makefile.am
+D src/plugins/autocreate/Makefile.am
+D src/plugins/autocreate/autocreate-plugin.c
+D src/plugins/autocreate/autocreate-plugin.h
+
+2020-12-11 11:05:50 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (4d731ccc49)
+
+ lib-lua: Stop sharing lua states based on the script file name
+
+ Instead of all instances of the same lua script sharing the same stack and
+ globals, make them completely separate instances. Removing this
+ optimization will make support of yielding possible.
+
+M src/lib-lua/dlua-script.c
+
+2020-12-11 11:22:44 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (c9f42ff404)
+
+ lib-lua: Use lua_register() instead of open-coding it
+
+
+M src/lib-lua/test-lua.c
+
+2020-07-29 11:28:50 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (89179afd2e)
+
+ NEWS: Add NEWS for 2.3.11.3
+
+
+M NEWS
+
+2020-07-28 11:02:06 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (6d8f355105)
+
+ NEWS: Add NEWS for 2.3.11.2
+
+
+M NEWS
+
+2020-06-30 11:50:26 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (c837ead073)
+
+ NEWS: Add news for 2.3.11
+
+
+M NEWS
+
+2020-12-10 19:31:28 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (ad8c186cc0)
+
+ man: doveadm-proxy - Minor fixes to doveadm proxy kick
+
+
+M doc/man/doveadm-proxy.1.in
+
+2020-12-09 09:43:42 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (078dfa8fbf)
+
+ lib: test-file-cache - Assert map is not null before memcmp
+
+
+M src/lib/test-file-cache.c
+
+2020-12-08 09:51:30 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (f2c15393f9)
+
+ lib-mail: test-message-search - Assert ret
+
+ Found by static analysis
+
+M src/lib-mail/test-message-search.c
+
+2020-12-08 09:45:20 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (73b307d6ff)
+
+ lib-mail: test-message-search - Assert that found value is not NULL
+
+ Satisfies static analysers
+
+M src/lib-mail/test-message-search.c
+
+2020-12-08 09:42:13 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (6d454342a8)
+
+ lib-mail: test-message-decoder - Assert ret
+
+ Found by static analysis
+
+M src/lib-mail/test-message-decoder.c
+
+2020-11-30 22:10:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8b750e924e)
+
+ lib-storage: Fix potential assert-crash when fetching body snippet
+
+ This happened only in a rather special condition. Added unit test to
+ reproduce it.
+
+ Fixes: Panic: file message-part-data.c: line 28
+ (message_part_data_is_plain_7bit): assertion failed: (data != NULL)
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/test-mail.c
+
+2020-11-30 20:37:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (67b6027028)
+
+ lib-storage: Fix potential assert-crash when adding missing attachment flags
+
+ This happened only in a rather special condition. Added unit test to
+ reproduce it.
+
+ Fixes: Panic: file index-mail-headers.c: line 298 (index_mail_parse_header):
+ assertion failed: (part != NULL)
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/test-mail.c
+
+2020-12-07 13:09:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8b40060bf3)
+
+ lib-dcrypt: istream-decrypt - Assert that max_buffer_size > 0
+
+ Otherwise all reads return -2, which will just result in assert-crash in
+ i_stream_read().
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2020-12-07 13:07:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (103cb028e3)
+
+ lib: istream-error - Set max_buffer_size
+
+ Although nothing is actually read from the stream, some filter istreams
+ don't behave properly with max_buffer_size=0. Currently at least
+ istream-decrypt returns -2 for reads instead of -1.
+
+ Fixes: Panic: file istream.c: line 320 (i_stream_read_memarea): assertion
+ failed: (_stream->skip != _stream->pos)
+
+M src/lib/istream.c
+
+2020-12-07 12:40:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (200eb973c2)
+
+ lib-storage: test_mail_storage_deinit() - Don't try to clear freed memory
+
+ ctx was already freed. Trying to memset() into it will just result in
+ writing to already freed memory.
+
+M src/lib-storage/test-mail-storage-common.c
+
+2020-12-03 16:37:55 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (4ba0954ca0)
+
+ lib-oauth2: test-oauth2-jwt - Add tests for HS384 and HS512
+
+
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2020-12-02 13:37:05 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (530eb2cee2)
+
+ lib-oauth2: Fix whitespace in test-oauth2-jwt.c
+
+
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2020-12-02 14:54:05 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (1c6c689c1b)
+
+ lib: test-hmac - Add tests for hmac sha384
+
+
+M src/lib/test-hmac.c
+
+2020-12-02 14:53:55 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (6ae5b035ff)
+
+ lib: test-hash-method - Add tests for sha2
+
+
+M src/lib/test-hash-method.c
+
+2020-12-02 14:53:39 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (79bc83dad7)
+
+ lib: hash-method - Add sha384 support
+
+
+M src/lib/hash-method.c
+M src/lib/sha-common.h
+M src/lib/sha2.c
+M src/lib/sha2.h
+
+2020-12-02 14:37:02 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c424c9054e)
+
+ lib: Fix whitespace in sha2.c
+
+
+M src/lib/sha2.c
+
+2020-11-24 10:20:05 -0500 Downtown Allday <downtownallday@gmail.com> (bcfd1071f3)
+
+ lib: test-hmac - Add HMAC 512 test
+
+
+M src/lib/test-hmac.c
+
+2020-12-03 16:33:06 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (df5989562f)
+
+ lib: hmac - Support different hash algorithms
+
+ Code was hardcoded for MD4,MD5,SHA-1.
+
+M src/lib/hmac.c
+
+2020-11-24 10:19:43 -0500 Downtown Allday <downtownallday@gmail.com> (0acf019110)
+
+ lib: hmac - Adjust HMAC_MAX_CONTEXT_SIZE to accommodate HMAC512
+
+
+M src/lib/hmac.h
+
+2020-12-03 16:28:40 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (7381c12be2)
+
+ lib: hash-method - Add block size
+
+ This is needed for HMAC
+
+M src/lib/hash-method.c
+M src/lib/hash-method.h
+M src/lib/md4.c
+M src/lib/md5.c
+M src/lib/sha1.c
+M src/lib/sha2.c
+M src/lib/sha3.c
+
+2020-12-03 16:24:52 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (d111a18e6c)
+
+ lib: hash-method - Use named initializers
+
+
+M src/lib/hash-method.c
+M src/lib/md4.c
+M src/lib/md5.c
+M src/lib/sha1.c
+M src/lib/sha2.c
+M src/lib/sha3.c
+
+2020-06-05 21:29:44 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (512739f51f)
+
+ lib-oauth2: Remove unused include from oauth2.c.
+
+
+M src/lib-oauth2/oauth2.c
+
+2020-06-05 21:16:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (905a944955)
+
+ lib-oauth2: Make oauth2_request_set_headers() static.
+
+
+M src/lib-oauth2/oauth2-private.h
+M src/lib-oauth2/oauth2-request.c
+
+2020-06-05 21:13:39 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d33c15dcfe)
+
+ lib-oauth2: Rename oauth2_request_free_internal() to oauth2_request_free().
+
+ And make it static.
+
+M src/lib-oauth2/oauth2-private.h
+M src/lib-oauth2/oauth2-request.c
+
+2020-06-05 21:06:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6d0f74d0db)
+
+ lib-oauth2: Rename oauth2_parse_json() to oauth2_request_parse_json().
+
+
+M src/lib-oauth2/oauth2-private.h
+M src/lib-oauth2/oauth2-request.c
+M src/lib-oauth2/test-oauth2-json.c
+
+2020-06-05 21:15:47 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (cd3b73910f)
+
+ lib-oauth2: Move oauth2_request_set_headers() to oauth2-request.c.
+
+
+M src/lib-oauth2/oauth2-request.c
+M src/lib-oauth2/oauth2.c
+
+2020-06-05 21:11:20 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (febd427325)
+
+ lib-oauth2: Move oauth2_request_abort() to oauth2-request.c.
+
+
+M src/lib-oauth2/oauth2-request.c
+M src/lib-oauth2/oauth2.c
+
+2020-06-05 21:09:39 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a08d19b449)
+
+ lib-oauth2: Move oauth2_request_free_internal() to oauth2-request.c.
+
+
+M src/lib-oauth2/oauth2-request.c
+M src/lib-oauth2/oauth2.c
+
+2020-06-05 21:00:03 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (72db70205f)
+
+ lib-oauth2: Move oauth2_parse_json() to oauth2-request.c.
+
+
+M src/lib-oauth2/oauth2-request.c
+M src/lib-oauth2/oauth2.c
+
+2020-06-05 20:51:34 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d61b5dc49f)
+
+ lib-oauth2: Reformat test-oauth2-jwt.c.
+
+
+M src/auth/db-oauth2.c
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2020-06-05 20:51:19 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (19dd872008)
+
+ lib-oauth2: Reformat oauth2-jwt.c.
+
+
+M src/lib-oauth2/oauth2-jwt.c
+
+2020-06-05 20:50:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0cd5624352)
+
+ lib-oauth2: Reformat oauth2-key-cache.c.
+
+
+M src/lib-oauth2/oauth2-key-cache.c
+
+2020-06-05 20:50:34 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ec0ed35e30)
+
+ lib-oauth2: Reformat oauth2-request.c.
+
+
+M src/lib-oauth2/oauth2-request.c
+
+2020-06-05 20:49:34 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (e2e5d906dc)
+
+ lib-oauth2: Reformat oauth2.c.
+
+
+M src/lib-oauth2/oauth2.c
+
+2020-06-05 20:49:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (eba983d328)
+
+ lib-oauth2: Reformat oauth2-private.h.
+
+
+M src/lib-oauth2/oauth2-private.h
+
+2020-06-05 20:49:09 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c599bd5cca)
+
+ lib-oauth2: Reformat oauth2.h.
+
+
+M src/lib-oauth2/oauth2.h
+
+2020-05-27 01:49:52 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f3ec003404)
+
+ auth: db-oauth2 - Add consistent prefix for all error messages
+
+
+M src/auth/db-oauth2.c
+
+2020-05-27 01:36:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (cb327481b1)
+
+ auth: db-oauth2 - Fix debug logging
+
+ Don't log a debug message when the callback is going to be logging exactly
+ the same message as info/error.
+
+M src/auth/db-oauth2.c
+
+2020-05-27 01:25:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (98988c187e)
+
+ auth: db-oauth2 - Call db_oauth2_lookup_continue_valid() after valid grant
+
+ No need to check for error/validity again in db_oauth2_lookup_continue().
+
+M src/auth/db-oauth2.c
+
+2020-05-27 01:22:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8d07269115)
+
+ auth: db-oauth2 - db_oauth2_lookup_continue() - Minor cleanup to avoid
+ variables
+
+
+M src/auth/db-oauth2.c
+
+2020-05-27 01:20:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (be894aaf8b)
+
+ auth: db-oauth2 - Split off db_oauth2_lookup_continue_valid()
+
+
+M src/auth/db-oauth2.c
+
+2020-05-27 01:03:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (34f9f30799)
+
+ auth: db-oauth2 - db_oauth2_lookup_passwd_grant() - Reorder error handling
+ code flow
+
+
+M src/auth/db-oauth2.c
+
+2020-05-27 01:03:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c29ebbaf0f)
+
+ auth: db-oauth2 - Improve "Internal error" message for grant lookups
+
+
+M src/auth/db-oauth2.c
+
+2020-05-27 00:59:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e0895ff34c)
+
+ auth: db-oauth2 - Add and use db_oauth2_field_find()
+
+
+M src/auth/db-oauth2.c
+
+2020-05-27 00:57:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (06157f5331)
+
+ auth: db-oauth2 - Don't set db_oauth2_request.token for grant lookups
+
+ The grant lookup sets the token. There's no need to set it before that.
+
+M src/auth/db-oauth2.c
+
+2020-05-27 00:50:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fd15e2e61f)
+
+ auth: db-oauth2 - db_oauth2_lookup_passwd_grant() - Reorder code flow
+
+ No behavioral changes.
+
+M src/auth/db-oauth2.c
+
+2020-05-27 00:44:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (062b6fa34d)
+
+ auth: db-oauth2 - Refactor "OAuth2 token missing from reply" code path
+
+ It can be NULL only when coming from db_oauth2_lookup_passwd_grant(), so
+ handle it there.
+
+M src/auth/db-oauth2.c
+
+2020-05-27 00:36:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (72e4a833ed)
+
+ auth: db-oauth2 - db_oauth2_template_export() - Make var_expand() error
+ handling consistent
+
+ Other var_expand() errors include the original string in the error message,
+ so this one should also.
+
+M src/auth/db-oauth2.c
+
+2020-05-27 00:30:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2cb1fde47e)
+
+ lib-oauth2: Improve error message when server returns unexpected result
+
+ If the result isn't 2xx or 4xx, use the HTTP response message as the error
+ message.
+
+M src/lib-oauth2/oauth2-request.c
+
+2020-05-27 00:27:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1455a6fa77)
+
+ lib-oauth2: Don't fail if oauth response payload is NULL
+
+ oauth2_parse_json() is happy with with empty payload (Content-Length: 0), so
+ it should be happy also when payload is NULL (Content-Length is missing).
+
+M src/lib-oauth2/oauth2-request.c
+
+2020-05-27 00:21:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a434131fea)
+
+ lib-oauth2: Remove unused oauth2-passwd-grant.c
+
+
+D src/lib-oauth2/oauth2-passwd-grant.c
+
+2020-05-27 00:19:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f2755d5188)
+
+ lib-oauth2, auth: Remove redundant oauth2_request_result.success
+
+ success is the same as (error == NULL)
+
+M src/auth/db-oauth2.c
+M src/lib-oauth2/oauth2-request.c
+M src/lib-oauth2/oauth2.h
+
+2020-05-27 00:12:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7db7eb3caa)
+
+ lib-oauth2: json_parsed_cb() - Remove redundant success parameter
+
+ success is the same as (error == NULL)
+
+M src/lib-oauth2/oauth2-private.h
+M src/lib-oauth2/oauth2-request.c
+M src/lib-oauth2/oauth2.c
+M src/lib-oauth2/test-oauth2-json.c
+
+2020-10-01 16:02:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (aad5e2d5ec)
+
+ fs-compress: Use istream-decompress
+
+
+M src/plugins/fs-compress/fs-compress.c
+
+2020-10-01 15:59:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fbe6a63b53)
+
+ lib-compression: Fix detecting if input is bzip2 compressed
+
+ The detection was broken at least for empty bzip2 input.
+
+M src/lib-compression/compression.c
+M src/lib-compression/test-compression.c
+
+2020-10-01 15:36:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8b6142f9ba)
+
+ lib-compression: Add istream-decompress
+
+ This stream detects the compression format and creates the proper istream
+ afterwards. This is more efficient than creating each compression istream
+ and using istream-try.
+
+M src/lib-compression/Makefile.am
+M src/lib-compression/compression.h
+A src/lib-compression/istream-decompress.c
+M src/lib-compression/test-compression.c
+
+2020-11-19 17:50:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d680014059)
+
+ lib-storage: Add test-mail unit test
+
+ Initially it just accesses the mail randomly.
+
+M src/lib-storage/Makefile.am
+A src/lib-storage/test-mail.c
+
+2020-11-19 15:56:17 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b5c3c78594)
+
+ mail-crypt: test-mail-crypt - Use test-mail-storage API
+
+
+M src/plugins/mail-crypt/test-mail-key.c
+
+2020-11-19 15:37:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9d40291c59)
+
+ lib-storage: Add a public test-mail-storage-common.h API
+
+ Moved the public functions into test-mail-storage-common.c
+
+M src/lib-storage/Makefile.am
+A src/lib-storage/test-mail-storage-common.c
+A src/lib-storage/test-mail-storage-common.h
+M src/lib-storage/test-mail-storage.c
+
+2020-11-19 16:13:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4c75927a47)
+
+ lib-storage: test-mail-storage - Die on test_mail_init_user() failure
+
+ This way the caller won't need to do error handling. The errors were being
+ handled inconsistently.
+
+M src/lib-storage/test-mail-storage.c
+
+2020-11-19 15:35:07 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c34c37f8de)
+
+ lib-storage: test-mail-storage - Remove randomness from test home directory
+
+ Also rename test_mail_storage_ctx.mail_home to home_root to better describe
+ it.
+
+M src/lib-storage/test-mail-storage.c
+
+2020-11-19 15:32:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8dd863cf2e)
+
+ lib-storage: test-mail-storage - Change test_mail_init() to allocate the
+ struct
+
+
+M src/lib-storage/test-mail-storage.c
+
+2020-11-19 15:29:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (56845ea6a3)
+
+ lib-storage: test-mail-storage - Use settings struct for
+ test_mail_init_user()
+
+
+M src/lib-storage/test-mail-storage.c
+
+2020-10-22 12:22:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8299232acb)
+
+ lib: i_stream_read() - Don't create empty snapshots
+
+ This allows the read() implementation to read data into the existing
+ memarea. Otherwise a new memarea might have to be created because the old
+ one is referenced by the snapshot.
+
+M src/lib/istream.c
+
+2020-10-29 13:35:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (bfb013491a)
+
+ imap: Process title wrongly shows connections are "corked"
+
+ The flush callback in ostream-file always corks the connection, so the
+ process title needs to be delayed until it's no longer in that callback. Add
+ a 0-timeout to update the process title.
+
+M src/imap/imap-client.c
+M src/imap/imap-common.h
+M src/imap/main.c
+
+2020-11-25 11:03:57 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (dd8f5d776e)
+
+ lib-lua: Rewrite arg checking macros to use STMT_{START,END}
+
+ This makes it safer to use. Additionally, this commit adds some newlines to
+ the macro definition to make it more readable.
+
+M src/lib-lua/dlua-script-private.h
+
+2020-11-10 16:10:05 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (30c453c8d9)
+
+ login-proxy: Use persistent istream buffers
+
+ Constantly freeing and allocating the memory is a bit slow, but because
+ Dovecot allocates all memory with calloc() the memory cleaing is especially
+ slow. With this change proxying lots of data in a plaintext connection takes
+ about 50% less CPU. The downside is that it uses about 4 kB more memory per
+ istream (8 kB total, for both client and server connections), but that
+ shouldn't be too bad for proxies since they don't use much memory otherwise.
+
+M src/login-common/login-proxy.c
+
+2020-12-02 06:06:59 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (e2f3a23190)
+
+ lib-mail: test-istream-qp-decoder.c - Free input_data_limited
+
+
+M src/lib-mail/test-istream-qp-decoder.c
+
+2020-12-01 10:25:09 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (043d111cea)
+
+ lib-http: http-client-request - Fix payload assertions in
+ http_client_request_send_more().
+
+ When the request payload is finished, both req->payload_input and
+ req->payload_output could be NULL, so the assertions on those being not NULL
+ need to happen after the check for req->payload_finished.
+
+ This particularly causes problems with the blocking
+ http_client_request_send/finish_payload() API, which constantly modifies
+ req->payload_input and sets it to NULL to finish the output.
+
+ This caused a panic:
+
+ Panic: file http-client-request.c: line 1232
+ (http_client_request_send_more): assertion failed: (req->payload_input !=
+ NULL)
+
+M src/lib-http/http-client-request.c
+
+2018-04-04 15:18:51 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3d9e01ccb2)
+
+ lib-http: test-http-payload - Add test for blocking client output payload.
+
+
+M src/lib-http/test-http-payload.c
+
+2018-04-04 03:02:24 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e3b3155131)
+
+ lib-http: test-http-payload - Implement reference counting for client
+ request.
+
+
+M src/lib-http/test-http-payload.c
+
+2020-06-27 18:48:40 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (7a853719d6)
+
+ lib-http: Reformat http-client-request.c.
+
+
+M src/lib-http/http-client-request.c
+
+2020-02-25 13:08:21 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (15a4c057eb)
+
+ notify: Free notify_mail_txn when a plugin does not define
+ mail_transaction_commit
+
+
+M src/plugins/notify/notify-plugin.c
+
+2020-11-06 11:47:18 +0100 Markus Valentin <markus.valentin@open-xchange.com> (362ebb22c1)
+
+ lib-mail: Add tests for message-size functions
+
+ Integrate testing of header and body size to existing tests and add new
+ tests specifically for message-size.
+
+M src/lib-mail/Makefile.am
+M src/lib-mail/test-message-header-parser.c
+M src/lib-mail/test-message-parser.c
+A src/lib-mail/test-message-size.c
+
+2020-11-09 12:35:09 +0100 Markus Valentin <markus.valentin@open-xchange.com> (c06349db1c)
+
+ lib-mail: Extend quoted-printable encoding tests
+
+
+M src/lib-mail/test-istream-qp-encoder.c
+M src/lib-mail/test-qp-encoder.c
+
+2020-11-04 14:38:10 +0100 Markus Valentin <markus.valentin@open-xchange.com> (e3b45a1e30)
+
+ lib-mail: Extend quoted-printable decoding tests
+
+
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-mail/test-qp-decoder.c
+M src/lib-mail/test-quoted-printable.c
+
+2020-11-19 13:30:54 +0100 Markus Valentin <markus.valentin@open-xchange.com> (78b86e7859)
+
+ lib-mail: qp-encoder: Ensure trailing white space is followed by printable
+
+ In case a qp-encoded line ends with space or tab append a soft line break to
+ prevent white space being cut off by decoding instance.
+
+M src/lib-mail/qp-encoder.c
+
+2020-11-19 15:32:00 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (12d3ac4d88)
+
+ lib-mail: test-message-parser - Convert to signed when calculating variance
+
+ Satisfies runtime analyser, broken in 6b60e5ed490
+
+M src/lib-mail/test-message-parser.c
+
+2020-11-18 09:43:07 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (2e100e4531)
+
+ lib-mail: message-decoder - Fix CTE parser to accept only syntaxically valid
+ values
+
+
+M src/lib-mail/message-decoder.c
+M src/lib-mail/test-message-decoder.c
+
+2020-11-17 09:29:30 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (0f3bbb5bf4)
+
+ lib-mail: test-rfc822-parser - Add tests for content-type full parsing
+
+
+M src/lib-mail/test-rfc822-parser.c
+
+2020-11-18 09:31:03 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (49aab3624e)
+
+ lib-mail: message-decoder - Constify message_decoder_parse_cte parameter
+
+
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-decoder.h
+
+2020-11-16 16:20:30 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (e29c697e03)
+
+ lib-mail: rfc822-parser - Fix content-type parser to accept only valid
+ values
+
+
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-rfc822-parser.c
+
+2020-10-29 12:55:21 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6fad5cd6fc)
+
+ imap: Fix potential hang if client disconnects with pipelined ambiguous
+ commands
+
+ For example if client pipelines FETCH+LOGOUT commands and disconnects during
+ a large FETCH output, the LOGOUT command is processed as waiting for
+ unambiguity. This code path however doesn't detect a client disconnection,
+ and input IO handler is removed so it can't detect it either. So the imap
+ process hangs.
+
+M src/imap/imap-client.c
+
+2020-10-29 12:52:16 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4eb35e2268)
+
+ imap: Move disconnected-check inside client_continue_pending_input()
+
+ This way all of its callers don't have to check if the client is
+ disconnected.
+
+M src/imap/cmd-append.c
+M src/imap/cmd-idle.c
+M src/imap/imap-client.c
+M src/imap/imap-search.c
+M src/imap/main.c
+
+2020-11-19 11:00:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e540d0dda6)
+
+ lib-storage: Update comments about mail_search_args_init() and refcount
+ handling
+
+
+M src/lib-storage/mail-search.h
+
+2020-11-23 12:17:52 +0000 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (8582882204)
+
+ doveadm: Add timestamp prefixes for debug output
+
+ But still allow overriding from env by setting LOG_STDERR_TIMESTAMP.
+
+M src/doveadm/doveadm.c
+
+2020-11-23 18:15:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6b0a59f00c)
+
+ lib-dict: dict_iterate() - Fix segfault with DICT_ITERATE_FLAG_NO_VALUE
+
+ Broken by cf0d196c2b373a37bc1ab4e10fde89fb61089f3c
+
+M src/lib-dict/dict.c
+
+2020-11-23 16:49:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ca225869b1)
+
+ dict-cdb: Fix to use new dict.iterate() API
+
+ Forgot in 65b7f04f945781cd042f5ad2f6f104f532143ee7
+
+M src/lib-dict-backend/dict-cdb.c
+
+2019-11-22 01:17:32 +0000 rofl0r <rofl0r@users.noreply.github.com> (090feba9c3)
+
+ m4: size_t_signed.m4 - use static assertion instead of run test
+
+ a small step towards cross-compile-ability.
+
+M m4/size_t_signed.m4
+
+2020-08-10 20:18:48 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (26fe1e277c)
+
+ lib-index: Improve debug logging
+
+
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-transaction-log.c
+
+2020-08-10 20:16:30 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f2a0fe95ed)
+
+ lib-index: Handle rapidly rotating transaction logs without unnecessary fsck
+
+
+M src/lib-index/mail-index-map-read.c
+
+2020-08-10 18:00:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (83a06c785f)
+
+ lib-index: mail_index_reopen_if_changed() - Add reopened_r parameter
+
+
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+
+2020-08-10 17:53:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5c45509554)
+
+ lib-index: mail_index_sync_map() - Move corruption handling to caller
+
+
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-sync-private.h
+M src/lib-index/mail-index-sync-update.c
+
+2020-08-10 17:45:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (264f583a46)
+
+ lib-index: mail_index_map_latest_sync() - Minor refactoring
+
+
+M src/lib-index/mail-index-map-read.c
+
+2020-08-10 17:43:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (dd5ee8e233)
+
+ lib-index: Split off mail_index_map_latest_sync()
+
+
+M src/lib-index/mail-index-map-read.c
+
+2020-08-10 17:33:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (32ab929a9d)
+
+ lib-index: mail_index_sync_map() - Always return -1 on I/O failures
+
+ Even though with force=FALSE in theory it would be possible to work around
+ it, but more likely it will just cause another I/O error. This simplifies
+ the code for the following changes.
+
+M src/lib-index/mail-index-sync-update.c
+
+2020-08-10 17:31:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (050668ef37)
+
+ lib-index: Move calling mail_index_sync_map_want_index_reopen() to
+ mail_index_map()
+
+
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-sync-private.h
+M src/lib-index/mail-index-sync-update.c
+
+2020-08-10 17:29:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (efc9c13e73)
+
+ lib-index: Split off mail_index_sync_map_want_index_reopen()
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2020-08-10 20:02:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (268de25bd4)
+
+ lib-index: mail_transaction_log_indexid_changed() - Clarify refcount
+ handling
+
+ Although the old code worked as well, it wasn't so obvious since the
+ behavior was slightly different when the log->head had extra references.
+ Clarify the behavior by always unreferencing after the new log file is
+ created.
+
+M src/lib-index/mail-transaction-log.c
+
+2020-08-10 20:09:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9f46e634c0)
+
+ lib-index: mail_transaction_log_file_free() - Assert that refcount=0
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2020-08-10 19:59:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f388a47038)
+
+ lib-index: mail_index_write() - Make sure index is rewritten after log
+ rotation
+
+ Otherwise the index will point to .log.2 file, which could become deleted
+ before the index is rewritten again.
+
+M src/lib-index/Makefile.am
+M src/lib-index/mail-index-write.c
+A src/lib-index/test-mail-index-write.c
+
+2020-08-10 19:54:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8eea1e5c8c)
+
+ lib-index: mail_transaction_log_view_set() - Make sure log files aren't
+ freed too early
+
+ It's possible that mail_transaction_log_find_file() frees one of the files
+ that are already in the linked list. Avoid it by referencing the file
+ immediately when it's added to the list.
+
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/test-mail-transaction-log-view.c
+
+2020-11-12 18:01:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8e6fab92e6)
+
+ lib-index: test-mail-transaction-log-view - Move
+ test_transaction_log_file_add()
+
+
+M src/lib-index/test-mail-transaction-log-view.c
+
+2020-08-10 17:12:32 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (327da2aa8a)
+
+ lib-index: mail_transaction_log_view_set() - Return -1 only on I/O error
+
+ The callers that care about the difference:
+
+ * mail_index_sync_map() already assumes that -1 means I/O error
+ * mail_index_sync_set_log_view() handles 0 by logging an error and fscking
+ the index, which is likely better than just returning failure.
+ * view_sync_set_log_view_range()'s caller handles 0 by rebuilding the
+ missing changes in memory. So returning 0 makes it work better.
+ * dsync_log_set() and mailbox_get_expunges_init() have fallbacks for
+ handling 0, while -1 would just return an error.
+
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.h
+M src/lib-index/test-mail-transaction-log-view.c
+
+2020-08-10 17:06:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (39e2477b7c)
+
+ lib-index: mail_transaction_log_file_get_highest_modseq_at() - Separate I/O
+ errors from corruption
+
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/test-mail-transaction-log-file.c
+M src/lib-index/test-mail-transaction-log-view.c
+
+2020-11-13 19:30:29 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2aedf5afa7)
+
+ lib: Add data_stack_get_used_size()
+
+ Mainly for debugging purposes.
+
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+
+2020-11-17 17:26:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a13d1c6c23)
+
+ doveadm dict iter: Support printing multiple values
+
+
+M src/doveadm/doveadm-dict.c
+
+2020-11-17 14:41:31 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (bd6caf4f54)
+
+ dict-sql: Support dict_iterate_values()
+
+
+M src/lib-dict-backend/dict-sql.c
+
+2020-11-17 14:24:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1c4cef0099)
+
+ dict, dict-client: Support dict_iterate_values()
+
+ This doesn't change the dict client protocol in an incompatible way, so it's
+ possible to mix old/new client/server.
+
+M src/dict/dict-commands.c
+M src/lib-dict/dict-client.c
+
+2020-11-17 14:20:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (cf0d196c2b)
+
+ lib-dict: Add dict_iterate_values()
+
+
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+
+2020-11-17 14:09:30 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (65b7f04f94)
+
+ lib-dict: Change dict.iterate() API to support returning multiple values
+
+ This requires changes to all dict drivers.
+
+M src/lib-dict-backend/dict-sql.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-fail.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+
+2020-11-17 14:30:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (028f46875b)
+
+ lib-dict: dict_iterate() - Always return NULL if DICT_ITERATE_FLAG_NO_VALUE
+ is used
+
+ This way it behaves more consistently across backends.
+
+M src/lib-dict-backend/dict-sql.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+
+2020-11-20 12:52:47 +0100 Markus Valentin <markus.valentin@open-xchange.com> (0d9e962605)
+
+ doveadm: mail: doveadm_mail_failed_error() - Set specific exit code for
+ MAIL_ERROR_INUSE
+
+ Set exit code DOVEADM_EX_NOTPOSSIBLE in case MAIL_ERROR_INUSE is set via
+ doveadm_mail_failed_error(). This exit code is used to indicate that a
+ operation cannot be done because another session prevents it.
+
+M src/doveadm/doveadm-mail.c
+
+2020-11-20 12:15:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4b93cff3d8)
+
+ doveadm: When sending server logs to client, make sure ioloop isn't set to
+ NULL
+
+ This could have happened if there was any logging done outside command
+ handling. For example a doveadm command used http-client, which has a
+ timeout that triggers logging only after the command is finished.
+
+ Fixes segfault and: Panic: file http-client.c: line 642
+ (http_client_context_close): assertion failed: (cctx->clients_list == NULL)
+
+M src/doveadm/client-connection-tcp.c
+
+2020-11-20 12:23:21 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (2dac245580)
+
+ lib-lua: Don't add system libs to libdovecot_lua_la_DEPENDENCIES
+
+ This confuses the build system, causing it to think that it needs to build
+ those. This manifests itself as:
+
+ make: *** No rule to make target '-L/usr/lib/x86_64-linux-gnu', needed by
+ 'libdovecot-lua.la'. Stop.
+
+M src/lib-lua/Makefile.am
+
+2020-11-19 22:07:37 +0200 sergey.kitov <sergey.kitov@open-xchange.com> (4f4cb20134)
+
+ imap: Fix memory leak in get_expunges_fallback()
+
+
+M src/imap/imap-fetch.c
+
+2020-09-11 16:06:46 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (8d52452a58)
+
+ lib: test-file-cache - Use memcmp
+
+ Data is not null-terminated, so use memcmp.
+
+M src/lib/test-file-cache.c
+
+2020-09-11 14:11:55 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5c49871511)
+
+ lib: test-file-cache - Assert map value
+
+ Satisfies static analyser
+
+M src/lib/test-file-cache.c
+
+2020-11-12 14:15:54 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (2434131b41)
+
+ lib: event-filter-parser - Test simple but invalid input
+
+
+M src/lib/test-event-filter-parser.c
+
+2020-11-12 13:49:49 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (a19514bbd3)
+
+ lib: event-filter - Do not assert that there in no output on error
+
+ When the input is a simple (but invalid) expression (e.g., a=b=c) the output
+ variable may be set. This is perfectly fine.
+
+ The assertion (and the associated failure) come from when event filter
+ parsing was switched to the new filter syntax
+ (fcba1d530737813de11d9d730d5db6496e2e574b).
+
+M src/lib/event-filter.c
+
+2020-10-19 13:47:10 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (bfe9533c2e)
+
+ stats: openmetrics - Include submetric name only when present
+
+ Otherwise we SIGSEGV.
+
+M src/stats/stats-service-openmetrics.c
+
+2020-11-11 00:11:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7a6f9517c5)
+
+ dsync: Fix UID renumbering when GUIDs aren't used
+
+ Mails that have local UIDs won't be in import_uids hash table, so they're
+ not otherwise being iterated at the end and checked if they need
+ renumbering.
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2020-11-10 19:57:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (68685ba621)
+
+ dsync: Incremental sync sometimes missed messages when GUIDs weren't
+ available
+
+ GUIDs aren't available when using imapc, so this affected migrations.
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2020-11-09 09:04:36 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (0725865f9c)
+
+ .gitignore: Ignore coverage and temp files
+
+
+M .gitignore
+
+2020-11-05 12:08:38 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (6139812246)
+
+ lib-mail: test-message-part-serialize - Add tests
+
+
+M src/lib-mail/Makefile.am
+A src/lib-mail/test-message-part-serialize.c
+
+2020-11-04 15:10:04 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (9f94c71897)
+
+ lib-mail: test-message-header-parser - Validate header value
+
+
+M src/lib-mail/test-message-header-parser.c
+
+2020-11-04 15:09:45 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (8ce92ceb22)
+
+ lib-mail: test-message-header-parser - Test NUL bytes in header
+
+
+M src/lib-mail/test-message-header-parser.c
+
+2020-11-04 12:35:16 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (2b602c96e4)
+
+ lib-mail: test-message-header-decode - Add more tests
+
+
+M src/lib-mail/test-message-header-decode.c
+
+2020-11-04 12:34:57 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (fcf197ebcc)
+
+ lib-mail: test-message-header-decode - Use libcharset
+
+ Otherwise we can only test utf-8
+
+M src/lib-mail/Makefile.am
+M src/lib-mail/test-message-header-decode.c
+
+2020-11-03 15:17:45 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (b3713a072d)
+
+ lib-mail: test-message-search - Add more message searching tests
+
+
+M src/lib-mail/test-message-search.c
+
+2020-11-02 20:59:18 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (3490e6b472)
+
+ lib-mail: test-mail-user-hash - Add tests for mail_user_hash
+
+
+M src/lib-mail/Makefile.am
+A src/lib-mail/test-mail-user-hash.c
+
+2020-11-02 20:06:28 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (f0ff6527a0)
+
+ lib-mail: test-message-decoder - Add charset conversion test
+
+
+M src/lib-mail/test-message-decoder.c
+
+2020-11-02 18:38:32 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (233081353c)
+
+ lib-mail: test-message-decoder - Test Content-Transfer-Encoding
+
+
+M src/lib-mail/test-message-decoder.c
+
+2020-11-02 13:46:12 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (6b60e5ed49)
+
+ lib-mail: test-message-parser - Add tests for MIME-Version header
+
+
+M src/lib-mail/test-message-parser.c
+
+2020-11-09 09:29:26 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (3c137ff3ad)
+
+ lib-mail: test-* - Add missing test_assert
+
+ Need to ensure stream did not fail during parsing.
+
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-parser.c
+M src/lib-mail/test-message-part.c
+
+2020-11-09 09:22:28 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (8f8558f6d0)
+
+ lib-mail: test-message-parser - Use message_part_is_equal
+
+ Replace msg_parts_cmp with message_part_is_equal.
+
+M src/lib-mail/test-message-parser.c
+
+2020-11-02 13:15:24 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (fd7711d150)
+
+ lib-mail: test-message-parser - Refactor message parsing to utility function
+
+ Makes next changes easier.
+
+M src/lib-mail/test-message-parser.c
+
+2020-11-09 09:16:27 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (34a2b76343)
+
+ lib-mail: Add message_part_is_equal
+
+ Returns TRUE if two parts are equal.
+
+M src/lib-mail/message-part.c
+M src/lib-mail/message-part.h
+
+2020-11-11 11:09:02 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7c14211f94)
+
+ configure.ac: Finish removing vpopmail support
+
+
+M configure.ac
+
+2020-10-27 15:12:19 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (12da020f5f)
+
+ lib-storage: Add prefix to failed mailbox list index rebuild error messages
+
+ This makes it clearer that the failure is happening because index was being
+ rebuilt.
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2020-10-27 15:13:39 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (152214f576)
+
+ lib-storage: Fix error message when mailbox list index rebuild fails
+
+ The error needs to be copied to mailbox_list, otherwise it's just
+ "Unknown internal list error".
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2020-10-27 15:11:12 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (80de9f5b66)
+
+ lib-storage: Fix mailbox list iteration error handling for INBOX
+
+ If INBOX isn't in the first namespace, the error wasn't correctly set for
+ it.
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2020-10-27 15:08:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2fbc6c3478)
+
+ lib-storage: Use mailbox_get_last_mail_error() for mailbox_get_path_to()
+ errors
+
+ mailbox_list_get_last_error() happens to work currently, but it's
+ accidental.
+
+M src/lib-storage/index/index-storage.c
+
+2020-11-02 18:55:16 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (58f5d604b5)
+
+ lib-index: Fix detecting if index is undeleted
+
+ It was possible that mail_index_is_deleted() kept returning that the index
+ was deleted, even if it was marked as undeleted. This happened when the
+ deletion was in dovecot.index.log.2, undeletion in dovecot.index.log and
+ dovecot.index pointed to the .log.2 file. This caused the .log file to be
+ read first, which sees the undeletion. Later on the .log.2 was parsed and it
+ marked the index back as deleted.
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-transaction-log-file.c
+
+2020-11-10 01:30:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1a96ec2fae)
+
+ lib-fts: Avoid NULL pointer arithmetic
+
+ Even though it was only doing +0. Fixes: runtime error: applying zero offset
+ to null pointer
+
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/fts-tokenizer.c
+
+2020-11-09 18:10:21 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8e65d366a2)
+
+ lib-smtp: smtp_address_init_from_msg() - Avoid implicit char to unsigned
+ char conversion
+
+ Fixes calling smtp_char_is_qpair() with ubsan: runtime error: implicit
+ conversion from type 'char' of value -61 (8-bit, signed) to type 'unsigned
+ char' changed the value to 195 (8-bit, unsigned)
+
+M src/lib-smtp/smtp-address.c
+
+2020-11-09 17:52:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ddf77cf384)
+
+ lib-index: Add explicit wrapping to 8bit variable increments
+
+ Fixes ubsan errors: runtime error: implicit conversion from type 'int' of
+ value 256 (32-bit, signed) to type 'uint8_t' (aka 'unsigned char') changed
+ the value to 0 (8-bit, unsigned)
+
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-purge.c
+
+2020-11-09 17:38:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e416d0c6f9)
+
+ lib: istream-concat - Avoid NULL pointer arithmetic
+
+ Even though it was only doing +0. Fixes: runtime error: applying zero offset
+ to null pointer
+
+M src/lib/istream-concat.c
+
+2020-11-09 17:35:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (73ade3503a)
+
+ lib: istream-chain - Avoid NULL pointer arithmetic
+
+ Even though it was only doing +0. Fixes: runtime error: applying zero offset
+ to null pointer
+
+M src/lib/istream-chain.c
+
+2020-11-09 16:55:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ec07ca4262)
+
+ lib: MODULE_CONTEXT_SET*() - Avoid NULL pointer arithmetic
+
+ Even though it was only doing +0. Fixes: runtime error: applying zero offset
+ to null pointer
+
+M src/lib/module-context.h
+
+2020-11-09 16:09:05 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7068d53e8d)
+
+ lib: Add and use TYPE_CHECKS() macro to standardize type checking for
+ functions
+
+ This helps especially to avoid adding COMPILE_ERROR_*() macros to NULL
+ pointers, which results in ubsan errors: runtime error: applying zero offset
+ to null pointer
+
+ These changes also remove the use of gcc-specific ({...}) code in the
+ macros, making them slightly more portable.
+
+M src/lib/array.h
+M src/lib/buffer.h
+M src/lib/hash.h
+M src/lib/macros.h
+
+2020-11-09 15:39:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (876a22a195)
+
+ lib: COMPILE_ERROR_IF_TRUE() - Return FALSE instead of 0
+
+ This will be needed for the following changes to avoid warnings with
+ -Wstrict-bool.
+
+M src/lib/macros.h
+
+2020-11-09 13:04:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ce132c38c1)
+
+ lib-fs: fs_file_init_parent() - Keep mode and flags parameters separated
+
+ Internally cast them both to (int) before ORing them together for the
+ fs_file_init_with_event() call.
+
+ This avoids compiler warnings with -Wenum-enum-conversion: warning: bitwise
+ operation between different enumeration types ('enum fs_open_mode' and 'enum
+ fs_open_flags')
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+
+2020-10-23 16:24:09 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (bf7952d33e)
+
+ auth: Remove ntlm mechanism & the LANMAN and NTLM password schemes
+
+
+M COPYING
+M configure.ac
+M src/Makefile.am
+M src/auth/Makefile.am
+D src/auth/mech-ntlm.c
+M src/auth/mech.c
+M src/auth/password-scheme.c
+M src/auth/test-libpassword.c
+M src/auth/test-mech.c
+M src/doveadm/Makefile.am
+D src/lib-ntlm/Makefile.am
+D src/lib-ntlm/ntlm-des.c
+D src/lib-ntlm/ntlm-des.h
+D src/lib-ntlm/ntlm-encrypt.c
+D src/lib-ntlm/ntlm-encrypt.h
+D src/lib-ntlm/ntlm-flags.h
+D src/lib-ntlm/ntlm-message.c
+D src/lib-ntlm/ntlm-message.h
+D src/lib-ntlm/ntlm-types.h
+D src/lib-ntlm/ntlm.h
+
+2020-10-16 09:18:31 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (d3d02fdd71)
+
+ auth: Remove vpopmail user & pass db support
+
+
+M configure.ac
+M doc/example-config/conf.d/10-auth.conf
+M doc/example-config/conf.d/Makefile.am
+D doc/example-config/conf.d/auth-vpopmail.conf.ext
+D m4/want_vpopmail.m4
+M src/auth/Makefile.am
+M src/auth/db-checkpassword.c
+D src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+D src/auth/userdb-vpopmail.c
+D src/auth/userdb-vpopmail.h
+M src/auth/userdb.c
+M src/master/main.c
+
+2020-10-16 09:01:19 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (8b5f5f78e2)
+
+ auth: Remove S/Key mechanism & password scheme
+
+
+M doc/example-config/conf.d/10-auth.conf
+M src/auth/Makefile.am
+M src/auth/main.c
+R089 src/auth/mech-otp-skey-common.c src/auth/mech-otp-common.c
+R074 src/auth/mech-otp-skey-common.h src/auth/mech-otp-common.h
+M src/auth/mech-otp.c
+D src/auth/mech-skey.c
+M src/auth/mech.c
+M src/auth/password-scheme.c
+M src/auth/test-libpassword.c
+M src/auth/test-mech.c
+
+2020-10-16 08:50:21 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (01ad604b77)
+
+ auth: Remove RPA mechanism & password scheme
+
+
+M src/auth/Makefile.am
+D src/auth/mech-rpa.c
+M src/auth/mech.c
+D src/auth/password-scheme-rpa.c
+M src/auth/password-scheme.c
+M src/auth/password-scheme.h
+M src/auth/test-libpassword.c
+M src/auth/test-mech.c
+
+2020-10-16 08:31:34 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (37af563917)
+
+ auth: Remove postmap socket type
+
+
+M src/auth/main.c
+
+2020-10-16 08:28:12 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (0cf4e1e13c)
+
+ auth: Remove support for SIA passdb
+
+
+M configure.ac
+D m4/want_sia.m4
+M src/auth/Makefile.am
+D src/auth/passdb-sia.c
+M src/auth/passdb.c
+
+2020-10-23 10:56:08 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (7eaf9b0c6d)
+
+ lib: Be less verbose in event filter tests
+
+ Only print the input string if the test failed.
+
+M src/lib/test-event-filter-parser.c
+
+2020-10-27 23:16:44 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (184a9526e5)
+
+ lib-smtp: smtp-server-connection - Make sure output stream errors are
+ handled.
+
+
+M src/lib-smtp/smtp-server-connection.c
+
+2020-10-26 10:19:46 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (75ab810591)
+
+ lib-ssl-iosteam: ostream-openssl - Make sure error on plaintext streams is
+ propagated.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2020-10-26 22:04:53 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (5b4e8e9819)
+
+ lib-ssl-iostrea: ostream-openssl - Add local variable for ssl_io in
+ o_stream_ssl_flush_buffer().
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2020-11-05 13:25:19 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (98798b85a1)
+
+ auth: db-oauth2 - Do not allow empty active_value or active_attribute, when
+ other is set
+
+
+M src/auth/db-oauth2.c
+
+2020-10-29 11:37:22 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (0ce1f34957)
+
+ auth: db-oauth2 - If active attribute is present in request, check it
+
+ If the attribute is missing, do not assume it's false.
+
+M src/auth/db-oauth2.c
+
+2020-10-29 11:36:00 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (3330dbe12b)
+
+ auth: db-oauth2 - Check active attribute by default
+
+
+M src/auth/db-oauth2.c
+
+2020-10-22 11:42:23 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (fd8ae5027a)
+
+ auth: db-oauth2 - Change active:false to mean invalid token
+
+ Specifications say that invalid token, expired token and any other reason
+ why the token can be considered invalid should return
+ {"active":false} reply with no other fields.
+
+ Thus, we need to consider this as invalid token.
+
+M src/auth/db-oauth2.c
+
+2020-10-22 11:41:16 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (bec575990c)
+
+ auth: db-oauth2 - Allow active:false without username
+
+
+M src/auth/db-oauth2.c
+
+2020-10-13 17:34:12 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (17813e78b0)
+
+ lib-storage: Skip setting log view in mailbox_get_expunges_init when
+ box->view is outdated.
+
+ This fixes assert-crash when IMAP client uses QRESYNC and lots of changes
+ happen between syncing points.
+
+ Fixes: Panic: file mail-transaction-log-view.c: line 144
+ (mail_transaction_log_view_set): assertion failed: (min_file_seq <=
+ max_file_seq)
+
+M src/lib-storage/mailbox-get.c
+
+2020-10-29 12:34:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (28301c44d0)
+
+ lib-fts: test-fts-filter - Fix clang suspicious concatenation of string
+ literals warning
+
+ Fixes: warning: suspicious concatenation of string literals in an array
+ initialization; did you mean to separate the elements with a comma?
+ [-Wstring-concatenation]
+
+M src/lib-fts/test-fts-filter.c
+
+2020-10-29 12:33:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9e72e39d52)
+
+ lib: Standardize STMT_BEGIN and STMT_END
+
+ do .. while(0) should work everywhere.
+
+ This also fixes warnings given by new clang: warning: '}' and ')' tokens
+ terminating statement expression appear in different macro expansion
+ contexts [-Wcompound-token-split-by-macro]
+
+M src/lib/macros.h
+
+2020-10-29 12:32:44 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e7342877f8)
+
+ lib: test-istream - Don't try to return void
+
+
+M src/lib/test-istream.c
+
+2020-10-28 12:45:09 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (05a491eebb)
+
+ lib: test-file-cache - Add asserts for initial return value of
+ file_cache_get
+
+
+M src/lib/test-file-cache.c
+
+2020-10-28 12:23:40 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (57c63983d9)
+
+ lib-lda: Update mail sizes to event only if they are known
+
+
+M src/lib-lda/mail-deliver.c
+
+2020-10-28 12:22:58 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (edb32ea0e8)
+
+ lib-storage: raw-mail - Cast st_size to uoff_t
+
+ mbox->size is unsigned field, and st_size will be -1 is the stat target is
+ not regular file or symbolic link. This can happen if it's stream like
+ stdin.
+
+M src/lib-storage/index/raw/raw-mail.c
+
+2020-10-23 14:54:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (005a3d3b52)
+
+ lib-fs: iteration - Fix crash when overwriting iteration error
+
+ Can't use fs_file_path() because file is NULL. Instead, add the path to
+ struct fs_iter directly so it can be used in the error.
+
+ Broken by eaaf40ca4e8994824abff89fc617c3cc737d83a5
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2020-10-22 20:21:41 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (7a97dfb74f)
+
+ quota: Avoid implicit integer conversion to unsigned in quota calculation
+
+ Deducting negative number from unsigned integer causes signed integer
+ conversion to unsigned int, which results a too large positive number. Do
+ calculations using int64 instead.
+
+ This did not cause any visible problems, found by clang integer
+ sanitization.
+
+M src/plugins/quota/quota.c
+
+2020-10-22 18:53:34 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (408a4323ac)
+
+ global: Fix overzealous use of ENUM_NEGATE
+
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2020-10-22 22:46:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d1808bf2dd)
+
+ lib: istream-seekable - Fix returning stream size
+
+ The returned size may have been truncated.
+
+M src/lib/istream-seekable.c
+M src/lib/test-istream-seekable.c
+
+2020-10-16 11:21:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (966140ac53)
+
+ lib-fs: Add assert to make sure we never log "(null)" as the old error
+
+
+M src/lib-fs/fs-api.c
+
+2020-10-16 11:20:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8a094bf121)
+
+ lib-fs: Fix logging old error when an unlogged error is replaced by new
+ error
+
+ The old error was logged as "(null)" if the error happened in a non-root
+ (filter) file.
+
+M src/lib-fs/fs-api.c
+
+2020-10-16 10:19:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (eaaf40ca4e)
+
+ lib-fs: Include file's path when logging pending error messages
+
+ Otherwise it may not be known which file the error is about.
+
+ This happens when a file is freed without the last error being logged. Also
+ when an unlogged error is being replaced with a new error.
+
+M src/lib-fs/fs-api.c
+
+2020-09-24 13:44:58 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (23645222de)
+
+ lib: event-filter-parser - Disallow non-equals comparators on non-fields
+
+ Non-equals comparisons (<, <=, >, and >=) aren't well defined for anything
+ other than fields. Therefore, if we encounter one of these comparators with
+ an event name, category name, or source location, we should error out and
+ avoid confusing the user.
+
+M src/lib/event-filter-parser.y
+M src/lib/test-event-filter-parser.c
+
+2020-10-15 20:34:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (81e2119bf7)
+
+ lib-storage: Delay recreating event when closing mail
+
+ If the mail isn't reused, the event is unnecessary.
+
+M src/lib-storage/index/index-mail.c
+
+2020-10-19 13:49:29 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (fb6aa64435)
+
+ global: Explicitly wrap values to fit target
+
+
+M src/lib-compression/test-compression.c
+M src/lib-imap/imap-utf7.c
+M src/lib/base64.c
+M src/lib/test-array.c
+M src/lib/test-data-stack.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-seekable.c
+
+2020-09-01 09:44:04 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (48b2c8cfaf)
+
+ global: Add explicit casts where needed
+
+ Squash implicit conversion complains from sanitizer.
+
+M src/auth/crypt-blowfish.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-lua/dlua-dovecot.c
+M src/lib-master/master-service.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync-update.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib/test-array.c
+M src/lib/test-failures.c
+M src/lib/test-unichar.c
+
+2020-08-13 11:36:08 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (fd35a7baa7)
+
+ global: Disable undefined behaviour sanitization for select locations
+
+
+M src/auth/crypt-blowfish.c
+M src/lib-http/http-client-peer.c
+M src/lib-otp/otp-parse.c
+M src/lib/bits.h
+M src/lib/buffer.c
+M src/lib/data-stack.c
+M src/lib/hash.c
+M src/lib/md4.c
+M src/lib/md5.c
+M src/lib/strnum.c
+M src/lib/test-bits.c
+
+2020-08-20 08:39:26 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f4cca6a5c6)
+
+ global: Fix negation with constants to match target type
+
+
+M src/doveadm/doveadm-dump-log.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-util.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib/hash.c
+M src/lib/md4.c
+M src/lib/md5.c
+M src/lib/test-bits.c
+M src/plugins/fts-squat/squat-uidlist.c
+
+2020-08-20 08:35:59 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4684a4a0e8)
+
+ global: Use ENUM_NEGATE() macro where necessary
+
+
+M src/auth/auth-fields.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-mail-mailbox-cache.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/imap-login/imap-proxy.c
+M src/imap/cmd-list.c
+M src/imap/imap-search.c
+M src/imap/imap-sync.c
+M src/lib-dict-backend/dict-cdb.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-purge.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/test-mail-cache-purge.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-parser.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-sync-update.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-attribute.c
+M src/lib/askpass.c
+M src/lib/fd-util.c
+M src/lib/ioloop-poll.c
+M src/lib/iostream-temp.c
+M src/lib/net.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/replication/replication-plugin.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/util/rawlog.c
+
+2020-09-23 14:51:53 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (38a1c8fc8d)
+
+ global: Use UOFF_T_MAX instead of (uoff_t)-1
+
+
+M src/anvil/anvil-settings.c
+M src/auth/auth-settings.c
+M src/config/config-settings.c
+M src/dict/dict-settings.c
+M src/director/director-settings.c
+M src/dns/dns-client-settings.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/imap-hibernate/imap-hibernate-settings.c
+M src/imap-login/imap-login-settings.c
+M src/imap-urlauth/imap-urlauth-login-settings.c
+M src/imap-urlauth/imap-urlauth-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap/cmd-append.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-settings.c
+M src/indexer/indexer-settings.c
+M src/indexer/indexer-worker-settings.c
+M src/ipc/ipc-settings.c
+M src/lda/main.c
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-server-request.c
+M src/lib-http/test-http-payload.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-storage/imap-msgpart.h
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/test-mail-transaction-log-view.c
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-mail/istream-attachment-connector.h
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-settings/settings-parser.c
+M src/lib-smtp/smtp-command-parser.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-reply.c
+M src/lib-smtp/test-smtp-payload.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/istream-mail.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/istream-raw-mbox.h
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync-update.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib/file-cache.c
+M src/lib/istream-concat.c
+M src/lib/istream-failure-at.c
+M src/lib/istream-limit.c
+M src/lib/istream-private.h
+M src/lib/istream-seekable.c
+M src/lib/istream-tee.c
+M src/lib/istream.c
+M src/lib/ostream-file.c
+M src/lib/ostream.h
+M src/lib/strnum.c
+M src/lib/test-iostream-temp.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-sized.c
+M src/lib/test-istream.c
+M src/lmtp/lmtp-client.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-settings.c
+M src/log/log-settings.c
+M src/master/master-settings.c
+M src/master/service.c
+M src/old-stats/stats-settings.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3-login/pop3-login-settings.c
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-settings.c
+M src/replication/aggregator/aggregator-settings.c
+M src/replication/replicator/replicator-settings.c
+M src/stats/stats-settings.c
+M src/submission-login/submission-login-settings.c
+M src/submission/submission-settings.c
+M src/util/health-check-settings.c
+M src/util/tcpwrap-settings.c
+
+2020-09-23 14:43:29 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (e80cfb62b6)
+
+ global: Use SIZE_MAX instead of (size_t)-1
+
+
+M src/anvil/anvil-connection.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-settings.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/db-passwd-file.c
+M src/auth/mech-gssapi.c
+M src/auth/mech-winbind.c
+M src/auth/userdb-passwd-file.c
+M src/config/config-connection.c
+M src/config/config-parser.c
+M src/config/config-request.c
+M src/dict/dict-settings.c
+M src/director/auth-connection.c
+M src/director/director-settings.c
+M src/director/director-test.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/dns/dns-client.c
+M src/doveadm/client-connection-tcp.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-oldstats.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-replicator.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm-zlib.c
+M src/doveadm/server-connection.c
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap-hibernate/imap-master-connection.c
+M src/imap-login/imap-login-settings.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-login-settings.c
+M src/imap-urlauth/imap-urlauth-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-urlfetch.c
+M src/imap/imap-client.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-master-client.c
+M src/imap/imap-settings.c
+M src/indexer/indexer-client.c
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+M src/ipc/client.c
+M src/ipc/ipc-connection.c
+M src/lib-auth/auth-client-connection.c
+M src/lib-charset/charset-iconv.c
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/ostream-encrypt.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-dns/dns-lookup.c
+M src/lib-dns/dns-util.c
+M src/lib-fs/fs-test.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-response.c
+M src/lib-http/test-http-client-errors.c
+M src/lib-http/test-http-payload.c
+M src/lib-http/test-http-server-errors.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/test-imapc-client.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-id.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-lda/lda-settings.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/qp-decoder.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-master/anvil-client.c
+M src/lib-master/ipc-client.c
+M src/lib-master/ipc-server.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/stats-client.c
+M src/lib-master/test-event-stats.c
+M src/lib-master/test-master-service-settings-cache.c
+M src/lib-oauth2/test-oauth2-jwt.c
+M src/lib-program-client/program-client.c
+M src/lib-program-client/test-program-client-net.c
+M src/lib-program-client/test-program-client-unix.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client.h
+M src/lib-smtp/smtp-reply-parser.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-submit-settings.c
+M src/lib-smtp/test-smtp-client-errors.c
+M src/lib-smtp/test-smtp-server-errors.c
+M src/lib-smtp/test-smtp-submit.c
+M src/lib-sql/sql-api.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/maildir/maildir-settings.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/mbox-settings.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync-update.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-test/test-istream.c
+M src/lib-test/test-ostream.c
+M src/lib/array.c
+M src/lib/array.h
+M src/lib/buffer.c
+M src/lib/buffer.h
+M src/lib/file-cache.c
+M src/lib/istream-data.c
+M src/lib/istream-seekable.c
+M src/lib/istream-tee.c
+M src/lib/mempool-system.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-wrapper.c
+M src/lib/strfuncs.c
+M src/lib/test-buffer-istream.c
+M src/lib/test-buffer.c
+M src/lib/test-connection.c
+M src/lib/test-file-cache.c
+M src/lib/test-iostream-pump.c
+M src/lib/test-istream-multiplex.c
+M src/lib/test-multiplex.c
+M src/lib/test-ostream-buffer.c
+M src/lib/test-ostream-multiplex.c
+M src/lib/unichar.c
+M src/lib/uri-util.c
+M src/lmtp/lmtp-settings.c
+M src/log/doveadm-connection.c
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/master/master-settings.c
+M src/master/test-auth-client.c
+M src/master/test-auth-master.c
+M src/master/test-master-login-auth.c
+M src/old-stats/client.c
+M src/old-stats/global-memory.c
+M src/old-stats/stats-settings.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-global-file.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+M src/plugins/mail-crypt/fs-crypt-settings.c
+M src/plugins/quota/quota-status-settings.c
+M src/plugins/quota/quota-status.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/pop3-login/pop3-login-settings.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-settings.c
+M src/replication/aggregator/aggregator-settings.c
+M src/replication/aggregator/notify-connection.c
+M src/replication/aggregator/replicator-connection.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/dsync-client.c
+M src/replication/replicator/notify-connection.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-settings.c
+M src/stats/client-reader.c
+M src/stats/client-writer.c
+M src/stats/stats-settings.c
+M src/stats/test-client-reader.c
+M src/stats/test-client-writer.c
+M src/submission-login/submission-login-settings.c
+M src/submission/submission-settings.c
+M src/util/rawlog.c
+
+2020-08-11 08:41:54 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3698334932)
+
+ lib: macros - Add ENUM_NEGATE
+
+ Handles enumeration flag negation.
+
+M src/lib/macros.h
+
+2020-07-28 13:42:01 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (55c6d609aa)
+
+ configure: Add ubsan support
+
+
+M m4/dovecot.m4
+M src/lib/macros.h
+
+2020-09-23 14:39:36 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (15318d2780)
+
+ lib-mail: test-message-header-hash: Fix type issue
+
+ Satisfies runtime analyzer.
+
+M src/lib-mail/test-message-header-hash.c
+
+2020-09-22 14:39:41 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (e32650c399)
+
+ doveadm: mailbox status - Handle first_save_date correctly
+
+ If first_save_date is -1 it means no save has been done.
+
+M src/doveadm/doveadm-mail-mailbox-status.c
+
+2020-08-20 08:57:35 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (309b3ceba0)
+
+ lib: unichar - Change uni_utf8_char_bytes to accept unsigned char
+
+
+M src/lib-imap/imap-utf7.c
+M src/lib/unichar.h
+
+2020-09-01 09:57:04 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (fa3b53798c)
+
+ lib-index: Use SIZE_MAX with str_sanitize
+
+
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index.c
+
+2020-09-01 09:57:23 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b8c83f6061)
+
+ auth: password-scheme - Use UINT_MAX when calling password_generate_otp
+
+
+M src/auth/password-scheme.c
+
+2020-09-01 11:54:50 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3aed1e852a)
+
+ lib: mempool-allocfree - Do not use PTR_OFFSET with negative offset
+
+ Avoids undefined behaviour sanitization error.
+
+M src/lib/mempool-allocfree.c
+
+2020-09-01 11:56:42 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f5af22d2c8)
+
+ lib-fts: test-fts-tokenizer - Change test_chars to unsigned char
+
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2020-08-20 09:46:24 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f2e4eed824)
+
+ lib: str - Ensure str_append_c gets unsigned char parameter
+
+
+M src/lib/str.h
+
+2020-10-01 11:37:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f4ab2fc962)
+
+ lib: seq-range-array - Assert-crash if array becomes 0..(uint32_t)-1
+
+
+M src/lib/seq-range-array.c
+M src/lib/seq-range-array.h
+M src/lib/test-lib.inc
+M src/lib/test-seq-range-array.c
+
+2020-10-01 11:19:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (588c3b9637)
+
+ lib: seq_range_array_add() - Reorder code flow
+
+
+M src/lib/seq-range-array.c
+
+2020-10-01 11:18:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1c7ae79d97)
+
+ lib: seq-range-array - Split off seq_range_array_add_slow_path()
+
+
+M src/lib/seq-range-array.c
+
+2020-10-01 11:04:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1203cd16ad)
+
+ lib: seq-range-array - Use seq_range_length() internally
+
+
+M src/lib/seq-range-array.c
+
+2020-10-01 11:04:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c1a5cbb9da)
+
+ lib: seq_range_length() - Use const pointer
+
+
+M src/lib/seq-range-array.h
+
+2020-10-20 15:02:24 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (6752ab40f6)
+
+ doc: Include dovecot-oauth2.conf.ext in dist tarball
+
+
+M doc/example-config/Makefile.am
+
+2020-10-12 23:29:02 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (7f1738a772)
+
+ doveadm-server: Fix STARTTLS support.
+
+
+M src/doveadm/main.c
+
+2020-10-13 22:56:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4b90fbfcc3)
+
+ lib-master: master-service-ssl - Make context initialization error more
+ useful.
+
+ This improves the error in case SSL is disabled; other causes still yield a
+ rather unhelpful error message.
+
+M src/lib-master/master-service-ssl.c
+
+2020-10-12 23:18:09 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c2e5d7fdfb)
+
+ lib: ostream-multiplex - Fix dead assignment by adding an assertion on the
+ result.
+
+ Found by Clang scan-build.
+
+M src/lib/ostream-multiplex.c
+
+2020-10-07 00:06:08 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (904d96418a)
+
+ global: Fix dead assignments in expressions.
+
+ Found by Clang scan-build.
+
+M src/auth/db-lua.c
+M src/lib-sql/driver-cassandra.c
+M src/lib/ostream-wrapper.c
+M src/plugins/mail-lua/mail-lua-plugin.c
+M src/plugins/mail-lua/mail-storage-lua.c
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2020-10-08 13:48:45 +0200 raphael-walther <48209673+raphael-walther@users.noreply.github.com> (9a8ebce905)
+
+ man: Update doveadm-search-query.7
+
+ TEXT searches also from headers, not just body.
+
+M doc/man/doveadm-search-query.7
+
+2020-10-07 17:48:06 +0200 jonmoesli <69861248+jonmoesli@users.noreply.github.com> (f0c15f2d6c)
+
+ director: Fix error message when director_username_hash expansion fails
+
+
+M src/director/director.c
+
+2020-10-09 14:58:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (787cc98cf8)
+
+ lib-storage: Fix potential assert-crash when adding missing attachment
+ keywords
+
+ Broken by aab71c35259f542d9ba46b4b5b24eff0016b802e
+
+ Fixes: Panic: file index-mail.c: line 1241 (index_mail_parse_body):
+ assertion failed: (data->parser_ctx != NULL)
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+
+2020-10-08 10:41:52 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4c4377e82e)
+
+ lib: json-parser - Fix skipping strings with non-blocking input
+
+ The skipping could have accessed memory outside the allocated string. This
+ might have resulted in a crash, or caused JSON parsing to fail.
+
+M src/lib/json-parser.c
+
+2020-09-16 05:06:12 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (8608c26908)
+
+ lib-mail: test-message-header-decode - Add random encode/decode tests for 8
+ bit data.
+
+ This also tests handling of (broken) UTF-8 input.
+
+M src/lib-mail/test-message-header-decode.c
+
+2020-09-16 04:31:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b37dcca4fb)
+
+ lib-mail: test-message-header-encode - Add tests for broken UTF-8 in input.
+
+
+M src/lib-mail/test-message-header-encode.c
+
+2020-09-17 12:17:44 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (5f35cab966)
+
+ lib-mail: test-message-header-encode - Check maximum line length with long
+ printable text and whitespace.
+
+
+M src/lib-mail/test-message-header-encode.c
+
+2020-09-17 01:26:13 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (05e84eb74c)
+
+ lib-mail: message-header-encode - Update function descriptions.
+
+
+M src/lib-mail/message-header-encode.h
+
+2020-09-16 03:21:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (617b1beaa3)
+
+ lib-mail: Properly handle bad UTF-8 in message_header_encode_b().
+
+ Broken characters are substituted with a replacement character.
+
+M src/lib-mail/message-header-encode.c
+
+2020-09-16 03:19:34 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (e73eafc68b)
+
+ lib-mail: Properly handle bad UTF-8 in message_header_encode_q().
+
+ Broken characters are substituted with a replacement character.
+
+M src/lib-mail/message-header-encode.c
+
+2020-09-16 03:10:12 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (de56f9152b)
+
+ lib-mail: message-header-encode - Return immediately when len == 0 in
+ message_header_encode_b/q().
+
+ Just to make sure. This shouldn't happen in the first place.
+
+M src/lib-mail/message-header-encode.c
+
+2020-09-16 03:05:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (894e088f92)
+
+ lib-mail: message-header-encode - Use size_t for length/size variables and
+ parameters.
+
+
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-encode.h
+
+2020-09-17 01:33:52 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2d35de6b65)
+
+ lib-mail: message-header-encode - Fix encoding of 0x7F byte for Q encoding.
+
+ It was not escaped.
+
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/test-message-header-decode.c
+
+2020-09-17 01:41:41 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6832846c8c)
+
+ lib-mail: test-message-header-decode - Use test_assert_idx().
+
+
+M src/lib-mail/test-message-header-decode.c
+
+2020-09-16 18:28:43 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (154602378a)
+
+ lib-mail: test-message-header-decode - Avoid generating random bytes that
+ are never used.
+
+
+M src/lib-mail/test-message-header-decode.c
+
+2020-09-17 12:24:40 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9bd6007d8b)
+
+ lib-mail: test-message-header-decode - Use test_assert_strcmp().
+
+
+M src/lib-mail/test-message-header-decode.c
+
+2020-09-17 12:23:06 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0b5206d887)
+
+ lib-mail: test-message-header-encode - Use test_assert_strcmp().
+
+
+M src/lib-mail/test-message-header-encode.c
+
+2020-09-16 01:03:53 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (334cd2fc22)
+
+ lib: base64 - Add base64_encode_get_full_space().
+
+ This translates the space in the destination buffer to the number of bytes
+ that can be encoded at most to complete the full base64 encoding, including
+ padding and newlines if configured.
+
+M src/lib/base64.c
+M src/lib/base64.h
+M src/lib/test-base64.c
+
+2020-09-16 01:02:22 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (dd8408a50e)
+
+ lib: base64 - Fix return value of base64_encode_more().
+
+ It didn't properly return TRUE when all input data was consumed.
+
+M src/lib/base64.c
+M src/lib/test-base64.c
+
+2020-09-16 23:19:19 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2eaa4e3fd3)
+
+ lib: test-base64 - Add test for base64_encode_get_size() in random lowlevel
+ streaming tests.
+
+
+M src/lib/test-base64.c
+
+2020-09-16 23:20:32 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (375332aa5f)
+
+ lib: test-base64 - Abort random lowlevel test case early when something
+ failed already.
+
+
+M src/lib/test-base64.c
+
+2020-09-16 00:37:45 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c830037f8c)
+
+ lib: unichar - Add length definitions for replacement and ellipsis
+ characters.
+
+
+M src/lib/unichar.h
+
+2020-05-06 13:15:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1cf8040306)
+
+ lib: json-parser - Fix parsing \uXXXX in non-blocking input
+
+ If it was in the istream's read boundary it resulted as parsing error.
+
+M src/lib/json-parser.c
+M src/lib/test-json-parser.c
+
+2020-05-06 13:01:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c4beabf43f)
+
+ lib: json-parser - Fix error message for invalid escape sequence
+
+
+M src/lib/json-parser.c
+
+2020-05-06 12:54:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7d74329816)
+
+ lib: json-parser - Don't allocate errors from data stack
+
+ There's no guarantee that the json-parser's life time is within the same
+ data stack frame.
+
+M src/lib/json-parser.c
+
+2020-05-06 12:38:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a4057ea644)
+
+ lib: json-parser - Fail if strings contain NULs
+
+ Previous behavior was to just truncate the string, which could be worse than
+ failing entirely.
+
+M src/lib/json-parser.c
+M src/lib/test-json-parser.c
+
+2020-09-23 01:59:27 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4d09884528)
+
+ lib-http: test-http-client-errors - Add unit test for host idle timeout.
+
+ This test involves retrying a request that failed host lookup, which used to
+ cause the request to be erroneously aborted.
+
+M src/lib-http/test-http-client-errors.c
+
+2020-09-21 01:14:20 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ac4173fa38)
+
+ lib-http: http-client-host - Prevent erroneously starting host idle timeout
+ during request retry.
+
+ During request retry the request is first dropped from and subsequently
+ added to the queue. Dropping a request from the queue can start the host
+ idle timeout when it is the very last one. The timeout was not removed later
+ on anymore when the request was submitted again, because it was added
+ prematurely (before dropping the request).
+
+M src/lib-http/http-client-host.c
+
+2020-09-20 23:16:00 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (29f3be1af8)
+
+ lib-http: http-client-host - Fix determination of whether host is idle.
+
+
+M src/lib-http/http-client-host.c
+
+2020-09-22 22:12:27 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c701368bef)
+
+ lib-http: http-client-host - Make sure DNS lookup is performed when host has
+ no IPs.
+
+ This fixes at least one panic:
+
+ Panic: file ./http-client-private.h: line 679 (http_client_host_get_ip):
+ assertion failed: (idx < host->shared->ips_count)
+
+M src/lib-http/http-client-host.c
+
+2020-08-26 11:31:01 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bf1c45440a)
+
+ auth: Fix potential read buffer overflow in PLAIN mechanism
+
+ The overflow could have crashed the auth process in theory, although
+ practically it doesn't seem to happen.
+
+M src/auth/mech-plain.c
+M src/auth/test-mech.c
+
+2020-08-26 11:42:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e29ce296cf)
+
+ auth: test-mech - Allocate test input explicitly
+
+ This way valgrind will catch if there are read buffer overflows.
+
+M src/auth/test-mech.c
+
+2020-04-01 17:22:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c394c60959)
+
+ lib-index: Fix DEBUG assert to not trigger on transaction resets
+
+ Fixes a crash in test-mail-index when compiled --with-devel-checks:
+
+ Panic: file mail-index-transaction.c: line 211
+ (mail_index_transaction_commit_real): assertion failed:
+ (expected_highest_modseq == log->head->sync_highest_modseq)
+
+M src/lib-index/mail-index-transaction.c
+
+2020-09-17 15:43:02 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (372a88e701)
+
+ login-common: Include the proxy's source address in log messages
+
+
+M src/login-common/client-common-auth.c
+
+2020-09-17 15:42:52 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (c066b7d60d)
+
+ login-common: Move common client info logging into a helper function
+
+
+M src/login-common/client-common-auth.c
+
+2020-09-17 14:19:46 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (cd8a50c686)
+
+ login-common: Add login_proxy_get_source_host() to get the local proxy
+ hostname
+
+
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+
+2020-09-17 10:45:44 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (bd8eadf128)
+
+ login-common: Heap allocate login source IPs array to avoid use-after-free
+
+ By default, the service init code runs with a temporary datastack frame that
+ gets freed at the end of initialization to get rid of any temporary
+ allocations made during init before the long-running part of the process
+ executes.
+
+M src/login-common/main.c
+
+2020-09-18 14:55:27 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (4740d48ba3)
+
+ man: update doveadm-proxy man page with kick -h option.
+
+
+M doc/man/doveadm-proxy.1.in
+M src/login-common/login-proxy.c
+
+2020-09-15 15:52:24 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (0f889378f5)
+
+ doveadm: Implement proxy kick -h <host>
+
+
+M src/doveadm/doveadm-proxy.c
+
+2020-09-15 15:51:26 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (30a816a360)
+
+ login-common: Implement kicking all user at backend host.
+
+
+M src/login-common/login-proxy.c
+
+2020-09-17 13:51:36 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (62e8fe8c4e)
+
+ login-common: change want_kick signature from (struct *client, ...) to
+ (struct *login_proxy, ...)
+
+
+M src/login-common/login-proxy.c
+
+2020-09-25 10:43:39 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (10f534e0f2)
+
+ login-common: Put proxy looping on stack in login_proxy_cmd_kick_full()
+
+
+M src/login-common/login-proxy.c
+
+2020-06-24 11:20:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (517080d0f3)
+
+ lib-smtp: smtp-server-connection - Ignore replied command for pipeline limit
+ calculation.
+
+ This prevents failed commands with payload from blocking the input pipeline.
+ This caused a hang before.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2020-06-24 11:15:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (95edff15c1)
+
+ lib-smtp: smtp-server-connection - Use connection settings for command
+ pipeline limit.
+
+ It used the top-level server settings before.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2020-06-24 11:13:59 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0dcc8f0556)
+
+ lib-smtp: smtp-server-connection - Move pipeline limit check to separate
+ function.
+
+
+M src/lib-smtp/smtp-server-connection.c
+
+2020-06-24 10:45:38 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (e1009a8641)
+
+ lib-smtp: smtp-server-command - Always end input lock/capture upon reply
+ submission.
+
+
+M src/lib-smtp/smtp-server-command.c
+
+2020-06-24 10:42:17 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d6ec5245d4)
+
+ lib-smtp: smtp-server-command - Reliably end input capture in
+ smtp_server_command_input_unlock().
+
+
+M src/lib-smtp/smtp-server-command.c
+
+2020-09-17 13:09:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3fa7052a5d)
+
+ lib-storage: Rename mail_attachment_detection_options=add-flags-on-save to
+ add-flags
+
+ Keep add-flags-on-save for backwards compatibility.
+
+M doc/example-config/conf.d/10-mail.conf
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/lib-storage/mail-storage.c
+
+2020-09-04 01:58:58 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (aab71c3525)
+
+ lib-storage: Try to add missing attachment flags when opening mail stream
+
+ Since the message body is being opened in any case, it's pretty inexpensive
+ to add missing attachment flags. Do this only when
+ mail_attachment_detection_options has add-flags-on-save but no
+ no-flags-on-fetch.
+
+M src/lib-storage/index/index-mail.c
+
+2020-09-10 16:38:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (194dcaa65c)
+
+ lib-storage: Try to add missing attachment flags when fetching MIME parts or
+ BODYSTRUCTURE
+
+ This happens only if both mime.parts and imap.bodystructure are already in
+ cache and mail_attachment_detection_options has add-flags-on-save but no
+ no-flags-on-fetch. The no-flags-on-fetch option may be removed in a future
+ release once it's known that it's not causing any unexpected performance
+ issues.
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2020-09-10 16:36:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (52a0f91840)
+
+ lib-storage: index_mail_get_cached_bodystructure() - Reorder the if
+ statements
+
+ Simplifies the following commit.
+
+M src/lib-storage/index/index-mail.c
+
+2020-09-10 16:32:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (74ab5e62e0)
+
+ lib-storage: Avoid initializing stream multiple times recursively
+
+ This fixes the situation where stream opening causes it to be re-opened by
+ index_mail_parse_headers(). There are some other more rare situations, but
+ they're in error handling code paths.
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2020-09-10 16:21:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f4f1c0a1b6)
+
+ lib-storage: Avoid caching size.physical unless it's explicitly asked for
+
+ It's internally requested in a few places, but only as an optimization if it
+ happens to exist. It's not important enough that it should affect caching
+ decisions.
+
+ This change becomes more important after the following changes, which cause
+ size.physical to be added unnecessarily when filling out attachment flags.
+
+M src/lib-storage/index/index-mail.c
+
+2020-09-22 20:00:17 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (778811a3e6)
+
+ lib-http: http-client-host - Do not prematurely reset ips_count to zero.
+
+ It causes problems with existing connection attempts.
+
+ Panic was:
+
+ Panic: file http-client-queue.c: line 215
+ (http_client_queue_is_last_connect_ip): assertion failed:
+ (queue->ips_connect_idx < ips_count)
+
+M src/lib-http/http-client-host.c
+
+2020-09-23 02:04:20 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (dff9d4719f)
+
+ lib-http: http-client-host - Log debug message for failed DNS lookup.
+
+ If the host has no requests, nothing is logged about the failure otherwise.
+
+M src/lib-http/http-client-host.c
+
+2020-09-22 19:58:59 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (1c9264909c)
+
+ lib-http: http-client-host - Move DNS lookup success handling to a common
+ function.
+
+
+M src/lib-http/http-client-host.c
+
+2020-09-21 00:38:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a01eae05bb)
+
+ lib-http: Reformat http-client-host.c.
+
+
+M src/lib-http/http-client-host.c
+
+2020-09-28 15:26:27 -0400 ihsinme <61293369+ihsinme@users.noreply.github.com> (9ca475537e)
+
+ lib-mail: html2text - Fix buffer out-of-bounds access
+
+ The passed in buffer size is at least 1 byte shorter than the actual buffer
+ size, therefore there is no chance of a crash.
+
+M src/lib-mail/mail-html2text.c
+
+2020-08-15 00:56:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (645a30a6c7)
+
+ dict-sql: Fix crash if dict iteration is destroyed early
+
+ If the iteration callback is still called after the iterator is freed, the
+ callback accesses freed memory and crashes.
+
+M src/lib-dict-backend/dict-sql.c
+
+2020-09-12 00:20:51 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (dba3d86625)
+
+ lib-smtp: test-smtp-command-parser - Add tests for input ending in partial
+ UTF-8 sequences.
+
+
+M src/lib-smtp/test-smtp-command-parser.c
+
+2020-09-12 00:19:14 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4e24c1a705)
+
+ lib-smtp: test-smtp-command-parser - Test parsing commands from input that
+ comes in gradually.
+
+
+M src/lib-smtp/test-smtp-command-parser.c
+
+2020-09-12 00:15:35 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (77903cf3a3)
+
+ lib-smtp: smtp-command-parser - Fix parameter parsing not to fail on
+ particular unicode code points.
+
+ Unicode code points were sometimes erroneously checked as ASCII characters.
+
+M src/lib-smtp/smtp-command-parser.c
+
+2020-09-11 21:53:06 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (1ae3ca2988)
+
+ lib-smtp: smtp-command-parser - Fix read past buffer limit while parsing
+ UTF-8 character.
+
+ The buffer limit was specified as (buf->pos - buf->end) rather than
+ (buf->end - buf->pos). Since at most a valid UTF-8 character can be read
+ beyond the buffer size, this bug didn't cause noticeable effects, nor does
+ it present an attack surface.
+
+M src/lib-smtp/smtp-command-parser.c
+
+2020-09-11 23:54:29 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2ec6f2f75b)
+
+ lib-smtp: Reformat test-smtp-command-parser.c.
+
+
+M src/lib-smtp/test-smtp-command-parser.c
+
+2020-09-11 22:57:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (853b233469)
+
+ lib-smtp: Reformat smtp-command-parser.c.
+
+
+M src/lib-smtp/smtp-command-parser.c
+
+2020-08-31 20:38:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a668d767a7)
+
+ lib-mail: message_parser_init_from_parts() - Fix crash if MIME boundaries
+ don't end
+
+ If the last "boundary--" doens't exist, the parsing assert-crashed at
+ deinit. This mainly happened when searching mails.
+
+ Fixes: Panic: file message-parser.c: line 175 (message_part_finish):
+ assertion failed: (ctx->nested_parts_count > 0)
+
+M src/lib-mail/message-parser.c
+M src/lib-mail/test-message-parser.c
+
+2020-08-28 18:35:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (86e1953d07)
+
+ acl: Ignore acl_object_list_deinit() error when copying ACLs from parent
+
+ There's already a FIXME, and this makes static analyzer happier.
+
+M src/plugins/acl/acl-mailbox.c
+
+2020-08-13 11:38:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (007e1ff1c5)
+
+ director: Explicitly ignore array_bsearch_insert_pos() return value
+
+ Makes static analyzers happier.
+
+M src/director/mail-host.c
+
+2020-08-13 11:29:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (15e7385f69)
+
+ lib: test-istream - Check or explicitly ignore i_stream_read() return value
+
+ Makes static analyzers happier.
+
+M src/lib/test-istream.c
+
+2020-08-12 11:05:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (51ed74c63f)
+
+ lib-ssl-iostream: Fix error message with invalid ciphersuites
+
+ The error message contained curve_list's value, not ciphersuites' value.
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2020-09-14 17:44:58 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ffd2fdd8d8)
+
+ lib-compression: test-compression - Fix memory leak
+
+
+M src/lib-compression/test-compression.c
+
+2020-09-14 10:37:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8655329e14)
+
+ lib: Add a comment about o_stream_create_buffer()
+
+
+M src/lib/ostream.h
+
+2020-09-14 10:28:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d2054a3115)
+
+ lib: ostream-buffer - Revert returning 0 as used buffer size
+
+ This change broke at least one external plugin that assumed the original
+ behavior. Safer to just revert this change.
+
+ Reverts 48083d9e7fdbe257b0be33043ecf0ca87489eef9
+
+M src/lib/ostream-buffer.c
+M src/lib/test-ostream-buffer.c
+
+2020-09-14 10:27:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0416a3fdc0)
+
+ lib-compression: test-compression - Convert from ostream-buffer to
+ iostream-temp
+
+ Using ostream-buffer required 48083d9e7fdbe257b0be33043ecf0ca87489eef9
+ change, but this broke some code that assumed the original behavior.
+
+M src/lib-compression/test-compression.c
+
+2020-09-11 23:28:47 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (c2eee2e4bc)
+
+ lib-compression: test-compression - Use datastack in test
+
+ Plugs a memory leak.
+
+ Broken in 60b4040ba498ce7b19fc8b189d327cc606856f07
+
+M src/lib-compression/test-compression.c
+
+2020-09-11 14:29:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (71c3938bca)
+
+ lib-fs: test-fs-async - Fix to work properly after previous changes
+
+ It's an async test, so it should expect that the fs actually behaves
+ asynchronously.
+
+M src/lib-fs/fs-test-async.c
+
+2020-09-11 14:28:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (31d7b252df)
+
+ lib-dict: dict_switch_ioloop() - Move also failure timeout
+
+ Forgotten in 178bb676ea1dd380789d3587bf5e64fd85a29d7a
+
+M src/lib-dict/dict.c
+
+2020-08-21 14:31:12 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (0bcdf2217a)
+
+ stats: event exporter - Use category exporting helper to avoid duplicates
+ (tabtext)
+
+
+M src/stats/event-exporter-fmt-tab-text.c
+
+2020-08-21 14:23:50 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (de4d3eb974)
+
+ stats: event exporter - Use category exporting helper to avoid duplicates
+ (json)
+
+
+M src/stats/event-exporter-fmt-json.c
+
+2020-08-21 14:23:14 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (eb4c8a9a5a)
+
+ stats: Add helper to append category names without duplicates
+
+
+M src/stats/event-exporter-fmt.c
+M src/stats/event-exporter.h
+
+2020-08-28 18:36:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6f42f48bd3)
+
+ lib: net_listen|connect_unix() - Use consistent error handling for too long
+ paths
+
+ The errno should be the same for both functions. Prefer ENAMETOOLONG if it
+ exists on the OS, otherwise fallback to EOVERFLOW.
+
+M src/lib/net.c
+M src/lib/test-net.c
+
+2020-09-11 08:22:11 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (1f2ac2afaa)
+
+ lib-dict: dict - Keep track of next commit in dict_wait
+
+ Satisfies static analyser, broken in
+ 178bb676ea1dd380789d3587bf5e64fd85a29d7a
+
+M src/lib-dict/dict.c
+
+2020-09-10 17:56:49 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b4a048914a)
+
+ lib-dict: dict - Ensure there are no commits during deinit
+
+
+M src/lib-dict/dict.c
+
+2020-09-10 17:43:06 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (24aca7088f)
+
+ lib-dict: dict - Allow calling callback immediately
+
+ Make callback calls the next callback immediately, instead of adding a
+ timeout that calls the callback.
+
+ Forgotten in 178bb676ea1dd380789d3587bf5e64fd85a29d7a
+
+M src/lib-dict/dict.c
+
+2020-09-10 17:42:19 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5db10b21b3)
+
+ lib-dict: dict - Change background to delayed_callback
+
+ It better describes what it's intended to do.
+
+M src/lib-dict/dict.c
+
+2020-08-12 15:48:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6907021530)
+
+ acl: Add unit test for acl_rights_sort()
+
+
+M src/plugins/acl/Makefile.am
+A src/plugins/acl/test-acl.c
+
+2020-08-12 15:46:31 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3d15b25968)
+
+ acl: acl_rights_sort() - Handle zero sized rights array properly
+
+ Fixes ubsan complaint about count-dest wrapping to negative. The array code
+ handled this properly though, so nothing was broken.
+
+M src/plugins/acl/acl-api.c
+
+2020-09-01 09:13:05 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9a389c7e88)
+
+ lib: test-file-cache - Add tests for file-cache
+
+
+M src/lib/Makefile.am
+A src/lib/test-file-cache.c
+M src/lib/test-lib.inc
+
+2020-08-20 16:47:12 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (eab4b27d31)
+
+ lib: log-throttle - Initialize last_throttle
+
+ It's compared to ioloop_timeval later on and would produce overflow there.
+
+M src/lib/log-throttle.c
+
+2020-08-20 16:24:41 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (bbca56c946)
+
+ quota: quota_free_bytes - Check we don't decrease more than INT64_MAX
+
+ Otherwise we get overflow
+
+M src/plugins/quota/quota.c
+
+2020-08-20 12:46:06 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d50a5a1151)
+
+ lib: file-dotlock - Do not call callback if we are going to timeout
+
+
+M src/lib/file-dotlock.c
+
+2020-08-20 10:55:36 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2a82a8a9da)
+
+ lib-mail: istream-header-filter - Avoid unsigned overflow in last_offset
+ calculation
+
+ Unsigned integer overflow occurs when size is 0.
+
+M src/lib-mail/istream-header-filter.c
+
+2020-08-20 10:37:54 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d34c873397)
+
+ lib-ldap: ldap_connection_send_next - Extract next message in separate
+ function
+
+
+M src/lib-ldap/ldap-connection.c
+
+2020-08-20 10:31:41 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (70d98bc561)
+
+ lib-storage: index-mail-headers - Avoid unsigned overflow on
+ header_match_value
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2020-08-20 09:53:11 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4eb3f6f273)
+
+ imap: imap-sync - Avoid unsigned integer overflow
+
+ Error: imap-sync.c:433:17: runtime error: unsigned integer overflow:
+ 4294967295 + 1 cannot be represented in type 'unsigned int'
+
+M src/imap/imap-sync.c
+
+2020-08-20 09:44:58 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3a5ebc8e80)
+
+ lib-mail: test-istream-attachment - Avoid unsigned overflow in size
+ calculation
+
+
+M src/lib-mail/test-istream-attachment.c
+
+2020-08-20 09:44:20 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (43f8729587)
+
+ lib: var-expand - Avoid unsigned overflow in offset calculation
+
+
+M src/lib/var-expand.c
+
+2020-08-20 09:43:35 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (16ab55427a)
+
+ lib: time-util - Use correct data types
+
+
+M src/lib/time-util.c
+
+2020-08-20 09:34:40 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (192d351aec)
+
+ quota: quota-imapc - Handle quota limits better
+
+ If quota limit is bigger than INT64_MAX, it's unlimited as we cannot express
+ this anyways.
+
+M src/plugins/quota/quota-imapc.c
+
+2020-08-20 09:10:36 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (7ca5c15b7f)
+
+ lib-mail: message-parser - Change last_chr to unsigned char
+
+ Matches code usage.
+
+M src/lib-mail/message-parser-private.h
+
+2020-08-20 09:02:07 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (1a29b5ec0c)
+
+ lib-imap-storage: imap-msgpart - Fix constant type
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2020-08-20 08:47:16 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (a0ea53c313)
+
+ auth: password-scheme - Fix salt generation data type mess
+
+ Satisfies runtime analyser
+
+M src/auth/password-scheme.c
+
+2020-08-20 08:44:45 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (13254b7a45)
+
+ auth: mech-scram - Use correct data type for proof calculation
+
+ Satisfies runtime analyzer
+
+M src/auth/mech-scram.c
+
+2020-08-31 16:15:15 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (faa0c21f21)
+
+ lib: Remove istream-mmap.c
+
+ Nothing uses it.
+
+M src/lib/Makefile.am
+D src/lib/istream-mmap.c
+M src/lib/istream.h
+
+2020-08-31 10:33:05 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (28d085f408)
+
+ lib-ntlm: Ensure data_size is large enough for buffer
+
+
+M src/lib-ntlm/ntlm-message.c
+
+2020-08-13 09:48:27 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (371025a287)
+
+ lib-ntlm: Use CONST_PTR_OFFSET
+
+
+M src/lib-ntlm/ntlm-message.c
+M src/lib-ntlm/ntlm.h
+
+2020-08-13 09:46:37 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4a264f8f70)
+
+ auth, lib-ntlm: Use dovecot byteorder functions
+
+
+M src/auth/mech-ntlm.c
+M src/lib-ntlm/Makefile.am
+D src/lib-ntlm/ntlm-byteorder.h
+M src/lib-ntlm/ntlm-message.c
+M src/lib-ntlm/ntlm.h
+
+2020-08-11 09:00:17 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (acba0e7c3d)
+
+ lib: buffer - Assert that we don't try to allocate SIZE_MAX buffer
+
+ Only if devel checks are enabled
+
+M src/lib/buffer.c
+
+2020-08-11 08:45:37 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (c2631470a7)
+
+ lib-ssl-iostream: ostream-openssl - Allocate at most IO_BLOCK_SIZE initial
+ buffer
+
+ Otherwise we might attempt to allocate way too large buffers. This has not
+ caused issues yet, except with max_buffer_size=SIZE_T, which has been
+ causing us to allocate 0-sized buffers.
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2020-08-10 19:54:51 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ddf34a7a7c)
+
+ auth: auth-cache - Data is not 4 bytes but variable sized
+
+
+M src/auth/auth-cache.c
+M src/auth/auth-cache.h
+
+2020-08-13 11:41:23 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (91c831378a)
+
+ lib-otp: Use for-loop instead while
+
+ Avoids unsigned integer wrap
+
+M src/lib-otp/otp-hash.c
+
+2020-08-13 11:40:35 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (6473c1a61f)
+
+ lib-compression: istream-zstd - Handle signed/unsigned return values
+ correctly
+
+
+M src/lib-compression/istream-zstd.c
+
+2020-08-13 11:39:59 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (20765bf476)
+
+ lib: lib-event - Use for-loop in copying categories
+
+ Avoids unsigned integer wrap
+
+M src/lib/lib-event.c
+
+2020-08-19 13:55:18 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5c7b859710)
+
+ global: Use i_rand_limit(limit) instead of i_rand() % limit
+
+ spatch with coccinelle/random-misuse.cocci
+
+A coccinelle/random-misuse.cocci
+M src/director/director-test.c
+M src/lib-fts/test-fts-tokenizer.c
+M src/lib/test-array.c
+M src/lib/test-data-stack.c
+M src/lib/test-hash.c
+M src/lib/test-istream-crlf.c
+M src/lib/test-istream-multiplex.c
+M src/lib/test-multiplex.c
+M src/lib/test-ostream-multiplex.c
+M src/lib/test-seq-range-array.c
+
+2020-08-19 14:01:50 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (a8705c0a82)
+
+ lib: Use i_rand_limit() helpers
+
+
+M src/lib/test-array.c
+M src/lib/test-base32.c
+M src/lib/test-base64.c
+M src/lib/test-buffer.c
+M src/lib/test-istream-base64-decoder.c
+
+2020-08-19 14:00:03 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (761f5d7796)
+
+ lib: test-base32/64 - Use unsigned char
+
+ Simplifies next change
+
+M src/lib/test-base32.c
+M src/lib/test-base64.c
+
+2020-08-19 19:49:38 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5549aec84f)
+
+ lib: Add some helpers for random values
+
+
+M src/lib/lib.h
+
+2020-08-19 14:33:59 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (bbdd5bb3b7)
+
+ lib: Document how i_rand_limit() ensures uniform distribution
+
+ This algorithm is not original, but it is dense enough that a detailed
+ explanation is in order.
+
+M src/lib/rand.c
+
+2020-08-13 11:35:17 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (0589ced751)
+
+ lib: rand - Fix random number bounding
+
+
+M src/lib/rand.c
+
+2020-08-11 08:48:09 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (6c21966242)
+
+ auth: password-scheme - Use generate_salt in md5crypt
+
+ Deduplicates code
+
+M src/auth/password-scheme.c
+
+2020-08-23 23:24:35 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (74598bd6d3)
+
+ lib-sql: driver-cassandra - Add SSL options
+
+ ssl_ca=<path>: Sets trusted peer certificate filename ssl_cert=<path>: Sets
+ client certificate filename sl_key=<path>: Sets client certificate private
+ key filename ssl_key_password=<string>: Sets password for private key
+ ssl_verify=none | cert | cert-ip | cert-dns: Sets verify mode
+ * none = don't verify
+ * cert = verify certificate
+ * cert-ip = verify IP from CN or SubjectAltName
+ * cert-dns = verify hostname from CN or SubjectAltName
+
+M src/lib-sql/driver-cassandra.c
+
+2020-08-23 23:05:33 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (0429b4aaf5)
+
+ lib: buffer - Add buffer_append_full_(file|istream)
+
+ Consume istream or file up to max_read_size or EOF.
+
+M src/lib/Makefile.am
+A src/lib/buffer-istream.c
+M src/lib/buffer.h
+A src/lib/test-buffer-istream.c
+M src/lib/test-lib.inc
+
+2020-08-23 22:24:07 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (c25e20d658)
+
+ m4: want_cassandra.m4 - Add check for CASS_SSL_VERIFY_PEER_IDENTITY_DNS
+
+
+M m4/want_cassandra.m4
+
+2020-08-23 22:06:50 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5cf96c1e73)
+
+ m4: want_cassandra.m4 - Add check for
+ cass_cluster_set_use_hostname_resolution
+
+
+M m4/want_cassandra.m4
+
+2020-08-23 22:06:34 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f4f08ac194)
+
+ m4: Modernize want_cassandra.m4
+
+
+M m4/want_cassandra.m4
+
+2020-08-28 13:17:10 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (8055e6bacd)
+
+ lib-sql: driver-cassandra - Use INTx_MIN and INTx_MAX
+
+ Preferred over magic numbers
+
+M src/lib-sql/driver-cassandra.c
+
+2020-08-28 13:13:32 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (e1c3224a48)
+
+ lib-sql: Reformat driver-cassandra.c
+
+
+M src/lib-sql/driver-cassandra.c
+
+2020-09-09 12:08:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (60b4040ba4)
+
+ lib-compression: Add unit test to compress large input
+
+ This catches earlier zstd and lzma bugs.
+
+M src/lib-compression/test-compression.c
+
+2020-09-09 13:00:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3d0f6cf3e0)
+
+ lib-compression: ostream-lzma - Compressed output could have been truncated
+
+ The compression wasn't fully finished, resulting in truncated compressed
+ output that couldn't be fully read back. Reading would result in "Broken
+ pipe" errors.
+
+ Broken by 6080aa16e1bd50cd661acc31203d9f4986a9450a
+
+M src/lib-compression/ostream-lzma.c
+
+2020-09-09 12:48:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d559f58767)
+
+ lib-compression: istream-lzma - Improve error messages in EOF handling
+
+
+M src/lib-compression/istream-lzma.c
+
+2020-09-09 12:46:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a775fe3d06)
+
+ lib-compression: istream-lzma - Fix EOF handling
+
+ lzma_stream_end() call was accidentally dropped by
+ c6248b825d8c6562b1320e51ad0d88e99b9fbe85
+
+ This (probably) didn't result in visible problems.
+
+M src/lib-compression/istream-lzma.c
+
+2020-09-08 21:19:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a96e742047)
+
+ lib-compression: ostream-zstd - Fix assert-crash with large input
+
+ If the input was large enough, the ostream write could have returned
+ partially written output. Since this ostream-zstd was only used for blocking
+ ostreams, this would always result in an assert-crash. Fix is to keep
+ flushing the output to parent if the output buffer becomes full.
+
+ Fixes: Panic: file ostream.c: line 287 (o_stream_sendv_int): assertion
+ failed: (!stream->blocking)
+
+M src/lib-compression/ostream-zstd.c
+
+2020-09-09 12:03:31 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (48083d9e7f)
+
+ lib: ostream-buffer: Return 0 as the used size, not the destination buffer
+ size
+
+ This allows using ostream-buffer in places that previously would think that
+ the ostream buffer needed to be flushed because its buffer size was too
+ large.
+
+ This also changes o_stream_get_buffer_avail_size() to always return the
+ ostream max buffer size.
+
+M src/lib/ostream-buffer.c
+M src/lib/test-ostream-buffer.c
+
+2020-08-31 15:29:03 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2d9f3124da)
+
+ lib-smtp: smtp-server-recipient - Recipient event should be using the
+ transaction event as parent.
+
+ The connection event is only used as event parent when the MAIL command
+ failed in pipeline or when the recipient is destroyed prematurely. The log
+ prefix of the transaction event is dropped, so that the connection event log
+ prefix is used in either case. Therefore, the main visible effect of this
+ commit is that the transaction event fields are available in the recipient
+ event when there is a transaction, the log messages will not change.
+
+M src/lib-smtp/smtp-server-recipient.c
+
+2020-08-31 14:10:18 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (e0529aa325)
+
+ lib-smtp: smtp-server-recipient - Don't create event until transaction
+ becomes available.
+
+ This way, the recipient event parent can be the transaction event once (and
+ if) that becomes available.
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+
+2020-08-31 14:58:44 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (55a8b332c0)
+
+ lib-smtp: smtp-server-command - Always call the NEXT_TO_REPLY hook.
+
+ Before, it wasn't called when a reply was submitted before the command
+ became next to reply.
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-connection.c
+
+2020-08-31 14:44:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (1cae0ff5c8)
+
+ lib-smtp: smtp-server-command - Move smtp_server_command_ready_to_reply().
+
+ New order makes more sense in the progression of command state.
+
+M src/lib-smtp/smtp-server-command.c
+
+2020-09-02 11:15:33 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (205b9fd9f4)
+
+ lib: event-log - Fix handling dropping parent prefixes beyond a drop at a
+ higher level.
+
+ Before, the drop in the higher level became invisible to the lower
+ hiererarchies. For example:
+
+ parent1, parent2, parent3, parent4(drop one) yielded
+ "parent1: parent2: parent4: " as a prefix (which is still OK), whereas
+ parent1: parent2: parent3: parent4(drop one): leaf(drop 3) yielded
+ "parent1: leaf: ", while the expected prefix would be:
+ "leaf: ".
+
+ This means that the drop of one prefix by parent4 is ignored. Instead it
+ should apply that drop and operate on the prefixes that are still visible at
+ the lowel level, so the number of prefixes dropped should be additive, which
+ is what this commit changes.
+
+M src/lib/event-log.c
+M src/lib/test-event-log.c
+
+2020-08-31 15:08:43 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (fbd4baa150)
+
+ lib-smtp: Reformat smtp-server-recipient.c.
+
+
+M src/lib-smtp/smtp-server-recipient.c
+
+2020-08-31 14:40:16 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6848a98e52)
+
+ lib-smtp: Reformat smtp-server-private.h.
+
+
+M src/lib-smtp/smtp-server-private.h
+
+2020-08-31 14:37:35 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (5cd3c75a8e)
+
+ lib-smtp: Reformat smtp-server-connection.c.
+
+
+M src/lib-smtp/smtp-server-connection.c
+
+2020-08-31 14:21:41 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4d7f258c93)
+
+ lib-smtp: Reformat smtp-server-command.c.
+
+
+M src/lib-smtp/smtp-server-command.c
+
+2020-08-31 14:16:31 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (953c35eed3)
+
+ lib-smtp: Reformat smtp-server-cmd-mail.c.
+
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+
+2020-08-31 14:13:31 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (bb6edd5e63)
+
+ lib-smtp: Reformat smtp-server-cmd-rcpt.c.
+
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+
+2020-09-07 10:56:34 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (178bb676ea)
+
+ lib-dict: dict_transaction_commit_async() - Never call callback immediately
+
+ This could cause confusion for the callers. Although so far all the callers
+ have handled it fine.
+
+ Use this wrappers for all dict drivers, even if they support async commits
+ themselves. This is because many of them were still calling the callback
+ immediately on error handling.
+
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+
+2020-09-10 10:16:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (54bc6c2d4e)
+
+ lib: istream-try - Fix off-by-one check for min_buffer_full_size
+
+ This mainly fixes random failures with the unit test.
+
+M src/lib/istream-try.c
+
+2020-09-10 10:16:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7a16c2e06d)
+
+ lib: test-istream-try - Fix test name
+
+
+M src/lib/test-istream-try.c
+
+2020-09-08 17:32:32 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6d4c1a6506)
+
+ lib: istream-try - Fix detecting istream when its input buffer is full
+
+ The previous check didn't work when the stream's buffer_size was 0, which
+ happened with istream-concat parent.
+
+ Added also a unit test that tries to test for these kind of situations. It
+ doesn't actually reproduce this specific bug, but it tests that the code
+ paths works at least in the generic situation.
+
+M src/lib/istream-try.c
+M src/lib/istream-try.h
+M src/lib/test-istream-try.c
+M src/plugins/fs-compress/fs-compress.c
+
+2020-09-08 20:14:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b1ca1ba084)
+
+ lib-compression: Add COMPRESSION_HDR_MAX_SIZE macro
+
+ Will be used by the next commit.
+
+M src/lib-compression/compression.h
+
+2020-07-08 10:18:27 +0200 Markus Valentin <markus.valentin@open-xchange.com> (43131bf97f)
+
+ quota: Add logging prefix once and remove it from loglines
+
+
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2020-07-07 14:39:22 +0200 Markus Valentin <markus.valentin@open-xchange.com> (f4ab672321)
+
+ quota: Introduce per quota-backend events
+
+
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-imapc.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2019-10-31 19:27:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d9f9d08624)
+
+ quota: Use event based logging
+
+
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-imapc.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota-util.c
+M src/plugins/quota/quota.c
+
+2020-08-25 14:01:24 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (25ed309c85)
+
+ quota: Add event support
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2020-08-31 18:30:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (15ae4f8c63)
+
+ lib-index: Fix cache being purged too often when it had unaccessed fields
+
+ Cache was being purged when it had a field that was last accessed after
+ mail_cache_unaccessed_field_drop but before
+ 2*mail_cache_unaccessed_field_drop. This purging may not have even done
+ anything.
+
+ Use shared code now between the check in mail_cache_header_fields_read() and
+ the actual purging in mail_cache_purge_check_field(). This way they can't
+ become desynced again.
+
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-purge.c
+
+2020-08-31 17:27:58 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c4a85ba0e4)
+
+ lib-index: Use delayed purge reason for mail_cache_purge_* events
+
+
+M src/lib-index/mail-cache-purge.c
+M src/lib-index/mail-cache.h
+M src/lib-index/mail-index-sync.c
+
+2020-08-31 17:25:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4dd52e0499)
+
+ lib-index: Remember reason for delayed cache file purges
+
+
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-purge.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-cache.h
+
+2020-08-31 17:23:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bfd065af9e)
+
+ lib-index: Fix file_size field in mail_cache_purge_finished event
+
+ It used to be 32 always.
+
+M src/lib-index/mail-cache-purge.c
+
+2020-08-26 18:39:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fe21413485)
+
+ lib-index: Fix deadlock when expunging mails and adding lots of data to
+ cache
+
+ This practically happened only when dovecot.index.cache contents were lost
+ and they were being re-filled while mails were also being expunged.
+
+ Broken by 9efb99924d0b7de27ca83e373f2290f3dd5b22cf
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-08-28 17:16:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b3f95fbad7)
+
+ zlib: Rename istreams from zlib(parent) to compress(parent)
+
+ This clarifies it that the istream is a generic compression stream, not
+ specifically zlib/gz.
+
+M src/plugins/zlib/zlib-plugin.c
+
+2020-08-28 17:13:32 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (154109921d)
+
+ lib-compression: ostreams - Add asserts to clarify how buffer flushing works
+
+ If the output buffer isn't fully sent, the flush function returns 0 early
+ on, before setting flushed=TRUE.
+
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-lzma.c
+M src/lib-compression/ostream-zlib.c
+M src/lib-compression/ostream-zstd.c
+
+2020-08-28 16:57:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1e3f43e124)
+
+ auth: Fix leaking memory if auth client disconnects with pending penalty
+ delays
+
+ * auth penalty lookup returns that auth_request needs a penalty delay
+ * during the penalty timeout auth client disconnects
+ * auth requests are freed, but auth_request_handler isn't unreferenced
+
+ This resulted in memory leak, and after recent changes also logging warnings
+ about event leaks.
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-request-handler.h
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2020-08-27 18:35:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (01a112995f)
+
+ lib-auth: Remove duplicate auth_client_connection.event
+
+ It's already in auth_client_connection.conn.event. Just use it directly to
+ avoid any confusion between them.
+
+M src/lib-auth/auth-client-connection.c
+M src/lib-auth/auth-client-private.h
+M src/lib-auth/auth-client-request.c
+
+2020-08-27 17:28:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (50a6a5c0db)
+
+ auth: Fix compiling gssapi, bsdauth, sia, vpopmail
+
+ Broken by 5ff7299c9d85b1bab0c7d53d9459dbb31a2bd9d6
+
+M src/auth/mech-gssapi.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-sia.c
+M src/auth/passdb-vpopmail.c
+M src/auth/userdb-vpopmail.c
+
+2020-08-20 00:24:52 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c2df8fa8ba)
+
+ lib-http: test-http-client-errors - Add tests involving idle connections.
+
+ Tests idle timeout and connection reuse.
+
+M src/lib-http/test-http-client-errors.c
+
+2020-08-20 00:17:49 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ef4e71e5c2)
+
+ lib-http: http-client-connection - Use http_client_connection_is_active() to
+ check idle status.
+
+ This makes the check shorter and easier to understand.
+
+M src/lib-http/http-client-connection.c
+
+2020-08-12 22:30:35 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6f16b0d63e)
+
+ lib-http: http-client-queue - Fix unsigned int arithmetic problem in
+ http_client_queue_request_timeout_cmp().
+
+
+M src/lib-http/http-client-queue.c
+
+2020-08-13 19:31:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ba7357541e)
+
+ lib-http: http-client-connection - Use timeout_add_short_to() for idle
+ timeout.
+
+ The idle timeout can be very short.
+
+M src/lib-http/http-client-connection.c
+
+2020-08-12 21:33:08 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f9751e9b22)
+
+ lib-http: http-client-connection - Make idle timeout calculation more
+ robust.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2020-08-12 22:24:22 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (7e849b84ac)
+
+ lib-http: http-client-connection - Explicitly handle an infinite connection
+ limit for setting idle timeout.
+
+ This can just use the maximum idle timeout directly.
+
+M src/lib-http/http-client-connection.c
+
+2020-08-12 22:20:26 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (32f0fc2b41)
+
+ lib-http: http-client-connection - Deal with first idle connection
+ separately for setting idle timeout.
+
+ This can just use the maximum idle timeout directly.
+
+M src/lib-http/http-client-connection.c
+
+2020-08-12 21:17:08 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2d49e42f9a)
+
+ lib-http: http-client-connection - Improve overall logic in
+ http_client_connection_start_idle_timeout().
+
+ Make clear that idle_count < max when it is used.
+
+M src/lib-http/http-client-connection.c
+
+2020-08-12 18:00:45 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (09acd5c1eb)
+
+ lib-http: http-client-connection - Start idle state in a common function.
+
+ Removes code duplication.
+
+M src/lib-http/http-client-connection.c
+
+2020-08-12 20:35:46 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6ea3dc6f41)
+
+ lib-http: http-client-connection - Handle infinite idle timeout
+ consistently.
+
+
+M src/lib-http/http-client-connection.c
+
+2020-08-12 20:11:01 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (8255f15bfc)
+
+ lib-http: http-client-connection - Start idle timeout in a common function.
+
+
+M src/lib-http/http-client-connection.c
+
+2020-08-12 19:54:50 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (dda4e8d8a5)
+
+ lib-http: http-client-connection - Use separate flag for idle status.
+
+ It used the presence of the idle timeout before, which isn't acceptable when
+ the timeout is changed to be optional (happens in later commit).
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2020-08-12 17:16:12 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d1d65664bf)
+
+ lib-http: http-client-connection - Determine idle timeout consistently.
+
+ It should not matter whether connection got idle due to lost peer or
+ otherwise.
+
+M src/lib-http/http-client-connection.c
+
+2020-08-12 17:10:20 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9ead85be5b)
+
+ lib-http: http-client-connection - Restructure
+ http_client_connection_check_idle().
+
+
+M src/lib-http/http-client-connection.c
+
+2020-08-12 17:06:23 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (60bd3475f6)
+
+ lib-http: http-client-connection - Restructure
+ http_client_connection_lost_peer().
+
+
+M src/lib-http/http-client-connection.c
+
+2020-08-12 21:47:39 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (50814cc74f)
+
+ lib-http: http-client-peer - Properly saturate result of
+ http_client_peer_shared_max_connections() at UINT_MAX.
+
+
+M src/lib-http/http-client-peer.c
+
+2020-08-12 18:27:48 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ecaf195beb)
+
+ lib-http: Reformat http-client-connection.c.
+
+
+M src/lib-http/http-client-connection.c
+
+2018-03-20 20:59:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (111b0d3063)
+
+ lib-http: Reformat http-client-private.h.
+
+
+M src/lib-http/http-client-private.h
+
+2018-03-20 20:59:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9b0f648c58)
+
+ lib-http: Reformat http-client-queue.c.
+
+
+M src/lib-http/http-client-queue.c
+
+2018-03-20 20:58:56 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4dd39dc63d)
+
+ lib-http: Reformat http-client-peer.c.
+
+
+M src/lib-http/http-client-peer.c
+
+2020-08-10 14:43:11 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (a88b78fa5a)
+
+ lib-auth: Do not send ssl details to auth process
+
+ They are not used for anything. But we still provide them as auth_client
+ event fields, so that we can e.g. do metrics on which TLS protocol is used.
+
+M src/lib-auth/auth-client-request.c
+
+2020-08-10 10:56:14 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b2511e8d6b)
+
+ lib-auth: Add user_mask to auth_userdb_list events
+
+
+M src/lib-auth/auth-master.c
+
+2020-08-10 10:23:19 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4e3ae6fab7)
+
+ lib-auth: Add new fields to auth_client_userdb events
+
+
+M src/lib-auth/auth-master.c
+
+2020-08-10 09:29:10 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (395ef5b35c)
+
+ doveadm: doveadm-auth - Add support for real_{remote|local}_{ip|port} -x
+ parameters
+
+
+M src/doveadm/doveadm-auth.c
+
+2020-08-10 09:11:41 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d4a70a35ee)
+
+ doveadm: doveadm-auth - Add session and local_name -x parameters
+
+
+M src/doveadm/doveadm-auth.c
+
+2020-08-10 09:10:08 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (6c5b749390)
+
+ lib-auth: Add session_id and local_name to master auth
+
+
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+
+2020-08-06 10:52:18 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f02877312e)
+
+ lmtp: Rename orig_user event field to original_user
+
+
+M src/lmtp/lmtp-proxy.c
+
+2020-07-27 09:11:47 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d1aaeab138)
+
+ lib-auth: Add more fields to auth client event
+
+ This way it becomes more useful
+
+M src/lib-auth/auth-client-request.c
+
+2020-07-27 12:26:49 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (36de1858d0)
+
+ lib-auth: Always iterate input arguments
+
+ Makes next change easier
+
+M src/lib-auth/auth-client-request.c
+
+2020-07-27 08:48:49 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (0e3468f07e)
+
+ lib-auth: Send event after setting all fields
+
+
+M src/lib-auth/auth-client-request.c
+
+2020-08-06 19:38:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d602274721)
+
+ man: doveadm-auth - List more -x fields
+
+
+M doc/man/doveadm-auth.1.in
+
+2020-08-06 14:13:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (570ad473dd)
+
+ auth: Add some unit testing for auth_request_import/export()
+
+
+M src/auth/Makefile.am
+A src/auth/test-auth-request-fields.c
+M src/auth/test-auth.h
+M src/auth/test-main.c
+
+2020-08-06 14:10:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4d46d3e5cf)
+
+ auth: Escape exported session ID string in protocol replies
+
+ Session ID is normally coming only from trusted sources, so the lack of
+ escaping shouldn't have mattered too much.
+
+M src/auth/auth-request-fields.c
+
+2020-08-05 22:48:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3edbefb705)
+
+ auth: Worker commands: Rename "id" event field to "command_id"
+
+ Now that auth_request events are inherited from worker command events, the
+ "id" field was also inherited. This is rather confusing and might conflict
+ with other IDs in the future, so better to rename it already.
+
+M src/auth/auth-worker-client.c
+
+2020-08-05 22:45:30 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e53e98204d)
+
+ auth: Support inheritance for master auth_requests' events
+
+ Requests created by auth worker will inherit from the command's event, while
+ other events inherit from the global auth_event for now (since
+ auth-master-connection doesn't have its own event yet).
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-worker-client.c
+M src/auth/test-lua.c
+
+2020-08-05 22:43:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (95f89e9048)
+
+ auth: Inherit auth client connection event from the global auth_event
+
+
+M src/auth/auth-client-connection.c
+
+2020-06-25 20:03:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b06d4c7309)
+
+ doveadm auth: Support forward and extra fields with -x parameter
+
+ Using "forward_" prefix assumes that it's a forwarded field. Otherwise all
+ unknown parameters are assumed to be extra fields.
+
+M src/doveadm/doveadm-auth.c
+
+2020-08-05 22:25:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1d5bbaf127)
+
+ lib-auth: auth-client - Support sending extra_fields.
+
+
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.h
+
+2020-05-28 23:10:41 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4ac4b3b5d2)
+
+ lib-auth: auth-master - Support sending extra_fields.
+
+
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+
+2020-08-04 17:35:30 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (29371f227e)
+
+ auth: Add more event fields
+
+
+M src/auth/auth-request-fields.c
+
+2020-08-04 17:34:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b0fb82bb67)
+
+ auth: Set event fields immediately when they're changed in
+ auth_request_fields
+
+ This way the fields are available for all auth events, not just the final
+ events.
+
+M src/auth/auth-request-fields.c
+M src/auth/auth-request.c
+
+2020-08-06 12:29:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6c0fb43324)
+
+ auth: Remove "username" and "domain" event fields
+
+ They're not very useful in event fields, since event filtering can just do
+ user=username@* or user=*@domain.
+
+M src/auth/auth-request.c
+
+2020-08-04 17:30:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8499ff49e6)
+
+ auth: Remove "credentials_scheme" event field
+
+ This field wasn't set for plaintext authentication, and in general it's not
+ quite what it was intended to be. Better to remove it entirely to avoid
+ confusion.
+
+M src/auth/auth-request.c
+
+2020-08-04 17:29:32 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (764265bfdf)
+
+ auth: Rename auth_request.credentials_scheme to wanted_credentials_scheme
+
+ Also add comments explaining what it actually does.
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-worker-client.c
+M src/auth/db-checkpassword.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-checkpassword.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-sql.c
+M src/auth/passdb.c
+
+2020-08-04 16:46:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6619fbab6f)
+
+ auth: Rename "orig_user" event field to "original_user"
+
+ It's a bit more understandable to use the full name. There's now also
+ %{original_user} variable alias.
+
+M src/auth/auth-request.c
+
+2020-08-04 16:30:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3822c3e6e3)
+
+ auth: Rename "mech" event field to "mechanism"
+
+ It's a bit more understandable to use the full name. There's now also
+ %{mechanism} variable alias.
+
+M src/auth/auth-request-fields.c
+
+2020-08-03 18:51:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (97749d387f)
+
+ auth: Keep auth_request_fields const for most of the code
+
+ This way there's a compiler warning/error if anything outside
+ auth-request-fields.c attempts to modify them. It makes it easier to keep
+ the values synced with events.
+
+M src/auth/auth-request-fields.c
+M src/auth/auth-request.h
+M src/auth/test-auth.h
+
+2020-08-04 16:16:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8c698ff01e)
+
+ auth: test-mech - Fix include ordering
+
+ Required by the following change.
+
+M src/auth/test-mech.c
+
+2020-08-04 14:48:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4d724f877b)
+
+ auth: Add and use auth_request_set_delayed_credentials()
+
+
+M src/auth/auth-request-fields.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2020-08-04 14:44:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8f86c02d64)
+
+ auth: Add and use auth_request_set_login_username_forced()
+
+
+M src/auth/auth-request-fields.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2020-08-04 14:28:28 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (39c4197b30)
+
+ auth: LIST - Use auth_request_import() to set missing "service"
+
+
+M src/auth/auth-master-connection.c
+
+2020-08-04 14:26:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c5a72becc6)
+
+ auth: Use auth_request_init_userdb_reply() always for initializing
+ userdb_reply
+
+
+M src/auth/auth-request-fields.c
+M src/auth/auth-request.c
+
+2020-08-04 14:23:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e04efc5cbf)
+
+ auth: auth_request_init_userdb_reply() - Add add_default_fields parameter
+
+
+M src/auth/auth-request-fields.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-worker-client.c
+
+2020-08-04 14:22:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (544781e8d4)
+
+ auth: Move auth_request_init_userdb_reply() to auth-request-fields.c
+
+
+M src/auth/auth-request-fields.c
+M src/auth/auth-request.c
+
+2020-08-04 12:42:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1797aaf874)
+
+ auth: Add and use auth_request_set_password_verified()
+
+
+M src/auth/auth-request-fields.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2020-08-04 12:32:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4dc7edd911)
+
+ auth: Add and use auth_request_set_auth_successful()
+
+
+M src/auth/auth-request-fields.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2020-08-03 17:32:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (deaba55862)
+
+ auth: Add and use auth_request_set_realm()
+
+
+M src/auth/auth-request-fields.c
+M src/auth/auth-request.h
+M src/auth/mech-digest-md5.c
+
+2020-08-03 17:25:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (854ffb49fd)
+
+ auth: Add and use auth_request_set_username_forced()
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-request-fields.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/mech-anonymous.c
+M src/auth/userdb-blocking.c
+
+2020-08-04 14:41:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (cb06a8f19c)
+
+ auth: Change auth_request_fix_username() to return int
+
+
+M src/auth/auth-request-fields.c
+
+2020-08-04 14:35:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5f5256311a)
+
+ auth: Optimize memory usage when auth_username_format is set
+
+ The per-request memory pool was used unnecessarily to allocate the username
+ before the formatting was applied.
+
+M src/auth/auth-request-fields.c
+
+2020-08-03 17:16:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6bf74fbc35)
+
+ auth: Move auth_request_fields initialization code to
+ auth_request_fields_init()
+
+
+M src/auth/auth-request-fields.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2020-08-03 17:11:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (51623b9e9e)
+
+ auth: Move auth_request_master_lookup_finish() to auth-request-fields.c
+
+ Also rename it to auth_request_master_user_login_finish().
+
+M src/auth/auth-request-fields.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2020-08-03 17:07:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (007deed21f)
+
+ auth: Move username changing functions to auth-request-fields.c
+
+
+M src/auth/auth-request-fields.c
+M src/auth/auth-request.c
+
+2020-08-03 17:06:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f469acfcd2)
+
+ auth: Change auth_request_get_log_prefix_db() to be public
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2020-08-03 16:49:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1c7ea685e6)
+
+ auth: test-lua - Use auth_request_set_username()
+
+ Instead of changing the user directly.
+
+M src/auth/test-lua.c
+
+2020-08-03 16:43:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8841d1b2a8)
+
+ auth: test-lua - Deduplicate code into test_db_lua_auth_request_new()
+
+
+M src/auth/test-lua.c
+
+2020-08-03 16:28:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6e07479735)
+
+ auth: auth_request_fix_username() - Don't temporarily modify
+ auth_request_fields.user
+
+ Use the new username parameter in auth_request_get_var_expand_table_full()
+ instead.
+
+M src/auth/auth-request.c
+
+2020-08-03 16:26:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e743e0b02b)
+
+ auth: auth_cache_insert() - Don't temporarily modify
+ auth_request_fields.user
+
+ Use the new username parameter in auth_request_get_var_expand_table_full()
+ instead.
+
+M src/auth/auth-cache.c
+M src/auth/test-auth-cache.c
+
+2020-08-03 16:18:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (aa21999180)
+
+ auth: auth_request_get_var_expand_table_full() - Add username parameter
+
+
+M src/auth/auth-policy.c
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request-var-expand.h
+M src/auth/db-ldap.c
+M src/auth/db-oauth2.c
+
+2020-08-04 16:45:19 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2522e957e1)
+
+ auth: Add %{original_*} aliases for %{orig_*}
+
+
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request-var-expand.h
+
+2020-08-04 16:19:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bff8b10007)
+
+ auth: Add %{mechanism} alias for %{mech}
+
+
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request-var-expand.h
+
+2020-04-27 16:43:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bb2a9ba49a)
+
+ auth: Add %{[real_]local/remote_ip/port} aliases for
+ %{[real_]lip/rip/lport/rport)
+
+
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request-var-expand.h
+M src/auth/test-auth-request-var-expand.c
+
+2020-08-03 15:10:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c5d940f758)
+
+ auth: Move auth_request_export/import*() to auth-request-fields.c
+
+
+M src/auth/Makefile.am
+A src/auth/auth-request-fields.c
+M src/auth/auth-request.c
+
+2020-08-03 14:56:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5ff7299c9d)
+
+ auth: Move imported/exported fields to struct auth_request_fields
+
+ This makes it clearer what fields are being passed between auth master and
+ worker processes.
+
+M src/auth/auth-cache.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-penalty.c
+M src/auth/auth-policy.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request-stats.c
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-worker-client.c
+M src/auth/db-checkpassword.c
+M src/auth/db-lua.c
+M src/auth/db-oauth2.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-dovecot-token.c
+M src/auth/mech-external.c
+M src/auth/mech-login.c
+M src/auth/mech-ntlm.c
+M src/auth/mech-otp-skey-common.c
+M src/auth/mech-otp.c
+M src/auth/mech-rpa.c
+M src/auth/mech-skey.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-lua.c
+M src/auth/passdb-pam.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb.c
+M src/auth/test-auth-request-var-expand.c
+M src/auth/test-lua.c
+M src/auth/test-mech.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-static.c
+
+2020-08-03 14:31:30 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9743153243)
+
+ auth: Remove auth_request->debug
+
+ Use event_want_debug(auth_request->event) instead.
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/db-ldap.c
+M src/auth/passdb-imap.c
+M src/auth/test-lua.c
+
+2020-08-03 14:29:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5110ff330c)
+
+ auth: Remove unnecessary auth_request->debug checks
+
+ e_debug() already checks whether debug logging is enabled.
+
+M src/auth/db-lua.c
+
+2020-04-26 20:15:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6ef8c6324d)
+
+ lib: events - Use const event pointer for "get" functions
+
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2020-08-24 15:00:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (cb875b83a8)
+
+ lib-storage: mail_user_init_fs_settings() - Use user's event as fs parent
+ event
+
+
+M src/lib-storage/mail-user.c
+
+2020-08-13 19:13:49 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (68817df1ef)
+
+ auth: test-mech - Fix type mismatch
+
+
+M src/auth/test-mech.c
+
+2020-08-13 19:13:04 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (a744f28294)
+
+ auth: test-mech - Fix APOP challenge format
+
+
+M src/auth/test-mech.c
+
+2020-08-17 18:06:14 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4e264dad2f)
+
+ submission: submission-backend-relay - Handle relay server replies
+ consistently.
+
+ Initial connection setup errors were handled differently when the reply came
+ into the ready callback first.
+
+M src/submission/submission-backend-relay.c
+
+2018-07-12 00:15:23 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a0a7d59e6a)
+
+ lib-smtp: test-smtp-client-errors - Add test for server presenting invalid
+ SSL certificate.
+
+
+M src/lib-smtp/Makefile.am
+M src/lib-smtp/test-smtp-client-errors.c
+
+2018-07-14 13:16:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4032347467)
+
+ lib-smtp: smtp-client-connection - If SSL connection gets lost, log the last
+ SSL error.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-07-12 00:15:31 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d5c5dffdf9)
+
+ lib-smtp: smtp-client-connection - Handle connection loss uniformly at a
+ single location.
+
+ Also amend the logged error message with SSL information when relevant.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-07-14 12:19:07 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (58ace7aaaf)
+
+ lib-smtp: smtp-client-connection - Properly log SSL handshake failure
+ occuring during input read as an error.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-07-14 11:35:20 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a9849c479b)
+
+ lib-smtp: smtp-client-connection - Restructure handling of immediate
+ connection failure.
+
+ The delayed error callback is now started at a single location, much like
+ lib-http/client deals with this situation.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2020-05-04 17:21:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (db253d7e8e)
+
+ master: Make sure a listener isn't added to a throttled service
+
+ This fixes master process using 100% CPU in some situations when a service
+ is being throttled.
+
+M src/master/service-monitor.c
+
+2020-08-16 10:57:36 +0100 Paul G. Banks <web@paulbanks.org> (fea1bacab9)
+
+ auth: mech-gssapi - GSSAPI can contain NUL.
+
+
+M src/auth/mech-gssapi.c
+
+2020-08-17 19:16:01 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6ab580a6e5)
+
+ imap: Add "mailbox" field to successful imap_client_unhibernated event
+
+
+M src/imap/imap-master-client.c
+
+2020-08-17 19:10:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ef60e26343)
+
+ imap-hibernate: Add "mailbox" field to events
+
+
+M src/imap-hibernate/imap-client.c
+M src/imap-hibernate/imap-client.h
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap/imap-client-hibernate.c
+
+2020-08-17 15:33:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8fac1bccc1)
+
+ imap, imap-hibernate: Track how long hibernation lasted
+
+
+M src/imap-hibernate/imap-client.c
+M src/imap/imap-master-client.c
+
+2020-08-17 15:39:19 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7c90fb0723)
+
+ imap-hibernate: Add imap_client_unhibernate_retried event
+
+
+M src/imap-hibernate/imap-client.c
+
+2020-08-17 14:03:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (be68c85357)
+
+ imap-hibernate: Add imap_client_unhibernated event for errors
+
+ Successful unhibernation is logged by imap process.
+
+M src/imap-hibernate/imap-client.c
+
+2020-08-17 13:55:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (faaaf06e4f)
+
+ imap-hibernate: Handle unhibernation errors more consistently.
+
+ Log an error with the exact reason, and just log "Failed to unhibernate
+ client" as the info-level disconnect reason.
+
+M src/imap-hibernate/imap-client.c
+
+2020-08-17 13:53:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6adcb79448)
+
+ imap-hibernate: Fix error handling when unhibernation retry timeout is
+ reached
+
+ An error message wasn't logged, and a wrong kind of message was logged in
+ the info line.
+
+M src/imap-hibernate/imap-client.c
+
+2020-08-17 13:53:28 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (cf69e30178)
+
+ imap-hibernate: Split off imap_move_has_reached_timeout()
+
+
+M src/imap-hibernate/imap-client.c
+
+2020-08-17 15:06:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0ea836c9b0)
+
+ imap: Add imap_client_unhibernated event
+
+
+M src/imap/imap-master-client.c
+
+2020-08-17 14:48:01 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9e44878321)
+
+ imap: Send unhibernation OK reply to imap-hibernate only after creating
+ client
+
+ The following commit adds unhibernation event, which would be much more
+ difficult to implement for this error path without this change.
+
+ The OK reply is still sent before client_create_finish(), which is the part
+ that could be slow.
+
+M src/imap/imap-master-client.c
+
+2020-08-17 14:55:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9df45f5df8)
+
+ imap: Set unhibernation IDLE state earlier
+
+ This simplifies the following changes.
+
+M src/imap/imap-master-client.c
+
+2020-08-17 13:34:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (36a255bb93)
+
+ imap: Add imap_client_hibernated event
+
+
+M src/imap/imap-client-hibernate.c
+
+2020-08-17 13:08:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f8a13f869a)
+
+ imap-hibernate: Log via imap_client.event or connection.event
+
+
+M src/imap-hibernate/imap-client.c
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap-hibernate/imap-master-connection.c
+
+2020-08-17 13:08:19 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (481e29adea)
+
+ imap-hibernate: Add imap_client.event
+
+
+M src/imap-hibernate/imap-client.c
+
+2020-08-17 13:07:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0665e883e3)
+
+ imap-hibernate: Preserve local_port and remote_port during hibernation
+
+
+M src/imap-hibernate/imap-client.c
+M src/imap-hibernate/imap-client.h
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-master-client.c
+
+2020-08-17 12:47:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (30098f130d)
+
+ imap: Log ID and logout info lines via imap_client.event
+
+ This doesn't change the logging output at all.
+
+M src/imap/cmd-id.c
+M src/imap/imap-client.c
+
+2020-08-17 12:45:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (12d740b891)
+
+ imap: Log imap-master errors/debugs via connection.event
+
+
+M src/imap/imap-master-client.c
+
+2020-08-17 12:43:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8482b886ea)
+
+ imap: Log errors via imap_client.event when possible
+
+
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-urlfetch.c
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-client.c
+M src/imap/imap-master-client.c
+M src/imap/main.c
+
+2020-08-17 13:28:58 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (218eaa07c9)
+
+ imap: imap_hibernate_process_send() - Return error instead of logging it
+
+
+M src/imap/imap-client-hibernate.c
+
+2020-08-17 15:28:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b4b3b41989)
+
+ lib: Add str_to_timeval()
+
+
+M src/lib/test-time-util.c
+M src/lib/time-util.c
+M src/lib/time-util.h
+
+2020-08-20 16:17:48 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ea91edd058)
+
+ director: Use director_connection.event wherever possible
+
+ This adds the "director(name): " log prefix to many log messages where it
+ didn't previously exist. The director name is now sometimes duplicated in
+ the log messages, but maybe that's good for clarity.
+
+M src/director/director-connection.c
+
+2020-08-20 16:11:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4b7d51bfd0)
+
+ director: Avoid explicit log prefixes by logging via
+ director_connection.event
+
+
+M src/director/director-connection.c
+
+2020-08-20 16:07:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (716aab1678)
+
+ director: Add director_connection.event
+
+
+M src/director/director-connection.c
+
+2020-08-20 16:05:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (057b8620d7)
+
+ director: Add director_connection_set_name() change connection name
+
+
+M src/director/director-connection.c
+
+2019-10-31 19:15:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b47636b619)
+
+ director: Replace most of the i_error() logging with e_error()
+
+
+M src/director/auth-connection.c
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/mail-host.c
+M src/director/notify-connection.c
+
+2019-10-31 19:10:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2795b4f95e)
+
+ director: Replace i_warning() and i_info() logging with e_*()
+
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/mail-host.c
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/user-directory.c
+
+2019-10-31 19:17:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5e6d04c952)
+
+ director: Add auth_connection.dir
+
+
+M src/director/auth-connection.c
+M src/director/auth-connection.h
+M src/director/main.c
+
+2019-10-31 19:09:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c9b8061af6)
+
+ director: Add user_directory.director
+
+
+M src/director/mail-host.c
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+
+2019-10-31 19:06:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5107e7f89c)
+
+ director: Add mail_host_list.dir
+
+
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/mail-host.c
+M src/director/mail-host.h
+
+2019-10-31 19:00:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9da9aa4cf4)
+
+ director: Remove dir_debug() and director_debug
+
+
+M src/director/director.c
+M src/director/director.h
+M src/director/main.c
+
+2019-10-31 18:59:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d861dab090)
+
+ director: director-request: Add event and replace dir_debug() with e_debug()
+
+
+M src/director/director-request.c
+
+2019-10-31 18:56:56 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7e4f1966bf)
+
+ director: Replace most of the dir_debug() with e_debug()
+
+
+M src/director/director-connection.c
+M src/director/director.c
+
+2019-10-31 18:49:59 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (97af941652)
+
+ director: Add struct director.event
+
+
+M src/director/director.c
+M src/director/director.h
+M src/director/main.c
+
+2018-11-07 16:51:49 -0800 Rosen Penev <rosenp@gmail.com> (5d88510b30)
+
+ lib: Fix compilation with OpenSSL deprecated APIs disabled
+
+ OpenSSL with no deprecated APIs does not implicitly include header files.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2020-08-07 11:11:21 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (8b2455fe5e)
+
+ lib: Always use the representative when comparing event's categories
+
+ We need to be consistent about using the representative category pointer.
+ Otherwise, we may end up with duplicates in an event's categories array.
+
+ Since an event's categories are conceptually a set, it is reasonable to
+ write event using code that assumes no duplicates. If duplicates are
+ present, it may lead to incorrect behavior or even crashes.
+
+M src/lib/lib-event.c
+
+2020-08-14 10:25:33 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (942e4a1b58)
+
+ lib: event-filter-parser - Use str_begins() to compare unit test error
+ strings
+
+ Different versions of bison generate slightly different error strings, but
+ they always begin the same way. So, instead of comparing them let's only
+ compare the beginning.
+
+M src/lib/test-event-filter-parser.c
+
+2020-08-14 09:26:12 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (320a207cc5)
+
+ lib: event-filter-parser - YYERROR_VERBOSE has been deprecated since 2003
+
+ The proper way to enable verbose error messages is to use the parse.error
+ define.
+
+M src/lib/event-filter-parser.y
+
+2020-08-14 00:36:19 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (92d767268c)
+
+ lib: Add unit test for long log line splitting
+
+
+M src/lib/test-failures.c
+
+2020-08-13 22:49:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e02f24ac33)
+
+ lib-index: Remove log prefix from cache events
+
+ Index events don't have a prefix either. The parent event likely already
+ contains the mailbox name, which should be enough. It's especially bad using
+ the full filesystem path in the event prefix, because it could be very long.
+
+M src/lib-index/mail-cache.c
+
+2020-08-13 22:47:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (984e3d03b6)
+
+ global: Make sure event log prefixes are sanitized and not excessively long
+
+ It doesn't make sense to allow log prefixes to grow to kilobytes long,
+ especially from user-given input.
+
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-resource.c
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/index-storage.c
+
+2020-08-13 22:18:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (812fab2981)
+
+ lib: Fix sending log lines when prefix is larger than PIPE_BUF
+
+ This caused the log line to be sent repeatedly to the log process, possibly
+ causing hundreds of duplicate log lines.
+
+M src/lib/failures.c
+
+2020-08-13 22:08:48 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (172e23fecb)
+
+ log: log_connection_handshake() - Handle i_stream_read()'s -2 return value
+ properly
+
+ Although this shouldn't happen anymore after the previous change.
+
+M src/log/log-connection.c
+
+2020-08-13 19:26:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (884b5c012c)
+
+ log: Fix busy loop when a long line is logged
+
+ If the line exceeded PIPE_MAX (4 kB usually), the process got into a busy
+ loop. It would still break out of it every 100ms and maybe handle some other
+ services' logging, but the service that logged the long line would be stuck.
+ This resulted in all those service processes also hanging because they were
+ waiting to be able to write to log.
+
+M src/log/log-connection.c
+
+2020-05-18 13:08:45 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (199686daf5)
+
+ auth: test-mech - Add tests for RPA and NTLM bug
+
+
+M src/auth/test-mech.c
+
+2020-05-18 12:33:39 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (fb246611e6)
+
+ lib-ntlm: Check buffer length on responses
+
+ Add missing check for buffer length.
+
+ If this is not checked, it is possible to send message which causes read
+ past buffer bug.
+
+ Broken in c7480644202e5451fbed448508ea29a25cffc99c
+
+M src/lib-ntlm/ntlm-message.c
+
+2020-05-06 13:40:36 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (69ad3c902e)
+
+ auth: mech-rpa - Fail on zero len buffer
+
+
+M src/auth/mech-rpa.c
+
+2020-07-02 17:31:19 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (19193f40b1)
+
+ lib-mail: Fix handling trailing "--" in MIME boundaries
+
+ Broken by 5b8ec27fae941d06516c30476dcf4820c6d200ab
+
+M src/lib-mail/message-parser.c
+M src/lib-mail/test-message-parser.c
+
+2020-04-23 17:09:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (be53a118e7)
+
+ lib-mail: message-parser - Support limiting max number of MIME parts
+
+ The default is to allow 10000 MIME parts. When it's reached, no more MIME
+ boundary lines will be recognized, so the rest of the mail belongs to the
+ last added MIME part.
+
+M src/lib-mail/message-parser-private.h
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-parser.h
+M src/lib-mail/test-message-parser.c
+
+2020-04-23 16:59:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7868f5f49b)
+
+ lib-mail: message-parser - Support limiting max number of nested MIME parts
+
+ The default is to allow 100 nested MIME parts. When the limit is reached,
+ the innermost MIME part's body contains all the rest of the inner bodies
+ until a parent MIME part is reached.
+
+M src/lib-mail/message-parser-private.h
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-parser.h
+M src/lib-mail/test-message-parser.c
+
+2020-04-23 16:50:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0f46088a1a)
+
+ lib-mail, global: message_parser_init*() - Convert flags to settings
+ structure
+
+
+M src/doveadm/doveadm-mail-fetch.c
+M src/lib-imap/test-imap-bodystructure.c
+M src/lib-imap/test-imap-envelope.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/message-parser-from-parts.c
+M src/lib-mail/message-parser-private.h
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-parser.h
+M src/lib-mail/message-search.c
+M src/lib-mail/message-snippet.c
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-parser.c
+M src/lib-mail/test-message-part.c
+M src/lib-storage/index/index-mail-headers.c
+M src/plugins/fts/fts-build-mail.c
+
+2020-04-23 15:00:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a676cb539f)
+
+ lib-mail: message-parser - Don't use memory pool for parser
+
+ This reduces memory usage when parsing many MIME parts where boundaries are
+ being added and removed constantly.
+
+M src/lib-mail/message-parser-private.h
+M src/lib-mail/message-parser.c
+
+2020-04-23 14:53:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a175d654c3)
+
+ lib-mail: message-parser - Add boundary_remove_until() helper function
+
+
+M src/lib-mail/message-parser.c
+
+2020-04-23 13:06:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8dbc754a31)
+
+ lib-mail: message-parser - Optimize boundary lookups when exact boundary is
+ found
+
+ When an exact boundary is found, there's no need to continue looking for
+ more boundaries.
+
+M src/lib-mail/message-parser.c
+
+2020-04-23 12:53:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (729941c996)
+
+ lib-mail: message-parser - Truncate excessively long MIME boundaries
+
+ RFC 2046 requires that the boundaries are a maximum of 70 characters
+ (excluding the "--" prefix and suffix). We allow 80 characters for a bit of
+ extra safety. Anything longer than that is truncated and treated the same as
+ if it was just 80 characters.
+
+M src/lib-mail/message-parser-private.h
+M src/lib-mail/message-parser.c
+M src/lib-mail/test-message-parser.c
+
+2020-04-23 12:10:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (02c7c6dbb5)
+
+ lib-mail: message-parser - Minor code cleanup to finding the end of boundary
+ line
+
+
+M src/lib-mail/message-parser.c
+
+2020-04-23 12:00:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (24f0bfefdb)
+
+ lib-mail: message-parser - Optimize appending new part to linked list
+
+
+M src/lib-mail/message-parser-private.h
+M src/lib-mail/message-parser.c
+
+2020-04-23 11:36:48 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5ecadd3074)
+
+ lib-mail: message-parser - Optimize updating children_count
+
+
+M src/lib-mail/message-parser.c
+
+2020-04-23 11:34:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (cb00e21fd7)
+
+ lib-mail: message-parser - Change message_part_append() to do all work
+ internally
+
+
+M src/lib-mail/message-parser.c
+
+2020-04-23 11:33:31 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e5830ae885)
+
+ lib-mail: message-parser - Add a message_part_finish() helper function
+
+
+M src/lib-mail/message-parser.c
+
+2020-04-23 11:47:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (926742088a)
+
+ lib-mail: Move message_parser_init_from_parts() handling to its own file
+
+ This helps to see what code they have in common.
+
+M src/lib-mail/Makefile.am
+A src/lib-mail/message-parser-from-parts.c
+A src/lib-mail/message-parser-private.h
+M src/lib-mail/message-parser.c
+
+2020-04-23 11:27:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6d77e00e4d)
+
+ lib-mail: test-message-parser - Test that children_count is correct
+
+
+M src/lib-mail/test-message-parser.c
+
+2020-04-23 11:14:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d4bb43a08a)
+
+ lib-mail: test-message-parser - Add another test for boundary matching
+
+
+M src/lib-mail/test-message-parser.c
+
+2020-08-12 11:58:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (84b70b76a6)
+
+ dict: Fix potential hang when iterating
+
+ Broken by 2937287a72cffa8c709c22ede838058d48b61778
+
+M src/dict/dict-commands.c
+M src/dict/dict-connection.h
+
+2020-08-12 11:57:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1bbb54716a)
+
+ lib: Clarify o_stream_set_flush_pending() comment related to corking
+
+
+M src/lib/ostream.h
+
+2020-08-06 17:46:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (75693aa152)
+
+ lib: When clearing signal handlers, ignore the signals instead of restoring
+ defaults
+
+ This is mainly happening in while the process is shutting down. Getting a
+ signal at a time when the normal signal handlers are gone isn't something
+ that is expected. It's better to just ignore the signal and let the process
+ to finish shutting down normally instead of getting killed.
+
+ This should also fix some unit tests where the child processes were
+ sometimes dying with SIGTERM due to these race conditions.
+
+M src/lib-test/test-subprocess.c
+M src/lib/lib-signals.c
+M src/lib/lib-signals.h
+
+2020-08-03 13:21:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d0ea7f9f45)
+
+ pop3-login: Fix the next command failing after unsuccessful AUTH
+
+ If the AUTH command failed (e.g. bad password or proxying failure), the next
+ command was still processed as AUTH command. For example:
+
+ auth plain .
+ -ERR [AUTH] Invalid base64 data in initial response quit
+ -ERR [AUTH] Unsupported authentication mechanism.
+
+M src/pop3-login/client-authenticate.c
+
+2020-08-04 12:37:45 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f491dea427)
+
+ lib-compression: zstd - Check version
+
+ If we are using older than 1.3.1 we emit warning if there is library
+ mismatch. This is because error codes will break.
+
+M src/lib-compression/iostream-zstd-private.h
+M src/lib-compression/istream-zstd.c
+M src/lib-compression/ostream-zstd.c
+
+2020-08-04 12:35:39 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (1160ac3a37)
+
+ lib-compression: zstd - Repair error codes if necessary
+
+ libzstd version numbers were pinned on 1.3.1, if we are compiled against
+ version before that, and runtime is newer, we need to repair version
+ numbers.
+
+ A horrible hack that only allows using 1.3.1+ with old code.
+
+M src/lib-compression/Makefile.am
+A src/lib-compression/iostream-zstd-private.h
+M src/lib-compression/istream-zstd.c
+M src/lib-compression/ostream-zstd.c
+
+2020-08-05 14:35:52 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9ee1a10480)
+
+ lib: Fix potential crash changing signal handlers after destroying ioloop
+
+
+M src/lib/lib-signals.c
+
+2020-06-22 15:30:49 +0300 sergey.kitov <sergey.kitov@open-xchange.com> (ddd93d7953)
+
+ lib-index: Set event name for "Recreated index"
+
+
+M src/lib-index/mail-index-write.c
+
+2020-07-21 13:32:19 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (9a6bbb115a)
+
+ global: Rely on fs_deinit() automatically freeing parent fs
+
+
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+
+2020-07-21 12:55:27 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (e42b179cb8)
+
+ lib-fs: Free parent fs generically
+
+
+M src/lib-fs/fs-api.c
+
+2020-07-21 13:24:15 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (09085ba9ba)
+
+ mail-crypt: Use container_of() instead of casts for fs code
+
+ Being more explicit not only makes the code more explict, it makes it safer.
+
+M src/plugins/mail-crypt/fs-crypt-common.c
+
+2020-07-21 13:22:06 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (af02f4005d)
+
+ fs-compress: Use container_of() instead of casts
+
+ Being more explicit not only makes the code more explict, it makes it safer.
+
+M src/plugins/fs-compress/fs-compress.c
+
+2020-07-21 13:18:41 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (efad611e18)
+
+ lib-fs: sis - Use container_of() instead of casts
+
+ Being more explicit not only makes the code more explict, it makes it safer.
+
+M src/lib-fs/fs-sis.c
+
+2020-07-21 13:16:34 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (e11855558a)
+
+ lib-fs: sis-queue - Use container_of() instead of casts
+
+ Being more explicit not only makes the code more explict, it makes it safer.
+
+M src/lib-fs/fs-sis-queue.c
+
+2020-07-21 13:13:20 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (4f1409f68e)
+
+ lib-fs: randomfail - Use container_of() instead of casts
+
+ Being more explicit not only makes the code more explict, it makes it safer.
+
+M src/lib-fs/fs-randomfail.c
+
+2020-07-21 13:05:34 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (fbfbbb3444)
+
+ lib-fs: metawrap - Use container_of() instead of casts
+
+ Being more explicit not only makes the code more explict, it makes it safer.
+
+M src/lib-fs/fs-metawrap.c
+
+2020-07-17 17:43:08 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (8372b18e19)
+
+ lib-fs: Add new deinit vfunc
+
+ This is useful for tidying up anything just before freeing the struct fs.
+ For example, flushing dirty data in a write-back cache.
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt.c
+M src/plugins/mail-crypt/fs-mail-crypt.c
+
+2020-07-17 17:26:41 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (9d59b32ff1)
+
+ lib-fs: Rename deinit vfunc to free
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+M src/plugins/mail-crypt/fs-crypt.c
+M src/plugins/mail-crypt/fs-mail-crypt.c
+
+2020-04-26 22:27:52 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a92b4b21fa)
+
+ lib, lib-master: Send updated event to stats if fields/categories change
+
+ Based on code by Jeff Sipek
+
+M src/lib-master/stats-client.c
+M src/lib-master/test-event-stats.c
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+
+2020-04-28 18:48:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (42c309013b)
+
+ stats: Allow clients to update existing events with UPDATE command
+
+
+M src/stats/client-writer.c
+
+2020-04-28 18:43:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f78e3f8bfb)
+
+ lib: event_import*() - Allow importing duplicate data without using more
+ memory
+
+
+M src/lib/lib-event.c
+
+2020-07-27 11:15:42 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (21477aaefd)
+
+ lib-master: Properly compare unit test output strings with expected values
+
+ The I_MIN() mean that only the prefix was getting compared.
+
+M src/lib-master/test-event-stats.c
+
+2020-07-05 12:16:06 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6d9ff68a11)
+
+ imap: cmd-notify - Do not try to notify for removable namespaces.
+
+ It is not going to work anyway and it will cause a crash when the IMAP sync
+ code subsequently drops those namespaces as part of
+ mail_user_drop_useless_namespaces(). This does not drop the earlier created
+ mailbox_list_notify object, causing its mailbox list index view object to
+ remain open. This causes the following panic:
+
+ Panic: Leaked view for index <path>/dovecot.list.index: Opened in
+ mailbox-list-index-notify.c:142
+
+M src/imap/cmd-notify.c
+
+2020-07-07 01:37:54 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (08398c29dd)
+
+ lib-storage: Add mail_namespace_is_removable() and use it.
+
+
+M src/lib-storage/mail-namespace.h
+M src/lib-storage/mail-user.c
+
+2020-07-05 12:47:05 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (fbeeffeef8)
+
+ lib-index: mail-index-view - Record caller source filename and line for
+ mail_index_view_clone/dup_private().
+
+ Before, this was only recorded for mail_index_view_open(), which caused the
+ view leak panic to show a useless source location, e.g.:
+
+ Panic: Leaked view for index <path>: Opened in (null):0
+
+M src/lib-index/mail-index-view-private.h
+M src/lib-index/mail-index-view.c
+
+2020-07-16 16:30:00 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (622a3427eb)
+
+ lib-fs: Set debug on event from settings
+
+
+M src/lib-fs/fs-api.c
+
+2020-06-29 11:56:02 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (49daa90133)
+
+ imap: cmd-notify - Fix segfault ocurring upon NOTIFY error.
+
+ The client_send_line() function in imap_client_notify_more() uses notify_ns
+ to obtain access to client struct, while that is available as a direct
+ function parameter. And notify_ns is invalid at the end of the for loop, so
+ dereferencing it causes a segmentation fault.
+
+M src/imap/imap-notify.c
+
+2020-07-31 18:39:54 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3fd7b277b2)
+
+ lib-compression: test-compression - Do not fail on missing handlers
+
+
+M src/lib-compression/test-compression.c
+
+2020-07-31 09:51:35 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b8ab80ca29)
+
+ lib-compression: Fix support for older libzstd
+
+
+M m4/want_zstd.m4
+M src/lib-compression/istream-zstd.c
+M src/lib-compression/ostream-zstd.c
+
+2020-07-31 09:51:16 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (cf227c6500)
+
+ lib-compression: test-compression - Ensure compression handler is found by
+ file extension
+
+
+M src/lib-compression/test-compression.c
+
+2020-06-10 15:53:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0447775763)
+
+ fs-compress: Try all compression formats when decompressing
+
+ Not just the specified compression format.
+
+M src/plugins/fs-compress/fs-compress.c
+
+2020-06-10 15:48:06 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4cd01cefd8)
+
+ fs-compress: Rename compress_fs.handler to compress_handler
+
+
+M src/plugins/fs-compress/fs-compress.c
+
+2020-07-06 14:54:48 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (15786d88fb)
+
+ lib-compression: test-compression - Add test for tiny invalid data
+
+ Ensure compression handlers return EINVAL when reading less than header size
+ data.
+
+M src/lib-compression/test-compression.c
+
+2020-07-06 19:55:10 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ba73b7f0ea)
+
+ lib-compression: istream-xz - Fix header reading
+
+ If file was smaller than xz magic size, we would get EPIPE instead of
+ EINVAL.
+
+M src/lib-compression/istream-lzma.c
+
+2020-07-06 15:42:26 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (6aaafffe3e)
+
+ lib-compression: istream-zstd - Fix header reading
+
+ If file was smaller than zstd magic size, we would get EPIPE instead of
+ EINVAL.
+
+M src/lib-compression/istream-zstd.c
+
+2020-07-06 15:41:28 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (658bc80f44)
+
+ lib-compression: istream-zlib - Fix header reading
+
+ If data size was 0 it would give EPIPE instead of EINVAL
+
+M src/lib-compression/istream-bzlib.c
+
+2020-07-06 19:16:50 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (58c9dda4c7)
+
+ lib-compression: istream-lz4 - Fix header reading
+
+ If data size was smaller than header size, lz4 reading would return -1
+ without error indicating EOF instead of EINVAL.
+
+ Broken in c1a43c6098f0caf11e8a2c1889227ec3969e410e
+
+M src/lib-compression/istream-lz4.c
+
+2020-07-06 10:12:39 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (829ba2c7da)
+
+ lib-compression: ostream-zstd - Remove o_stream_zstd_error
+
+ It has only one private caller.
+
+M src/lib-compression/ostream-zstd.c
+
+2020-07-06 10:11:51 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2341a03534)
+
+ lib-compression: ostream-zstd - Fix error handling
+
+ The error code handling in ZSTD was wrong, because zstd returns error codes
+ as large unsigned numbers which need to be retrieved with helper function.
+
+M src/lib-compression/ostream-zstd.c
+
+2020-07-06 10:10:00 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (286fa302a4)
+
+ lib-compression: istream-zstd - Remove i_stream_zstd_error
+
+ It has only one private caller.
+
+M src/lib-compression/istream-zstd.c
+
+2020-07-03 09:45:09 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (a36b524470)
+
+ lib-compression: Fix error handling for zstd
+
+ The error code handling in ZSTD was wrong, because zstd returns error codes
+ as large unsigned numbers which need to be retrieved with helper function.
+
+M src/lib-compression/istream-zstd.c
+
+2020-07-06 11:48:13 +0200 Markus Valentin <markus.valentin@open-xchange.com> (6e1f9304ca)
+
+ lib-compression: Add "unsupported" compression
+
+ This new compression is only used for testing purposes.
+
+M src/lib-compression/compression.c
+
+2020-06-30 14:28:03 +0200 Markus Valentin <markus.valentin@open-xchange.com> (e6a0c94c08)
+
+ lib-compression: Change compression_lookup_handler_from_ext return value
+
+ In order to improve the error handling for
+ compression_lookup_handler_from_ext calls return an integer rather then a
+ pointer to struct compression_handler.
+
+M src/lib-compression/compression.c
+M src/lib-compression/compression.h
+M src/lib-compression/test-compression.c
+M src/plugins/zlib/zlib-plugin.c
+
+2020-06-30 14:21:22 +0200 Markus Valentin <markus.valentin@open-xchange.com> (b6d3aedbd4)
+
+ lib-compression: Change compression_lookup_handler return value
+
+ In order to improve the error handling for compression_lookup_handler calls
+ return an integer rather then a pointer to struct compression_handler.
+
+ This change also prevents crashes when trying to use a compression format
+ that isn't compiled in.
+
+M src/lib-compression/compression.c
+M src/lib-compression/compression.h
+M src/lib-compression/test-compression.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/zlib/zlib-plugin.c
+
+2020-07-29 10:40:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (af1a6be96c)
+
+ pop3: Fix assert-crash when using pop3_deleted_flag
+
+ Broken by 6d18044e1408ce98aa8ef145a9f85895829a7bc7
+
+ Fixes: Panic: file seq-range-array.c: line 472 (seq_range_array_invert):
+ assertion failed: (range[count-1].seq2 <= max_seq)
+
+M src/pop3/pop3-commands.c
+
+2020-07-15 12:42:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (581bea0f68)
+
+ pop3-login: Fix handling commands that are sent in multiple IP packets
+
+ This happened especially if the commands were long, like XCLIENT.
+
+ This got broken by recent pop3-login changes.
+
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client-authenticate.h
+M src/pop3-login/client.c
+M src/pop3-login/client.h
+
+2020-07-10 11:00:14 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (e6f8953a6e)
+
+ lib-test: Rename s1, s2 to _temp_s1, _temp_s2 in test_assert_strcmp_idx
+
+ Some test code uses s1 and s2 as variable names.
+
+ Broken in 449539dc52070bebde3ae7babe96e6e272dd7101
+
+M src/lib-test/test-common.h
+
+2020-07-09 09:38:37 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f19d3ad349)
+
+ pop3-login: Use struct client authenticating member
+
+ This is what should be used instead of introducing our own.
+
+ Broken in 6c55437036b3de11804eb68f66d84cb164c33d63
+
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client.c
+M src/pop3-login/client.h
+
+2020-07-09 09:39:48 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (7ca712bb6f)
+
+ pop3-login: Consume line after mech probe
+
+ Otherwise we read next line empty and that causes -ERR.
+
+ Broken in 6c55437036b3de11804eb68f66d84cb164c33d63
+
+M src/pop3-login/client-authenticate.c
+
+2020-07-08 10:59:48 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (1a1b810e2d)
+
+ lib: istream - Do not attempt read past end in i_stream_next_line_finish
+
+
+M src/lib/istream.c
+M src/lib/test-istream.c
+
+2020-07-08 12:58:56 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (449539dc52)
+
+ lib-test: test_assert_strcmp_idx - Avoid double evaluation
+
+
+M src/lib-test/test-common.h
+
+2020-07-08 08:55:31 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (fb2379c54d)
+
+ pop3-login: Read command more carefully
+
+ Ensure we don't consume '\n' or '\0' when reading command, but that we
+ consume '\r' otherwise i_stream_read_next_line won't work properly.
+
+M src/pop3-login/client.c
+
+2020-07-01 12:11:43 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (1accaf55c2)
+
+ lib: Properly free event filter in unit tests
+
+
+M src/lib/test-event-filter-parser.c
+
+2020-07-03 09:11:09 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5a38eafa70)
+
+ lib: event-filter-lexer - Ignore unused parameters
+
+
+M src/lib/event-filter-lexer.l
+
+2020-05-19 22:08:25 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (757255c505)
+
+ lib: lib-signals - Use persistent signal IOs
+
+ When ioloop is switched, don't remove the IO from old ioloop and create it
+ to new ioloop. Just use persistent IOs for each separate ioloop. This can
+ reduce a lot of syscalls when ioloops are often switched.
+
+M src/lib/lib-signals.c
+M src/lib/lib-signals.h
+
+2020-05-19 21:30:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b25bd31c70)
+
+ lib: lib-signals - Add struct signal_ioloop
+
+ This struct tracks which ioloops have signal handlers.
+
+M src/lib/lib-signals.c
+
+2020-05-19 21:02:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bda17bd783)
+
+ lib: lib-signals - Replace LIBSIG_FLAG_NO_IOLOOP_AUTOMOVE with
+ LIBSIG_FLAG_IOLOOP_AUTOMOVE
+
+ There aren't many signal handlers that actually want to move automatically.
+ It's just causing accidental bugs when signal handlers are run in unexpected
+ ioloops.
+
+M src/lib-test/test-subprocess.c
+M src/lib/child-wait.c
+M src/lib/lib-signals.c
+M src/lib/lib-signals.h
+M src/lib/test-lib-signals.c
+
+2020-06-24 10:30:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (68210f3fa0)
+
+ lib: lib-signals - Fix creating non-automove signal handlers before ioloop
+
+
+M src/lib/lib-signals.c
+
+2020-05-19 21:50:25 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (aa05159613)
+
+ lib: Add io_loop_add/remove_destroy_callback()
+
+
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2020-07-02 10:09:49 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (21ea4c6033)
+
+ lib: event-filter - Use i_fatal for fatal error handling
+
+
+M src/lib/event-filter-lexer.l
+
+2020-07-02 09:56:15 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ef7cec2957)
+
+ lib: event-filter - Disable some more compiler warnings
+
+
+M src/lib/event-filter-lexer.l
+
+2020-07-02 09:55:31 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f3c879817d)
+
+ lib: event-filter - Handle allocations
+
+ This allows us to use Dovecot specific memory error handling when
+ allocations fail. Also squashes compiler warnings.
+
+M src/lib/event-filter-lexer.l
+
+2020-06-30 14:02:34 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (6c55437036)
+
+ pop3-login: Read SASL-IR properly
+
+ This fixes issue where login would fail if SASL-IR message would be too
+ long.
+
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client-authenticate.h
+M src/pop3-login/client.c
+M src/pop3-login/client.h
+
+2020-06-30 14:01:12 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (c703c8ff58)
+
+ pop3-login: Read command separately
+
+ Simplifies next commit
+
+M src/pop3-login/client.c
+
+2020-07-01 14:49:36 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b31bbec95b)
+
+ auth: db-lua - Fix user iteration
+
+ The old code did not leave the stack empty after finishing up, that would
+ lead into stack being left dirty and accumulating per each call.
+
+M src/auth/db-lua.c
+
+2020-07-01 13:18:03 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (6e84cc3cd9)
+
+ auth: db-lua - Always set callback when iterating
+
+
+M src/auth/db-lua.c
+
+2020-06-26 18:31:11 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (c76a5af14a)
+
+ lib-lua: Register panic handler
+
+
+M src/lib-lua/dlua-script.c
+
+2020-06-26 18:27:18 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3e11b97c63)
+
+ auth: db-lua - Ensure stack is empty at end
+
+
+M src/auth/db-lua.c
+
+2020-06-26 18:29:46 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (21668efa7e)
+
+ auth: db-lua - Pop dovecot after registering
+
+
+M src/auth/db-lua.c
+
+2020-06-26 12:21:40 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (919c5103b9)
+
+ auth: db-lua - Pop result after lookup
+
+ When doing lookups, the lookup result was not popped.
+
+M src/auth/db-lua.c
+
+2020-06-26 12:16:31 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d9dd3c2798)
+
+ lib-lua: Add dlua_dump_stack
+
+ Useful for debugging why stack leaks
+
+M src/lib-lua/dlua-script.c
+M src/lib-lua/dlua-script.h
+
+2020-06-29 09:55:15 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (dd87051e9e)
+
+ configure: Properly fail if bison or flex is missing
+
+ If bison or flex is missing, and are needed, fail configure.
+
+M configure.ac
+
+2020-06-26 10:08:27 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (9a6e303a95)
+
+ Ignore ylwrap
+
+
+M .gitignore
+
+2020-06-25 12:16:44 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (1e4f9b6566)
+
+ lib: Rename event filter files to be less redundantly named
+
+
+M .gitignore
+M src/lib/Makefile.am
+R098 src/lib/event-filter-parser-lexer.l src/lib/event-filter-lexer.l
+R100 src/lib/event-filter-parser-parser.y src/lib/event-filter-parser.y
+
+2020-06-10 16:44:19 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (b25cea63de)
+
+ lib: event filter parser unit tests
+
+
+M src/lib/Makefile.am
+A src/lib/test-event-filter-parser.c
+M src/lib/test-lib.inc
+
+2020-05-26 11:35:38 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (fcba1d5307)
+
+ lib: Switch event filtering to the new filter language
+
+
+M src/lib-master/stats-client.c
+M src/lib-master/test-event-stats.c
+M src/lib/Makefile.am
+D src/lib/event-filter-parser.c
+M src/lib/event-filter.c
+M src/lib/event-filter.h
+M src/stats/client-writer.c
+M src/stats/test-client-reader.c
+M src/stats/test-client-writer.c
+M src/stats/test-stats-metrics.c
+
+2020-05-29 13:09:22 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (789484d40c)
+
+ lib: Implement a new event filter language
+
+ Currently, it is not used by anything.
+
+ In general, the new syntax is very SQL-like. It is a boolean expression
+ made up of key-value comparisons, parentheses, and boolean connectors AND,
+ OR, and NOT.
+
+ The key-value comparisons are of the form:
+
+ <key> <operator> <value>
+
+ Where the key is one of:
+
+ (1) "event"
+ (2) "category"
+ (3) "source_location"
+ (4) a field name
+
+ The operator is one of:
+
+ (1) =
+ (2) >
+ (3) <
+ (4) >=
+ (5) <=
+
+ And the value is either:
+
+ (1) a single word token, or
+ (2) a quoted string
+
+ For example, to match events with the event name "abc", we would use one of
+ the following expressions. Note that white space is not significant between
+ tokens, and therefore the following are all equivalent.
+
+ event=abc
+ event="abc"
+ event = abc
+ event = "abc"
+
+ To match events with the name "abc" that include the "imap" category, we'd
+ use:
+
+ event=abc AND category=imap
+
+ To match events with the name "abc" that either include the "imap" or "pop3"
+ categories, we'd use:
+
+ event=abc AND (category=imap OR category=pop3)
+
+ Field names don't have any special prefix. Therefore, to match events than
+ have the field bytes_out equal to 10, we'd use:
+
+ bytes_out=10
+
+ To match events with bytes_out greater than or equal to 10, we'd use:
+
+ bytes_out>=10
+
+M .gitignore
+M configure.ac
+M src/lib/Makefile.am
+A src/lib/event-filter-parser-lexer.l
+A src/lib/event-filter-parser-parser.y
+M src/lib/event-filter-private.h
+M src/lib/event-filter.c
+
+2020-06-17 15:16:48 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (09a26e31a2)
+
+ lib: Allow event filter nodes to represent a log type category
+
+
+M src/lib/event-filter-private.h
+M src/lib/event-filter.c
+
+2020-06-17 15:01:28 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (64874eaacb)
+
+ lib: Future-proof the log type to event filter log type mapping
+
+ The mapping assumed that:
+
+ EVENT_FILTER_LOG_TYPE_FOO == (1 << LOG_TYPE_FOO)
+
+ While that is true today and will likely continue to be true in the future,
+ there's no reason why we can't future proof it and ensure that it always
+ works.
+
+M src/lib/event-filter.c
+
+2020-05-28 17:43:21 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (fc330b22cf)
+
+ lib: Expose event_filter_category_to_log_type to the rest of event filter
+ code
+
+
+M src/lib/event-filter-private.h
+M src/lib/event-filter.c
+
+2020-05-28 17:22:09 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (61cb32860f)
+
+ lib: Add internal code for event filter le/lt/ge/gt comparisons
+
+ These are currently unreachable.
+
+M src/lib/event-filter.c
+
+2020-05-22 13:08:24 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (4ba261b738)
+
+ lib: Rewrite event filter internals to use an abstract-syntax-tree
+
+
+M src/lib/Makefile.am
+A src/lib/event-filter-private.h
+M src/lib/event-filter.c
+
+2020-05-11 14:43:15 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (623031f7e9)
+
+ stats: Fail to load with empty metric filters
+
+
+M src/stats/stats-settings.c
+
+2020-04-21 10:32:32 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (15ff31c2fe)
+
+ stats: replace metric { } filtering with the common filter language
+
+
+M src/stats/stats-metrics.c
+M src/stats/stats-settings.c
+M src/stats/stats-settings.h
+M src/stats/test-client-reader.c
+M src/stats/test-client-writer.c
+M src/stats/test-stats-metrics.c
+
+2020-05-14 15:11:35 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (a58a505d91)
+
+ lib: Change event_filter_parse() filter arg to a single pointer
+
+ Instead of allocating a new filter, fill in a passed in one.
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+M src/lib/event-filter-parser.c
+M src/lib/event-filter.h
+
+2020-05-14 13:04:10 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (5535938ae4)
+
+ lib: Assert that we aren't trying to match using filter framents
+
+
+M src/lib/event-filter.c
+
+2020-05-14 13:03:52 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (fdff11be6c)
+
+ lib: Add event_filter_create_fragment()
+
+
+M src/lib/event-filter.c
+M src/lib/event-filter.h
+
+2020-04-21 10:08:46 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (891615285d)
+
+ lib: Move event filter query language from lib-master
+
+ This way we can use it elsewhere.
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service.c
+M src/lib/Makefile.am
+A src/lib/event-filter-parser.c
+M src/lib/event-filter.h
+
+2020-04-21 11:05:58 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (f3d6ba1bb8)
+
+ stats: openmetrics shouldn't abuse metric { } filter strings
+
+ Once upon a time it was thought that it was a good idea to output labels for
+ openmetrics metrics based on the fields used in the filter { } sub-block.
+ For the most part, this is not useful since the labels are going to be
+ either (1) always the same, or (2) one of several values.
+
+ For example, consider the following metric block:
+
+ metric foo {
+ event_name = something
+ ...
+ filter {
+ abc = BAR
+ def = BAZ*
+ }
+ }
+
+ The value of 'abc' will *always* be 'BAR' for this metric, therefore it is
+ useless to include it.
+
+ The value of 'def' will always start with 'BAZ' for this metric. While it
+ may be tempting to justify this usage, the group_by provides a superset of
+ the functionality. In other words, the following config snipped will
+ provide a superset of the same information.
+
+ metric foo {
+ event_name = something
+ ...
+ filter {
+ abc = BAR
+ def = BAZ*
+ }
+
+ group_by = abc def
+ }
+
+ Therefore, this filter { } sub-block labeling support is redundant and can
+ be safely removed.
+
+M src/stats/stats-service-openmetrics.c
+
+2020-05-11 14:07:11 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (43159ecb2c)
+
+ lib: Add a way to merge filter queries with an overridden context
+
+ This allows the consumers to construct a filter without setting the context
+ on each query, and then when merging it with another query "filling in" the
+ context on the fly.
+
+M src/lib/event-filter.c
+M src/lib/event-filter.h
+
+2020-05-11 14:03:52 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (a21b38c645)
+
+ lib: Better document event filter iteration behavior
+
+
+M src/lib/event-filter.h
+
+2020-05-29 09:53:53 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (225bbb2fa6)
+
+ auth: auth-worker-client - Fix whitespace formatting
+
+
+M src/auth/auth-worker-client.c
+
+2020-05-29 09:52:23 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2bca51fb86)
+
+ auth: auth-worker-client - Remove global auth_worker_client
+
+ All should go through connection list instead.
+
+ Broken in 317cb8aa981f856770057e23aeba98a33afc033a
+
+M src/auth/auth-worker-client.c
+
+2019-01-29 01:08:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (33658141bb)
+
+ lib-http: http-client - Fix assert panic occurring for shared clients.
+
+ Occurs as a race condition between connections becoming idle and new
+ connections being set up.
+
+ Panic was:
+
+ Panic: file http-client-queue.c: line 373
+ (http_client_queue_connection_attempt): assertion failed:
+ (http_client_peer_addr_cmp (&(*peer_idx)->shared->addr, addr) != 0)
+
+M src/lib-http/http-client-queue.c
+
+2020-05-26 19:22:52 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2937287a72)
+
+ dict: Delay uncorking ostream in iteration callback
+
+
+M src/dict/dict-commands.c
+
+2020-06-15 10:33:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8a31ae84ad)
+
+ lib-storage: istream-mail - Fix assert-crash on handling corrupted mail size
+
+ In some situations the "Cached message size smaller than expected" error
+ handling could have resulted in:
+
+ Panic: file istream.c: line 315 (i_stream_read_memarea): assertion failed:
+ (old_size <= _stream->pos - _stream->skip)
+
+M src/lib-storage/index/istream-mail.c
+
+2020-05-26 19:09:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f5790ecaa6)
+
+ dict-client: Fix potential iterator double-free
+
+ client_dict_iterate_free() didn't really work properly, because of:
+
+ ctx->finished = TRUE;
+ client_dict_iter_api_callback(ctx, cmd, extra_args);
+ client_dict_iterate_free(ctx);
+
+ Here finished=TRUE is set first (and it needs to be set first). Afterwards
+ client_dict_iter_api_callback() internally calls
+ client_dict_iterate_deinit(), which can end up freeing the iterator.
+
+M src/lib-dict/dict-client.c
+
+2020-05-26 18:59:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ed47536cf2)
+
+ dict-client: Rename struct dict_connection to dict_client_connection
+
+ dict server already has struct dict_connection. This naming conflict caused
+ problems with gdb debugging.
+
+M src/lib-dict/dict-client.c
+
+2020-05-18 20:34:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (66610c9f00)
+
+ dict: Cork the output while writing iteration output
+
+ This reduces system CPU usage by avoiding many tiny write() syscalls.
+
+ Broken by 2ff2da52146609f4459bd0f7fd603e13400cb85e
+
+M src/dict/dict-commands.c
+
+2020-04-28 11:51:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c362e6dfd9)
+
+ fts: Add fts category
+
+ For now mainly so that the fts drivers' categories can inherit from it.
+
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-api.h
+
+2020-06-11 12:59:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (203b2b709b)
+
+ imap: Fix assert-crash in COPY/MOVE when storage doesn't return UIDs
+
+ For example copying mails into virtual storage crashed.
+
+ Broken by 09413e35f764a2898cbc26cea94218eed6df5cbf
+
+ Fixes: Panic: file cmd-copy.c: line 152 (fetch_and_copy): assertion failed:
+ (copy_ctx->copy_count == seq_range_count(&copy_ctx->saved_uids))
+
+M src/imap/cmd-copy.c
+
+2020-06-09 11:40:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0fb7f89740)
+
+ lib-compression: istream-zstd - Fix infinite loop when istream is
+ nonblocking
+
+
+M src/lib-compression/istream-zstd.c
+
+2020-06-04 13:15:11 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (87f109d404)
+
+ lib-oauth2: oauth-jwt - Ensure / and . are escaped in kid
+
+
+M src/lib-oauth2/oauth2-jwt.c
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2020-06-04 10:41:32 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (654ade00c1)
+
+ dovecot-oauth2.conf.ext: Update to match code
+
+
+M doc/example-config/dovecot-oauth2.conf.ext
+
+2020-06-04 10:23:36 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (92684902de)
+
+ auth: db-oauth2 - Add more performant defaults for lib-http
+
+
+M src/auth/db-oauth2.c
+
+2020-06-03 15:40:40 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b196135db1)
+
+ lib-oauth2: Use azp to find token
+
+ This validates that the token is actually for us and also allows having
+ multiple tokens with same ID but different issuer.
+
+M src/lib-oauth2/oauth2-jwt.c
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2020-06-03 15:40:04 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ebe460f7c2)
+
+ lib-oauth2: Validate signature in jwt body process
+
+ This way we can utilize fields from body with validation.
+
+M src/lib-oauth2/oauth2-jwt.c
+
+2020-06-03 15:35:48 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (fc708711c8)
+
+ lib-oauth2: Rename algo to alg
+
+ It's the field name.
+
+M src/lib-oauth2/oauth2-jwt.c
+
+2020-06-02 15:59:37 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4b7d893712)
+
+ lib-oauth2: Add iss validation support
+
+
+M src/auth/db-oauth2.c
+M src/lib-oauth2/oauth2-jwt.c
+M src/lib-oauth2/oauth2.h
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2020-06-02 15:52:34 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b4dd39cce4)
+
+ lib-oauth2: Ensure token algorithm matches with key
+
+ Otherwise we might mistakenly use key that is not intended for the token.
+
+M src/lib-oauth2/oauth2-jwt.c
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2020-06-02 16:07:48 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (a93c1dbfdf)
+
+ lib-oauth2: oauth2-jwt - Always uppercase algorithm
+
+
+M src/lib-oauth2/oauth2-jwt.c
+
+2020-05-27 15:41:22 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b219069e81)
+
+ lib-dcrypt: dcrypt-openssl - Add helper macro for error_r handling
+
+ Avoids missing NULL checks for error_r.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2020-05-27 12:16:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (dcfd2a9177)
+
+ lib-signals: Fix lib_signals_set_expected().
+
+ The function made no sense at all.
+
+ Problem found by Coverity.
+
+M src/lib/lib-signals.c
+
+2020-04-16 07:35:25 +0200 Markus Valentin <markus.valentin@open-xchange.com> (53155cad72)
+
+ lib-sql: driver-cassandra - Handle more Cassandra errors as uncertain
+
+ Treat CASS_ERROR_LIB_WRITE_ERROR as uncertain error.
+
+M src/lib-sql/driver-cassandra.c
+
+2020-04-16 07:32:36 +0200 Markus Valentin <markus.valentin@open-xchange.com> (c3d98cebbd)
+
+ lib-sql: driver-cassandra - Extract uncertain ascertainment to function
+
+
+M src/lib-sql/driver-cassandra.c
+
+2020-05-08 03:02:22 +0300 Juha-Petri Tyrkkö <juha-petri.tyrkkoe@open-xchange.com> (ce724fc647)
+
+ lib-fs: Prevent the release of a nonexistent dict.
+
+
+M src/lib-fs/fs-dict.c
+
+2020-05-27 09:09:45 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2acca6a60d)
+
+ auth: db-oauth2 - Remove extra oauth2 prefix from log messages
+
+
+M src/auth/db-oauth2.c
+
+2020-05-26 12:46:29 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (139fb234bb)
+
+ auth, lib-oauth2: Add local introspection mode
+
+ Local introspection attempts to decode token always. This will also happen
+ with password grant, saving an extra roundtrip to oauth2 server.
+
+M src/auth/db-oauth2.c
+M src/lib-oauth2/oauth2.h
+
+2020-05-26 09:53:26 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b2eed05ed0)
+
+ auth: db-oauth2 - Use common code for lookup and password grant
+
+
+M src/auth/db-oauth2.c
+
+2020-05-26 13:38:09 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (1cb8ec93cf)
+
+ auth: db-oauth2 - Clarify how introspect gets called
+
+ This should make it more obvious when introspection actually gets called
+ after lookup.
+
+ Introspection failure is now also moved earlier, before the request would
+ fail later because not all fields are available.
+
+M src/auth/db-oauth2.c
+
+2020-05-26 12:12:32 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (15c893ea47)
+
+ auth: db-oauth2 - Add token parameter to db_oauth2_local_validation
+
+
+M src/auth/db-oauth2.c
+
+2020-05-25 21:42:08 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (db7f5e6e54)
+
+ auth: db-oauth2 - Move db_oauth2_local_validation
+
+ Simplifies next change
+
+M src/auth/db-oauth2.c
+
+2020-05-25 21:47:35 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9e2507637e)
+
+ auth: db-oauth2 - Move db_oauth2_lookup_continue
+
+ Simplifies next change
+
+M src/auth/db-oauth2.c
+
+2020-05-26 21:24:02 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (124861cc78)
+
+ auth: db-oauth2 - Do not fallback into remote validation anymore
+
+ It makes no sense anymore with introspection_mode=local. One should make
+ another passdb.
+
+M src/auth/db-oauth2.c
+
+2020-05-25 21:18:45 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (de757d9e27)
+
+ auth: db-oauth2 - Fix whitespace issue
+
+
+M src/auth/db-oauth2.c
+
+2020-05-26 21:22:51 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (e91e4a64ed)
+
+ lib-oauth2: Use hash instead of hash2
+
+ Hash2 doesn't work as we want. Fixes key caching to actually work.
+
+M src/lib-oauth2/oauth2-key-cache.c
+
+2020-05-25 16:19:14 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (bf25eab15e)
+
+ lib-oauth2: Allow nbf and iat to be 0
+
+ Some implementations set these intentionally to 0.
+
+M src/lib-oauth2/oauth2-jwt.c
+M src/lib-oauth2/test-oauth2-jwt.c
+
+2020-05-01 17:26:14 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0c10ac7534)
+
+ lmtp: Support forwarding passdb's forward_* fields via RCPT TO XRCPTFORWARD
+ parameter.
+
+
+M src/lmtp/lmtp-client.c
+M src/lmtp/lmtp-commands.c
+M src/lmtp/lmtp-common.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-recipient.h
+
+2020-05-01 17:26:03 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (82bf153436)
+
+ lmtp: lmtp-proxy - Adjust RCPT parameter amendment code for expansion.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2020-05-01 17:25:46 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (8cbb7b1310)
+
+ lmtp: lmtp-proxy - Wait for client connection login before submitting RCPT
+ command.
+
+ This allows evaluating the server capabilities while composing the RCPT
+ command.
+
+M src/lmtp/lmtp-proxy.c
+
+2020-05-01 17:25:27 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4289df7858)
+
+ lmtp: lmtp-proxy - Make LMTP connection object available in proxy connection
+ struct.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2020-05-02 00:05:06 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2c9a0e54d6)
+
+ lmtp: lmtp-client - Base client trust on the real remote IP.
+
+ LMTP uses real_remote_ip for checking the trust. This means:
+ * LMTP proxy checks MTA's IP address
+ * LMTP backend checks LMTP proxy's IP address
+ * If haproxy is used in front of this LMTP server, the haproxy's IP address
+ is
+ checked. This may not be what is always wanted, but in LMTP backend it
+ wouldn't be correct to check the original client IP (= MTA IP) either.
+
+M src/lmtp/lmtp-client.c
+
+2020-04-26 11:02:47 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (5e11257b83)
+
+ lib-storage: mail-storage-service - Add support for sending forward_fields
+ in userdb lookup.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2020-04-26 10:57:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (91dfc52315)
+
+ lib-auth: auth-master - Add support for sending forward_fields.
+
+
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+
+2020-04-30 23:57:41 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d2a8e4e2e0)
+
+ lib-smtp: smtp-client-connection - Allow smtp_client_connection_connect() to
+ be called several times.
+
+ This change allows calling smtp_client_connection_connect() several times
+ with different login callbacks. If the connection is already available, the
+ provided login callback is called almost immediately from the ioloop. This
+ way, several parallel asynchronous activities using the same connection can
+ wait for its availability and don't need to check whether it is available
+ already. This is mostly useful to obtain the capabilities of the server.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2020-05-01 13:02:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (05828ad2c1)
+
+ lib-smtp: smtp-client-connection - Record login reply.
+
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2020-04-22 02:27:05 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d0fb4283ec)
+
+ lib-smtp: smtp-params - Add support for xtext-encoding/decoding extra
+ parameters.
+
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+
+2020-04-22 23:24:21 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (dc3de46652)
+
+ lib-smtp: smtp-params - Split off smtp_params_equal() from
+ smtp_params_rcpt_equal().
+
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+
+2020-04-22 23:03:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b9797261bb)
+
+ lib-smtp: smtp-params - Remove code duplication between
+ smtp_params_*_write().
+
+
+M src/lib-smtp/smtp-params.c
+
+2020-04-22 22:55:54 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (8ec6e1101b)
+
+ lib-smtp: smtp-params - Remove code duplication between
+ smtp_params_*_copy().
+
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+
+2020-04-22 22:32:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c86fd10a18)
+
+ lib-smtp: smtp-params - Remove code duplication between
+ smtp_params_*_drop_extra().
+
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+
+2020-04-22 22:26:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6f68a5d763)
+
+ lib-smtp: smtp-params - Remove code duplication between
+ smtp_params_*_add_extra().
+
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+
+2020-04-22 22:15:43 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (5830426484)
+
+ lib-smtp: smtp-params - Remove code duplication between
+ smtp_params_*_get_extra().
+
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+
+2020-04-22 21:52:14 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4a2bfa7b95)
+
+ lib-smtp: smtp-syntax - Add smtp_xtext_decode().
+
+
+M src/lib-smtp/smtp-syntax.c
+M src/lib-smtp/smtp-syntax.h
+
+2020-04-27 11:50:13 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2f205f294e)
+
+ lib-smtp: smtp-params - Rename smtp_params_rcpt_equals() to
+ smtp_params_rcpt_equal().
+
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+M src/lib-smtp/smtp-server-transaction.c
+
+2020-05-01 17:25:05 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a077472e58)
+
+ lmpt: Reformat lmtp-proxy.c.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2020-05-01 17:24:47 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (11b8a9512f)
+
+ lmtp: Reformat lmtp-commands.c.
+
+
+M src/lmtp/lmtp-commands.c
+
+2020-05-04 22:25:47 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (55b083e48b)
+
+ lmtp: Reformat lmtp-client.c.
+
+
+M src/lmtp/lmtp-client.c
+
+2020-05-02 02:34:34 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (210e9058ff)
+
+ lib-smtp: Reformat smtp-client-connection.h.
+
+
+M src/lib-smtp/smtp-client-connection.h
+
+2020-05-01 17:16:01 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (45689522bf)
+
+ lib-smtp: Reformat smtp-client-connection.c.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2020-05-19 19:11:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2507d5576a)
+
+ lib-storage: mail_search_args_init() - Expand "*" in SEARCH_SEQSET
+
+ This is now required by the IMAP MOVE code to correctly handle
+ "MOVE * folder".
+
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+
+2020-05-19 18:31:31 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6a378e6f55)
+
+ imap: imap_search_seqset_iter_next() - Assert-crash if iteration doesn't
+ progress
+
+ This can be done easily with seq_range_array_remove_seq_range(). This is
+ cleaner to use than invert+intersect. I originally didn't notice that this
+ function existed.
+
+M src/imap/imap-search-args.c
+
+2020-05-19 19:10:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (947774f899)
+
+ lib: Add unit test for seq_range_array_remove_range()
+
+
+M src/lib/test-seq-range-array.c
+
+2020-05-18 12:01:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3c9a50165a)
+
+ lib-storage: mail_search_args_init() - Fix converting UIDSET * to SEQSET on
+ empty mailbox
+
+ The "*" caused seq=0 to be added to the seqset. This could have caused
+ unexpected issues.
+
+ Fixes at least UID MOVE on empty mailbox: Panic: file seq-range-array.c:
+ line 471 (seq_range_array_invert): assertion failed: (range[0].seq1 >=
+ min_seq)
+
+ Before 1a5d89d2bfa031903e88af9aff7eafc1b373d521 this assert-crash didn't
+ happen, but it went to infinite loop.
+
+M src/lib-storage/mail-search.c
+
+2020-04-11 19:19:41 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b8116a9c40)
+
+ lib-imap-client: test-imapc-client - Use the new sub-process test API.
+
+ This makes an effort to terminate server processes gracefully. Killing them
+ bluntly hampers test coverage measurement and valgrind testing.
+
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-11 18:54:06 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (e1c5779d82)
+
+ lib-imap-client: test-imapc-client - Add server debug messages.
+
+
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-11 13:44:45 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (077e4752df)
+
+ lib-imap-client: test-imapc-client - Split off test_run_server/client() from
+ test_run_client_server().
+
+
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-11 12:28:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (7de3f74782)
+
+ lib-imap-client: test-imapc-client - Add log prefixes to distinguish client
+ and server debug messages.
+
+
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-11 10:02:12 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2a3f08a3f8)
+
+ lib-imap-client: test-imapc-client - Make sure the child server process is
+ killed.
+
+
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-11 10:05:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (1eeb829538)
+
+ lib-imap-client: test-imapc-client - Use getopt() for parsing command line
+ arguments.
+
+
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-11 10:00:32 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c93c1cdde3)
+
+ lib-imap-client: test-imapc-client - Add structural comments.
+
+
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-11 09:30:29 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ad73b51c0c)
+
+ lib-imap-client: test-imapc-client - Move client functions.
+
+
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-13 18:49:12 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (dfe0bdb29f)
+
+ lib-imap-client: test-imapc-client - Move server functions.
+
+
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-11 09:27:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (7af50c6dd4)
+
+ lib-imap-client: test-imapc-client - Move test_open_server_fd().
+
+
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-11 13:27:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c4e2843bb2)
+
+ lib-imap-client: Reformat test-imapc-client.c.
+
+
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-12 11:51:31 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (cf04833d7c)
+
+ lib-imap-client: Remove unnecessary "Authentication failed: disconnected"
+ errors
+
+ If connection failed during login, there were always two log lines logged.
+ The first line is enough.
+
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-12 11:34:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c91b90cccd)
+
+ lib-imap-client: test-imapc-client - Client now sends LOGOUT and server
+ expects it
+
+
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-12 11:30:28 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b64215b17e)
+
+ lib-imap-client: test-imapc-client - login_hangs: Client stopped too early
+
+
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-12 11:29:06 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e00a29ea4f)
+
+ lib-imap-client: test-imapc-client - login_hangs: Server checked wrong
+ connection's input
+
+
+M src/lib-imap-client/test-imapc-client.c
+
+2020-04-11 00:47:21 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (e37370c0e1)
+
+ master: test-master-login-auth - Use the new sub-process test API.
+
+ This makes an effort to terminate server processes gracefully. Killing them
+ bluntly hampers test coverage measurement and valgrind testing.
+
+M src/master/test-master-login-auth.c
+
+2020-04-11 13:51:49 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4f0b28f3fe)
+
+ master: test-master-login-auth - Split off test_run_server/client() from
+ test_run_client_server().
+
+
+M src/master/test-master-login-auth.c
+
+2020-04-11 00:40:19 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d7251f0f6d)
+
+ master: test-master-login-auth - Rename test_server_kill() to
+ test_servers_kill_forced().
+
+
+M src/master/test-master-login-auth.c
+
+2020-04-11 00:38:26 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b0692354a7)
+
+ master: test-master-login-auth - Move global initialization to
+ main_init/deinit().
+
+
+M src/master/test-master-login-auth.c
+
+2020-04-11 00:32:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (296c8cba36)
+
+ master: test-master-login-auth - Avoid using sleep()/usleep().
+
+
+M src/master/test-master-login-auth.c
+
+2020-04-13 18:41:37 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (5b2effd70c)
+
+ master: test-master-login-auth - Use lib-signals API.
+
+ Using signal() is not portable for installing a signal handler.
+
+M src/master/test-master-login-auth.c
+
+2020-04-11 00:29:42 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2de5a76c67)
+
+ master: test-master-login-auth - Ignore SIGPIPE.
+
+
+M src/master/test-master-login-auth.c
+
+2020-04-13 18:33:08 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (e8af3c18a1)
+
+ master: test-master-login-auth - Don't ignore SIGCHLD.
+
+
+M src/master/test-master-login-auth.c
+
+2020-04-11 00:26:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6aaa25c6a0)
+
+ master: test-master-login-auth - Add log prefixes to distinguish client and
+ server debug messages.
+
+
+M src/master/test-master-login-auth.c
+
+2020-04-11 00:18:08 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (de695e729b)
+
+ master: test-auth-master - Use the new sub-process test API.
+
+ This makes an effort to terminate server processes gracefully. Killing them
+ bluntly hampers test coverage measurement and valgrind testing.
+
+M src/master/test-auth-master.c
+
+2020-04-11 00:11:09 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a66f5b0fb6)
+
+ master: test-auth-master - Split off test_run_server/client() from
+ test_run_client_server().
+
+
+M src/master/test-auth-master.c
+
+2020-04-11 00:04:32 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (af91b26444)
+
+ master: test-auth-master - Rename test_server_kill() to
+ test_servers_kill_forced().
+
+
+M src/master/test-auth-master.c
+
+2020-04-11 00:02:17 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4d1c6c0a6e)
+
+ master: test-auth-master - Move global initialization to main_init/deinit().
+
+
+M src/master/test-auth-master.c
+
+2020-04-10 23:56:56 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3408f38934)
+
+ master: test-auth-master - Avoid using sleep()/usleep().
+
+
+M src/master/test-auth-master.c
+
+2020-04-13 18:39:56 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (62d0a3410a)
+
+ master: test-auth-master - Use lib-signals API.
+
+ Using signal() is not portable for installing a signal handler.
+
+M src/master/test-auth-master.c
+
+2020-04-10 23:54:29 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9a80c1fe66)
+
+ master: test-auth-master - Ignore SIGPIPE.
+
+
+M src/master/test-auth-master.c
+
+2020-04-13 18:30:54 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0e4019e254)
+
+ master: test-auth-master - Don't ignore SIGCHLD.
+
+
+M src/master/test-auth-master.c
+
+2020-04-10 23:52:20 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b1e2a6537f)
+
+ master: test-auth-master - Add log prefixes to distinguish client and server
+ debug messages.
+
+
+M src/master/test-auth-master.c
+
+2020-04-10 23:43:07 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (bb2da34c42)
+
+ master: test-auth-client - Use the new sub-process test API.
+
+ This makes an effort to terminate server processes gracefully. Killing them
+ bluntly hampers test coverage measurement and valgrind testing.
+
+M src/master/test-auth-client.c
+
+2020-04-10 22:17:05 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (1c40aa4946)
+
+ master: test-auth-client - Split off test_run_server/client() from
+ test_run_client_server().
+
+
+M src/master/test-auth-client.c
+
+2020-04-10 22:07:48 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (676a4ea66f)
+
+ master: test-auth-client - Rename test_server_kill() to
+ test_servers_kill_forced().
+
+
+M src/master/test-auth-client.c
+
+2020-04-10 21:59:47 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (dab562f599)
+
+ master: test-auth-client - Move global initialization to main_init/deinit().
+
+
+M src/master/test-auth-client.c
+
+2020-04-10 21:53:06 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (03c5dbbd4b)
+
+ master: test-auth-client - Avoid using sleep()/usleep().
+
+
+M src/master/test-auth-client.c
+
+2020-04-13 18:37:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f1c60f48e7)
+
+ master: test-auth-client - Use lib-signals API.
+
+ Using signal() is not portable for installing a signal handler.
+
+M src/master/test-auth-client.c
+
+2020-04-10 21:50:16 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (581b5c0bc0)
+
+ master: test-auth-client - Ignore SIGPIPE.
+
+
+M src/master/test-auth-client.c
+
+2020-04-13 18:28:19 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2819e392b8)
+
+ master: test-auth-client - Don't ignore SIGCHLD.
+
+
+M src/master/test-auth-client.c
+
+2020-04-10 21:48:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (bd579b1023)
+
+ master: test-auth-client - Add log prefixes to distinguish client and server
+ debug messages.
+
+
+M src/master/test-auth-client.c
+
+2020-04-11 12:58:10 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (205f5cbf7b)
+
+ master: Reformat test-master-login-auth.c.
+
+
+M src/master/test-master-login-auth.c
+
+2020-04-11 12:53:40 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b4ee4d3cdc)
+
+ master: Reformat test-auth-master.c.
+
+
+M src/master/test-auth-master.c
+
+2020-04-11 12:42:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6e4d82c689)
+
+ master: Reformat test-auth-client.c.
+
+
+M src/master/test-auth-client.c
+
+2020-05-14 16:05:00 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0890ee4883)
+
+ lib-smtp: test-smtp-submit - Use the new sub-process test API.
+
+ This makes an effort to terminate server processes gracefully. Killing them
+ bluntly hampers test coverage measurement and valgrind testing.
+
+M src/lib-smtp/test-smtp-submit.c
+
+2020-04-09 16:47:45 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (aba5f64eed)
+
+ lib-smtp: test-smtp-submit - Split off test_run_server/client() from
+ test_run_client_server().
+
+
+M src/lib-smtp/test-smtp-submit.c
+
+2020-04-09 11:05:10 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (990e820062)
+
+ lib-smtp: test-smtp-submit - Rename test_servers_kill_all() to
+ test_servers_kill_forced().
+
+
+M src/lib-smtp/test-smtp-submit.c
+
+2020-04-09 10:53:40 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (7c9599e3dc)
+
+ lib-smtp: test-smtp-submit - Move global initialization to
+ main_init/deinit().
+
+
+M src/lib-smtp/test-smtp-submit.c
+
+2020-04-09 10:56:07 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (1dc769d5bb)
+
+ lib-smtp: test-smtp-submit - Avoid using sleep().
+
+
+M src/lib-smtp/test-smtp-submit.c
+
+2020-04-13 17:52:09 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (96f1ef1504)
+
+ lib-smtp: test-smtp-submit - Use lib-signals API.
+
+ Using signal() is not portable for installing a signal handler.
+
+M src/lib-smtp/test-smtp-submit.c
+
+2020-04-09 10:40:23 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a1669c00ae)
+
+ lib-smtp: test-smtp-submit - Ignore SIGPIPE.
+
+
+M src/lib-smtp/test-smtp-submit.c
+
+2020-04-13 17:45:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9cb98b69cc)
+
+ lib-smtp: test-smtp-submit - Don't ignore SIGCHLD.
+
+
+M src/lib-smtp/test-smtp-submit.c
+
+2020-04-09 10:37:28 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (945ce4e152)
+
+ lib-smtp: test-smtp-submit - Add log prefixes to distinguish client and
+ server debug messages.
+
+
+M src/lib-smtp/test-smtp-submit.c
+
+2020-04-09 00:57:15 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (856440da77)
+
+ lib-smtp: test-smtp-server-errors - Use the new sub-process test API.
+
+ This makes an effort to terminate client processes gracefully. Killing them
+ bluntly hampers test coverage measurement and valgrind testing.
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2020-04-09 00:30:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (99f3dc5ae2)
+
+ lib-smtp: test-smtp-server-errors - Split off test_run_client/server() from
+ test_run_client_server().
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2020-04-09 00:23:46 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f37980b708)
+
+ lib-smtp: test-smtp-server-errors - Rename test_clients_kill_all() to
+ test_clients_kill_forced().
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2020-04-09 10:50:03 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (eb954e32b1)
+
+ lib-smtp: test-smtp-server-errors - Move global initialization to
+ main_init/deinit().
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2020-04-09 00:18:32 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (fe2c2c6b4b)
+
+ lib-smtp: test-smtp-server-errors - Fix name of client_connection_deinit().
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2020-04-13 15:40:23 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (7afecadf1e)
+
+ lib-smtp: test-smtp-server-errors - Use lib-signals API.
+
+ Using signal() is not portable for installing a signal handler.
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2020-04-09 00:16:54 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ecf3cca0f0)
+
+ lib-smtp: test-smtp-server-errors - Ignore SIGPIPE.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2020-04-13 15:15:34 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6b5e76662d)
+
+ lib-smtp: test-smtp-server-errors - Remove useless child signal handler.
+
+ Restructure code to better match equivalent unit tests.
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2020-04-09 00:15:24 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (cf5d484a5e)
+
+ lib-smtp: test-smtp-server-errors - Adjust log prefix code to match other
+ similar unit tests.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2020-04-08 23:49:31 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6e29b58293)
+
+ lib-smtp: test-smtp-client-errors - Use the new sub-process test API.
+
+ This makes an effort to terminate server processes gracefully. Killing them
+ bluntly hampers test coverage measurement and valgrind testing.
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2020-04-08 22:37:59 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (fc19d780fd)
+
+ lib-smtp: test-smtp-client-errors - Split off test_run_server/dns/client()
+ from test_run_client_server().
+
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2020-04-08 22:27:46 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ac4ce94d6c)
+
+ lib-smtp: test-smtp-client-errors - Rename test_servers_kill_all() to
+ test_servers_kill_forced().
+
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2020-04-08 22:24:47 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (74afe6d2a6)
+
+ lib-smtp: test-smtp-client-errors - Move global initialization to
+ main_init/deinit().
+
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2020-04-08 21:10:08 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d82f9ec0b1)
+
+ lib-smtp: test-smtp-client-errors - Avoid using sleep().
+
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2020-04-13 14:18:05 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a9c1ea5fa1)
+
+ lib-smtp: test-smtp-client-errors - Use lib-signals API.
+
+ Using signal() is not portable for installing a signal handler.
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2020-04-08 21:04:32 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (462d42a287)
+
+ lib-smtp: test-smtp-client-errors - Generally ignore SIGPIPE.
+
+ Remove per-process code that achieves the same.
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2020-04-13 14:12:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (950da3273d)
+
+ lib-smtp: test-smtp-client-errors - Don't ignore SIGCHLD.
+
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2020-04-13 14:44:31 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (74c1251a60)
+
+ lib-smtp: test-smtp-client-errors - Turn server-side payload read error into
+ a debug message.
+
+ This can readily occur during tests and must not issue a real error message.
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2020-04-08 21:02:18 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (735b90a5e5)
+
+ lib-smtp: test-smtp-client-errors - Add log prefixes to distinguish client
+ and server debug messages.
+
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2020-04-05 02:40:33 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3343d5e11a)
+
+ lib-smtp: test-smtp-payload - Use the new sub-process test API.
+
+ This makes an effort to terminate server processes gracefully. Killing them
+ bluntly hampers test coverage measurement and valgrind testing.
+
+M src/lib-smtp/test-smtp-payload.c
+
+2020-04-08 00:04:05 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (08fefcfffc)
+
+ lib-smtp: test-smtp-payload - Split off test_run_client/server() from
+ test_run_client_server().
+
+
+M src/lib-smtp/test-smtp-payload.c
+
+2020-04-07 23:48:44 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3f02f6ea98)
+
+ lib-smtp: test-smtp-payload - Adjust log prefix code to match other similar
+ unit tests.
+
+
+M src/lib-smtp/test-smtp-payload.c
+
+2020-04-05 02:34:29 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (81be5e7e6b)
+
+ lib-smtp: test-smtp-payload - Rename test_server_kill() to
+ test_server_kill_forced().
+
+
+M src/lib-smtp/test-smtp-payload.c
+
+2020-04-05 02:32:48 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (671854cfc0)
+
+ lib-smtp: test-smtp-payload - Move global initialization to
+ main_init/deinit().
+
+
+M src/lib-smtp/test-smtp-payload.c
+
+2020-04-05 02:25:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0fa20bd854)
+
+ lib-smtp: test-smtp-payload - Call test_files_init/deinit() in
+ test_run_client_server().
+
+
+M src/lib-smtp/test-smtp-payload.c
+
+2020-04-13 13:28:51 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (75305000aa)
+
+ lib-smtp: test-smtp-payload - Use lib-signals API.
+
+ Using signal() is not portable for installing a signal handler.
+
+M src/lib-smtp/test-smtp-payload.c
+
+2020-04-13 13:26:04 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (04097a659f)
+
+ lib-smtp: test-smtp-payload - Properly exit child process.
+
+
+M src/lib-smtp/test-smtp-payload.c
+
+2020-04-13 13:23:15 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (13d7680f2e)
+
+ lib-smtp: test-smtp-payload - Don't ignore SIGCHLD.
+
+
+M src/lib-smtp/test-smtp-payload.c
+
+2020-04-10 17:30:51 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (eebbe6f4b1)
+
+ lib-master: master-service - Add master_service_deinit_forked().
+
+
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2020-05-25 17:16:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (7fa64eb166)
+
+ lib-smtp: test-smtp-server-errors - Fix "many bad commands" test.
+
+ It didn't properly handle the two parallel connections. Removed a useless
+ context struct definition. Modified debug message for easier debugging.
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2020-04-09 01:33:22 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3c00c3590b)
+
+ lib-smtp: Reformat test-smtp-submit.c.
+
+
+M src/lib-smtp/test-smtp-submit.c
+
+2020-04-09 00:07:36 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f22c6c3006)
+
+ lib-smtp: Reformat test-smtp-server-errors.c.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2020-04-08 22:05:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (10667b6a9d)
+
+ lib-smtp: Reformat test-smtp-client-errors.c.
+
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2020-04-05 02:22:50 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c8e707ebeb)
+
+ lib-smtp: Reformat test-smtp-payload.c.
+
+
+M src/lib-smtp/test-smtp-payload.c
+
+2020-05-23 00:36:48 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (647188820e)
+
+ lib-program-client: test-program-client-local - Add test for running client
+ without I/O or timeouts.
+
+
+M src/lib-program-client/test-program-client-local.c
+
+2019-02-21 02:37:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (be38004f75)
+
+ lib: child-wait - Mark the SIGCHLD handler as expected when waiting for
+ child.
+
+ This alows waiting for a child to be the only activity on the ioloop.
+
+M src/lib/child-wait.c
+
+2019-02-21 02:34:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d39b532db5)
+
+ lib: lib-signals - Implement lib_signals_set_expected().
+
+ This is a promise that the indicated delayed signal will occur eventually,
+ so that the associated ioloop will eventually terminate. This allows the
+ lib-signal io to be alone on the ioloop.
+
+M src/lib/lib-signals.c
+M src/lib/lib-signals.h
+
+2019-02-21 02:40:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (349029952a)
+
+ lib-program-client: program-client-local - Restructure
+ program_client_local_disconnect().
+
+ Simplify the handling of the program timeout and improve the debug messages.
+
+M src/lib-program-client/program-client-local.c
+
+2020-05-13 15:04:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9bab1a7ef7)
+
+ login-proxy: Add proxy_host_immediate_failure_after=<time> passdb extra
+ field
+
+ If host has only seen connect failures for this long, stop attempting to
+ connect there (except with one connection) and instead return immediate
+ failure. This used to be hardcoded to 30 seconds, which can now be changed.
+ Most importantly 0 means that this functionality is disabled entirely.
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+
+2020-05-07 12:19:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (29e0ae6d4a)
+
+ pop3-proxy: Add [SYS/TEMP] prefix to temporary login failures
+
+
+M src/pop3-login/pop3-proxy.c
+
+2020-05-06 20:05:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4a35f8047f)
+
+ login-proxy: Support retrying reconnection on temporary authentication
+ failures
+
+
+M src/imap-login/imap-proxy.c
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+M src/pop3-login/pop3-proxy.c
+M src/submission-login/submission-proxy.c
+
+2020-05-07 12:58:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b4bfd8ab6f)
+
+ submission-proxy: Add asserts to clarify pending_auth's lifetime
+
+
+M src/submission-login/submission-proxy.c
+
+2020-05-06 21:31:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0c2374054e)
+
+ submission-proxy: Fix internal authentication failure response code
+
+
+M src/submission-login/submission-proxy.c
+
+2020-05-06 20:21:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a1acd71cf6)
+
+ *-login: Change proxy_error() API to proxy_failed() API
+
+ The protocol-specific code is now able to control better what kind of a
+ reply is sent to client on proxying failure.
+
+M src/imap-login/imap-login-client.c
+M src/imap-login/imap-proxy.c
+M src/imap-login/imap-proxy.h
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+M src/login-common/login-proxy.h
+M src/pop3-login/client.c
+M src/pop3-login/pop3-proxy.c
+M src/pop3-login/pop3-proxy.h
+M src/submission-login/client.c
+M src/submission-login/submission-proxy.c
+M src/submission-login/submission-proxy.h
+
+2020-05-03 22:28:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d6887ccf32)
+
+ login-proxy: client_proxy_failed() - Move line sending to caller
+
+
+M src/login-common/client-common-auth.c
+
+2020-05-03 22:24:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e313428952)
+
+ login-proxy: Support reconnecting on most types of failures
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+
+2020-05-06 16:26:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3e251ae841)
+
+ *-login: Remove redundant/early freeing of proxy_password
+
+ The login-common code already does this after the proxying has failed or
+ succeeded. Having these duplicate frees immediately after sending the
+ password isn't all that useful, and most importantly they make it impossible
+ to reconnect after the password has been sent.
+
+M src/imap-login/imap-proxy.c
+M src/pop3-login/pop3-proxy.c
+M src/submission-login/submission-proxy.c
+
+2020-05-06 16:52:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e7880953de)
+
+ imap-login: Don't use proxy_password for checking if authentication is still
+ needed
+
+ Required for the next commit.
+
+M src/imap-login/imap-proxy.c
+
+2020-05-06 16:13:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (29abe35e3e)
+
+ login-proxy: Don't reconnect anymore when timeout is too close
+
+
+M src/login-common/login-proxy.c
+
+2020-05-03 22:05:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (025a8c8369)
+
+ login-proxy: Log auth failures centrally in login_proxy_failed()
+
+
+M src/imap-login/imap-proxy.c
+M src/login-common/login-proxy.c
+M src/pop3-login/pop3-proxy.c
+M src/submission-login/submission-proxy.c
+
+2020-04-29 12:51:52 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f61c5da816)
+
+ login-proxy: Support reconnecting also when connect() immediately fails
+
+ This can happen when connecting to localhost.
+
+M src/login-common/login-proxy.c
+
+2020-04-29 15:23:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6398fb2415)
+
+ login-proxy: Change client_proxy_failed() to be static
+
+ The other client_proxy_*_failed() should be used instead.
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+
+2020-04-30 12:23:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (583a4d846c)
+
+ login-proxy: Don't call input_callback on destroy
+
+ All the failure code paths now call failure_callback instead.
+
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+
+2020-05-03 18:41:58 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9940fda5dd)
+
+ login-proxy: login_proxy_new() - Call login_proxy_failed() also when
+ returning -1
+
+ This also changes login_proxy_new() to internally send the failure message
+ to client, so caller doesn't have to do it.
+
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+
+2020-05-03 18:35:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e3aa7687d6)
+
+ login-proxy: Replace e_error()+client_proxy_failed() calls with
+ login_proxy_failed()
+
+ The event parameter for login_proxy_failed() allows creating named events
+ using passthrough events, but for now there aren't any named events.
+
+M src/imap-login/imap-proxy.c
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+M src/pop3-login/pop3-proxy.c
+M src/submission-login/submission-proxy.c
+
+2020-04-29 13:40:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a32a10cf66)
+
+ login-proxy: Handle auth failures with login_proxy_failed()
+
+
+M src/imap-login/imap-proxy.c
+M src/login-common/client-common-auth.c
+M src/pop3-login/pop3-proxy.c
+M src/submission-login/submission-proxy.c
+
+2020-04-30 12:20:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (da9528170e)
+
+ login-proxy: login_proxy_connect() - Call login_proxy_free() internally
+
+
+M src/login-common/login-proxy.c
+
+2020-05-03 17:42:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1091b6f065)
+
+ login-proxy: login_proxy_new() - Add failure callback
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+
+2020-05-03 17:30:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (28e0b86d07)
+
+ login-proxy: Rename proxy_callback_t to login_proxy_input_callback_t
+
+
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+
+2020-05-03 17:08:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3a699c24e7)
+
+ login-proxy: proxy_log_connect_error() - Move the actual logging to callers
+
+
+M src/login-common/login-proxy.c
+
+2020-04-29 15:18:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7df003190d)
+
+ login-proxy: login_proxy_starttls() - destroy proxy internally on failure
+
+
+M src/imap-login/imap-proxy.c
+M src/login-common/login-proxy.c
+M src/pop3-login/pop3-proxy.c
+M src/submission-login/submission-proxy.c
+
+2020-04-29 16:14:06 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (42878bf253)
+
+ submission-login: proxy - Change impossible code path to assert
+
+
+M src/submission-login/submission-proxy.c
+
+2020-04-29 13:55:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (517e8bac37)
+
+ pop3-login: Move client_proxy_failed() calls next to error logging
+
+
+M src/pop3-login/pop3-proxy.c
+
+2020-04-29 13:55:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1e69b98258)
+
+ submission-login: proxy - Some code paths were missing client_proxy_failed()
+ calls
+
+ Move client_proxy_failed() calls right next to the error logging so it's
+ clearer where they are needed.
+
+M src/submission-login/submission-proxy.c
+
+2020-04-29 13:51:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f763dc3634)
+
+ imap-login: proxy - Some code paths were missing client_proxy_failed() calls
+
+ Move client_proxy_failed() calls right next to the error logging so it's
+ clearer where they are needed.
+
+M src/imap-login/imap-proxy.c
+
+2020-04-29 12:52:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3ab5798b56)
+
+ login-proxy: Improve logging for successful logins
+
+ Include how long it took to do the login and how many reconnects.
+
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+
+2020-04-30 18:10:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6b864fb289)
+
+ login-proxy: Connect timeout error handling should be the same as elsewhere
+
+
+M src/login-common/login-proxy.c
+
+2020-04-29 12:14:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (95d70b58f7)
+
+ login-proxy: Split off proxy_connect_failed()
+
+ The bool return value will be used in a later commit.
+
+M src/login-common/login-proxy.c
+
+2020-04-29 11:49:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7244aab52c)
+
+ login-proxy: Log a debug message whenever reconnecting after connect failure
+
+
+M src/login-common/login-proxy.c
+
+2020-04-24 15:34:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (77f66dbb31)
+
+ login-proxy: Parse proxy_timeout passdb extra field as milliseconds string
+
+ If it's a number, it's still parsed as number of seconds for backwards
+ compatibility. Otherwise it supports parsing given time unit, including
+ milliseconds.
+
+M src/login-common/client-common-auth.c
+
+2020-05-06 16:18:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c729f548d3)
+
+ login-proxy: Add login_proxy_max_reconnects setting
+
+
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+
+2020-04-24 15:17:06 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0764acda6e)
+
+ login-proxy: Add login_proxy_timeout setting
+
+ This can be used to overwrite the default 30 seconds. It's still possible to
+ overwrite this from "proxy_timeout" passdb extra field.
+
+M src/login-common/client-common-auth.c
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+
+2020-04-29 15:15:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (be74825abf)
+
+ login-proxy: client_proxy_failed() - minor code cleanup
+
+ The comment wasn't true anymore.
+
+M src/login-common/client-common-auth.c
+
+2020-05-03 17:16:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5a6af33a81)
+
+ login-proxy: proxy_fail_connect() - Add assert
+
+
+M src/login-common/login-proxy.c
+
+2020-05-03 17:02:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6ae17002cb)
+
+ login-proxy: Fix crash when proxy TTL reaches zero
+
+ The event was being unreferenced too many times.
+
+M src/login-common/login-proxy.c
+
+2020-04-06 22:28:49 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (111c26a970)
+
+ lib-http: test-http-server-errors - Use the new sub-process test API.
+
+ This makes an effort to terminate client processes gracefully. Killing them
+ bluntly hampers test coverage measurement and valgrind testing.
+
+M src/lib-http/test-http-server-errors.c
+
+2020-04-07 00:49:23 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (32a8154df4)
+
+ lib-http: test-http-server-errors - Split off test_run_client/server() from
+ test_run_client_server().
+
+
+M src/lib-http/test-http-server-errors.c
+
+2020-04-06 21:59:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (69eb607fef)
+
+ lib-http: test-http-server-errors - Rename test_clients_kill_all() to
+ test_clients_kill_forced().
+
+
+M src/lib-http/test-http-server-errors.c
+
+2020-04-06 21:57:50 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (1efda32fa6)
+
+ lib-http: test-http-server-errors - Move global initialization to
+ main_init/deinit().
+
+
+M src/lib-http/test-http-server-errors.c
+
+2020-04-13 12:55:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d4a966463c)
+
+ lib-http: test-http-server-errors - Use lib-signals API.
+
+ Using signal() is not portable for installing a signal handler.
+
+M src/lib-http/test-http-server-errors.c
+
+2020-04-13 12:45:34 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (5849b22585)
+
+ lib-http: test-http-server-errors - Don't ignore SIGCHLD.
+
+
+M src/lib-http/test-http-server-errors.c
+
+2019-11-11 23:37:01 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (9572e77818)
+
+ lib-http: test-http-server-errors - Adjust log prefix code to match other
+ similar unit tests.
+
+
+M src/lib-http/test-http-server-errors.c
+
+2020-04-07 00:14:40 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a043064bab)
+
+ lib-http: test-http-client-errors - Use the new sub-process test API.
+
+ This makes an effort to terminate server processes gracefully. Killing them
+ bluntly hampers test coverage measurement and valgrind testing.
+
+M src/lib-http/test-http-client-errors.c
+
+2020-04-07 00:55:36 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (26145848ee)
+
+ lib-http: test-http-client-errors - Split off test_run_server/dns/client()
+ from test_run_client_server().
+
+
+M src/lib-http/test-http-client-errors.c
+
+2020-04-06 23:34:10 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9dffb2839c)
+
+ lib-http: test-http-client-errors - Rename test_servers_kill_all() to
+ test_servers_kill_forced().
+
+
+M src/lib-http/test-http-client-errors.c
+
+2020-04-06 23:33:02 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (27ec48ad19)
+
+ lib-http: test-http-client-errors - Move global initialization to
+ main_init/deinit().
+
+
+M src/lib-http/test-http-client-errors.c
+
+2020-04-07 00:22:13 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d61314a1bd)
+
+ lib-http: test-http-client-errors - Avoid using sleep().
+
+
+M src/lib-http/test-http-client-errors.c
+
+2020-04-13 12:21:00 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4a17eb0404)
+
+ lib-http: test-http-client-errors - Use lib-signals API.
+
+ Using signal() is not portable for installing a signal handler.
+
+M src/lib-http/test-http-client-errors.c
+
+2020-04-07 00:18:43 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (8c5d727da3)
+
+ lib-http: test-http-client-errors - Ignore SIGPIPE.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2020-04-13 12:01:28 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3963cb66cb)
+
+ lib-http: test-http-client-errors - Don't ignore SIGCHLD.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2020-04-07 00:17:59 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (7fd8597696)
+
+ lib-http: test-http-client-errors - Add log prefixes to distinguish client
+ and server debug messages.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2020-04-03 21:14:48 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a0b510c86f)
+
+ lib-http: test-http-payload - Use the new sub-process test API.
+
+ This makes an effort to terminate server processes gracefully. Killing them
+ bluntly hampers test coverage measurement and valgrind testing.
+
+M src/lib-http/test-http-payload.c
+
+2020-04-07 03:07:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (afe749a698)
+
+ lib-http: test-http-payload - Split off test_run_client/server() from
+ test_run_client_server().
+
+
+M src/lib-http/test-http-payload.c
+
+2020-04-07 03:18:33 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (37d14476b6)
+
+ lib-http: test-http-payload - Adjust log prefix code to match other similar
+ unit tests.
+
+
+M src/lib-http/test-http-payload.c
+
+2020-04-04 12:42:03 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6017da1878)
+
+ lib-http: test-http-payload - Rename test_server_kill() to
+ test_server_kill_forced().
+
+
+M src/lib-http/test-http-payload.c
+
+2020-04-04 12:40:26 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a9d9ed3f91)
+
+ lib-http: test-http-payload - Move global initialization to
+ main_init/deinit().
+
+
+M src/lib-http/test-http-payload.c
+
+2020-04-03 21:46:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9623808030)
+
+ lib-http: test-http-payload - Call test_files_init/deinit() in
+ test_run_client_server().
+
+
+M src/lib-http/test-http-payload.c
+
+2020-04-12 18:12:16 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9bc8856ce6)
+
+ lib-http: test-http-payload - Use lib-signals API.
+
+ Using signal() is not portable for installing a signal handler.
+
+M src/lib-http/test-http-payload.c
+
+2020-04-12 19:16:14 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a54fcb5649)
+
+ lib-http: test-http-payload - Properly exit child process.
+
+
+M src/lib-http/test-http-payload.c
+
+2020-04-12 19:13:48 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (47e3a7bedb)
+
+ lib-http: test-http-payload - Don't ignore SIGCHLD.
+
+
+M src/lib-http/test-http-payload.c
+
+2020-05-04 10:20:40 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (1777c3712a)
+
+ lib-test: Implement test API for running sub-processes.
+
+ This makes an effort to terminate sub-processes gracefully. Killing them
+ bluntly hampers test coverage measurement and valgrind testing.
+
+M src/lib-test/Makefile.am
+A src/lib-test/test-subprocess.c
+A src/lib-test/test-subprocess.h
+
+2020-04-10 17:32:16 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (7d2a156800)
+
+ lib-test: test-common - Add test_forked_end().
+
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2020-04-10 17:57:54 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (409989980f)
+
+ m4: dovecot.m4 - Run valgrind with --error-exitcode=213 parameter in
+ generated run-test.sh.
+
+ This way, test child processes will indicate valgrind failure with exit code
+ 1000, making unit tests properly fail even though the actual test performed
+ by the child process succeeded.
+
+M m4/dovecot.m4
+
+2020-04-04 11:37:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a137d5a567)
+
+ Add Valgrind suppression for external problem exposed by
+ src/lib-http/test-http-payload.
+
+ There is a memory problem in OpenSSL somewhere.
+
+ Valgrind output:
+
+ ==9380== Invalid read of size 8
+ ==9380== at 0x48635A5: check_free (dlerror.c:188)
+ ==9380== by 0x4863AB1: free_key_mem (dlerror.c:221)
+ ==9380== by 0x4863AB1: __dlerror_main_freeres (dlerror.c:239)
+ ==9380== by 0x49DEB71: __libc_freeres (in
+ /lib/x86_64-linux-gnu/libc-2.28.so)
+ ==9380== by 0x482D19E: _vgnU_freeres (in
+ /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_core-amd64-linux.so)
+ ==9380== by 0x15C528: test_exit (test-common.c:389)
+ ==9380== by 0x12D522: test_run_client_server.constprop.11
+ (test-http-payload.c:1435)
+ ==9380== by 0x12D904: test_run_sequential (test-http-payload.c:1488)
+ ==9380== by 0x12E5A6: test_download_server_nonblocking
+ (test-http-payload.c:1579)
+ ==9380== by 0x15B98D: test_run_funcs (test-common.c:282)
+ ==9380== by 0x15C2D0: test_run (test-common.c:353)
+ ==9380== by 0x12C647: main (test-http-payload.c:2075)
+ ==9380== Address 0x4de7988 is 12 bytes after a block of size 12 alloc'd
+ ==9380== at 0x483577F: malloc (in
+ /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
+ ==9380== by 0x4C5C328: CRYPTO_zalloc (mem.c:230)
+ ==9380== by 0x4C5856D: ossl_init_get_thread_local (init.c:66)
+ ==9380== by 0x4C5856D: ossl_init_get_thread_local (init.c:59)
+ ==9380== by 0x4C5856D: ossl_init_thread_start (init.c:465)
+ ==9380== by 0x4C81CB9: RAND_DRBG_get0_public (drbg_lib.c:1118)
+ ==9380== by 0x4C81CEF: drbg_bytes (drbg_lib.c:963)
+ ==9380== by 0x486EDF2: ssl_iostream_openssl_init (iostream-openssl.c:928)
+ ==9380== by 0x12C56A: main_init (test-http-payload.c:2031)
+ ==9380== by 0x12C56A: main (test-http-payload.c:2058)
+ ==9380==
+
+M run-test-valgrind.supp
+
+2020-04-11 19:19:16 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2de186aff4)
+
+ lib: lib-signals - Add lib_signals_clear_handlers().
+
+
+M src/lib/lib-signals.c
+M src/lib/lib-signals.h
+
+2020-04-12 17:25:37 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (91b27682b1)
+
+ lib: lib-signals - Restore default system signal handler once all handlers
+ are removed.
+
+
+M src/lib/lib-signals.c
+
+2020-04-11 15:11:32 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c2821ac8bc)
+
+ lib: lib-signals - Fix assert panic occurring at ioloop switch without
+ delayed handlers.
+
+ Panic was:
+
+ Panic: file ioloop.c: line 86 (io_add_to): assertion failed: (fd >= 0)
+
+M src/lib/lib-signals.c
+
+2020-04-12 16:40:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (dffa391c77)
+
+ lib: Reformat lib-signals.h.
+
+
+M src/lib/lib-signals.h
+
+2020-04-12 16:40:13 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0d5587e4d0)
+
+ lib: Reformat lib-signals.c.
+
+
+M src/lib/lib-signals.c
+
+2020-04-09 15:55:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1e842aaf14)
+
+ lib: Reverse comment about io_loop_stop() being safe to call in signal
+ handlers
+
+ It is not safe. First there's the issue that ioloop.running is a bitmask,
+ but secondly there's a race condition between io_loop_stop() and the arrival
+ of the last timeout and/or IO event. It can end up running epoll_wait() with
+ only a stale IO and no timeouts, which hangs indefinitely.
+
+M src/lib/ioloop.h
+
+2020-05-21 13:44:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (cab34492c2)
+
+ lib-smtp: smtp_xtext_parse() - Remove unnecessary NULL check
+
+
+M src/lib-smtp/smtp-syntax.c
+
+2020-05-11 19:00:25 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6d18044e14)
+
+ pop3: Use separate search queries for expunging and setting \Seen flags
+
+ Using a single shared search query causes mail prefetching to behave
+ inefficiently. Especially lazy_expunge plugin could have done refcount
+ prefetch for non-deleted mails as well.
+
+M src/pop3/pop3-commands.c
+
+2020-05-11 19:00:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (babf169197)
+
+ pop3: Split off pop3_search_build_seqset()
+
+
+M src/pop3/pop3-commands.c
+
+2020-05-11 18:50:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (74e4a36df8)
+
+ pop3: Minor optimization to unexpected client disconnections
+
+ There's no need to build deleted messages seqset if it's not used.
+
+M src/pop3/pop3-commands.c
+
+2020-05-14 22:55:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (10cc3dec92)
+
+ dict: When client is disconnected, make sure its input IO is removed
+
+ Just in case it takes a while to fully unreference the client, make sure its
+ input callback won't be called rapidly.
+
+M src/dict/dict-connection.c
+
+2020-05-14 22:52:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a7061d8f8e)
+
+ dict: Fix deinitializing dict iteration if client disconnects
+
+ If the client's ostream was full at the disconnection time, the iteration
+ wasn't aborted. Instead, the connection was kept forever and its input
+ callback was kept being called rapidly, causing 100% CPU usage.
+
+M src/dict/dict-commands.c
+
+2020-05-14 22:52:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d262de1c61)
+
+ dict: Split off cmd_iterate_flush_finish()
+
+
+M src/dict/dict-commands.c
+
+2020-03-20 13:38:41 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (f0ea88118f)
+
+ lmtp: lmtp-commands - Explicity prohibit empty RCPT path.
+
+ The empty path <""> will yield an empty username.
+
+M src/lmtp/lmtp-commands.c
+
+2020-03-20 13:37:04 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (0b4a304dd7)
+
+ lib-smtp: smtp-address - Only produce a <> address in smtp_address_clone()
+ when that is the input.
+
+ It also produced an effective null address when the localpart was empty.
+
+M src/lib-smtp/smtp-address.c
+
+2020-03-20 13:35:19 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (6791403a29)
+
+ lib-smtp: smtp-address - Don't recognize an address with empty localpart as
+ <>.
+
+ Depending on context, the addresses <""@domain.tld> and <""> are potentially
+ valid non-null addresses.
+
+M src/lib-smtp/smtp-address.h
+
+2020-03-22 18:14:44 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (13fb37ca62)
+
+ lib-smtp: smtp-address - Don't return NULL from smtp_address_clone*() unless
+ the input is NULL.
+
+
+M src/lib-smtp/smtp-address.c
+
+2020-03-24 12:59:15 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (228481324d)
+
+ lib-smtp: test-smtp-server-errors - Add tests for large series of empty and
+ bad commands.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2020-03-24 12:25:03 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (f054002637)
+
+ lib-smtp: smtp-server-connection - Hold a command reference while executing
+ a command.
+
+ This fixes a use-after-free problem at the end of
+ smtp_server_connection_handle_command().
+
+M src/lib-smtp/smtp-server-connection.c
+
+2020-03-24 12:23:32 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (8ab81b2dbd)
+
+ lib-smtp: smtp-server-command - Perform initial command execution in
+ separate function.
+
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2020-03-24 12:13:43 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (bc9681ee5c)
+
+ lib-smtp: smtp-server-command - Guarantee that non-destroy hooks aren't
+ called for an ended command.
+
+
+M src/lib-smtp/smtp-server-command.c
+
+2020-03-24 22:33:45 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (326b63bb9e)
+
+ lib-smtp: test-smtp-server-errors - Add tests for VRFY and NOOP commands
+ with invalid parameters.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2020-03-24 22:24:20 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (066ba19c3e)
+
+ lib-smtp: Add tests for smtp_string_parse() and smtp_string_write().
+
+
+M src/lib-smtp/Makefile.am
+A src/lib-smtp/test-smtp-syntax.c
+
+2020-03-24 22:42:15 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (c4e4b47a9b)
+
+ lib-smtp: smtp-syntax - Return 0 for smtp_string_parse() with empty input.
+
+ This is what the current users of this function actually expect.
+
+M src/lib-smtp/smtp-syntax.c
+
+2020-03-24 21:14:34 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (96ad234390)
+
+ lib-smtp: smtp-syntax - Do not allow NULL return parameters for
+ smtp_ehlo_line_parse().
+
+
+M src/lib-smtp/smtp-syntax.c
+
+2020-03-24 21:11:01 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (544060fb53)
+
+ lib-smtp: smtp-syntax - Do not allow NULL return parameters for
+ smtp_xtext_parse().
+
+
+M src/lib-smtp/smtp-syntax.c
+
+2020-03-24 20:57:03 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (8654412362)
+
+ lib-smtp: smtp-syntax - Do not allow NULL return parameters for
+ smtp_string_parse().
+
+
+M src/lib-smtp/smtp-server-cmd-noop.c
+M src/lib-smtp/smtp-syntax.c
+
+2020-03-24 21:05:17 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (1e410cc4de)
+
+ lib-smtp: smtp-server-cmd-vrfy - Restructure parameter parsing.
+
+
+M src/lib-smtp/smtp-server-cmd-vrfy.c
+
+2020-03-24 21:00:19 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (905334bb2d)
+
+ lib-smtp: Reformat smtp-server-cmd-vrfy.c.
+
+
+M src/lib-smtp/smtp-server-cmd-vrfy.c
+
+2020-03-24 21:08:37 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (6807314a3c)
+
+ lib-smtp: Reformat smtp-server-cmd-noop.c.
+
+
+M src/lib-smtp/smtp-server-cmd-noop.c
+
+2020-03-24 20:51:24 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (17fb6ecafb)
+
+ lib-smtp: Reformat smtp-syntax.c.
+
+
+M src/lib-smtp/smtp-syntax.c
+
+2020-03-24 20:45:21 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (5f620d6f3f)
+
+ lib-smtp: Reformat smtp-syntax.h.
+
+
+M src/lib-smtp/smtp-syntax.h
+
+2020-05-13 10:52:50 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2faf3f4e05)
+
+ auth: test-mech - Remove auth-token-secret.dat after test suite
+
+
+M src/auth/test-mech.c
+
+2020-05-12 09:48:06 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (a6f12894b3)
+
+ auth: mech-digest-md5 - Do not read past buffer on right trim
+
+ If the string does not have comma at the end, do not progress the pointer
+ past buffer end.
+
+M src/auth/mech-digest-md5.c
+
+2020-05-12 09:22:20 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2da8b458ab)
+
+ auth: test-mech - Fix memory leaks
+
+ Forgotten in f6bb82a222e7973e9f9b7056dfe015fe3d8632f7
+
+M src/auth/test-mech.c
+
+2020-05-11 17:25:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e23d3b907a)
+
+ lib-index: Index rebuilding lost fields in cache
+
+ Regression caused by 5f6d2134690e4b84d38d556e3086668e32f30b50
+
+M src/lib-index/mail-cache-purge.c
+
+2020-05-11 17:23:19 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6a728e6d84)
+
+ lib-index: Fix setting initial last_used for fields in
+ mail_[always_]cache_fields
+
+ These fields had last_used=0 until the field was accessed. If cache was
+ purged before this access, the field was dropped. Fixed by assuming
+ (last_used=0, decision!=NO) is still the first time the field is being used.
+ This also causes it to trigger mail_cache_decision_changed event.
+
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/test-mail-cache.c
+
+2020-05-12 11:23:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d652353212)
+
+ lib-index: mail_cache_decision_add() - Add priv helper variable
+
+
+M src/lib-index/mail-cache-decisions.c
+
+2020-05-12 11:20:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (cfaf3e406f)
+
+ lib-index: Make mail_cache_decision_to_string() public
+
+
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-purge.c
+
+2020-04-24 17:17:46 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (545ba96648)
+
+ auth: auth_request_finished event - policy_result=delayed didn't work
+
+ It was returned as "ok" instead of "delayed".
+
+M src/auth/auth-request.c
+
+2020-05-08 16:18:29 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f6ef63aa9d)
+
+ lib-http: test-http-client-errors: "reply payload" test - Make server
+ announce that connection is closed.
+
+ This prevents race condition between connection closure and client trying to
+ reuse the connection.
+
+M src/lib-http/test-http-client-errors.c
+
+2020-05-08 16:22:48 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c38fbb2627)
+
+ lib-http: test-http-client-errors: "reply payload" test - Fix name of server
+ context struct.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2020-05-07 13:57:14 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f6bb82a222)
+
+ auth: test-mech - Rewrote test
+
+
+M src/auth/test-mech.c
+
+2020-05-08 13:12:39 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5190cd7402)
+
+ auth: test-mock - Add credentials lookup support
+
+
+M src/auth/test-mock.c
+
+2020-05-08 13:08:19 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4695404318)
+
+ auth: test - Export passdb mock settings
+
+
+M src/auth/test-auth.h
+M src/auth/test-db-dict.c
+M src/auth/test-main.c
+M src/auth/test-mock.c
+M src/auth/test-username-filter.c
+
+2020-05-07 14:15:14 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (16abfc0f37)
+
+ auth: Move auth_request_fail_on_nuls to auth-request.c
+
+ Where is belongs to
+
+M src/auth/auth-request.c
+M src/auth/mech.c
+M src/auth/mech.h
+
+2020-05-06 13:47:36 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (eaa62bfa50)
+
+ lib-sasl: dsasl-client - Check for NULs in server response
+
+ If server response unexpectedly contains embedded NULs, fail authentication.
+
+M src/lib-sasl/dsasl-client-private.h
+M src/lib-sasl/dsasl-client.c
+
+2020-05-06 13:12:33 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (8f6bf02c25)
+
+ auth: mech - Remove redundant NUL checks
+
+ Partially reverts ce7a61301cb233647c447dd917d5df1184d02317
+
+ The check is moved to higher up in call chain.
+
+M src/auth/mech-external.c
+M src/auth/mech-login.c
+M src/auth/mech-otp.c
+M src/auth/mech-scram.c
+M src/auth/mech-skey.c
+
+2020-05-06 13:07:01 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d196f4c83c)
+
+ auth: mech - Add MECH_SEC_ALLOW_NULS flag
+
+ Prevent embedded NULs for any mechs that do not have this flag
+
+M src/auth/auth-request.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-apop.c
+M src/auth/mech-dovecot-token.c
+M src/auth/mech-gssapi.c
+M src/auth/mech-ntlm.c
+M src/auth/mech-otp.c
+M src/auth/mech-plain.c
+M src/auth/mech-rpa.c
+M src/auth/mech-winbind.c
+M src/auth/mech.c
+M src/lib-auth/auth-client-interface.h
+
+2020-05-07 11:09:00 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (c169b3f087)
+
+ auth: test-mech - Use auth_request_initial/continue testing
+
+ This way the embedded nul checks actually get executed.
+
+M src/auth/test-mech.c
+
+2020-05-08 13:08:42 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5228ab6d68)
+
+ auth: oauth2 - Set username after parsing
+
+ Otherwise we might mistakenly set username despite the token being
+ malformed.
+
+M src/auth/mech-oauth2.c
+
+2020-04-16 20:17:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9172a1acea)
+
+ lib-fs: Don't hide errors when iteration calls fs_set_error() multiple times
+
+ The last error is returned by fs_iter_deinit(). The other errors are logged
+ directly.
+
+M src/lib-fs/fs-api.c
+
+2020-05-06 02:04:31 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (625d05169b)
+
+ lib-http: http-server-response - Fix dead assignment in
+ http_server_response_send_real().
+
+ Found by Clang scan-build.
+
+M src/lib-http/http-server-response.c
+
+2020-05-06 02:00:48 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (47f4cce3d2)
+
+ lib-http: test-http-client-errors: Emit error for unexpected request payload
+ in "retry payload" test.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2020-05-06 01:53:39 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3aa09bb400)
+
+ lib-http: test-http-client-errors - Correct response payload length in
+ "retry payload" test.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2020-05-06 01:52:12 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3c9d3b9605)
+
+ lib-http: test-http-client-errors - Emit an error message for bad responses.
+
+ Makes debugging issues with this unit test easier.
+
+M src/lib-http/test-http-client-errors.c
+
+2020-05-06 10:34:26 +0200 Markus Valentin <markus.valentin@open-xchange.com> (1206f3c9e1)
+
+ auth: Remove the check for NULs in mech-rpa
+
+ It was wrongly added for rpa, as it's a binary protocol.
+
+M src/auth/mech-rpa.c
+
+2020-05-04 14:51:29 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (254f6f802f)
+
+ lib-http: test-http-payload - Increase client progress timeout to 30 s.
+
+ This makes the SSL test a little less brittle.
+
+M src/lib-http/test-http-payload.c
+
+2020-04-29 22:23:44 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9bd41c974d)
+
+ lib-http: http-server-ostream - Remove dangerous assertions in
+ http_server_ostream_wait_begin().
+
+
+M src/lib-http/http-server-ostream.c
+
+2020-04-29 17:45:21 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0ab9fa7f2b)
+
+ lib-http: http-server-connection - Fix result of
+ http_server_connection_next_response().
+
+ Return _OUTPUT_BLOCKED only when the output fd is blocked.
+
+M src/lib-http/http-server-connection.c
+
+2020-04-29 17:45:06 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f3d49ecb14)
+
+ lib-http: http-client-connection - Avoid calling
+ http_client_request_send_more() directly.
+
+ Get it called from http_client_connection_output() later.
+
+M src/lib-http/http-client-connection.c
+
+2020-04-28 23:59:39 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (949fd14bb6)
+
+ lib-http: test-http-client-errors - Make "retry payload" test more reliable.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2020-04-28 19:28:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3453455148)
+
+ lib-http: http-client-request - Fix return value of
+ http_client_request_send*().
+
+ Make sure 1 is returned when all that can be sent is sent. It must not
+ return 0 when the payload input stream is blocking.
+
+M src/lib-http/http-client-request.c
+
+2020-04-28 19:28:48 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4e55c179bd)
+
+ lib-http: http-server-response - Fix return value of
+ http_server_response_send*().
+
+ Make sure 1 is returned when all that can be sent is sent. It must not
+ return 0 when the payload input stream is blocking or when the payload
+ output stream buffer has no data to be sent.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-ostream.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-response.c
+
+2020-04-29 09:51:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (7603cb2d80)
+
+ lib: ostream-wrapper - Return flush status from o_stream_wrapper_continue().
+
+
+M src/lib/ostream-wrapper.c
+M src/lib/ostream-wrapper.h
+
+2019-10-31 15:56:58 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e6a1efd820)
+
+ lib: connection_input_resume() - Set added IO as having pending input
+
+ This makes sense, because when the connection is halted it might already
+ have input pending in the istream. So doing this always automatically can
+ prevent unexpected hangs. It shouldn't be harmful to do this even if there's
+ no input pending.
+
+M src/lib/connection.c
+M src/lib/connection.h
+M src/lib/test-connection.c
+
+2020-04-27 14:42:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c414c54dc9)
+
+ lmtp: Don't add "detail" field to events if it's empty
+
+
+M src/lmtp/lmtp-commands.c
+
+2020-04-27 13:29:19 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f9d4544577)
+
+ lda: Add protocol=lda to the root lda event
+
+
+M src/lda/main.c
+
+2020-04-26 21:42:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (acc41ffcb9)
+
+ lib-smtp: Fix adding "protocol" field to smtp_server_* events
+
+ The server connection always had its own parent event instead of using
+ smtp_server.event.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server.c
+
+2020-04-15 21:08:23 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3a4186840a)
+
+ lib-lda: mail-deliver - Add "error" field to the mail_delivery_finished
+ event.
+
+
+M src/lib-lda/mail-deliver.c
+
+2020-04-16 00:04:02 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b15f64f1c2)
+
+ lib-lda: mail-deliver - Add MAIL_DELIVER_ERROR_REJECTED.
+
+ This is not used yet, but useful for future expansion.
+
+M src/lda/main.c
+M src/lib-lda/mail-deliver.h
+M src/lmtp/lmtp-local.c
+
+2020-04-15 20:43:13 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6dbe714b27)
+
+ lib-lda: mail-deliver - Move common part of the error handling to
+ mail_deliver() itself.
+
+ Before, much of that was handled by the respective callers (LDA and LMTP).
+
+M src/lda/main.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+M src/lmtp/lmtp-local.c
+
+2020-04-15 21:01:39 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ceb42a75bf)
+
+ lda: main - Rename error variables in lda_do_deliver().
+
+
+M src/lda/main.c
+
+2020-04-15 20:47:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f40b7c0d0a)
+
+ lmtp: lmtp-local - Perform actual (default) delivery in a separate function.
+
+
+M src/lmtp/lmtp-local.c
+
+2020-04-28 00:15:00 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (8b8307e3c8)
+
+ lib-lda: mail-deliver - Properly parse Message-ID header.
+
+
+M src/lib-lda/mail-deliver.c
+
+2020-02-18 23:30:29 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (810866dccc)
+
+ lib-storage: mail - Add mail_get_message_id().
+
+ It is a convenience function that reads and parses the Message-ID.
+
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+
+2020-04-20 22:59:14 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b3ed2a79a2)
+
+ lib-ssl-iostream: Indicate that password might be wrong when decrypting key
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2020-04-20 11:11:28 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (001982e044)
+
+ lib-ssl-iostream: Copy key password correctly
+
+ OpenSSL failed to decrypt key because the password context was copied
+ instead of the password.
+
+ Broken in e98de01b564
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2020-04-25 12:30:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f9257a02ef)
+
+ auth: policy - Fix crash with auth_policy_check_after_auth=no and
+ delay_until
+
+ The auth policy lookup context must not be allocated from stack, because it
+ is used in a timeout created by delay_until.
+
+ Fixes: Panic: file auth-request.c: line 292 (auth_request_success_continue):
+ assertion failed: (request->state == AUTH_REQUEST_STATE_MECH_CONTINUE)
+
+M src/auth/auth-request.c
+
+2020-04-14 16:56:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a2660628a0)
+
+ doveadm: Cork the print ostream immediately after creating
+
+ This avoids making many tiny write()s to stdout.
+
+M src/doveadm/doveadm.c
+
+2020-04-21 13:26:06 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (3fc4ff44a4)
+
+ stats: Rename 'name' to 'metric_name' in metric { } blocks
+
+ There was a decent amount of confusion about what what the 'name' setting
+ meant. In short,
+
+ metric foo {
+ ...
+ }
+
+ was equivalent to:
+
+ metric {
+ name = foo
+ ...
+ }
+
+ Unfortunately, this was often misunderstood as "the name of the *event* we
+ are interested in". To avoid this confusion, we rename the setting to
+ 'metric_name'. So, from now on, if you want to specify the name inside the
+ metric block (instead of before the '{'), you must use:
+
+ metric {
+ metric_name = fo
+ ...
+ }
+
+M src/stats/stats-metrics.c
+M src/stats/stats-settings.c
+M src/stats/stats-settings.h
+M src/stats/test-client-reader.c
+M src/stats/test-client-writer.c
+M src/stats/test-stats-metrics.c
+
+2019-02-20 14:04:04 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8b81f42680)
+
+ lib-master: master_service_ssl_settings_get() - assert that SSL settings
+ actually exist
+
+
+M src/lib-master/master-service-ssl-settings.c
+
+2020-04-25 00:25:40 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a4a6ebe0ac)
+
+ lib-http: test-http-client-errors - Add tests for retrying requests with
+ payload.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2020-04-25 00:25:07 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (09e37e6f2b)
+
+ lib-http: test-http-client-errors - Add support for server connection
+ init/deinit functions.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2020-04-23 13:08:08 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d8fbf0308a)
+
+ lib-http: test-http-payload - Add support for testing with small TCP socket
+ buffers.
+
+
+M src/lib-http/test-http-payload.c
+
+2020-04-23 13:03:37 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a0c31edef0)
+
+ lib-http: test-http-payload - Initialize common client and server settings
+ at one place.
+
+
+M src/lib-http/test-http-payload.c
+
+2020-04-23 23:41:49 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (44760e29ab)
+
+ lib-http: http-server-connection - Return 0 from flush callback when there
+ is more payload to be sent.
+
+
+M src/lib-http/http-server-connection.c
+
+2020-04-24 22:36:15 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (86febd6168)
+
+ lib-http: http-server-response - Make return value of
+ http_server_response_send*() indicate whether all is sent.
+
+
+M src/lib-http/http-server-response.c
+
+2020-04-23 15:21:06 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4b7f9e8ae1)
+
+ lib-http: http-server-ostream - Handle finished request as a separate event.
+
+ While waiting in the flush ioloop, the request will not be destroyed, in
+ which case the ioloop will potentially never end. This is fixed by notifying
+ the wrapper output stream about the parent output stream going away, which
+ interrupts the ioloop in the process.
+
+M src/lib-http/http-server-ostream.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+
+2020-04-23 15:18:53 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6bbc3a3fa9)
+
+ lib-http: http-server-ostream - Make sure request payload input stream is
+ destroyed before blocking.
+
+
+M src/lib-http/http-server-ostream.c
+
+2018-05-31 20:56:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3acc501e71)
+
+ lib-http: http-server-response - Fix sending payload input streams that are
+ seeked beyond 0.
+
+
+M src/lib-http/http-server-response.c
+
+2020-04-24 23:12:51 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (799b52accf)
+
+ lib-http: http-client-request - Properly reset payload state upon
+ retry/redirect.
+
+
+M src/lib-http/http-client-request.c
+
+2020-04-24 23:02:28 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d1a0880928)
+
+ lib-http: http-client-request - Put shared code from
+ http_client_request_resubmit/redirect() in new function.
+
+
+M src/lib-http/http-client-request.c
+
+2020-04-25 01:32:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (de985451ec)
+
+ lib-http: http-client-connection - Return 0 from flush callback when there
+ is more payload to be sent.
+
+
+M src/lib-http/http-client-connection.c
+
+2020-04-25 17:55:56 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (8a1b96445e)
+
+ lib-http: http-client-connection - Set output flush pending when
+ http_client_request_send() returns 0.
+
+
+M src/lib-http/http-client-connection.c
+
+2020-04-25 01:31:14 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (e9ec5b1ec2)
+
+ lib-http: http-client-request - Make return value of
+ http_client_request_send*() indicate whether all is sent.
+
+
+M src/lib-http/http-client-request.c
+
+2020-04-25 17:43:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (96e1ef558e)
+
+ lib-http: http-client-connection - Remove useless cork/uncork from
+ http_client_connection_continue_request().
+
+
+M src/lib-http/http-client-connection.c
+
+2020-04-24 22:26:26 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (32fb56fd56)
+
+ lib-http: http-client-connection - Fix race condition between finishing
+ output stream and response.
+
+
+M src/lib-http/http-client-connection.c
+
+2018-05-31 20:57:41 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b3a974e68c)
+
+ lib-http: http-client-request - Fix sending payload input streams that are
+ seeked beyond 0.
+
+
+M src/lib-http/http-client-request.c
+
+2020-04-23 15:16:03 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (38db802358)
+
+ lib: ostream-wrapper - Allow parent output being closed in
+ wrapper_ostream_continue().
+
+ This happens when wrapper_ostream_output_destroyed() is called while waiting
+ in flush wait loop.
+
+M src/lib/ostream-wrapper.c
+
+2020-04-23 11:36:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (77db6a8bbb)
+
+ lib: ostream-wrapper - Properly manage parent output events for blocking
+ operation.
+
+ The problem was exposed by a panic occurring in
+ src/lib-http/test-http-payload unit test:
+
+ Panic: file ostream-wrapper.c: line 291 (wrapper_ostream_flush_wait):
+ assertion failed: (io_loop_have_ios(ioloop) ||
+ io_loop_have_immediate_timeouts(ioloop))
+
+M src/lib/ostream-wrapper.c
+
+2020-04-06 23:26:36 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f6cbe3ed29)
+
+ lib-http: Reformat test-http-client-errors.c.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2018-04-04 13:27:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d64882c8fb)
+
+ lib-http: Reformat test-http-payload.c.
+
+
+M src/lib-http/test-http-payload.c
+
+2018-03-20 20:59:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ca2cb217d2)
+
+ lib-http: Reformat http-client-request.c.
+
+
+M src/lib-http/http-client-request.c
+
+2020-04-27 08:08:06 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9b7937fd3f)
+
+ lib-ssl-iostream: Add missing set name to
+ ssl_proxy_ctx_get_pkey_ec_curve_name
+
+ It was forgotten in 934a5e7cdb3105a07e2b1dec5916f4abfb3ee2a1
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2020-04-26 21:21:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d5a88ebed2)
+
+ dict: Add "user" field to dict_server_* events if it's not empty
+
+
+M src/dict/dict-connection.c
+
+2020-04-26 21:17:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (979b0fa31f)
+
+ lib-dict: Add "user" field to dict_* events if it's not empty
+
+
+M src/lib-dict/dict.c
+
+2020-04-21 00:16:05 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (75392fb34e)
+
+ lib-http: test-http-payload - Fix dead assignments.
+
+ Found by Clang scan-build.
+
+M src/lib-http/test-http-payload.c
+
+2020-04-25 13:24:59 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0612d53188)
+
+ lib-http: test-http-payload - Remove useless and confusing break statements.
+
+
+M src/lib-http/test-http-payload.c
+
+2020-04-21 00:13:16 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6d39852299)
+
+ lib: ostream-wrapper - Fix dead assignments.
+
+ Found by Clang scan-build.
+
+M src/lib/ostream-wrapper.c
+
+2020-04-02 17:21:22 +0200 Markus Valentin <markus.valentin@open-xchange.com> (72d000b2f3)
+
+ auth: Add tests for some auth-mechanisms
+
+ This adds tests for many auth-mechanisms and checks for empty inputs as well
+ as for some broken input combinations.
+
+M src/auth/Makefile.am
+A src/auth/test-mech.c
+
+2020-04-07 12:56:46 +0200 Markus Valentin <markus.valentin@open-xchange.com> (c7dae801a8)
+
+ auth: mech-otp: Add mech_otp_deinit and call it in main_deinit
+
+ This change make sure the otp_lock_table is destroyed on deinit.
+
+M src/auth/main.c
+M src/auth/mech-otp-skey-common.c
+M src/auth/mech-otp-skey-common.h
+
+2020-04-01 10:42:56 +0200 Markus Valentin <markus.valentin@open-xchange.com> (fc7a66792a)
+
+ lib-test: test-common: Add test_assert_strcmp_idx macro
+
+ This change allows to use test_assert_strcmp_idx to identify failing strcmp
+ tests when running a barrage of tests as in loop.
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2020-04-02 08:38:32 +0200 Markus Valentin <markus.valentin@open-xchange.com> (3000a49491)
+
+ auth: Extract private header from mech-digest-md5
+
+ This is needed to allow testing of the mech-digest-md5 mechanism.
+
+M src/auth/Makefile.am
+A src/auth/mech-digest-md5-private.h
+M src/auth/mech-digest-md5.c
+
+2020-03-31 14:57:38 +0200 Markus Valentin <markus.valentin@open-xchange.com> (e460ad84ab)
+
+ auth: Move auths array from static source to extern in header
+
+ This is needed for better testability of auth-mechanisms.
+
+M src/auth/auth.c
+M src/auth/auth.h
+
+2020-03-27 13:59:44 +0100 Markus Valentin <markus.valentin@open-xchange.com> (430c009fa0)
+
+ auth: Use stats from auth_settings to check wether stats should be used
+
+ This allows to run unit-tests without the need to setup stats.
+
+M src/auth/auth-request.c
+
+2020-03-27 11:05:22 +0100 Markus Valentin <markus.valentin@open-xchange.com> (ccb14aa841)
+
+ auth: Introduce several callbacks in auth-request-handler
+
+ This adds three callbacks and their default implementations. This change is
+ meant to decouple the code for better testability of auth-mechanims.
+
+M src/auth/auth-request-handler-private.h
+M src/auth/auth-request-handler.c
+M src/auth/auth-request-handler.h
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/passdb.h
+
+2020-03-27 11:04:20 +0100 Markus Valentin <markus.valentin@open-xchange.com> (680da62fc2)
+
+ auth: Extract auth-request-handler struct definition to private header
+
+
+M src/auth/Makefile.am
+A src/auth/auth-request-handler-private.h
+M src/auth/auth-request-handler.c
+
+2020-03-26 15:26:54 +0100 Markus Valentin <markus.valentin@open-xchange.com> (ce7a61301c)
+
+ auth: Add checks for NULs for different auth-mechanisms
+
+ This change adds a check to for NULs in the authentication input in
+ different auth mechanisms. For this purpose the different mechanisms use the
+ newly introduced auth_request_fail_on_nuls function.
+
+M src/auth/mech-external.c
+M src/auth/mech-login.c
+M src/auth/mech-otp.c
+M src/auth/mech-rpa.c
+M src/auth/mech-scram.c
+M src/auth/mech-skey.c
+M src/auth/mech.c
+M src/auth/mech.h
+
+2020-03-25 13:48:13 +0100 Markus Valentin <markus.valentin@open-xchange.com> (66743c55f4)
+
+ auth: Fail authentication if username/password contains NULs
+
+ In mech-plain and mech-dovecot-token the number of NULs splitting the fields
+ could have been higher then expected. This change ensures that if there are
+ more then the expected amount of NULs the authentication will fail.
+
+M src/auth/mech-dovecot-token.c
+M src/auth/mech-plain.c
+
+2020-04-20 14:57:07 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (666a8303e4)
+
+ lib-smtp: smtp-client-connection - Try all IPs when connecting to remote
+ host
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2020-04-20 22:35:55 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (cde04d8b23)
+
+ submission: Use dns-client
+
+
+M src/submission/main.c
+
+2020-04-20 21:45:06 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2fdd4d9c87)
+
+ lib-master, global: master_service_init_log() - Remove prefix parameter
+
+ Generate the prefix automatically from the configured service name.
+
+M src/anvil/main.c
+M src/auth/main.c
+M src/config/main.c
+M src/director/director-test.c
+M src/director/main.c
+M src/dns/dns-client.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+M src/imap-hibernate/main.c
+M src/imap-urlauth/imap-urlauth.c
+M src/indexer/indexer.c
+M src/ipc/main.c
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+M src/login-common/main.c
+M src/master/main.c
+M src/old-stats/main.c
+M src/plugins/quota/quota-status.c
+M src/replication/aggregator/aggregator.c
+M src/replication/replicator/replicator.c
+M src/stats/main.c
+M src/util/rawlog.c
+M src/util/script-login.c
+M src/util/script.c
+M src/util/tcpwrap.c
+
+2020-04-20 21:41:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (550bac3d48)
+
+ global: Use master_service_init_log_with_prefix() where explicit prefix is
+ wanted
+
+
+M src/director/main.c
+M src/lib-master/master-service.c
+M src/lib-storage/mail-storage-service.c
+M src/log/main.c
+M src/util/script-login.c
+
+2020-04-20 21:41:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e45344896d)
+
+ lib-master: Add master_service_init_log_with_prefix()
+
+
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2020-04-20 21:32:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fd02abf61b)
+
+ indexer-worker: Add PID to log prefix
+
+
+M src/indexer/indexer-worker.c
+
+2020-04-20 21:32:32 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6f28ff5719)
+
+ global: Use master_service_init_log_with_pid() where possible
+
+
+M src/auth/main.c
+M src/dict/main.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/lmtp/main.c
+
+2020-04-20 21:28:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (711e30e313)
+
+ lib-master: Add master_service_init_log_with_pid()
+
+
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2020-04-14 19:37:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9acc0b6e64)
+
+ lib-master: Use service name from master for log prefixes and for
+ service:<name> category
+
+ This makes it easier to differentiate between different services using the
+ same executable. Especially auth vs auth-worker events which might otherwise
+ be the same except for the service:<name> category.
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2020-04-14 19:26:46 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bd3e393b92)
+
+ master: Add SERVICE_NAME=<name> environment to child service processes
+
+
+M src/lib-master/master-interface.h
+M src/master/service-process.c
+
+2020-04-14 19:21:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1ccebf178c)
+
+ dns: Rename dns_client service to dns-client
+
+ This makes it consistent with all other services.
+
+ This commit also adds it to the old-set-parser, so the old service name
+ still works but gives a warning.
+
+M src/config/old-set-parser.c
+M src/dns/dns-client-settings.c
+
+2020-04-20 19:27:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (934a5e7cdb)
+
+ lib-ssl-iostream: Include setting name in all key parsing errors
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+
+2020-04-15 15:59:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (22930af177)
+
+ lib-ssl-iostream: Improve error messages for ssl_client_ca_* parsing errors
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2020-04-15 15:57:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a2875bef48)
+
+ lib-ssl-iostream: Split off load_ca_locations()
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2020-04-15 15:52:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (189f111a61)
+
+ lib-ssl-iostream: Add setting names to most SSL setting parsing errors
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2020-04-15 15:43:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (35188b1ffc)
+
+ lib-ssl-iostream: If certificate is empty, say it clearly in the error
+ message
+
+ Instead of "There is no valid PEM certificate" just say
+ "The certificate is empty".
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+
+2020-04-20 18:32:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (acf9448994)
+
+ lib-master: Fix MASTER_SERVICE_FLAG_USE_SSL_SETTINGS when running standalone
+
+
+M src/lib-master/master-service.c
+
+2020-04-20 18:07:58 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4452a0c361)
+
+ lib-master: MASTER_SERVICE_FLAG_USE_SSL_SETTINGS no longer initialized SSL
+ server
+
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2020-04-20 18:02:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (29e85b315e)
+
+ *-login, lmtp: Enable MASTER_SERVICE_FLAG_HAVE_STARTTLS
+
+
+M src/lmtp/main.c
+M src/login-common/main.c
+
+2020-04-20 18:01:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0025846f14)
+
+ lib-master: Add MASTER_SERVICE_FLAG_HAVE_STARTTLS
+
+
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2020-04-20 14:49:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (550698f925)
+
+ login-proxy: "Started proxying to ..." - Use uppercase for the first letter
+
+ Other log messages start uppercased as well.
+
+M src/login-common/client-common-auth.c
+
+2020-04-10 00:31:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (62fce5b439)
+
+ login-proxy: Remove unnecessary "disconnecting" text from log message
+
+ Add "Disconnected by proxy: " prefix explicitly for the few reasons why the
+ proxy itself is causing the disconnection.
+
+M src/login-common/login-proxy.c
+
+2020-04-10 00:27:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9b5771fecc)
+
+ login-proxy: Add ip:port to log prefix and remove them from log messages
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+
+2020-04-10 00:10:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b6b0ef5948)
+
+ login-proxy: Check for missing host IP address earlier
+
+ Also fail if "hostip" is returned by passdb but it's not a valid IP address.
+
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+
+2020-04-10 00:07:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8af087a634)
+
+ login-proxy: login_proxy_new() - Change host check to assert
+
+ It's already checked by the only caller.
+
+M src/login-common/login-proxy.c
+
+2020-04-09 23:52:01 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0f3ffd0a30)
+
+ login-proxy: login_proxy_free*() - Add asserts to make sure error always
+ exists when needed
+
+ Only detached proxies log the error.
+
+M src/login-common/login-proxy.c
+
+2020-04-09 21:12:25 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c793f82652)
+
+ login-proxy: Remove login_proxy_free_reason/delayed()
+
+ Just use login_proxy_free_full() directly.
+
+M src/login-common/login-proxy.c
+
+2020-04-09 21:09:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (75f7e230b7)
+
+ login-proxy: login_proxy_free_full() - Replace bool delayed with enum
+
+
+M src/login-common/login-proxy.c
+
+2020-04-09 21:07:48 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (07688db650)
+
+ login-proxy: Add missing space between disconnect reason and "(extra info)"
+
+
+M src/login-common/login-proxy.c
+
+2020-04-09 21:00:30 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (90a88c3897)
+
+ login-proxy: Clarify error messages when disconnecting from server before
+ login is finished
+
+
+M src/login-common/client-common-auth.c
+
+2020-04-10 00:22:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8e190fff80)
+
+ login-common: client_disconnect() - Log with login_proxy event if it exists
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+
+2020-04-09 23:24:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fa3c140485)
+
+ *-login: Use login_proxy.event for logging
+
+ This way there's no need to have the "proxy: " or "proxy(user): " prefix.
+ This also standardizes it to always be "proxy(user): ".
+
+M src/imap-login/imap-proxy.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+M src/pop3-login/pop3-proxy.c
+M src/submission-login/submission-proxy.c
+
+2020-04-09 23:19:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (39605f4e7e)
+
+ login-proxy: Add login_proxy_get_event()
+
+
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+
+2020-04-09 22:57:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5c67fc5238)
+
+ login-proxy: Add event to login_proxy
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+
+2020-04-09 23:15:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (509906c48e)
+
+ login-proxy: Split off proxy_check_start()
+
+
+M src/login-common/client-common-auth.c
+
+2020-04-09 23:12:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b30c384384)
+
+ login-proxy: Remove client->refcount > 1 assert
+
+ There doesn't seem to be any point in having this assert. Nothing seems to
+ require that it's over 1.
+
+M src/login-common/client-common-auth.c
+
+2020-04-09 23:08:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1fd54824fa)
+
+ login-proxy: Remove dead code checking if client is destroyed
+
+ The beginning of the function already assert-crashes if client is destroyed
+ and nothing in the code path can destroy the client.
+
+M src/login-common/client-common-auth.c
+
+2020-04-10 00:37:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (95c63f3e9e)
+
+ login-common: Replace i_error() with e_error() where possible
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+
+2020-04-09 22:51:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (72726b1013)
+
+ login-common: Remove client_log*() functions
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2020-04-09 22:50:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6142e25ea4)
+
+ *-login: Use e_error() instead of client_log_err()
+
+
+M src/imap-login/imap-proxy.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+M src/login-common/sasl-server.c
+M src/pop3-login/pop3-proxy.c
+M src/submission-login/submission-proxy.c
+
+2020-04-09 22:43:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5996408025)
+
+ *-login: Use e_info() instead of client_log()
+
+
+M src/imap-login/imap-login-cmd-id.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+M src/login-common/sasl-server.c
+M src/pop3-login/client-authenticate.c
+
+2020-04-09 22:40:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (47fe7421cb)
+
+ login-common: Use e_warning() instead of client_log_warn()
+
+
+M src/login-common/client-common-auth.c
+
+2020-04-09 22:39:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (500433046a)
+
+ login-common: Log via e_info/warning/error() functions
+
+
+M src/login-common/client-common.c
+
+2020-04-09 22:19:48 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (85c00c3b57)
+
+ login-common: Add event to client
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2020-04-09 22:26:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a64d326b69)
+
+ login-common: Split off args_parse_user()
+
+
+M src/login-common/sasl-server.c
+
+2020-04-09 22:11:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (87ef429c2c)
+
+ *-login: Add event category to login_binary
+
+
+M src/imap-login/imap-login-client.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/login-common/login-common.h
+M src/pop3-login/client.c
+M src/submission-login/client.c
+
+2020-04-20 12:26:06 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bd1cdc586c)
+
+ *-login: Change struct login_binary to be non-const
+
+ Required by the next commit.
+
+M src/imap-login/imap-login-client.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/login-common/login-common.h
+M src/login-common/main.c
+M src/pop3-login/client.c
+M src/submission-login/client.c
+
+2020-04-09 21:57:36 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (eb67650304)
+
+ login-proxy: Remove unused login_proxy.disconnecting field
+
+
+M src/login-common/login-proxy.c
+
+2020-04-14 15:38:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (aac7ba91b7)
+
+ lib: ostream-multiplex - Fix flush callback handling
+
+ Using flush-callbacks didn't work very well. Even if it wasn't overridden,
+ it could have caused a hang if there was data left inside the internal
+ buffer that couldn't be flushed to parent ostream. At the end of the ostream
+ there was nothing that triggered flushing the internal buffer.
+
+M src/lib/ostream-multiplex.c
+M src/lib/test-ostream-multiplex.c
+
+2020-04-14 15:37:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (551f1b6003)
+
+ lib: ostream-multiplex - o_stream_send*(): Return 0 if buffer is full, not
+ -2
+
+ -2 is only for istreams.
+
+ Fixes: Panic: file ostream.c: line 281 (o_stream_sendv_int): assertion
+ failed: (stream->stream_errno != 0)
+
+M src/lib/ostream-multiplex.c
+
+2020-04-20 13:48:29 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (7c5f948d79)
+
+ lib-smtp: Allow running make check as root
+
+ This is to allow running make check on Debian fakeroot.
+
+M src/lib-smtp/test-smtp-submit.c
+
+2020-04-20 13:46:38 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (d0475e7a13)
+
+ lib-smtp: Add allow_root flag to smtp_submit_input and smtp_submit_session
+
+ This is to make it possible to run make check on Debian fakeroot later.
+
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/smtp-submit.h
+
+2020-04-22 12:54:44 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4bb1fe98ac)
+
+ stats: stats-service-openmetrics - Check label for group_by metric at
+ correct location.
+
+
+M src/stats/stats-service-openmetrics.c
+
+2020-04-22 13:39:32 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (a05960c3fc)
+
+ stats: openmetrics - Use json_append_escaped
+
+ It does the job exactly as openmetrics specs say.
+
+M src/stats/stats-service-openmetrics.c
+
+2020-04-22 14:49:30 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3f6ee34dd1)
+
+ stats: metrics - Sanitize sub_name before appending to ostream
+
+
+M src/stats/client-reader.c
+
+2020-04-22 14:48:28 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f2dc184d30)
+
+ stats: metrics - Use str_sanitize_utf8 to create submetric name
+
+ This was before sanitized to ascii letters and numbers. It is foreseeable
+ that e.g. usernames can contain utf-8 in future so better retain it as utf-8
+ here.
+
+M src/stats/stats-metrics.c
+
+2020-04-18 21:36:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d05d114419)
+
+ submission-login: Fix printf type for SIZE in HELO reply
+
+ Fixes compiler warning with 32bit systems.
+
+M src/submission-login/client-authenticate.c
+
+2020-04-18 21:35:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1ec6e97787)
+
+ lib-index: Fix signedness compiler warning with 32bit
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-04-20 11:44:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a16e5f7866)
+
+ stats: Add missing stats_startup_time global variable to unit tests
+
+ It's not currently actually used, but this fixes linking
+ --without-shared-libs
+
+M src/stats/test-stats-common.c
+
+2020-04-20 11:53:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6f02df8110)
+
+ stats: Change stats_settings to be static
+
+
+M src/stats/main.c
+M src/stats/stats-common.h
+
+2020-04-20 11:53:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ea37f41737)
+
+ stats: client_http_init() - Add stats_settings parameter
+
+
+M src/stats/client-http.c
+M src/stats/client-http.h
+M src/stats/main.c
+
+2020-03-11 00:43:07 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (465a11c4f2)
+
+ stats: stats-service-openmetrics - Add histogram support.
+
+
+M src/stats/stats-service-openmetrics.c
+
+2019-11-22 19:55:48 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (a2851c580a)
+
+ stats: stats-service-openmetrics - Make composition of response payload
+ scalable.
+
+ Use the new HTTP server response payload ostream API.
+
+M src/stats/stats-service-openmetrics.c
+
+2019-11-22 19:55:48 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (59853a8d86)
+
+ stats: stats-service-openmetrics - Restructure metrics export for
+ incremental output.
+
+ This way, the string buffer can be written to an output stream after every
+ exported (sub-) metric.
+
+M src/stats/stats-service-openmetrics.c
+
+2020-03-11 19:29:15 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (25933e326b)
+
+ stats: stats-service-openmetrics - Fix code duplication between count and
+ duration output metrics.
+
+
+M src/stats/stats-service-openmetrics.c
+
+2020-03-12 16:04:38 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (1675337eb9)
+
+ stats: stats-service-openmetrics - Record has_submetric status in request
+ context.
+
+
+M src/stats/stats-service-openmetrics.c
+
+2020-03-11 19:45:51 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (ba5a7b3432)
+
+ stats: stats-service-openmetrics - Use basic request struct for context
+ data.
+
+
+M src/stats/stats-service-openmetrics.c
+
+2020-03-11 18:24:34 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (9a0ef88751)
+
+ stats: stats-service-openmetrics - Export Dovecot base metrics in a separate
+ function.
+
+
+M src/stats/stats-service-openmetrics.c
+
+2019-11-23 12:21:48 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (7511b6b720)
+
+ stats: stats-service-openmetrics - Rename resp to hsresp in
+ stats_service_openmetrics_request().
+
+
+M src/stats/stats-service-openmetrics.c
+
+2019-11-23 12:19:14 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (f1db7ff4a5)
+
+ stats: stats-service-openmetrics - Rename req to hsreq in
+ stats_service_openmetrics_request().
+
+
+M src/stats/stats-service-openmetrics.c
+
+2020-03-11 20:04:25 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (b185a0a6d0)
+
+ stats: Reformat stats-service-openmetrics.c.
+
+
+M src/stats/stats-service-openmetrics.c
+
+2020-03-12 11:48:28 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (dacbeec0e1)
+
+ stats: Do not export base metric with sub-metrics on prometheus
+
+ This can confuse prometheus.
+
+M src/stats/stats-service-openmetrics.c
+
+2019-11-15 22:00:13 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (941286b4f2)
+
+ lib-http: http_server_response_send_payload() - Reimplement with the new
+ ostream API.
+
+ This considerably simplifies the code.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-response.c
+
+2019-11-11 23:35:17 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (99fd8d00e4)
+
+ lib-http: test-http-server-errors - Add tests for the new asynchronous
+ payload output stream API.
+
+
+M src/lib-http/test-http-server-errors.c
+
+2019-11-14 01:00:03 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (8955f455b6)
+
+ lib-http: test-http-payload - Add tests for the new asynchronous server
+ payload output stream API.
+
+
+M src/lib-http/test-http-payload.c
+
+2019-11-11 21:53:09 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (7f8264780d)
+
+ lib-http: http-server-response - Replace payload output stream API
+ implementation.
+
+ It now supports both blocking and non-blocking behavior.
+
+M src/lib-http/Makefile.am
+A src/lib-http/http-server-ostream.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.h
+M src/lib-http/test-http-payload.c
+
+2018-11-25 21:24:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4aa77241fd)
+
+ lib: Create wrapper output stream.
+
+ This allows creating the stream before the actual output is available,
+ thereby wrapping the whole process of making a connection, doing protocol
+ handshakes, and submitting the request. Once there's an actual output
+ stream, data from the wrapper stream can be sent. Until that time, the
+ wrapper will block or return 0
+ (based on whether it is blocking or not).
+
+ The wrapper stream is a partial implementation that needs to be completed
+ (by in heritance) by the respective protocol implementation.
+
+M src/lib/Makefile.am
+A src/lib/ostream-wrapper.c
+A src/lib/ostream-wrapper.h
+
+2020-03-14 00:57:48 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (c55416a31f)
+
+ lib-http: http-server-connection - Hold immune request reference while
+ sending response.
+
+
+M src/lib-http/http-server-connection.c
+
+2020-03-14 00:39:38 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (803db25cc1)
+
+ lib-http: http-server-connection - When connection is closed, abort requests
+ with provided reason.
+
+
+M src/lib-http/http-server-connection.c
+
+2020-03-13 23:55:50 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (1741c85380)
+
+ lib-http: http-server-request - Add http_server_request_immune_ref/unref()
+ and use the new API.
+
+ Makes the request immune to http_server_request_destroy() until the last
+ immune reference is dropped. The destruction is only delayed, so destroy is
+ implicit once the last immune reference is dropped.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+
+2020-03-14 00:41:10 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (b8e77f565f)
+
+ lib-http: http-server-request - Notify response about request destroy before
+ destroy callback is called.
+
+
+M src/lib-http/http-server-request.c
+
+2020-03-14 12:21:15 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (fa8127c9d0)
+
+ lib-http: http-server-request - Don't destroy anything when request destroy
+ is delayed.
+
+
+M src/lib-http/http-server-request.c
+
+2020-03-14 00:30:20 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (0c158fbffd)
+
+ lib-http: http-server-request - Log reason in http_server_request_abort()
+ debug message.
+
+
+M src/lib-http/http-server-request.c
+
+2019-11-11 18:47:18 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (08035a4135)
+
+ lib-http: http-server-connection - Significantly simplify destroying the
+ request payload stream.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-request.c
+
+2019-11-18 00:34:50 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (277b9fbbf2)
+
+ lib-http: http-server-response - Fix management of connection idle timeout.
+
+
+M src/lib-http/http-server-response.c
+
+2019-11-11 17:45:35 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (2fd6708b4a)
+
+ lib-http: http-server-response - Add response reference counting API.
+
+ Uses request reference counting internally. This is just a convenience API.
+
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.h
+
+2019-11-11 17:37:55 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (ff931675b8)
+
+ lib-http: http-server-response - Add http_server_response_request_destroy().
+
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+
+2019-11-11 17:33:49 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (505751817f)
+
+ lib-http: http-server-response - Rename http_server_response_free() to
+ http_server_response_request_free().
+
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+
+2019-11-11 17:27:45 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (06de3d44a0)
+
+ lib-http: http-server-response - Publish
+ http_server_response_finish_payload_out() as internal API.
+
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-response.c
+
+2019-11-09 12:52:41 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (444bf7952d)
+
+ lib-http: http-server-response - Restructure initialization of response
+ payload sending.
+
+ Divided it into three phases: determination of the type of payload, the
+ initialization of the payload output stream and the construction of the
+ message header.
+
+ The new structure allows for adding new payload APIs more easily.
+
+M src/lib-http/http-server-response.c
+
+2019-11-17 22:25:45 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (e12d43ad1f)
+
+ lib-http: http-server-connection - Restructure/rename idle timeout
+ functions.
+
+ This way, the code will better match similar code in the HTTP client
+ implementation.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+
+2019-11-11 17:04:33 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (f71e012fc0)
+
+ lib-http: http-server-connection - Restructure
+ http_server_connection_input_resume().
+
+
+M src/lib-http/http-server-connection.c
+
+2019-11-11 18:55:37 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (89e6077152)
+
+ lib-http: http-server-connection - Add
+ http_server_connection_input_set_pending().
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+
+2019-11-11 17:01:47 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (36cbd30fbd)
+
+ lib-http: http-server-connection - Publish internal API for halting and
+ resuming connection input handling.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+
+2019-11-09 11:02:56 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (4dbc82ffda)
+
+ lib-http: http-server-connection - Add internal API for halting and resuming
+ connection output handling.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+
+2019-11-12 00:57:39 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (37701ecad9)
+
+ lib-http: test-http-server-errors - Fix name of client_connection_deinit().
+
+
+M src/lib-http/test-http-server-errors.c
+
+2019-11-12 00:56:30 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (f81a07a3e1)
+
+ lib-http: test-http-server-errors - Ignore SIGPIPE.
+
+
+M src/lib-http/test-http-server-errors.c
+
+2019-11-11 23:37:01 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (a89f09eef5)
+
+ lib-http: test-http-server-errors - Add log prefixes to distinguish client
+ and server debug messages.
+
+
+M src/lib-http/test-http-server-errors.c
+
+2019-11-11 22:55:54 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (37c6b9c32b)
+
+ lib-http: Reformat test-http-server-errors.c.
+
+
+M src/lib-http/test-http-server-errors.c
+
+2019-11-15 17:31:07 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (63db98fab0)
+
+ lib-http: test-http-payload - Add tests for the old blocking server payload
+ output API.
+
+
+M src/lib-http/test-http-payload.c
+
+2019-11-11 18:01:33 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (315d8946f9)
+
+ lib-http: test-http-payload - Properly finish blocking server payload
+ output.
+
+
+M src/lib-http/test-http-payload.c
+
+2018-04-04 03:23:15 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3b2e15cb8d)
+
+ lib-http: test-http-payload - Use client request object for
+ test_client_echo_finished() rather than index.
+
+
+M src/lib-http/test-http-payload.c
+
+2018-04-04 03:18:55 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2a22557bb2)
+
+ lib-http: test-http-payload - Use client request object for
+ test_client_download_finished() rather than index.
+
+
+M src/lib-http/test-http-payload.c
+
+2018-04-04 10:10:09 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9e5154f3e3)
+
+ lib-http: test-http-payload - echo: Manage active requests asynchronously.
+
+
+M src/lib-http/test-http-payload.c
+
+2018-04-04 03:10:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (19dc57cd06)
+
+ lib-http: test-http-payload - Rename client request file stream field to
+ 'file_in'.
+
+ This is the stream used to compare against the incoming payload (either
+ download or echo).
+
+M src/lib-http/test-http-payload.c
+
+2018-03-25 22:02:33 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (bfaecec16a)
+
+ lib-http: test-http-payload - Group test settings into a common struct.
+
+ Allows reliable initialization.
+
+M src/lib-http/test-http-payload.c
+
+2018-03-20 19:16:33 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8de81c810c)
+
+ lib-http: test-http-payload - Add log prefixes to distinguish client and
+ server debug messages.
+
+
+M src/lib-http/test-http-payload.c
+
+2018-04-04 10:25:59 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a3ea140dbf)
+
+ lib-http: test-http-payload - Only switch ioloop for progress timeout when
+ it is running.
+
+
+M src/lib-http/test-http-payload.c
+
+2018-04-04 10:18:41 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (081be1ccd9)
+
+ lib-http: test-http-payload - Do not continue running ioloop when failure
+ occurred.
+
+
+M src/lib-http/test-http-payload.c
+
+2018-04-04 13:58:00 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a963c3a98d)
+
+ lib-http: test-http-payload - echo: Add debug message for when incoming
+ payload is finished.
+
+
+M src/lib-http/test-http-payload.c
+
+2018-04-04 13:56:15 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (626ca0988e)
+
+ lib-http: test-http-payload - echo: Properly handle empty payload.
+
+
+M src/lib-http/test-http-payload.c
+
+2018-04-04 13:27:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a344ad09a3)
+
+ lib-http: Reformat test-http-payload.c.
+
+
+M src/lib-http/test-http-payload.c
+
+2019-11-18 00:11:43 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (7e6aa74a02)
+
+ lib-http: http-server-connection - Fix http_server_connection_flush() return
+ value.
+
+
+M src/lib-http/http-server-connection.c
+
+2019-11-09 10:47:22 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (1453b57ef1)
+
+ lib-http: http-server-connection - Add support for switching to an explicit
+ ioloop.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server.h
+
+2019-11-09 10:47:04 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (ba4fc74154)
+
+ lib: iostream-pump - Add support for switching to an explicit ioloop.
+
+
+M src/lib/iostream-pump.c
+M src/lib/iostream-pump.h
+
+2018-03-25 20:03:47 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1e1494b7a9)
+
+ lib-http: http-server-request - Fix blocking payload input stream error
+ handling.
+
+
+M src/lib-http/http-server-request.c
+
+2018-03-20 02:27:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b3a7ca3cef)
+
+ lib-http: http-message parser - Improve error for invalid payload.
+
+ Add the textual error from the payload stream (chunked transfer).
+
+M src/lib-http/http-message-parser.c
+
+2018-03-19 19:16:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8fb8b137c7)
+
+ lib-http: http-message parser - Refer to message payload rather than
+ response payload in error message.
+
+ The message parser is used for both requests and responses.
+
+M src/lib-http/http-message-parser.c
+
+2020-02-27 01:24:03 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (08f970f5f5)
+
+ lib-http: Restructure http-message-parser.c.
+
+ Reduce line length.
+
+M src/lib-http/http-message-parser.c
+
+2020-02-27 00:24:54 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (64bf267a09)
+
+ lib-http: Reformat http-message-parser.c.
+
+
+M src/lib-http/http-message-parser.c
+
+2020-02-27 21:48:14 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (be3b065afb)
+
+ lib-http: http-transfer-chunked - Don't implicitly finish the output stream
+ upon o_stream_close().
+
+
+M src/lib-http/http-transfer-chunked.c
+
+2019-11-09 13:31:52 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (abcaccc67b)
+
+ lib-http: http-server-response - Properly finish the payload output stream
+ asynchronously.
+
+ Payload output handling is finished only after the stream is finished and
+ flushed completely.
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-response.c
+
+2018-03-20 20:42:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d09b65eea0)
+
+ lib-http: http-client-request - Properly finish the payload output stream
+ asynchronously.
+
+ Payload output handling is finished only after the stream is finished and
+ flushed completely.
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2018-03-20 18:23:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3857a2a771)
+
+ lib-http: http-transfer-chunked - Make sending of the trailer chunk in
+ ostream more reliable.
+
+ Use the new o_stream_finish() functionality.
+
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/test-http-transfer.c
+
+2018-03-20 18:39:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9385e2777d)
+
+ lib-http: http-transfer-chunked - Add assertions to ensure that the chunk
+ istream position is valid.
+
+
+M src/lib-http/http-transfer-chunked.c
+
+2018-03-20 20:58:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (48e386f97f)
+
+ lib-http: Reformat http-client-connection.c.
+
+
+M src/lib-http/http-client-connection.c
+
+2019-11-12 02:45:52 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (b6aa34b2d1)
+
+ lib-http: Reformat http-transfer-chunked.c.
+
+
+M src/lib-http/http-transfer-chunked.c
+
+2018-07-06 00:01:14 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (8094dac465)
+
+ lib-http: http-server-response - Prevent response content stream from
+ finishing the connection output stream.
+
+ This is not supposed to happen ever, because the connection output stream
+ needs to be available for several responses. This was at some point a
+ problem in some of the test with the new ostream payload API.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-response.c
+
+2018-07-05 23:52:51 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (081e5fed72)
+
+ lib-http: http-client-request - Prevent request content stream from
+ finishing the connection output stream.
+
+ This is not supposed to happen ever, because the connection output stream
+ needs to be available for several requests. This was at some point a problem
+ in some of the test with the new ostream payload API.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+
+2019-11-22 19:51:15 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (86b3b410b5)
+
+ lib: ostream - Use local variable for stream rather than pointer in
+ o_stream_destroy().
+
+ Problem is that a destroy callback can mess with the pointer, leading to all
+ kinds of trouble.
+
+M src/lib/ostream.c
+
+2020-02-17 11:10:46 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (521c615337)
+
+ stats: Export sub-metrics for openmetrics
+
+
+M src/stats/stats-service-openmetrics.c
+
+2020-02-17 13:19:16 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (8de48a0241)
+
+ stats: stats-service-openmetrics.c - Fix whitespace formatting
+
+
+M src/stats/stats-service-openmetrics.c
+
+2019-11-17 10:55:49 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (d22a32424b)
+
+ stats: stats-service - Add support for OpenMetrics/Prometheus.
+
+
+M src/stats/Makefile.am
+A src/stats/stats-service-openmetrics.c
+M src/stats/stats-service-private.h
+M src/stats/stats-service.c
+
+2019-11-15 00:34:32 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (390832afd5)
+
+ stats: Add stats exporter service infrastructure.
+
+
+M src/stats/Makefile.am
+M src/stats/client-http.c
+M src/stats/main.c
+A src/stats/stats-service-private.h
+A src/stats/stats-service.c
+A src/stats/stats-service.h
+
+2019-11-15 00:32:00 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (06f9f4dd8d)
+
+ stats: Add HTTP server support.
+
+
+M src/stats/Makefile.am
+A src/stats/client-http.c
+A src/stats/client-http.h
+M src/stats/main.c
+M src/stats/stats-settings.c
+M src/stats/stats-settings.h
+
+2019-11-15 00:28:18 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (8cb1413c1d)
+
+ stats: stats-metrics - Associate each metric with its corresponding metric
+ settings.
+
+
+M src/stats/stats-metrics.c
+M src/stats/stats-metrics.h
+
+2019-11-15 00:24:03 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (64036e6c61)
+
+ stats: Make service startup time available as a global variable.
+
+
+M src/stats/main.c
+M src/stats/stats-common.h
+
+2019-11-14 23:57:19 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (7e54802040)
+
+ stats: Make metrics struct a global variable.
+
+
+M src/stats/client-reader.c
+M src/stats/client-reader.h
+M src/stats/client-writer.c
+M src/stats/client-writer.h
+M src/stats/main.c
+M src/stats/stats-common.h
+M src/stats/test-client-reader.c
+M src/stats/test-client-writer.c
+M src/stats/test-stats-common.c
+M src/stats/test-stats-common.h
+M src/stats/test-stats-metrics.c
+
+2019-11-15 00:08:15 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (aee92828f7)
+
+ stats: Make settings available as a global variable.
+
+
+M src/stats/main.c
+M src/stats/stats-common.h
+
+2019-11-15 00:05:29 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (73fac16414)
+
+ stats: Create stats-common.h.
+
+
+M src/stats/Makefile.am
+M src/stats/client-reader.c
+M src/stats/client-writer.c
+M src/stats/main.c
+A src/stats/stats-common.h
+M src/stats/stats-metrics.c
+M src/stats/stats-settings.c
+
+2019-11-19 01:34:06 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (11bdfbf1a9)
+
+ lib-http: http-server-request - Add http_server_request_fail_bad_method().
+
+
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server.h
+
+2019-11-17 15:01:26 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (52aee62972)
+
+ lib-http: http-url - Add http_url_init_authority_from().
+
+
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+
+2019-11-14 23:33:49 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (9811516bac)
+
+ stats: stats-settings - Add description setting for metrics.
+
+
+M src/stats/stats-settings.c
+M src/stats/stats-settings.h
+
+2019-11-08 17:11:36 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (fd8e4fae43)
+
+ lib-http: http-server - Implement support for dynamically adding resources.
+
+ Before, the application would get all requests through a single main
+ callback and the application was always responsible for mapping request
+ targets to a particular application-defined HTTP resource. Now, an
+ application can receive requests for a certain HTTP resource through a
+ separately-registered resource object, which allows dynamic configuration of
+ server resources. This way, e.g. a generic HTTP service with several
+ separate 'drivers' or plugin support for an HTTP service can be implemented
+ more easily.
+
+M src/lib-http/Makefile.am
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+A src/lib-http/http-server-resource.c
+M src/lib-http/http-server.c
+M src/lib-http/http-server.h
+
+2019-11-17 14:28:37 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (48f3ec2a4b)
+
+ lib-http: http-server-request - Provide default response for OPTIONS *
+ request.
+
+
+M src/lib-http/http-server-request.c
+
+2019-11-17 10:52:52 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (b6466d3429)
+
+ lib-http: http-server-connection - Run request callback in new datastack
+ frame.
+
+
+M src/lib-http/http-server-connection.c
+
+2019-11-08 17:11:36 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (a18afc4f83)
+
+ lib-http: http-server-connection - Restructure request callback handling.
+
+ Move most of it to http-server-request.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+
+2019-11-08 17:11:35 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f089333936)
+
+ lib-http: server: Replace http_*_debug() with e_debug().
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+
+2019-11-08 17:11:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7820325082)
+
+ lib-http: server: Replace http_*_error() with e_error().
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+
+2019-11-08 17:11:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (eff369d040)
+
+ lib-http: server: Replace i_error() with e_error().
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-response.c
+
+2019-11-08 17:11:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (06f3dd3bd2)
+
+ lib-http: server: Remove redundant debug logging checks.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+
+2019-11-08 17:11:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (99d37b1d05)
+
+ lib-http: server: Add support for event API.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.c
+M src/lib-http/http-server.h
+
+2019-11-11 17:20:48 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (09514c78d5)
+
+ lib-http: http-server-request - Make http_server_request_label() a normal
+ function.
+
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+
+2019-11-09 09:36:56 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (abab7f4009)
+
+ lib-http: Reformat http-server-response.c.
+
+
+M src/lib-http/http-server-response.c
+
+2019-11-08 17:11:31 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (8f33fa83b2)
+
+ lib-http: Reformat http-server-request.c.
+
+
+M src/lib-http/http-server-request.c
+
+2019-11-08 17:11:30 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (55a2100778)
+
+ lib-http: Reformat http-server-connection.c.
+
+
+M src/lib-http/http-server-connection.c
+
+2019-11-08 17:11:29 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (3ed3722395)
+
+ lib-http: Reformat http-server-private.h.
+
+
+M src/lib-http/http-server-private.h
+
+2019-11-08 17:11:28 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (dc1f5fa5b8)
+
+ lib-http: Reformat http-server.h.
+
+
+M src/lib-http/http-server.h
+
+2020-04-17 16:35:19 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2d799bf3f5)
+
+ Add generated dovecot.service file to .gitignore.
+
+
+M .gitignore
+
+2020-04-16 15:59:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5f6d213469)
+
+ lib-index: Fix cache purging when index is being rebuilt
+
+ All the messages until trans->first_new_seq no longer exist after reset. At
+ best they cause confusion and are ignored. They could also point to high
+ UIDs that the rebuilding removes, causing further corruption errors.
+
+M src/lib-index/mail-cache-purge.c
+
+2020-04-16 14:46:28 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5535fad2b0)
+
+ lib-storage: index_index_rebuild_init() - Assert-crash if index isn't locked
+
+
+M src/lib-storage/index/index-rebuild.c
+
+2020-04-16 14:46:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8f58058f77)
+
+ lib-index: Add mail_index_lock_sync() and mail_index_unlock()
+
+
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+
+2020-03-30 09:48:32 +0300 Juha-Petri Tyrkkö <juha-petri.tyrkkoe@open-xchange.com> (dcf0addbfc)
+
+ auth: Implement auth-worker-client per-command events.
+
+
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-client.h
+
+2020-04-01 22:53:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9efb99924d)
+
+ lib-index: When flushing cache changes to disk, try to also write offsets to
+ transaction log
+
+ This works as long as there aren't any newly created non-committed mails.
+
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/test-mail-cache-purge.c
+
+2020-04-05 18:36:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bf34319b71)
+
+ lib-index: Cache purging shouldn't always change YES decisions to TEMP
+
+ Previously every purging changed YES decision to be changed to TEMP. This
+ behaved rather badly if a cache file was purged twice within short time
+ period, because the clients might not have had time to access the mailbox
+ and change the decision back to YES. That in turn could have dropped old
+ mails' cached fields even though the client might still want to use them. (A
+ workaround for this has been to list all useful fields in
+ mail_always_cache_fields setting.)
+
+ The new behavior is to update the last_used field for a YES decision only
+ when the YES decision has been confirmed. If it's not confirmed for 30 days
+ (mail_cache_unaccessed_field_drop) then its decision is changed to TEMP on
+ the next purge.
+
+ The new behavior also doubles the time when unaccessed field is dropped from
+ 30 days to 60 days (2*mail_cache_unaccessed_field_drop). This is needed so
+ that the field isn't dropped too early after YES -> TEMP decision is
+ changed.
+
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-purge.c
+M src/lib-index/test-mail-cache-purge.c
+M src/lib-index/test-mail-cache.c
+
+2020-04-05 18:27:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9647fb56c3)
+
+ lib-index: Split off mail_cache_purge_check_field()
+
+
+M src/lib-index/mail-cache-purge.c
+
+2020-04-05 18:09:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (00b5b8c269)
+
+ lib-index: mail_cache_decision_state_update() - Minor refactoring
+
+ Simplifies the next commit.
+
+M src/lib-index/mail-cache-decisions.c
+
+2020-04-05 18:10:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fa376e2fa7)
+
+ lib-index: Split off mail_cache_update_last_used()
+
+
+M src/lib-index/mail-cache-decisions.c
+
+2020-04-15 15:16:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (642eef76ad)
+
+ lib-oauth2: Fix linking unit tests
+
+ Reverses 0b3b67b848d7032ae94b14b3317ff0b6a45a4057, which was wrong because
+ lib-http requires lib-master. Also libmaster now requires linking with
+ lib-auth.
+
+M src/lib-oauth2/Makefile.am
+
+2020-03-25 10:48:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b606564e99)
+
+ auth: Fix potential timing attack in verying crypt() results
+
+ Probably impractical attack in any case, but lets do this just to be extra
+ safe.
+
+M src/auth/password-scheme.c
+
+2020-03-25 10:43:33 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7c4a296324)
+
+ lib-imap-urlauth: Fix potential timing attack in verifying the token
+
+
+M src/lib-imap-urlauth/imap-urlauth.c
+
+2020-03-25 10:42:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7cb8d18064)
+
+ auth: DOVECOT-TOKEN mechanism - Fix potential timing attack in verying the
+ token
+
+
+M src/auth/mech-dovecot-token.c
+
+2020-04-07 19:16:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5a73613c7c)
+
+ lib: Add str_equals_timing_almost_safe()
+
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/lib/test-strfuncs.c
+
+2020-04-05 23:30:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (938aeeca08)
+
+ lib-storage: Initialize new cache hdr.* fields with NO decision
+
+ Calling mail_cache_add() afterwards will change their decision to TEMP. Or
+ if it's not called, it probably wasn't wanted to be cached anyway. Most
+ importantly this change will cause mail_cache_decision event to be triggered
+ for these newly cached headers.
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/mailbox-header.c
+
+2020-04-06 14:34:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d61b1e4d58)
+
+ lib-storage: When sorting mails, mark all the sort program fields as
+ "wanted"
+
+ Usually only the first field in the sort program is used, so this likely
+ doesn't make a big difference.
+
+ Also, this was already done in a different way for all header fields in the
+ program. However, the next commit will remove that way.
+
+M src/lib-storage/index/index-sort.c
+
+2020-03-31 22:23:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ceebd34539)
+
+ lib-index: Add test-mail-cache unit test
+
+
+M src/lib-index/Makefile.am
+A src/lib-index/test-mail-cache.c
+
+2020-03-31 21:45:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d10f47bea3)
+
+ lib-index: Add test-mail-cache-purge unit test
+
+
+M src/lib-index/Makefile.am
+A src/lib-index/test-mail-cache-common.c
+A src/lib-index/test-mail-cache-purge.c
+A src/lib-index/test-mail-cache.h
+
+2020-04-03 11:06:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4b60d609c0)
+
+ lib-index: mailbox_cache_purge*() - Add reason string
+
+ Include the reason in the mail_cache_purge_* events also.
+
+M src/doveadm/doveadm-mail-mailbox-cache.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-purge.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.h
+M src/lib-index/mail-index-sync.c
+M src/lib-storage/index/index-rebuild.c
+
+2020-04-03 00:22:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fded15721a)
+
+ lib-index: Add mail_cache_record_corrupted event
+
+
+M src/lib-index/mail-cache.c
+
+2020-04-02 23:52:46 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (97cbe4b6d3)
+
+ lib-index: Add mail_cache_corrupted event
+
+
+M src/lib-index/mail-cache.c
+
+2020-04-03 00:18:28 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b30ad2cfd7)
+
+ lib-index: If major_version or uoff_t size change in cache file, log error
+
+ These events really aren't expected, so it's better to clearly log errors
+ about them rather than silently delete the cache file.
+
+M src/lib-index/mail-cache.c
+
+2020-04-02 23:48:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0a3e9e0ae9)
+
+ lib-index: Merge mail_cache_reset() into mail_cache_unlink()
+
+ There are no external callers to mail_cache_reset(), and this simplifies the
+ code.
+
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-cache.h
+
+2020-04-03 00:07:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (cdbd12509d)
+
+ lib-index: mail_cache_set_seq_corrupted_reason() - Don't delete entire cache
+ if transaction commit fails
+
+ It can only happen on I/O errors, which most likely means that there's no
+ disk space to write to transaction log. There's no reason to delete the
+ entire cache, since it might be expensive to recreate.
+
+M src/lib-index/mail-cache.c
+
+2020-04-02 23:45:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4db539d8fc)
+
+ lib-index: Add mail_cache_decision_changed event
+
+
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-purge.c
+
+2020-04-02 23:38:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (63dc8373d2)
+
+ lib-index: Add mail_cache_purge_drop_field event
+
+
+M src/lib-index/mail-cache-purge.c
+
+2020-04-02 23:12:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9070855c45)
+
+ lib-index: Add mail_cache_purge_started/finished events
+
+
+M src/lib-index/mail-cache-purge.c
+
+2020-03-31 15:21:28 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0204437f59)
+
+ lib-index: Log a warning if cache purging causes changes to be lost
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-04-02 23:25:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b72f380905)
+
+ lib-index: Add mail_cache.event with a log prefix and mail-cache category
+
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+
+2020-04-04 12:44:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (dbb550902e)
+
+ lib-index: Rename "index" event category to "mail-index"
+
+ It's a bit too ambiguous to call it just "index" since we have so many
+ different ones.
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+
+2020-04-03 00:41:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (05d9cb7dc1)
+
+ lib-storage: Use mailbox.event as parent to mail_index
+
+ The index lives longer than the struct mailbox, which is a bit confusing. In
+ some cases the index could even be used for a different mailbox name
+ (symlink/alias), in which case the event's mailbox name wouldn't be exactly
+ correct. However, these downsides are still preferable to not inheriting
+ from the mailbox event, since then there is no mailbox name.
+
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage.c
+
+2020-03-31 15:20:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e60ad12886)
+
+ lib-index: When cache purging causes changes to be lost, don't update
+ deleted_record_count
+
+ The new file that purging created doesn't have any of these deleted records
+ anymore.
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-31 15:03:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f76794b45c)
+
+ lib-storage: Rename mail_cache_compress_* settings to mail_cache_purge_*
+
+ The old settings are still recognized by the old-set-parser.
+
+M src/config/old-set-parser.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2020-03-31 14:59:25 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9526036af7)
+
+ lib-index: Rename cache compress -> cache purge
+
+ Using "purge" term is less confusing than "compress". This was already
+ decided earlier for "doveadm mailbox cache purge" name, and it's similar to
+ mdbox purging.
+
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-mail-mailbox-cache.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-purge.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-cache.h
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-storage.c
+
+2020-03-31 14:49:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f1cbc21847)
+
+ lib-index: Rename mail-cache-compress.c to mail-cache-purge.c
+
+
+M src/lib-index/Makefile.am
+R100 src/lib-index/mail-cache-compress.c src/lib-index/mail-cache-purge.c
+
+2020-04-05 20:42:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5dd4bc3348)
+
+ lib-index: Make sure cache header is written after changing cache decisions
+
+ Remove the extra check that caused it to wrongly not be updated in some
+ situations.
+
+M src/lib-index/mail-cache-decisions.c
+
+2020-04-05 20:41:28 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a259ae73e9)
+
+ lib-index: Update last_used field immediately when adding a new cache field
+
+ Otherwise the newly added field could be dropped immediately on the next
+ purge.
+
+M src/lib-index/mail-cache-decisions.c
+
+2020-04-02 00:29:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (021547c4d8)
+
+ lib-index: Make sure purging clears saved bitmask offsets state between
+ mails
+
+ This is just to make sure it doesn't try to use previous mail's offset when
+ merging bitmasks. This shouldn't have been possible anyway, because
+ field_seen array guaranteed that the bitmask_pos was always set before
+ reading it. This just makes extra sure of it.
+
+M src/lib-index/mail-cache-compress.c
+
+2020-04-02 00:27:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4578450eec)
+
+ lib-index: Fix mail_cache_get_first_new_seq() when all mails are old
+
+ Instead of returning "all messages are old", it returned "all messages are
+ new".
+
+M src/lib-index/mail-cache.c
+
+2020-04-01 16:42:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2b1f41d267)
+
+ lib-index: mail_cache_get_missing_reason() - Add "Mail is already expunged"
+ as reason
+
+
+M src/lib-index/mail-cache-lookup.c
+
+2020-04-01 22:24:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (106837930d)
+
+ lib-index: Remove mail_cache_try_lock()
+
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+
+2020-03-31 18:53:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (46a5db4d02)
+
+ lib-index: Wait for lock in cache compression, not just try once
+
+ Sometimes there's an important reason for the cache to be compressed, and it
+ shouldn't give up just because there's a race condition with another process
+ that just happens to be writing to it.
+
+M src/lib-index/mail-cache-compress.c
+
+2020-03-31 17:50:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5d1512f79a)
+
+ lib-index: After cache is marked corrupted, don't log error if cache file
+ isn't found
+
+ It's just an unnecessary extra error.
+
+M src/lib-index/mail-cache.c
+
+2020-04-01 22:19:52 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (efe492c5c0)
+
+ lib-index: Don't compress cache file if there are cache transactions with
+ changes
+
+ The cache compression could have lost changes in the uncommitted
+ transactions if they had already written some changes to the file. This
+ seems to have happened sometimes at least with dsync.
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-index-sync.c
+
+2020-04-01 16:31:32 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bbd1549ed4)
+
+ lib-index: Cache compression could have lost data for recently added mails
+
+ mail_index_sync_ctx.view may not have seen all the newly added mails, which
+ caused compression to skip those mails. Use a whole new view instead, which
+ guarantees that all mails are seen.
+
+M src/lib-index/mail-index-sync.c
+
+2020-03-31 12:08:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7d13a07049)
+
+ lib-index: Fix cache lookup for a newly added field in non-committed
+ transaction
+
+ The cache lookup didn't return anything unless the field already existed in
+ the current cache file. It could still have already been added to the
+ transaction and found from there.
+
+M src/lib-index/mail-cache-lookup.c
+
+2020-03-31 11:40:58 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4ba845fa76)
+
+ lib-index: Don't even try to add fields to cache that exceed record_max_size
+
+ Previously these were temporarily added to memory and later on the whole
+ cache record was just dropped. But usually not all the cache fields are
+ huge, so it's better to add some fields to cache than none.
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-04-01 18:02:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (861f4d0b13)
+
+ lib-index: Fix assert-crash if cache record has no content after all
+
+ This couldn't have happened yet, but will happen after the next commit.
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-31 11:37:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e50e283069)
+
+ lib-index: Use cache record's exact size when checking if it should be
+ flushed
+
+ The field_idx wasn't included in the calculation.
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-30 17:39:46 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6406f1ae46)
+
+ lib-index: Replace mail_cache_flush_and_unlock() with mail_cache_unlock()
+ where it's better
+
+ In various error handling code paths it's not useful to try to flush any
+ headers. It might just make things worse.
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+
+2020-03-30 17:49:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (90641af5ca)
+
+ lib-index: Remove backward compatibility code for Dovecot v2.1 and older
+
+ We can still read old cache files, but Dovecot v2.1 can't anymore read these
+ newer cache files.
+
+M src/lib-index/mail-cache.c
+
+2020-04-01 22:11:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8874703845)
+
+ lib-index: Cache transaction rollback used too small value to increase
+ deleted_record_count
+
+ Rollback used records_written to update it, but that was actually counting
+ the number of transaction flushes, not the number of individual mail cache
+ records that were written.
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-30 17:34:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1cc9bdd682)
+
+ lib-index: mail_cache_transaction_rollback() - fix updating
+ deleted_record_count
+
+ The deleted_record_count in cache header wasn't actually being updated
+ because hdr_modified wasn't TRUE.
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-30 17:28:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (20c2c2cce4)
+
+ lib-index: Add mail_cache_unlock() that doesn't flush any headers
+
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+
+2020-03-30 17:22:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9d53ed3961)
+
+ lib-index: Rename mail_cache_unlock() to mail_cache_flush_and_unlock()
+
+ This describes better what it does, because it's not just unlocking.
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+
+2020-03-30 17:14:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c735f6f290)
+
+ lib-index: Make mail_cache_need_reopen() static
+
+ Nothing else besides mail_cache_*lock() needs to be calling it anymore.
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+
+2020-03-30 17:12:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a50b4e22c6)
+
+ lib-index: mail_cache_lookup_offset() - Use mail_cache_sync_reset_id()
+
+ This avoids race conditions where cache fields aren't found during cache
+ compression.
+
+M src/lib-index/mail-cache-lookup.c
+
+2020-03-30 17:07:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f472710caa)
+
+ lib-index: Make mail_cache_sync_reset_id() public
+
+ Also it no longer requires that cache is already locked when being called.
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+
+2020-03-30 17:04:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8f90b5b80e)
+
+ lib-index: Mark cache corrupted after finding that reset_id permanently
+ wrong
+
+
+M src/lib-index/mail-cache.c
+
+2020-03-30 16:48:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (13c34b3cdb)
+
+ lib-index: mail_cache_*lock() - On reset_id mismatch wait for cache
+ compression to finish
+
+ It was possible that the reset_id mismatch happened because cache
+ compression had already recreated the .cache file, but hadn't yet written
+ the new reset_id to the .log file. By waiting for the .log lock, we can be
+ sure that this won't happen.
+
+M src/lib-index/mail-cache.c
+
+2020-03-30 15:45:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2d98c7f343)
+
+ lib-index: mail_cache_sync_reset_id() - Rewrite to simplify
+
+ This doesn't change any functionality.
+
+M src/lib-index/mail-cache.c
+
+2020-03-30 15:13:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a616d36650)
+
+ lib-index: mail_cache_*lock() - Handle syscall errors correctly
+
+ If reading a cache file failed because of some temporary syscall error, it
+ was treated the same as if the cache was corrupted. This could have caused
+ compression to lose cached data.
+
+M src/lib-index/mail-cache.c
+
+2020-03-30 16:16:46 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d4e0ae5f50)
+
+ lib-index: mail_cache_reopen_now() - Fix corruption handling remove checking
+ if reset_id matches
+
+ reset_id checking is already done by all of the callers. Also simplify the
+ error vs corruption handling by using mail_cache_open_and_verify()
+
+M src/lib-index/mail-cache.c
+
+2020-03-30 16:24:45 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fc53ba41b2)
+
+ lib-index: Make mail_cache_need_reopen() public and require using it
+ explicitly
+
+ mail_cache_reopen() no longer implicitly calls it.
+
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+
+2020-03-30 15:25:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (42ea566e4a)
+
+ lib-index: mail_cache_open_and_verify() - Separate error and corruption
+ handling
+
+
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-cache.h
+
+2020-03-30 15:07:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c056c16d4c)
+
+ lib-index: mail_cache_need_reopen() - Don't skip reopen just because
+ compression is wanted
+
+ The new cache file may still be usable until the compression is done.
+
+M src/lib-index/mail-cache.c
+
+2020-03-30 18:41:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (20d7de1237)
+
+ lib-index: mail_cache_map_all() - Separate error and corruption handling
+
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+
+2020-03-27 22:57:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (47b03f01a2)
+
+ lib-index: Remove cache compression dotlock
+
+ Now that .log file is guaranteed to be locked during cache compression,
+ there's no need for another exclusive lock.
+
+M src/lib-index/mail-cache-compress.c
+
+2020-03-31 16:43:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (32b7c2a821)
+
+ lib-index: Fix checking if cache should be compressed because it's getting
+ too large
+
+ Most importantly fixed updating last_stat_size whenever cache is locked.
+ This now guarantees that it's always fully up-to-date when it's being
+ checked. Most of the other places updating last_stat_size are now
+ unnecessary, but I left them in case they'll be useful in the future.
+
+ Fixed also off-by-one where purging was done also when cache was exactly at
+ its maximum size.
+
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+
+2020-03-27 18:26:23 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e2bde6ef36)
+
+ lib-index: Check if maximum cache file size has reached only after locking
+
+ This avoids race conditions.
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-27 13:02:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (41dceb66ad)
+
+ lib-index: mail_cache_compress_with_trans() - Don't return lock anymore
+
+ Now that transaction log is always locked during cache compression, it
+ doesn't matter if the cache is unlocked before or after the transaction log
+ commit.
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache.h
+M src/lib-index/mail-index-sync.c
+M src/lib-storage/index/index-rebuild.c
+
+2020-03-27 13:01:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d5f8b2ea70)
+
+ lib-index: mail_cache_compress_with_trans() - Require that transaction log
+ is locked
+
+ This should be true now for all of its callers.
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache.h
+
+2020-03-30 18:05:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d398d4877e)
+
+ lib-index: mail_cache_compress() - Make sure compression sees the latest
+ changes in index
+
+
+M src/lib-index/mail-cache-compress.c
+
+2020-03-27 12:53:32 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (697683734e)
+
+ lib-index: mail_cache_compress() - Keep the .log file locked during
+ compression
+
+
+M src/lib-index/mail-cache-compress.c
+
+2020-03-27 12:44:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f35d358e24)
+
+ lib-index: Remove mail_cache_compress_forced()
+
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache.h
+
+2020-03-27 12:49:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d5c430f121)
+
+ doveadm: Rewrite "doveadm mailbox cache purge" to use mail_cache_compress()
+
+ Also removed checks to verify whether the cache file existed or was usable.
+ Compression will create/fix the file, which is more likely to be the wanted
+ behavior than failing.
+
+M src/doveadm/doveadm-mail-mailbox-cache.c
+
+2020-03-27 12:36:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ea21a6e097)
+
+ lib-index: mail_cache_compress*() - Add compress_file_seq parameter
+
+ This can be used to specify when the cache file should be compressed. This
+ was previously hidden in the cache->compress_file_seq field, but now it's
+ more explicit.
+
+ This commit also makes sure that cache is compressed when index rebuilding
+ is done.
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.h
+M src/lib-index/mail-index-sync.c
+M src/lib-storage/index/index-rebuild.c
+
+2020-03-27 12:22:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fee4c1ad7c)
+
+ lib-index: Use mail_cache_compress() where possible
+
+
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-27 12:19:47 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (dbfef95455)
+
+ lib-index: Add mail_cache_compress()
+
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache.h
+
+2020-03-27 12:16:02 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (dfcbea9860)
+
+ lib-index: Rename mail_cache_compress() to mail_cache_compress_with_trans()
+
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.h
+M src/lib-index/mail-index-sync.c
+M src/lib-storage/index/index-rebuild.c
+
+2020-03-27 11:33:23 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0625730eb6)
+
+ lib-index: mail_cache_decisions_copy() - Create transaction internally
+
+
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache.h
+M src/lib-storage/mail-storage.c
+
+2020-03-26 18:04:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b4a6c376f1)
+
+ lib-index: Simplify opening cache when locking transaction
+
+ All this work is already done by mail_cache_lock() or
+ mail_cache_transaction_lock() after locking has failed.
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-27 18:07:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b6bfe12879)
+
+ lib-index: If cache transaction lock fails because reset_id mismatch,
+ compress cache
+
+ This is also done in mail_cache_transaction_open_if_needed(), so it usually
+ worked anyway. But that function is otherwise unnecessary, so it's going
+ away in the next commit.
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-26 16:54:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (94add2afba)
+
+ lib-index: Refresh caching decisions from cache file once per transaction
+
+ If another process had updated the decisions, mail_cache_field_want_add()
+ and mail_cache_field_can_add() may have returned obsolete values.
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-26 16:16:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ccdfa55b19)
+
+ lib-index: If cache transaction flush fails, don't discard the last mail's
+ cached data
+
+ The last mail's cached data could still be accessed within memory.
+
+ This can now be done because the field indexes are internal indexes instead
+ of file-specific indexes.
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-26 16:44:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7647aefc81)
+
+ lib-index: If cache file is compressed during transaction, discard only
+ flushed records
+
+ Cache records that are still in memory can be written to the new file.
+
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-26 16:01:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f51a160454)
+
+ lib-index: Simplify code to add missing header fields to cache
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-26 15:54:30 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (826d2601b0)
+
+ lib-index: Add only used fields to cache header, not everything
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-26 14:59:30 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1d37dd72d6)
+
+ lib-index: Delay using file-specific field numbers in uncommited cache
+ records
+
+ While adding data to cache, it's first kept in memory. Previously already at
+ this time the memory contained cache field numbers specified to the current
+ cache file. If the cache file was compressed, all the cached data had to be
+ discarded because the field numbers changed.
+
+ This commit changes the file-specific field indexes to internal index
+ numbers and converts them to file-specific numbers only just before writing
+ them to the cache file. This sigfinicantly simplifies the code. It also
+ allows following commits to avoid having to discard the data when cache is
+ compressed.
+
+ This change also required changing the cache lookup code to realize that the
+ uncommitted data contains internal field indexes.
+
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-transaction.c
+
+2020-04-01 22:08:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f5131f57df)
+
+ lib-index: Keep a linked list of mail_cache_views
+
+ Assert-crash on cache deinit if any views are still open.
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+
+2020-04-11 20:23:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (75719bcd61)
+
+ lib-ntlm: Replace strncpy() with memset()+memcpy()
+
+ There was nothing wrong with it, except gcc 9.2 logs a warning about it.
+
+M src/lib-ntlm/ntlm-encrypt.c
+
+2020-04-11 20:23:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4745529801)
+
+ lib-imap: test-imap-url - Fix error handling
+
+
+M src/lib-imap/test-imap-url.c
+
+2020-04-11 20:21:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4fad465ce2)
+
+ lib-http: Fix generating label for incomplete HTTP server request
+
+
+M src/lib-http/http-server-private.h
+
+2020-04-11 20:19:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8d4d869d80)
+
+ lib-master: Fix error logging if reading "instances" file fails
+
+ The path was written as "(null)" in the error message (or it crashed in some
+ OSes).
+
+M src/lib-master/master-instance.c
+
+2018-05-24 20:01:43 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (63741ac523)
+
+ lib-program-client: Do not derefence set when it is NULL.
+
+ Found by coverity. Broken in 23cfbf2451f7191dee1d9995011c898a7bf32bd4
+
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client.c
+M src/lib-program-client/program-client.h
+
+2018-05-24 20:16:33 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (95be64c930)
+
+ log: LOG_OPTION is not supported here
+
+ Found by coverity, introduced in d176f84ce5ca2073f4dfbafb457b9c74f6bf0d76
+
+M src/lib/failures.h
+M src/log/log-connection.c
+
+2018-05-24 20:14:08 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (83f71dc3f1)
+
+ lib-mail: message_header_decode_encoded - ensure num is QCOUNT
+
+ Satisifies static analyzers
+
+M src/lib-mail/message-header-decode.c
+
+2018-05-24 20:00:31 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6126381466)
+
+ auth: test-lua - Do not initialize NULL script
+
+ Satisfies code analyzers
+
+M src/auth/test-lua.c
+
+2018-05-24 19:58:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e2cc516d4b)
+
+ lib-fts: Assert that data is non-NULL when size > 0
+
+ Satisfies code analyzers
+
+M src/lib-fts/fts-tokenizer-address.c
+
+2020-03-31 22:53:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (14ee11490a)
+
+ lib-index: mail_cache_lookup_headers() - Use const for field_idxs[]
+
+
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache.h
+
+2020-03-31 22:23:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (601239727c)
+
+ lib-index: Move MAIL_CACHE_MAX_WRITE_BUFFER to mail-cache-private.h
+
+ This will help unit tests.
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-24 22:23:19 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e9b76d9065)
+
+ lib-index: unit tests: Split off test_mail_index_close/delete()
+
+
+M src/lib-index/test-mail-index.h
+
+2020-03-26 15:31:48 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5be9b6379e)
+
+ lib-index: Remove mail_cache_field_private.adding field
+
+ This was used to make sure that cache compression didn't drop a field that
+ was just being added. After previous commit the cache is locked before this
+ code is even reached, so it's no longer possible.
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-30 17:18:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a5c424a806)
+
+ lib-index: Use mail_cache_map_all() wherever possible
+
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache.c
+
+2020-03-30 17:17:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (dd27250acc)
+
+ lib-index: Add mail_cache_map_all()
+
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+
+2020-03-31 12:51:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8cb3bdcb87)
+
+ lib-index: mail_cache_transaction_update_index() - Return void since it
+ can't fail
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-04-01 17:02:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (532e4c087f)
+
+ lib-index: mail_cache_sync_reset_id() - Move cache unlocking to caller
+
+
+M src/lib-index/mail-cache.c
+
+2020-04-01 17:00:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1bf25b1858)
+
+ lib-index: Split off mail_cache_sync_reset_id()
+
+
+M src/lib-index/mail-cache.c
+
+2020-03-26 14:24:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (592075375a)
+
+ lib-index: Split off mail_cache_lookup_rec_get_field()
+
+
+M src/lib-index/mail-cache-lookup.c
+
+2020-03-20 16:36:17 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (fa69462b15)
+
+ lib-index: Split off mail_cache_transaction_forget_flushed()
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-20 16:42:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (db04045351)
+
+ lib-index: mail_cache_header_add_field_locked() - Move unlocking to caller
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-20 16:29:17 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a9ba6bf3ab)
+
+ lib-index: Split off mail_cache_header_add_field_locked()
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-20 16:27:31 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ab9f092de3)
+
+ lib-index: mail_cache_header_fields_write() - Take cache parameter instead
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-20 16:23:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2d68ba71bb)
+
+ lib-index: Split off mail_cache_trans_get_file_field()
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-03-25 17:45:56 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (60586966e5)
+
+ lib-index: mail_cache_lock() - Clarify why index->mapping might be TRUE here
+
+
+M src/lib-index/mail-cache.c
+
+2020-03-30 16:03:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fc614f3c2e)
+
+ lib-index: mail_transaction_log_sync_lock() - Fix function's comment
+
+
+M src/lib-index/mail-transaction-log.h
+
+2020-04-07 13:24:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f8e95e5c86)
+
+ lib-auth: Rename auth_client_request_continue event to ...continued
+
+
+M src/lib-auth/auth-client-request.c
+
+2020-04-07 12:51:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (84297ecf71)
+
+ auth: auth_request_finished event - Rename translated_username to
+ translated_user
+
+ All the other fields are also "user", not "username".
+
+M src/auth/auth-request.c
+
+2020-04-07 12:49:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (25098fc5bb)
+
+ auth: auth_request_finished event - Rename original_username to orig_user
+
+ This way it matches %{orig_user} variable.
+
+M src/auth/auth-request.c
+
+2020-04-07 12:41:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9ef3d67e12)
+
+ auth: Remove unnecessary NULL checks for adding event fields
+
+ The NULL values are ignored internally. No need to complicate the code.
+
+M src/auth/auth-request.c
+
+2020-04-07 12:39:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8f5d666f73)
+
+ auth: Remove duplicate "mechanism" field in auth request events
+
+ The "mech" field already existed, and it matches %{mech} variable.
+
+M src/auth/auth-request.c
+
+2020-04-05 01:16:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (61fc5a403c)
+
+ lib-master: Replace auth-master-client-login category with auth-client
+
+ This is just a reimplementation of lib-auth/auth-master code. This commit
+ also changes lib-master to require lib-auth to get to the category. This
+ dependency shouldn't really be a problem, since eventually this
+ master-login-auth code should be replaced by lib-auth anyway.
+
+M src/lib-http/Makefile.am
+M src/lib-master/Makefile.am
+M src/lib-master/master-login-auth.c
+M src/lib-smtp/Makefile.am
+M src/master/Makefile.am
+
+2020-04-05 01:13:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0b3b67b848)
+
+ lib-oauth2: Unit tests don't need to link libmaster
+
+
+M src/lib-oauth2/Makefile.am
+
+2020-04-05 01:06:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (21daa137b6)
+
+ lib-auth: Replace auth-master-client category with auth-client
+
+ The auth-client and auth-master connections are using mostly the same auth
+ API. Also the auth-master event names were already auth_client_*. So there's
+ not much point in having separate categories for them - it's just confusing.
+
+M src/lib-auth/auth-client-private.h
+M src/lib-auth/auth-client.c
+M src/lib-auth/auth-master.c
+
+2020-04-05 01:03:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bffd785f73)
+
+ push-notification: Rename event category from push_notification to
+ push-notification
+
+ All other categories are using "-" instead of "_".
+
+M src/plugins/push-notification/push-notification-plugin.c
+
+2020-04-14 20:55:48 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (de7ce202c1)
+
+ lib-dcrypt: Avoid using BN_bn2binpad
+
+ It's not available in older versions.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2020-04-14 18:30:34 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (6af5fb8b9b)
+
+ lib-dcrypt: Add EC_GROUP_order_bits if missing
+
+ Not there in older OpenSSL
+
+M m4/ssl.m4
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2020-04-14 14:24:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (75f7387042)
+
+ lib: ostream.h - Fix indent in enum ostream_create_file_flags
+
+
+M src/lib/ostream.h
+
+2020-04-14 15:23:20 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4b3ecbd3c1)
+
+ lib-dcrypt: Require ECDSA signature size is even
+
+ Valid ECDSA signature has two parts of equal sizes
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2020-04-14 15:22:20 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (eef66bcead)
+
+ lib-dcrypt: Pad signature parts to match ECDSA key size
+
+ This is required for ECDSA signatures.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2020-04-07 10:49:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (67a217b807)
+
+ lib-compression: Add unit tests for gz header handling bugs
+
+
+M src/lib-compression/test-compression.c
+
+2020-03-31 09:57:38 +0200 Philippe Antoine <contact@catenacyber.fr> (959e958cd3)
+
+ lib-compression: Fix length checks for zlib header
+
+
+M src/lib-compression/istream-zlib.c
+
+2020-04-07 10:19:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (501309a380)
+
+ lib-mail: test-message-address - Add unit test for the one byte overread
+
+ Note that this is visible only with valgrind.
+
+M src/lib-mail/test-message-address.c
+
+2020-04-02 17:28:58 +0200 Philippe Antoine <contact@catenacyber.fr> (22c103f154)
+
+ lib-mail: message_address_parse_path() - Fix one byte overread
+
+
+M src/lib-mail/message-address.c
+
+2020-04-03 15:32:35 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3fdb968687)
+
+ lib-master: If stats_writer_socket_path is empty, don't try to send stats
+
+
+M src/lib-master/master-service.c
+
+2020-04-02 17:45:46 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9dad6c9e90)
+
+ lib-test: test_exit() - Use regular exit() instead of _exit()
+
+ Otherwise code coverage output isn't written for the forked process.
+
+M src/lib-test/test-common.c
+
+2019-11-29 10:08:42 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (e6fbdf6674)
+
+ submission: submission-backend-relay - Abort client command when server
+ command is destroyed.
+
+ This fixes segmentation faults occurring when server commands are aborted
+ (connection is closed).
+
+M src/submission/submission-backend-relay.c
+
+2020-04-02 01:49:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (1517294ff0)
+
+ submission: submission-backend-relay - Clear client command in each client
+ command callback.
+
+
+M src/submission/submission-backend-relay.c
+
+2020-04-02 01:37:14 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (fa0b0f9c74)
+
+ submission: submission-backend-relay - Add assertions for command contexts
+ in callbacks.
+
+
+M src/submission/submission-backend-relay.c
+
+2019-11-29 10:14:50 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (38e992be34)
+
+ submission: submission-backend-relay - Rename "helo" parameter to
+ "helo_cmd".
+
+ Makes it more consistent with implementation of other non-transaction
+ commands.
+
+M src/submission/submission-backend-relay.c
+
+2019-11-29 10:26:26 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (888a5cffa5)
+
+ submission: Reformat submission-backend-relay.c.
+
+
+M src/submission/submission-backend-relay.c
+
+2020-04-08 07:55:31 +0000 michael.slusarz <michael.slusarz@open-xchange.com> (779757cc06)
+
+ lib: Remove deprecated str_append_n
+
+ This causes error when compiling within C++, so easiest to remove as it is
+ already not being used anywhere
+
+M src/lib/str.h
+
+2020-02-11 11:20:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5598afae69)
+
+ lib: var_expand*() - Ignore modifiers for unknown variables
+
+ So for example %M{asdf} will return UNSUPPORTED_VARIABLE_asdf instead of MD5
+ hash of it, which might not be so obvious that it's not working correctly.
+
+M src/lib/test-var-expand.c
+M src/lib/var-expand.c
+
+2020-02-11 11:18:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (cd422ee6f5)
+
+ lib: var_expand*() - Return UNKNOWN_VARIABLE_x if %x is unknown
+
+ This was already done for %{long_keys}, just not for single letter keys.
+
+M src/lib/test-var-expand.c
+M src/lib/var-expand.c
+
+2020-04-06 11:05:19 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (68f18ad6e7)
+
+ dict: Remove "dict client: " log prefix
+
+ Almost all log messages from dict process would end up having this prefix.
+
+M src/dict/dict-connection.c
+
+2020-03-19 17:14:34 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (2c29e3c0e0)
+
+ lib-storage: index: imapc: Implement support for SAVEDATE attribute.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-search.c
+
+2020-03-19 16:16:03 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (e2fb5d01fb)
+
+ lib-imap-client: imapc-client - Recognize the new SAVEDATE capability.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+
+2020-03-19 01:19:40 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (a4569e0407)
+
+ imap: Implement the standard SAVEDATE capability.
+
+
+M configure.ac
+M src/imap/imap-fetch.c
+M src/lib-storage/mail-search-args-imap.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/test-mail-search-args-imap.c
+
+2020-03-19 01:19:32 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (164e9bd79a)
+
+ lib-storage: mail-search - Add support for the SAVEDATESUPPORTED search
+ item.
+
+
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-search-args-cmdline.c
+M src/lib-storage/mail-search-args-imap.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+
+2020-03-19 01:04:53 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (2d6ad09458)
+
+ lib-storage: mail-storage - Change mail_get_save_date() to return 1 when
+ result is reliable.
+
+
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/mail-autoexpunge.c
+M src/lib-storage/mail-storage.h
+M src/plugins/expire/expire-plugin.c
+M src/plugins/virtual/virtual-mail.c
+
+2020-03-26 13:14:05 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (de9968d623)
+
+ dict-sql: Pass dict event to lib-sql
+
+
+M src/lib-dict-backend/dict-sql.c
+
+2020-03-10 21:48:52 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (795f819cdf)
+
+ dict: Add events
+
+
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+
+2020-03-10 10:31:19 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (48cc1a6394)
+
+ dict-client: Use event based logging
+
+
+M src/lib-dict/dict-client.c
+
+2018-06-11 16:35:25 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f186fc0dcb)
+
+ dict-redis: Use event based logging
+
+
+M src/lib-dict/dict-redis.c
+
+2018-06-11 16:11:28 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8d1f454618)
+
+ dict-memcached: Use event based logging
+
+
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+
+2018-06-11 16:03:24 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1523219834)
+
+ dict-file: Use event based logging
+
+
+M src/lib-dict/dict-file.c
+
+2018-06-11 15:25:54 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (62974b7837)
+
+ lib-dict: Add named events
+
+
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+
+2020-03-11 14:59:05 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (eb5bf945fa)
+
+ lib-dict: Add event support
+
+
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+
+2018-06-11 16:02:26 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e375207b3f)
+
+ dict-file: Move error logging higher up
+
+ Makes next commit easier.
+
+M src/lib-dict/dict-file.c
+
+2020-03-24 20:34:17 +0100 Patrick Gansterer <paroga@paroga.com> (9d449447a5)
+
+ lib-oauth2: Fix possible timing attack in oauth2_validate_hmac()
+
+ Use mem_equals_timing_safe() instead of memcmp() to test the equality of the
+ digest.
+
+M src/lib-oauth2/oauth2-jwt.c
+
+2020-03-24 11:49:07 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (85acc57a79)
+
+ lib-dict: Add refcounting
+
+ This way we do not crash if lookup callback happens after caller has already
+ called dict_deinit. This is now done because dict-sql does not support
+ aborting SQL queries. This is hopefully fixed in future.
+
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+
+2020-03-02 20:09:48 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (12067d7cf1)
+
+ lib-dict: Add async lookup/commit helpers
+
+ Simplifies following commits
+
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict.c
+
+2020-03-10 20:33:50 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (1bcfc1a65f)
+
+ lib-dict-backend: Use ioloop pointers in parent struct
+
+
+M src/lib-dict-backend/dict-ldap.c
+
+2020-03-10 10:49:38 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (42a0f4bd47)
+
+ lib-dict: Use ioloop pointers in parent struct
+
+
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict.c
+
+2020-03-24 13:19:21 +0200 Juha-Petri Tyrkkö <juha-petri.tyrkkoe@open-xchange.com> (1e8c1d450c)
+
+ lib-dns: Remove superfluous client event and avoid duplicate client
+ connection event unreferencing.
+
+
+M src/lib-dns/dns-lookup.c
+
+2020-03-17 09:41:10 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (9f42630b22)
+
+ lib-smtp: smtp-server-command - Change log label for invalid/unknown command
+ to "[unknown]".
+
+
+M src/lib-smtp/smtp-server-command.c
+
+2020-03-16 23:22:37 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (6dae3b87bb)
+
+ lib-smtp: smtp-command-parser - Don't upper-case the parsed command name.
+
+
+M src/lib-smtp/smtp-command-parser.c
+M src/lib-smtp/smtp-server-command.c
+
+2020-03-16 22:01:14 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (7f2cd521f4)
+
+ lib-smtp: smtp-server-command - Set cmd_name event field only for valid
+ commands.
+
+ Set cmd_input_name for the user input.
+
+M src/lib-smtp/smtp-server-command.c
+
+2020-03-17 11:58:52 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (9c5dfcd69c)
+
+ lib-smtp: smtp-server-command - Assign cmd->reg immediately.
+
+
+M src/lib-smtp/smtp-server-command.c
+
+2020-03-12 12:58:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7ca5bd71af)
+
+ lib: ostream-file - Fix using sendfile() when input stream is ends
+ unexpectedly early
+
+ Handle this the same as if writing was done without sendfile(), i.e. ignore
+ the problem and just return EOF in input stream early.
+
+M src/lib/ostream-file.c
+M src/lib/test-ostream-file.c
+
+2020-03-12 12:57:41 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f0a845736e)
+
+ lib: safe_sendfile() - clarify return value 0 handling
+
+
+M src/lib/sendfile-util.c
+M src/lib/sendfile-util.h
+
+2020-03-24 12:21:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6fa366b8db)
+
+ global: Remove dead assignments
+
+ Found by latest clang scan-build.
+
+M src/auth/db-ldap.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+M src/imap/cmd-subscribe.c
+M src/imap/imap-client-hibernate.c
+M src/lib-compression/test-compression.c
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-url.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap/imap-url.c
+M src/lib-mail/message-part-data.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-message-parser.c
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-parser.c
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-syntax.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib/uri-util.c
+M src/lib/var-expand.c
+M src/lmtp/lmtp-local.c
+M src/log/doveadm-connection.c
+M src/master/test-auth-master.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2020-03-24 12:24:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (48e65c011d)
+
+ stats, fts-solr: Tweak unit tests to make static analyzers happier
+
+
+M src/plugins/fts-solr/test-solr-response.c
+M src/stats/test-stats-metrics.c
+
+2020-03-24 17:51:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a00202b632)
+
+ imap: SETMETADATA - Reorder if checks to remove unnecessary indenting
+
+ Nothing changes in the code logic.
+
+M src/imap/cmd-setmetadata.c
+
+2020-03-24 12:07:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (283b40bfc8)
+
+ imap: SETMETADATA - Cleanup istream return value checking
+
+ The old code seems to have worked correctly already, but now it's a bit
+ clearer how it was intended to work.
+
+M src/imap/cmd-setmetadata.c
+
+2020-03-24 11:59:23 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8a46e159d8)
+
+ lib-oauth2: Add assert to make sure json_parse_next() doesn't think istream
+ is nonblocking
+
+
+M src/lib-oauth2/oauth2.c
+
+2020-03-24 11:58:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c1f26eb1ef)
+
+ imap: Add assert to make sure fd was successfully sent to imap-hibernate
+
+
+M src/imap/imap-client-hibernate.c
+
+2019-10-01 23:33:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e8754c0e18)
+
+ lib-index: Don't rewrite dovecot.index if another process has already done
+ it
+
+ This mainly happened when there were multiple sessions accessing the index
+ at the same time.
+
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-write.c
+
+2019-10-01 19:12:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (61e2d33ea1)
+
+ lib-index: Log a debug message with reason whenever recreating dovecot.index
+
+
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+
+2019-10-01 18:58:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (691ad2881b)
+
+ lib-index: Change mail_index.need_recreate into a string
+
+ The string specifies the reason why the recreation is wanted.
+
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-file.c
+
+2019-10-01 18:54:31 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ec7a6682ea)
+
+ lib-index: Change mail_transaction_log_file.need_rotate into a string
+
+ The string specifies the reason why the rotation is wanted.
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+
+2020-03-20 15:57:12 +0100 Markus Valentin <markus.valentin@open-xchange.com> (6ad8dc4a4f)
+
+ auth: Add session_id to default policy_request_attributes
+
+
+M src/auth/auth-settings.c
+
+2020-03-16 13:33:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c64b337ca0)
+
+ imap: Fix SEARCH PARTIAL handling with other options
+
+ Especially SAVE and RELEVANCY should use only the partial results, not all
+ results.
+
+M src/imap/imap-search.c
+
+2020-03-16 12:07:16 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f8f46f2f34)
+
+ imap: Fix SEARCH (MAX RELEVANCY) to return the relevancy
+
+
+M src/imap/imap-search.c
+
+2020-03-16 11:50:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a545cee966)
+
+ imap: Simplify SEARCH MIN and MAX result handling
+
+
+M src/imap/imap-search.c
+M src/imap/imap-search.h
+
+2020-03-13 12:24:39 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f40704db6f)
+
+ imap: Fix using SEARCH RELEVANCY option with MIN/MAX
+
+ It should return only the one MIN/MAX mail's relevancy, not all of them.
+ Similarly the SEARCHRES $ should be updated only to the MIN/MAX mail, not
+ all mails.
+
+M src/imap/imap-search.h
+
+2020-03-13 11:55:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3fd9db0dd0)
+
+ imap: Fix using $ in a SEARCH that also uses SAVE, or fails with BAD
+
+ SEARCH RETURN (SAVE) $ cleared the $ instead of being a no-op.
+
+ Also using a SEARCH that returns BAD shouldn't have cleared $ (but NO reply
+ especially for BADCHARSET should clear it).
+
+M src/imap/imap-search-args.c
+M src/imap/imap-search.c
+
+2020-03-13 11:38:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (704eec77b3)
+
+ imap: Clear SEARCHRES $ after closing mailbox
+
+ $ shouldn't have been preserved after a mailbox was SELECTed.
+
+M src/imap/imap-commands-util.c
+
+2020-03-13 10:51:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1a5d89d2bf)
+
+ lib-storage: mail_search_arg_init() - Remove support for changing uidset
+
+ This is done earlier now - there's no need to do it twice.
+
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+M src/plugins/fts/fts-search-args.c
+
+2020-03-13 10:50:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5b01f100ae)
+
+ lib-storage: Fix using $ (IMAP SEARCHRES) in search seqset/uidset
+
+
+M src/lib-storage/mail-search.c
+
+2020-03-16 19:56:42 +0100 Markus Valentin <markus.valentin@open-xchange.com> (9a606bcaf6)
+
+ auth: userdb: Ensure changed username in auth worker gets updated in cache
+
+ If a username gets changed and auth cache is in use, auth-workers for
+ blocking userdb did not update the username in cache. This is now fixed by
+ setting user_changed_by_lookup in case the username changed.
+
+M src/auth/userdb-blocking.c
+
+2020-03-17 09:01:06 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (3edf96f22a)
+
+ configure.ac: Don't look for PRIuSIZE_T
+
+ We are using %zu instead.
+
+M configure.ac
+
+2020-03-17 08:56:13 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (0360044976)
+
+ global: use %zu directly instead of PRIuSIZE_T
+
+
+M src/auth/auth-cache.c
+M src/auth/db-checkpassword.c
+M src/director/director-connection.c
+M src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/imap/imap-client.c
+M src/imap/imap-master-client.c
+M src/imap/main.c
+M src/lib-compression/test-compression.c
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-fs/fs-posix.c
+M src/lib-fts/fts-filter-stemmer-snowball.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-server-connection.c
+M src/lib-http/test-http-payload.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-util.c
+M src/lib-imap/test-imap-url.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-master/master-service-haproxy.c
+M src/lib-old-stats/stats-connection.c
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/test-smtp-payload.c
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib/buffer.c
+M src/lib/data-stack.c
+M src/lib/iostream-temp.c
+M src/lib/istream-file.c
+M src/lib/istream.c
+M src/lib/malloc-overflow.h
+M src/lib/mempool-allocfree.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-system.c
+M src/lib/mempool.h
+M src/lib/ostream.c
+M src/lib/test-base64.c
+M src/lib/test-istream-base64-decoder.c
+M src/lib/test-malloc-overflow.c
+M src/login-common/login-proxy.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+M src/plugins/var-expand-crypt/var-expand-crypt-plugin.c
+M src/submission-login/client-authenticate.c
+
+2020-03-11 14:33:51 +0200 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (659d51c681)
+
+ lib-storage: Remove stub mail support
+
+ Nothing used them in the 3 years since they were introduced.
+
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-file.h
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2020-03-13 11:30:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1e2a7f1497)
+
+ imap: Unknown SEARCH charset should return NO, not BAD
+
+
+M src/imap/imap-search-args.c
+
+2020-03-11 13:29:33 +0200 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (23674e3e98)
+
+ imap: Use "unknown" for cmd_name when the command name is not known
+
+
+M src/imap/imap-client.c
+
+2020-03-05 15:22:53 +0200 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (f16740d01f)
+
+ stats: Move group-by value and label getting code into helper functions
+
+ This avoids some excessive indentation.
+
+M src/stats/stats-metrics.c
+
+2020-03-05 07:20:53 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (253f4294e3)
+
+ stats: Add support for exponential stats group-by fxn
+
+ One can specify the quantization parameters in the config file as:
+
+ <field>:exponential:<min mag>:<max mag>:<base>
+
+ Currently, only base 2 and base 10 are supported.
+
+ For example:
+
+ group_by = bytes_out:exponential:1:4:10
+
+ Which will quantize the bytes_out values into the buckets: (-inf, 10],
+ (10,100], (100,1000], (1000, 10000], (10000, +inf).
+
+M src/config/Makefile.am
+M src/stats/Makefile.am
+M src/stats/stats-settings.c
+M src/stats/test-stats-metrics.c
+
+2020-02-19 11:02:24 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (1542585e9c)
+
+ stats: Add support for linear stats group-by fxn
+
+ One can specify the quantization parameters in the config file as:
+
+ <field>:linear:<min val>:<max val>:<step>
+
+ For example:
+
+ group_by = bytes_out:linear:0:1000:100
+
+ Which will quantize the bytes_out values into the buckets: (-inf, 0],
+ (0,100], (100,200], ... (900, 1000], (1000, +inf).
+
+M src/stats/stats-metrics.c
+M src/stats/stats-metrics.h
+M src/stats/stats-settings.c
+M src/stats/stats-settings.h
+M src/stats/test-stats-metrics.c
+
+2020-02-20 14:19:29 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (5751df9f21)
+
+ stats: Process 'duration' like any other metric value
+
+ This will allow the soon-to-be-added group-by quantization functions to work
+ on the duration value.
+
+M src/stats/stats-metrics.c
+
+2020-02-20 14:18:32 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (a0d6187d38)
+
+ stats: Move event field stats distribution update into a helper function
+
+
+M src/stats/stats-metrics.c
+
+2020-02-18 13:27:23 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (c3b0283ab2)
+
+ stats: Use a switch instead of if/else-if
+
+ The compiler will then warn about unchecked enum values.
+
+M src/stats/stats-metrics.c
+
+2020-03-04 06:34:06 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (6d6a2f4c32)
+
+ stats: Add support for explicit discrete group-by function
+
+ One can specify the function as:
+
+ <field>:discrete
+
+ This has the same exact behavior as the bare field name syntax before this
+ change.
+
+ For example, the following two lines have identical semantics:
+
+ group_by = cmd_name:discrete
+ group_by = cmd_name
+
+M src/stats/stats-settings.c
+M src/stats/test-stats-metrics.c
+
+2020-03-04 06:34:29 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (c5b0572e05)
+
+ stats: Rewrite group-by discrete test to be more thorough
+
+ This will also help with expanding the test in later commits.
+
+M src/stats/test-stats-metrics.c
+
+2020-02-28 10:22:56 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (bd2d342bb2)
+
+ stats: Move group by setting parsing earlier
+
+ Instead of doing the split and parsing in the metric code, we now do it in
+ the settings code. This makes the following commits much simpler.
+
+M src/stats/stats-metrics.c
+M src/stats/stats-metrics.h
+M src/stats/stats-settings.c
+M src/stats/stats-settings.h
+
+2020-03-12 13:48:36 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (9d61f4fc17)
+
+ lib-compression: test-compression - Fix test buffer size in partial write
+ test
+
+ The buffer size does not match the amount of data filled.
+
+ Found by valgrind.
+
+M src/lib-compression/test-compression.c
+
+2020-03-10 21:16:46 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c9c42ec3ba)
+
+ dict-ldap: Do not attempt to query if LDAP query building fails
+
+
+M src/lib-dict-backend/dict-ldap.c
+
+2020-03-10 05:13:01 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (de743f53c3)
+
+ plugins/fts: script parser - Properly determine the attachment extension
+
+
+M src/plugins/fts/fts-parser-script.c
+
+2020-03-09 09:52:37 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (0090b656db)
+
+ plugins/fts: Lower-case content types received from script parser
+
+ Later on during the execution, the script parser code does a strcmp() to
+ match the content type of the attachment with that returned by the script.
+ The content type from the mail is already lowercased.
+
+M src/plugins/fts/fts-parser-script.c
+
+2020-03-10 13:03:52 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (b96c31c83d)
+
+ .gitignore: Fix bench-compression name
+
+
+M .gitignore
+
+2020-03-06 15:46:41 +0200 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (3e7ff36f78)
+
+ imapc: Use correct include guard in imapc-sync.h
+
+
+M src/lib-storage/index/imapc/imapc-sync.h
+
+2020-03-07 13:19:39 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (05d14fc3c6)
+
+ lib: istream - Ignore unused i_stream_try_alloc() return values
+
+
+M src/lib/istream.c
+
+2020-03-07 13:18:48 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (221810c361)
+
+ lib: istream-base64-encoder - Check i_stream_try_alloc() return value
+
+ The previous check had identical behavior to this, but this makes static
+ analyzers happier.
+
+M src/lib/istream-base64-encoder.c
+
+2020-03-04 11:06:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a26ebef424)
+
+ auth: Invoke auth policy callback on URL parse errors
+
+ Otherwise logins will hang if auth_policy_server_url contains invalid URL.
+
+M src/auth/auth-policy.c
+
+2020-02-25 21:28:54 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (051641e0e8)
+
+ dict: Initialize verbose proctitle immediately.
+
+
+M src/dict/main.c
+
+2020-02-18 00:06:53 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (87e49885ce)
+
+ dict: Make proctitle more consistent and clear.
+
+
+M src/dict/Makefile.am
+M src/dict/main.c
+
+2020-02-22 12:20:58 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7f248d16c5)
+
+ lib-smtp: smtp-server-reply - Don't add empty "enhanced_code" field to
+ events
+
+
+M src/lib-smtp/smtp-server-reply.c
+
+2020-02-25 12:07:38 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (da9f7fc73b)
+
+ lib-compression: Add simple benchmark tool
+
+
+M .gitignore
+M src/lib-compression/Makefile.am
+A src/lib-compression/bench-compression.c
+
+2019-09-05 20:50:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d6e6a303f7)
+
+ lib-compression: test-compression - Add extensive random I/O tests.
+
+
+M src/lib-compression/test-compression.c
+
+2017-08-31 17:55:58 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f9d2c5697a)
+
+ lib-compression: test-compression - Add more unit tests
+
+ Ensure detection, seeking and small reads work
+
+M src/lib-compression/test-compression.c
+
+2020-03-03 13:11:59 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (d30bb9144c)
+
+ lib-compression: Fix usage of i_stream_stat
+
+ It was supposed to check that it succeeds, not fails.
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+
+2020-02-25 15:34:12 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (6080aa16e1)
+
+ lib-compression: ostream-lzma - Make sure finished stream is fully flushed
+
+
+M src/lib-compression/ostream-lzma.c
+
+2020-02-25 15:33:59 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (9d75cc736b)
+
+ lib-compression: ostream-zlib - Fix write error handling
+
+
+M src/lib-compression/ostream-zlib.c
+
+2020-03-03 13:21:21 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (3d059c624c)
+
+ lib-compress: ostream-zlib - Make sure finished stream is fully flushed
+
+
+M src/lib-compression/ostream-zlib.c
+
+2020-02-25 15:33:53 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (731c9d0f10)
+
+ lib-compression: ostream-bzlib2 - Fix write error handling
+
+
+M src/lib-compression/ostream-bzlib.c
+
+2020-03-03 13:22:11 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (955c092122)
+
+ lib-compression: ostream-bzlib2 - Do not finish stream early
+
+ Flushing can happen when not finishing stream, so do not finalize stream
+ until it's the final flush.
+
+M src/lib-compression/ostream-bzlib.c
+
+2019-02-15 10:50:44 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c6248b825d)
+
+ lib-compression: istream-lzma - Handle read errors better
+
+
+M src/lib-compression/istream-lzma.c
+
+2020-02-26 12:57:06 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (e7f738c532)
+
+ lib-compression: istream-lz4 - Refactor how chunk header is read
+
+ Chunk headers can sometime be at read borders. In this case more data needs
+ to be read. Fixes
+
+ Panic: file istream.c: line 333 (i_stream_read_memarea): assertion failed:
+ (!stream->blocking)
+
+M src/lib-compression/istream-lz4.c
+
+2019-10-13 18:49:28 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3e7bc69d79)
+
+ lib-compression: istream-lz4 - Fix calling i_stream_read*() with a full
+ buffer.
+
+ Before, this read and discarded one chunk of the compressed parent stream
+ data, causing data corruption. Fixed by checking whether the buffer is full
+ first.
+
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/test-compression.c
+
+2017-09-04 10:18:37 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c1a43c6098)
+
+ lib-compression: istream-lz4 - Fix problems in reading
+
+ If there is not enough data, the old code would break. Now it can request
+ more input and continue when it has enough.
+
+M src/lib-compression/istream-lz4.c
+
+2017-05-16 10:16:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3c35ad415b)
+
+ lib-compression: Add ZSTD support
+
+
+M configure.ac
+A m4/want_zstd.m4
+M src/lib-compression/Makefile.am
+M src/lib-compression/compression.c
+M src/lib-compression/istream-zlib.h
+A src/lib-compression/istream-zstd.c
+M src/lib-compression/ostream-zlib.h
+A src/lib-compression/ostream-zstd.c
+
+2020-02-13 12:51:56 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (184fd917ac)
+
+ NEWS: Add news for 2.3.10
+
+
+M NEWS
+
+2020-02-13 12:54:45 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (267fea001f)
+
+ NEWS: Fix release date for 2.3.9.3
+
+
+M NEWS
+
+2020-03-04 20:39:21 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1fbe7d9345)
+
+ dict-client: Fix panic if iteration is deinitialized before it has finished
+
+ Fixes: Panic: BUG: No IOs or timeouts set. Not waiting for infinity.
+
+M src/lib-dict/dict-client.c
+
+2020-03-04 15:40:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (10c1a83cda)
+
+ lib-fs: Add fs_lookup_loaded_metadata()
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-test.c
+
+2020-03-04 15:39:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b06ddcfbee)
+
+ lib-fs: Add flags parameter to fs_vfuncs.get_metadata()
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-test.c
+M src/lib-fs/fs-wrapper.c
+M src/lib-fs/fs-wrapper.h
+
+2020-03-04 15:11:12 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3f4a0faa3f)
+
+ lib-fs: Add fs_file_set_flags()
+
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2020-02-11 14:41:05 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (eb74dc2fb2)
+
+ example-config: Warn about ssl_client_ca_file memory usage
+
+
+M doc/example-config/conf.d/10-ssl.conf
+
+2020-02-27 16:54:33 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ab39886b74)
+
+ dict-redis: Fix hangs caused by previous dict_wait() addition
+
+
+M src/lib-dict/dict-redis.c
+
+2020-01-15 16:06:39 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f41874b3de)
+
+ lib-ssl-iostream: Handle buggy OpenSSL error handling without assert-crash
+
+ If OpenSSL returns a syscall failure but provides no error and doesn't set
+ errno, log it as an OpenSSL bug instead of assert-crashing.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2020-02-25 17:33:30 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e96686717d)
+
+ lib-mail: message-snippet - Quoted text could have been wrongly added to the
+ snippet
+
+ This happened when the mail was large enough that the parsing used multiple
+ blocks. Parsing the following blocks were adding text in quoted state to the
+ non-quoted snippet string.
+
+M src/lib-mail/message-snippet.c
+M src/lib-mail/test-message-snippet.c
+
+2020-02-25 14:34:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (734a2b5bf9)
+
+ lib-mail: message-snippet - Don't include trailing whitespace in snippet
+
+
+M src/lib-mail/message-snippet.c
+M src/lib-mail/test-message-snippet.c
+
+2020-02-25 14:33:31 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2ab5d5ff73)
+
+ lib-mail: message-snippet - Count '>' in quoted snippet towards
+ max_snippet_chars
+
+
+M src/lib-mail/message-snippet.c
+M src/lib-mail/test-message-snippet.c
+
+2020-02-25 14:31:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (39688f492d)
+
+ lib-mail: message-snippet - Fix size limits for quoted snippets
+
+ If the input only had quoted text, the snippet size wasn't limited to
+ max_snippet_chars as long as there was any whitespace in the quoted text.
+
+M src/lib-mail/message-snippet.c
+M src/lib-mail/test-message-snippet.c
+
+2020-02-18 13:13:36 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (440d9e3b0d)
+
+ m4: Fix typo
+
+ It's mitigation not migitation
+
+M m4/dovecot.m4
+
+2020-02-17 22:25:28 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (083e8cfab9)
+
+ lib-smtp: smtp-server-cmd-rcpt - Make sure state is advanced to "RCPT TO"
+ once command completes.
+
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+
+2020-02-14 10:20:29 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (aaaf1d00c6)
+
+ lmtp: Add details to the DATA state for use in process title.
+
+
+M src/lmtp/lmtp-client.c
+M src/lmtp/lmtp-client.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+
+2020-02-16 21:08:08 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (4e6f7fd812)
+
+ submission: submission-client - Record and use protocol state in client
+ object.
+
+
+M src/submission/main.c
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2020-02-16 21:07:50 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (6315585c28)
+
+ lmtp: lmtp-client - Record and use protocol state in client object.
+
+
+M src/lmtp/lmtp-client.c
+M src/lmtp/lmtp-client.h
+
+2020-02-16 21:07:01 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (02f0b4f119)
+
+ lib-smtp: smtp-server-connection - Record protocol state arguments.
+
+
+M src/lib-smtp/smtp-server-cmd-auth.c
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-cmd-helo.c
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-cmd-starttls.c
+M src/lib-smtp/smtp-server-cmd-xclient.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server.h
+M src/lmtp/lmtp-client.c
+M src/submission/submission-client.c
+M src/submission/submission-commands.c
+
+2020-02-17 11:59:35 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (296c1cbb2b)
+
+ auth: db-oauth - Match scopes split by spaces
+
+ Allow the user in if there is at least one matching scope.
+
+M src/auth/db-oauth2.c
+
+2020-02-14 09:28:18 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c07eeb1a33)
+
+ example-config: Add oauth2 sample file
+
+
+A doc/example-config/dovecot-oauth2.conf.ext
+
+2020-02-10 14:56:34 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (000c9776f4)
+
+ auth: Support local validation of oauth2 tokens
+
+
+M src/auth/Makefile.am
+M src/auth/db-oauth2.c
+
+2020-02-08 19:11:43 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (2c80b25d73)
+
+ lib-oauth2: Add support for validating JWT tokens
+
+ This adds support for handling JWT tokens without external server. It
+ supports HS/RS/PS/ES algorithms with SHA-2 hashes.
+
+ The validation keys are pulled from specified dict and cached automatically
+ in memory.
+
+M src/lib-oauth2/Makefile.am
+A src/lib-oauth2/oauth2-jwt.c
+A src/lib-oauth2/oauth2-key-cache.c
+M src/lib-oauth2/oauth2-private.h
+M src/lib-oauth2/oauth2.h
+A src/lib-oauth2/test-oauth2-jwt.c
+
+2020-02-08 19:51:06 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (f855d0e262)
+
+ lib-oauth2: Add helper for parsing json strings
+
+
+M src/lib-oauth2/oauth2-private.h
+M src/lib-oauth2/oauth2.c
+
+2020-02-10 10:14:59 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (872101814c)
+
+ lib-dcrypt: Add dcrypt_is_initialized
+
+ Allows testing whether it is possible to call dcrypt functions.
+
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+
+2020-02-12 10:45:35 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (e90f906024)
+
+ lib: hash2 - Add string key helpers
+
+
+M src/lib/hash2.h
+
+2020-02-08 21:56:21 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (b2dca5344f)
+
+ lib: ostream - Add o_stream_create_file
+
+ Opens file for reading, and creates it, if it exists.
+
+M src/lib/ostream-file.c
+M src/lib/ostream.h
+
+2020-02-19 11:39:36 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (5099e28778)
+
+ util: Hide password but not the field name in dovecot-sysreport
+
+
+M src/util/dovecot-sysreport
+
+2020-02-18 15:24:38 +0200 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (59458ffb60)
+
+ util: dovecot-sysreport: Fix bug in perl existence check
+
+ Also use "[[" command to be consistent with rest of the script.
+
+M src/util/dovecot-sysreport
+
+2020-02-17 15:39:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (eaec3d6eb8)
+
+ lib-index: Fix potential crash when writing to unusable dovecot.index.cache
+
+ Broken by a4671d9c5744d728e030370a39df914cebefbefe
+
+M src/lib-index/mail-cache-transaction.c
+
+2019-10-01 19:09:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6a3dc90a01)
+
+ lib-index: Log debug messages with e_debug()
+
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-index.c
+
+2019-10-01 19:07:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (220020804d)
+
+ lib-index: Log all errors with e_error()
+
+
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index.c
+
+2019-10-01 19:06:32 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (990a78b84d)
+
+ lib-index: mailbox_log - log errors with e_error()
+
+
+M src/lib-index/mailbox-log.c
+
+2019-10-01 19:06:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d1699b9880)
+
+ lib-index: Add event to mailbox_log
+
+
+M src/lib-index/mailbox-log.c
+M src/lib-index/mailbox-log.h
+M src/lib-storage/mailbox-list.c
+
+2020-02-11 10:16:54 +0100 Markus Valentin <markus.valentin@open-xchange.com> (18828ad185)
+
+ fs-compress, fs-crypt, fs-metawrap: Add ASYNC_NOQUEUE in fs_file_init_parent
+
+ In order to prevent hangs or waiting on empty ioloops when the number of
+ mails to prefetch exceeds the lib-http request-queue length, add the
+ FS_OPEN_FLAG_ASYNC_NOQUEUE flag when calling fs_file_init_parent.
+
+ This additional flag makes sure that the file-operations will be handled
+ immediately without additional command queueing.
+
+M src/lib-fs/fs-metawrap.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+
+2020-02-10 18:19:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a4671d9c57)
+
+ lib-index: Try to compress cache when it's about to become too large
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2020-02-10 18:16:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (82bd32223b)
+
+ lib-index: Add mail_cache.last_stat_size
+
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+
+2020-02-10 17:58:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8786b50f48)
+
+ lib-storage: Add mail_cache_max_size setting
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2020-02-10 17:55:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8cda5d280c)
+
+ lib-index: Change max cache file size from 4 GB to 1 GB
+
+ Over 1 GB sizes already weren't working correctly, because
+ mail_index_uint32_to_offset() assert-crashes on >=1 GB sizes.
+
+ Fixes: Panic: file mail-index-util.c: line 37 (mail_index_uint32_to_offset):
+ assertion failed: (offset < 0x40000000)
+
+M src/lib-index/mail-index.c
+
+2020-02-10 17:44:29 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (35775f011b)
+
+ lib-index: Add mail_index_cache_optimization_settings.max_size
+
+ This can be used to limit the cache file's maximum size.
+
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+
+2020-02-11 15:26:35 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (9db1c4fcad)
+
+ util: Change interpreter in dovecot-sysreport to /usr/bin/env bash
+
+ This is more portable.
+
+M src/util/dovecot-sysreport
+
+2020-02-11 15:11:46 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (109612386c)
+
+ util: Cleanup whitespace in dovecot-sysreport
+
+
+M src/util/dovecot-sysreport
+
+2020-02-11 15:51:47 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2ad8a3d413)
+
+ lib-mail: Improve test-message-decoder unit test
+
+
+M src/lib-mail/test-message-decoder.c
+
+2020-02-11 15:11:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d9ed0ba5c6)
+
+ lib-mail: message-decoder - Remove unnecessary encoding_buf
+
+
+M src/lib-mail/message-decoder.c
+
+2020-02-11 15:08:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3bf16f99d7)
+
+ lib-mail: message-decoder - Fix using the new incremental base64-decoder API
+
+ Decoding multiple base64 blocks caused the decoder to produce garbage.
+ Broken by afa3db0a6f15e1b1038cb47f0632baa8f23d0f67
+
+M src/lib-mail/message-decoder.c
+
+2020-01-23 20:26:29 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (8aa0d36822)
+
+ NEWS: Add news for 2.3.9.3
+
+
+M NEWS
+
+2020-01-15 22:10:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7b3f480bb9)
+
+ lib-mail: message_snippet_generate() - Fix potential crash when input ends
+ with '>'
+
+ This happens only when the mail was large enough and full enough with
+ whitespace that message-parser returned multiple blocks before the snippet
+ was finished.
+
+ Broken by 74063ed8219d055489d5233b0c02a59886d2078c
+
+M src/lib-mail/message-snippet.c
+
+2020-01-15 21:38:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (849942ba7d)
+
+ lib-mail: test-message-snippet - Test for invalid and truncated UTF-8
+
+
+M src/lib-mail/test-message-snippet.c
+
+2020-01-15 21:09:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f7bb34cfa2)
+
+ lib-fts: Add assert to make sure uni_utf8_get_char() returns valid UTF-8
+
+ The input to lib-fts is always expected to be valid UTF-8.
+
+M src/lib-fts/fts-filter-contractions.c
+
+2020-01-15 21:07:05 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e1f553e0ed)
+
+ fts-solr: Add asserts to make sure make sure uni_utf8_get_char_n() returns
+ valid UTF-8
+
+ FTS input is always valid UTF-8. This just makes it a bit clearer.
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2020-01-14 10:54:34 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (5914313ccc)
+
+ lib-smtp: test-smtp-command-parser - Add tests for incomplete UTF-8
+ characters.
+
+
+M src/lib-smtp/test-smtp-command-parser.c
+
+2020-01-14 10:49:16 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (429756095d)
+
+ lib-smtp: smtp-command-parser - Fix infinite loop occurring when command
+ stream ends in UTF-8 character.
+
+ Broken by 8f08f1944be438a2422b604c08e5060b5c7bd72f.
+
+M src/lib-smtp/smtp-command-parser.c
+
+2020-01-30 16:34:35 +0100 Uli Martens <uli@youam.net> (5a09059c14)
+
+ man: doveadm-sync - Fix message UID in example
+
+
+M doc/man/doveadm-sync.1.in
+
+2020-02-07 11:42:37 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (14744bee87)
+
+ m4: dovecot.m4 - It's Schridde, not Schridded
+
+ Mistakenly changed in a50212d6827
+
+M m4/dovecot.m4
+
+2020-01-17 09:42:51 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (6ad3cf86af)
+
+ dovecot.m4: Bump serial
+
+
+M m4/dovecot.m4
+
+2020-01-17 09:42:07 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (090e162644)
+
+ dovecot.m4: Add --with-retpoline
+
+ Makes retpoline optional.
+
+M m4/dovecot.m4
+
+2020-01-17 09:35:44 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (cb598ea1a5)
+
+ dovecot.m4: Split retpoline check into parts
+
+
+M m4/dovecot.m4
+
+2020-02-04 12:32:59 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (07cacc5f28)
+
+ imap: expunge: Expunge \Deleted mails in batches of 1000
+
+
+M src/imap/imap-expunge.c
+
+2020-02-04 12:10:45 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (81ddb00700)
+
+ imap: expunge: Collect all \Deleted mails' seqs and then expunge them
+
+ This makes the following commit much more understandable.
+
+M src/imap/imap-expunge.c
+
+2020-01-24 11:43:56 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e41146bd72)
+
+ imap: move: Send untagged OK/COPYUID also when the move succeeded partially
+
+ If at least one transactions was successfully committed, something was
+ moved. Even if another transaction failed later on and the MOVE command
+ fails with NO, send the untagged OK/COPYUID which describes which mails were
+ successfully moved.
+
+M src/imap/cmd-copy.c
+
+2020-01-24 11:43:20 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f28d187052)
+
+ imap: copy/move: Move code to cmd_move_send_untagged()
+
+
+M src/imap/cmd-copy.c
+
+2019-12-16 14:08:58 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (baf63ff83d)
+
+ imap: copy/move: Fix error handling when source transaction/search fails
+
+ Previously the destination storage was used for getting the error. If the
+ source and destination storages were different, this resulted in getting a
+ wrong error.
+
+M src/imap/cmd-copy.c
+
+2019-12-16 13:51:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5e5832d988)
+
+ imap: Add client_send_error()
+
+
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands-util.h
+
+2019-12-16 11:38:04 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2add0b8589)
+
+ imap: move: Commit transactions every 1000 mails
+
+
+M src/imap/cmd-copy.c
+
+2020-02-04 17:20:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2ed8d08c65)
+
+ imap: Add imap_search_seqset_iter_*() API for batched iteration of a seqset
+
+
+M src/imap/imap-search-args.c
+M src/imap/imap-search-args.h
+
+2019-12-12 16:36:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (09413e35f7)
+
+ imap: copy/move: Handle transaction commit changes within fetch_and_copy()
+
+ This prepares to support multiple destination transactions.
+
+M src/imap/cmd-copy.c
+
+2019-12-12 16:35:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7c5b1e1717)
+
+ imap: copy/move: Move copy_update_trashed() earlier
+
+
+M src/imap/cmd-copy.c
+
+2019-12-12 16:25:30 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f262edf0da)
+
+ imap: copy/move: Refactor to use struct cmd_copy_context
+
+
+M src/imap/cmd-copy.c
+
+2020-01-23 18:31:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (df592aadbb)
+
+ lib: Add seq_range_array_merge_n()
+
+
+M src/lib/seq-range-array.c
+M src/lib/seq-range-array.h
+M src/lib/test-seq-range-array.c
+
+2020-01-13 08:34:44 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (6626791be5)
+
+ lib-storage: Autoexpunge mails in batches of 1000
+
+
+M src/lib-storage/mail-autoexpunge.c
+
+2020-01-14 17:27:37 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (2934323c2e)
+
+ lib-storage: Move mail autoexpunge loop into a helper function
+
+ This makes the next commit easier.
+
+M src/lib-storage/mail-autoexpunge.c
+
+2018-08-27 23:39:02 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1404e9b613)
+
+ imap: Implement the STATUS=SIZE capability.
+
+ Coexists with the existing proprietary X-SIZE status, which is to be
+ deprecated in the future.
+
+M configure.ac
+M src/imap/imap-status.c
+M src/imap/imap-status.h
+
+2018-08-27 23:28:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (82e5d49fdc)
+
+ imap: Restructure handling of the STATUS response so that it uses its own
+ flags for the items.
+
+ Before, it used mailbox status and metadata item flags for this purpose.
+ This is needed to allow the existing X-SIZE and the newly standardized SIZE
+ flag to coexist.
+
+M src/imap/cmd-notify.c
+M src/imap/imap-notify.c
+M src/imap/imap-status.c
+M src/imap/imap-status.h
+
+2020-01-20 16:03:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d59b190894)
+
+ dict-redis: Add missing dict_wait()
+
+ This caused various problems when used in places where dict_wait() was
+ required, e.g. quota or quota_clone plugins.
+
+M src/lib-dict/dict-redis.c
+
+2020-02-03 12:15:49 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (967ff694ad)
+
+ plugins: push-notification: Include mailbox field
+
+
+M src/plugins/push-notification/push-notification-triggers.c
+
+2020-02-03 10:59:45 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (ad311a891b)
+
+ plugins: push-notification: Only emit event if something was triggered
+
+ Otherwise events would be sent from non-push transactions, such as mail
+ searches.
+
+M src/plugins/push-notification/push-notification-plugin.c
+
+2020-02-02 20:40:32 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (6695bce75f)
+
+ push-notification: Don't send event on failure
+
+ If transaction was rolled back, don't send event.
+
+M src/plugins/push-notification/push-notification-plugin.c
+
+2020-02-02 20:09:03 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (4704da55bd)
+
+ push-notification: Use transaction event in HTTP request
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2019-12-01 11:32:24 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (28c163c5bd)
+
+ plugins: push-notification: Reformat push-notification-txn-msg.h.
+
+
+M src/plugins/push-notification/push-notification-txn-msg.h
+
+2019-12-01 11:32:17 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (35ed0ce8fb)
+
+ plugins: push-notification: Reformat push-notification-txn-msg.c.
+
+
+M src/plugins/push-notification/push-notification-txn-msg.c
+
+2019-12-01 11:32:09 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (8f3f475104)
+
+ plugins: push-notification: Reformat push-notification-txn-mbox.h.
+
+
+M src/plugins/push-notification/push-notification-txn-mbox.h
+
+2019-12-01 11:32:04 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (8b02da1003)
+
+ plugins: push-notification: Reformat push-notification-txn-mbox.c.
+
+
+M src/plugins/push-notification/push-notification-txn-mbox.c
+
+2019-12-01 11:31:48 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (0b043f39ab)
+
+ plugins: push-notification: Reformat push-notification-triggers.h.
+
+
+M src/plugins/push-notification/push-notification-triggers.h
+
+2019-12-01 11:31:44 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (7f844380c3)
+
+ plugins: push-notification: Reformat push-notification-triggers.c.
+
+
+M src/plugins/push-notification/push-notification-triggers.c
+
+2019-12-01 11:31:25 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (e4bb808dbc)
+
+ plugins: push-notification: Reformat push-notification-plugin.c.
+
+
+M src/plugins/push-notification/push-notification-plugin.c
+
+2019-12-01 11:30:32 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (f91809cf56)
+
+ plugins: push-notification: Reformat push-notification-events.h.
+
+
+M src/plugins/push-notification/push-notification-events.h
+
+2019-12-01 11:30:27 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (c82bf95158)
+
+ plugins: push-notification: Reformat push-notification-events.c.
+
+
+M src/plugins/push-notification/push-notification-events.c
+
+2019-12-01 11:30:14 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (faf88a632b)
+
+ plugins: push-notification: Reformat push-notification-events-rfc5423.h.
+
+
+M src/plugins/push-notification/push-notification-events-rfc5423.h
+
+2019-12-01 11:30:09 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (386f57c8ef)
+
+ plugins: push-notification: Reformat push-notification-events-rfc5423.c.
+
+
+M src/plugins/push-notification/push-notification-events-rfc5423.c
+
+2019-12-01 11:29:44 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (227aab7fbd)
+
+ plugins: push-notification: Reformat push-notification-event-messagetrash.h.
+
+
+M src/plugins/push-notification/push-notification-event-messagetrash.h
+
+2019-12-01 11:29:41 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (0606df13f2)
+
+ plugins: push-notification: Reformat push-notification-event-messagetrash.c.
+
+
+M src/plugins/push-notification/push-notification-event-messagetrash.c
+
+2019-12-01 11:29:28 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (7b8fe7fe20)
+
+ plugins: push-notification: Reformat push-notification-event-messageread.h.
+
+
+M src/plugins/push-notification/push-notification-event-messageread.h
+
+2019-12-01 11:29:23 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (dec6480c28)
+
+ plugins: push-notification: Reformat push-notification-event-messageread.c.
+
+
+M src/plugins/push-notification/push-notification-event-messageread.c
+
+2019-12-01 11:29:10 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (50e2ca4c2e)
+
+ plugins: push-notification: Reformat push-notification-event-messagenew.h.
+
+
+M src/plugins/push-notification/push-notification-event-messagenew.h
+
+2019-12-01 11:29:06 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (3c077501ea)
+
+ plugins: push-notification: Reformat push-notification-event-messagenew.c.
+
+
+M src/plugins/push-notification/push-notification-event-messagenew.c
+
+2019-12-01 11:28:46 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (ab50b5d322)
+
+ plugins: push-notification: Reformat
+ push-notification-event-messageexpunge.h.
+
+
+M src/plugins/push-notification/push-notification-event-messageexpunge.h
+
+2019-12-01 11:28:42 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (24d2643140)
+
+ plugins: push-notification: Reformat
+ push-notification-event-messageexpunge.c.
+
+
+M src/plugins/push-notification/push-notification-event-messageexpunge.c
+
+2019-12-01 11:28:27 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (bea0b5e077)
+
+ plugins: push-notification: Reformat
+ push-notification-event-messageappend.h.
+
+
+M src/plugins/push-notification/push-notification-event-messageappend.h
+
+2019-12-01 11:28:22 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (92bea8a793)
+
+ plugins: push-notification: Reformat
+ push-notification-event-messageappend.c.
+
+
+M src/plugins/push-notification/push-notification-event-messageappend.c
+
+2019-12-01 11:28:07 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (f479b6dbf9)
+
+ plugins: push-notification: Reformat
+ push-notification-event-message-common.h.
+
+
+M src/plugins/push-notification/push-notification-event-message-common.h
+
+2019-12-01 11:28:02 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (5c36bd0257)
+
+ plugins: push-notification: Reformat
+ push-notification-event-message-common.c.
+
+
+M src/plugins/push-notification/push-notification-event-message-common.c
+
+2019-12-01 11:27:35 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (48bd10a476)
+
+ plugins: push-notification: Reformat
+ push-notification-event-mailboxunsubscribe.h.
+
+
+M src/plugins/push-notification/push-notification-event-mailboxunsubscribe.h
+
+2019-12-01 11:27:29 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (ed163c73f7)
+
+ plugins: push-notification: Reformat
+ push-notification-event-mailboxunsubscribe.c.
+
+
+M src/plugins/push-notification/push-notification-event-mailboxunsubscribe.c
+
+2019-12-01 11:27:17 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (90ce5dae66)
+
+ plugins: push-notification: Reformat
+ push-notification-event-mailboxsubscribe.h.
+
+
+M src/plugins/push-notification/push-notification-event-mailboxsubscribe.h
+
+2019-12-01 11:27:05 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (e439ffd925)
+
+ plugins: push-notification: Reformat
+ push-notification-event-mailboxsubscribe.c.
+
+
+M src/plugins/push-notification/push-notification-event-mailboxsubscribe.c
+
+2019-12-01 11:26:41 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (86df2df258)
+
+ plugins: push-notification: Reformat
+ push-notification-event-mailboxrename.h.
+
+
+M src/plugins/push-notification/push-notification-event-mailboxrename.h
+
+2019-12-01 11:26:35 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (568b0958f6)
+
+ plugins: push-notification: Reformat
+ push-notification-event-mailboxrename.c.
+
+
+M src/plugins/push-notification/push-notification-event-mailboxrename.c
+
+2019-12-01 11:26:18 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (7618694658)
+
+ plugins: push-notification: Reformat
+ push-notification-event-mailboxdelete.h.
+
+
+M src/plugins/push-notification/push-notification-event-mailboxdelete.h
+
+2019-12-01 11:26:13 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (cd83ff0ea2)
+
+ plugins: push-notification: Reformat
+ push-notification-event-mailboxdelete.c.
+
+
+M src/plugins/push-notification/push-notification-event-mailboxdelete.c
+
+2019-12-01 11:25:55 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (5ac04c5950)
+
+ plugins: push-notification: Reformat
+ push-notification-event-mailboxcreate.h.
+
+
+M src/plugins/push-notification/push-notification-event-mailboxcreate.h
+
+2019-12-01 11:25:50 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (f270152e63)
+
+ plugins: push-notification: Reformat
+ push-notification-event-mailboxcreate.c.
+
+
+M src/plugins/push-notification/push-notification-event-mailboxcreate.c
+
+2019-12-01 11:25:31 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (1b2a982cce)
+
+ plugins: push-notification: Reformat push-notification-event-flagsset.h.
+
+
+M src/plugins/push-notification/push-notification-event-flagsset.h
+
+2019-12-01 11:25:22 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (15212747ee)
+
+ plugins: push-notification: Reformat push-notification-event-flagsset.c.
+
+
+M src/plugins/push-notification/push-notification-event-flagsset.c
+
+2019-12-01 11:25:09 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (1fa04f6f62)
+
+ plugins: push-notification: Reformat push-notification-event-flagsclear.h.
+
+
+M src/plugins/push-notification/push-notification-event-flagsclear.h
+
+2019-12-01 11:25:03 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (d6ace342bb)
+
+ plugins: push-notification: Reformat push-notification-event-flagsclear.c.
+
+
+M src/plugins/push-notification/push-notification-event-flagsclear.c
+
+2019-12-01 11:24:28 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (ed542cd13a)
+
+ plugins: push-notification: Reformat push-notification-drivers.h.
+
+
+M src/plugins/push-notification/push-notification-drivers.h
+
+2019-12-01 11:24:19 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (f3821d0bad)
+
+ plugins: push-notification: Reformat push-notification-drivers.c.
+
+
+M src/plugins/push-notification/push-notification-drivers.c
+
+2019-12-01 11:24:04 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (59438a2117)
+
+ plugins: push-notification: Reformat push-notification-driver-ox.c.
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2019-12-01 11:23:55 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (cebef7f6e7)
+
+ plugins: push-notification: Reformat push-notification-driver-lua.c.
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2019-12-01 11:23:39 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (d20d43a328)
+
+ plugins: push-notification: Reformat push-notification-driver-dlog.c.
+
+
+M src/plugins/push-notification/push-notification-driver-dlog.c
+
+2020-02-04 18:56:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a170b35aec)
+
+ lib: Timeouts may have been run a bit too early
+
+ The timeout was run early if it was to be run in less than 1 millisecond.
+
+ This could have resulted in an infinite loop in some special situations when
+ timeout_add_absolute() was used in a timeout callback.
+
+M src/lib/ioloop.c
+
+2020-02-03 12:57:52 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2666cfb8d5)
+
+ lib: Add i_nanoseconds() and i_microseconds()
+
+
+M src/lib/test-time-util.c
+M src/lib/time-util.c
+M src/lib/time-util.h
+
+2020-01-24 23:36:52 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5a34ae8651)
+
+ global: Replace the rest of the gettimeofday() calls with i_gettimeofday()
+
+ It can't practically fail, so don't keep error handling that is never
+ tested.
+
+M src/auth/db-ldap.c
+M src/auth/userdb-passwd.c
+M src/lib-master/test-event-stats.c
+
+2020-01-24 23:33:05 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c669953774)
+
+ global: Replace most gettimeofday() calls with i_gettimeofday()
+
+ Replace the ones where error handling is:
+ * Nonexistent
+ * i_fatal()
+ * i_panic()
+
+M src/lib-dns/dns-lookup.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-posix.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-storage/index/index-search.c
+M src/lib/failures.c
+M src/lib/file-lock.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-kqueue.c
+M src/lib/ioloop.c
+M src/lib/lib-event.c
+M src/lib/net.c
+M src/lib/test-ioloop.c
+M src/login-common/client-common.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/old-stats/mail-stats-fill.c
+
+2020-01-24 23:27:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4ea9109ecc)
+
+ lib: Add i_gettimeofday()
+
+
+M src/lib/time-util.c
+M src/lib/time-util.h
+
+2019-01-13 23:34:14 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4456878b64)
+
+ lib-program-client: Allocate string settings on the client pool.
+
+ Before, it assumed the strings to be durably allocated externally, which is
+ very risky.
+
+M src/lib-program-client/program-client.c
+
+2019-01-13 23:17:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (48201a670e)
+
+ lib-smtp: client: transaction: Prevent NULL dereference in
+ smtp_client_transaction_unref().
+
+ The trans pointer is used before it is checked for being NULL, which is
+ allowed for this function.
+
+ Problem found by Coverity.
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2020-01-25 16:25:04 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (af22b4008f)
+
+ lib-index: Explicitly ignore mail_index_cancel_flag_updates() return value
+
+ Makes static analyzers happier.
+
+M src/lib-index/mail-index-transaction-update.c
+
+2020-01-23 10:45:35 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (d83b81bf19)
+
+ lib-mail: Initialize start_pos in message_header_decode_encoded
+
+ Satisfies static analyzers
+
+M src/lib-mail/message-header-decode.c
+
+2020-01-23 10:44:28 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (494ff89c38)
+
+ lib-program-client: Ensure set is not NULL in program_client_init
+
+ Would cause crash otherwise.
+
+ Found by coverity.
+
+M src/lib-program-client/program-client.c
+
+2020-01-23 10:42:20 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (afe67e7c30)
+
+ doveadm: doveadm-mail-mailbox-metadata - Handle error in
+ doveadm_print_istream
+
+ Found by coverity
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+
+2020-01-23 10:33:17 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (ec074bc242)
+
+ lib-smtp: Remove double-assign of passthrough event
+
+ Found by coverity
+
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server-transaction.c
+
+2020-01-23 09:57:26 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c319ff612d)
+
+ doveadm: doveadm-sis - Ensure buf2 is not overrun
+
+ Satisfies static analysers.
+
+M src/doveadm/doveadm-sis.c
+
+2020-01-23 09:54:44 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (57792b29d2)
+
+ lib-mail: Add assert to ensure we don't overstep in input_idx_need_encoding
+
+ Satisfies static analysers.
+
+M src/lib-mail/message-header-encode.c
+
+2020-01-23 09:20:25 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (dcbe43fb22)
+
+ lib-http: Fix memory leak in http_server_response_add_permanent_header
+
+ Key and value is duplicated twice and the first duplicates are discarded
+ without freeing.
+
+ Found by coverity.
+
+M src/lib-http/http-server-response.c
+
+2020-01-17 11:30:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8647e34563)
+
+ lib: Assert-crash on i_rand_limit(0) and add unit tests
+
+
+M src/lib/rand.c
+M src/lib/test-lib.inc
+M src/lib/test-random.c
+
+2018-09-12 16:30:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (93ca89c4e7)
+
+ lib: event_filter_match() - "field=" filter now matches nonexistent field
+
+ This makes sense, because event_filter_clear() also works by adding an empty
+ value to the event. So it wouldn't even be possible to differentiate between
+ empty and nonexistent fields unless larger changes were made.
+
+M src/lib/event-filter.c
+M src/lib/test-event-filter.c
+
+2019-07-27 23:33:22 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (166e99335a)
+
+ lib-smtp: smtp-client-transaction - Fix immediate transaction to wait until
+ the connection is ready.
+
+ A transaction with the immediate mode enabled did not wait and started to
+ submit commands too early; i.e., before an EHLO reply is received. This
+ means that the first MAIL command is always sent bare without any extensions
+ and the XCLIENT command is not sent when it is deferred (e.g. for
+ submission).
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2020-01-27 22:52:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a26da45b57)
+
+ lib-index: Fix potential assert-crash when refreshing index without any
+ views
+
+ This is similar to the previous fix. If there are no references to the log
+ file head, refreshing the index will result in assert-crash.
+
+ This seems to have happened in some very rare situations. Mainly found it
+ via the unit test though.
+
+ Fixes: Panic: file mail-transaction-log.c: line 25
+ (mail_transaction_log_set_head): assertion failed: (log->files != NULL)
+
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/test-mail-index.c
+
+2020-01-27 12:35:10 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (319cc23f1e)
+
+ lib-index: Add unit test for log rotation during commit
+
+
+M src/lib-index/Makefile.am
+A src/lib-index/test-mail-index.c
+
+2019-09-20 15:48:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (663a98bfc7)
+
+ lib-index: Fix potential assert-crash when rotating log file
+
+ Unlock the old head file before attempting to clean it. Fixes:
+
+ Panic: file mail-transaction-log.c: line 229 (mail_transaction_logs_clean):
+ assertion failed: (!file->locked || file->refcount > 0)
+
+ This seems to only have happened during new obox index merging.
+
+M src/lib-index/mail-transaction-log.c
+
+2020-01-27 12:11:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4bfb2a2898)
+
+ lib-index: Add test-mail-index.h for easily doing init/deinit for mail_index
+
+
+M src/lib-index/Makefile.am
+M src/lib-index/test-mail-index-modseq.c
+A src/lib-index/test-mail-index.h
+
+2019-09-06 12:09:58 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (469fcd3bdd)
+
+ lib-mail: Parse multiple address headers the same as if they were in a
+ single header
+
+ This is better from security point of view.
+
+M src/lib-mail/message-part-data.c
+
+2019-09-09 19:16:19 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d422cad5d5)
+
+ lib-storage: Make sure ENVELOPE parsing isn't done twice concurrently
+
+ If save_envelope=TRUE and ENVELOPE headers aren't already in cache,
+ header_cache_callback() starts parsing the ENVELOPE. But
+ imap_envelope_parse_callback() does it as well, so the envelope parsing is
+ done concurrently by the two callbacks.
+
+ Also once the ENVELOPE parsing is done once, make sure it's not done again
+ if the header is parsed again.
+
+ This didn't cause any problems so far, but it fixes the following commit to
+ work correctly.
+
+M src/lib-storage/index/index-mail-headers.c
+
+2019-11-28 19:38:10 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (782a16de6c)
+
+ lazy-expunge: Add MAIL_FETCH_REFCOUNT to mail's wanted_fields
+
+ The mail is reused by the search query, so the next mail_prefetch() can try
+ to prefetch the refcount.
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2020-01-17 00:36:54 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (b6b0cbb119)
+
+ lib: event-log.c - Ensure checks for enabling debug logging are always run.
+
+
+M src/lib/event-log.c
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+
+2020-01-21 17:03:00 +0200 Sina Tavakoli <sina.tavakoli@open-xchange.com> (7f4cbc7d97)
+
+ doc: Add man page for dovecot-sysreport
+
+
+M .gitignore
+M doc/man/Makefile.am
+A doc/man/dovecot-sysreport.1.in
+
+2020-01-15 11:40:24 +0200 Sina Tavakoli <sina.tavakoli@open-xchange.com> (3580cbccff)
+
+ util: Add a script to gather system information in an archive for report
+ purpose.
+
+
+M src/util/Makefile.am
+A src/util/dovecot-sysreport
+
+2020-01-24 12:33:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4ccf1bf688)
+
+ lib-fs: Create fs.event earlier so it's available in fs_init() code
+
+
+M src/lib-fs/fs-api.c
+
+2020-01-15 15:46:47 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5f5aaa7c3d)
+
+ acl: Fix accessing attributes when mailbox had no READ rights
+
+ It's enough to have one of the other rights.
+
+M src/plugins/acl/acl-mailbox.c
+
+2020-01-15 15:35:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (69024d3b0f)
+
+ lib-storage, imap, doveadm: Add and use MAILBOX_FLAG_ATTRIBUTE_SESSION
+
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/imap/cmd-setmetadata.c
+M src/lib-imap-storage/imap-metadata.c
+M src/lib-storage/mail-storage.h
+
+2020-01-15 15:45:21 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (83093dfcfe)
+
+ acl: Improve attribute rights check error handling
+
+
+M src/plugins/acl/acl-mailbox.c
+
+2020-01-15 15:43:11 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1cef1f2691)
+
+ acl: Move attribute rights checking to its own function
+
+
+M src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-storage.h
+
+2020-01-14 14:58:05 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9a4e34ad41)
+
+ lib-imap-storage, doveadm: Ignore INBOX ACLs when accessing server metadata
+
+ The server metadata is always accessible. INBOX's ACLs aren't relevant, even
+ though internally for now we're using INBOX for storing the server metadata.
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/lib-imap-storage/imap-metadata.c
+
+2020-01-15 15:40:41 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5c2a5a9d0f)
+
+ lib-storage, acl: Fix error trying to open autocreated mailbox without
+ CREATE rights
+
+ The opening should fail with a regular error message rather than "internal
+ server error". Also no error message should be logged in this situation.
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/plugins/acl/acl-mailbox.c
+
+2019-11-09 10:49:47 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9bafcc49da)
+
+ dns, login-common, stats: Finish service initialization later
+
+ This way if there's a crash in the init code, master will start throttling
+ the service.
+
+M src/dns/dns-client.c
+M src/login-common/main.c
+M src/stats/main.c
+
+2019-12-12 09:31:48 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (af1cf60a86)
+
+ submission-login: submission-proxy - Properly encode XCLIENT command
+ arguments.
+
+
+M src/submission-login/submission-proxy.c
+
+2019-12-12 09:31:48 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (9876b3d30d)
+
+ submission-login: submission-proxy - Compose XCLIENT forward argument in a
+ separate function.
+
+
+M src/submission-login/submission-proxy.c
+
+2019-12-12 09:38:51 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (57f927fcf4)
+
+ submission-login: Reformat submission-proxy.c.
+
+
+M src/submission-login/submission-proxy.c
+
+2019-12-11 15:05:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f17d85b559)
+
+ lib-smtp: server: Fix copying xclient_extensions settings
+
+ smtp_server_connection didn't properly copy the xclient_extensions settings
+ from the smtp_server. In fact it did the opposite of recreating the server
+ settings using the connection pool. Later on after the connection was freed
+ and another connection created this could result in crashes.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2019-10-24 11:43:58 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (60dcd370e6)
+
+ lib-imap: imap_write_arg() - minor optimization to IMAP_ARG_STRING
+
+ Avoid unnecessarily using data stack.
+
+ Also add unit tests to imap_write_arg().
+
+M src/lib-imap/imap-util.c
+M src/lib-imap/test-imap-util.c
+
+2020-01-21 15:59:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (72439accd2)
+
+ lib-fs: Add errno parameter to fs_set_error() change callers to use it.
+
+ This is now explicit so it can't be forgotten accidentally. Fixes several
+ bugs where errno wasn't set on error conditions, which could have caused
+ callers to handle the error wrong.
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+
+2020-01-21 15:54:42 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (56ef8451a3)
+
+ lib-fs: Use fs_set_error_errno() where appropriate
+
+
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-wrapper.c
+
+2020-01-21 15:50:07 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9485966340)
+
+ lib-fs: Add fs_set_error_errno()
+
+ This is in preparation for adding errno parameter for fs_set_error().
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2020-01-13 11:50:51 +0200 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (c4c06b2fee)
+
+ doc: example-config: Add documentation for "revision" field in imap_id_send
+
+
+M doc/example-config/conf.d/20-imap.conf
+
+2019-12-09 13:58:50 +0200 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (c9edfc67c6)
+
+ lib-imap: Add revision field for ID command
+
+ Returns short commit ID of the revision dovecot was built from.
+
+M src/lib-imap/imap-id.c
+M update-version.sh
+
+2020-01-20 16:15:41 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a333079a81)
+
+ lib-fs: Fix event leak when EAGAIN error is logged via fs_set_error()
+
+ Broken by f7aafd832151dd34e28cb1bba214accf9b15d908
+
+M src/lib-fs/fs-api.c
+
+2020-01-14 23:28:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f7aafd8321)
+
+ lib-fs: Don't log "Asynchronous operation in progress" debug messages
+
+
+M src/lib-fs/fs-api.c
+
+2019-11-28 20:30:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0644ed5a81)
+
+ lazy-expunge: Track duplicate messages using REFCOUNT_ID rather than GUID
+
+ Although these are usually the same, that's not really guaranteed. Also
+ REFCOUNT_ID can be more efficient to lookup than GUID.
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2019-11-28 20:28:35 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8dc3c2d4b3)
+
+ lib-storage: Add MAIL_FETCH_REFCOUNT_ID
+
+ This returns a unique ID for the mail that is counted by
+ MAIL_FETCH_REFCOUNT. For example if the refcount is counted using the file's
+ st_nlinks, then the refcount-id is the file's inode number. This is likely
+ only going to be used by lazy_expunge_only_last_instance=yes tracking.
+
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/mail-storage.h
+
+2019-12-04 00:45:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b285ee494d)
+
+ lib-ssl-iostream: Don't link unit test with -static
+
+ It's not useful and it breaks in some systems.
+
+M src/lib-ssl-iostream/Makefile.am
+
+2019-10-08 18:57:02 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (74c98d2a18)
+
+ plugins: fts-solr: solr-response - Fix incremental parsing of XML element
+ data in small chunks.
+
+
+M src/plugins/fts-solr/solr-response.c
+M src/plugins/fts-solr/test-solr-response.c
+
+2019-10-08 18:57:00 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0c26b34cfe)
+
+ plugins: fts-solr: solr-response - Use strnum.h for numeric parsing.
+
+
+M src/plugins/fts-solr/solr-response.c
+
+2019-10-08 18:57:00 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (aecdefa5b0)
+
+ plugins: fts-solr: solr-response - Make lookup response parser a separate
+ entity.
+
+ This improves the structure of the code and allows writing a unit test for
+ the parser, which is included in this commit.
+
+M src/plugins/fts-solr/Makefile.am
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-response.c
+M src/plugins/fts-solr/solr-response.h
+A src/plugins/fts-solr/test-solr-response.c
+
+2019-10-08 18:57:00 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d01fc90f2a)
+
+ plugins: fts-solr: solr-reponse - Move init/deinit of struct
+ solr_response_parser to separate functions.
+
+
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-response.c
+M src/plugins/fts-solr/solr-response.h
+
+2019-10-08 18:56:59 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2ec42a8d5d)
+
+ plugins: fts-solr: solr-connection - Use i_stream_get_error() for reporting
+ stream errors.
+
+
+M src/plugins/fts-solr/solr-connection.c
+
+2019-10-08 18:56:59 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b3fb5ff6e4)
+
+ plugins: fts-solr: Move xml_parser field from struct solr_connection to
+ struct solr_response_parser.
+
+
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-response.c
+
+2019-10-08 18:56:59 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (020b73c432)
+
+ plugins: fts-solr: solr-response - Rename struct solr_lookup_xml_context to
+ struct solr_response_parser.
+
+ Also rename the variable names accordingly.
+
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-response.c
+
+2019-10-08 18:56:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (120e031909)
+
+ plugins: fts-solr: solr-connection - Remove useless XML_ParserReset() calls.
+
+
+M src/plugins/fts-solr/solr-connection.c
+
+2019-10-08 18:56:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (38e6a05814)
+
+ plugins: fts-solr: solr-connection - Put all update context data in struct
+ solr_connection_post.
+
+
+M src/plugins/fts-solr/solr-connection.c
+
+2019-10-08 18:56:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f2e00d6857)
+
+ plugins: fts-solr: solr-connection - Move lookup context data to separate
+ struct.
+
+
+M src/plugins/fts-solr/solr-connection.c
+
+2019-10-08 18:56:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c3b6bbd3ad)
+
+ plugins: fts-solr: Move solr_lookup_xml_data() from solr-connection.c to
+ solr-response.c.
+
+
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-response.c
+
+2019-10-08 18:56:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b066e5be22)
+
+ plugins: fts-solr: Move solr_lookup_xml_end() from solr-connection.c to
+ solr-response.c.
+
+
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-response.c
+
+2019-10-08 18:56:56 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (cd9f4e4b1c)
+
+ plugins: fts-solr: Move solr_lookup_add_doc() from solr-connection.c to
+ solr-response.c.
+
+
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-response.c
+
+2019-10-08 18:56:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (84de568222)
+
+ plugins: fts-solr: Move solr_result_get() from solr-connection.c to
+ solr-response.c.
+
+
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-response.c
+
+2019-10-08 18:56:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b4749bcfd5)
+
+ plugins: fts-solr: Move solr_lookup_xml_start() from solr-connection.c to
+ solr-response.c.
+
+
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-response.c
+
+2019-10-08 18:56:54 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d35f3e51e0)
+
+ plugins: fts-solr: Move solr_xml_parse() from solr-connection.c to
+ solr-response.c.
+
+
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-response.c
+
+2019-10-08 18:56:54 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4aa0e2ced2)
+
+ plugins: fts-solr: Move definition of struct solr_lookup_xml_context from
+ solr-connection.c to solr-response.c.
+
+
+M src/plugins/fts-solr/Makefile.am
+M src/plugins/fts-solr/solr-connection.c
+A src/plugins/fts-solr/solr-response.c
+
+2019-10-08 18:56:53 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (253478d12e)
+
+ plugins: fts-solr: Move definition of struct solr_result from
+ solr-connection.h to solr-response.h.
+
+
+M src/plugins/fts-solr/Makefile.am
+M src/plugins/fts-solr/solr-connection.h
+A src/plugins/fts-solr/solr-response.h
+
+2019-10-08 18:56:51 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (1f3b681f1b)
+
+ plugins: fts-solr: Reformat solr-connection.c.
+
+
+M src/plugins/fts-solr/solr-connection.c
+
+2020-01-08 13:13:18 +0200 Sina Tavakoli <sina.tavakoli@open-xchange.com> (8900e65a79)
+
+ lib-master: master-login-auth - Fix master_login_auth_request leakage
+
+
+M src/lib-master/master-login-auth.c
+
+2020-01-08 13:10:34 +0200 Sina Tavakoli <sina.tavakoli@open-xchange.com> (ecd871b9c8)
+
+ lib-master: master-login-auth - Fix auth lookup privilege problem when imap
+ process is reused and user is un-hibernated.
+
+
+M src/lib-master/master-login-auth.c
+M src/master/test-master-login-auth.c
+
+2020-01-08 13:05:20 +0200 Sina Tavakoli <sina.tavakoli@open-xchange.com> (f8cde1e03f)
+
+ lib-test: test-common - Add "test_expect_error_string_n_times" function to
+ expect an error output for an arbitrary times.
+
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2020-01-08 13:02:23 +0200 Sina Tavakoli <sina.tavakoli@open-xchange.com> (67a4b1196e)
+
+ lib-master: master-login-auth - Reformat unnecessary semicolon
+
+
+M src/lib-master/master-login-auth.c
+
+2019-12-11 14:10:12 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8f38f081f0)
+
+ lib-master: Simplify auth-master connection code
+
+ For UNIX sockets the client_connected callback is always called immediately
+ after successful connection_client_connect(). So we might as well directly
+ add auth->connected=TRUE after it succeeds without having to go through the
+ callback.
+
+ If the callback had been called later, the current code would have been
+ broken because it already assumed that auth->connected=TRUE is set
+ immediately after returning from master_login_auth_connect(). So this change
+ just makes it clearer what happens and what is required.
+
+M src/lib-master/master-login-auth.c
+
+2020-01-02 20:20:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f99a609b9e)
+
+ stats: Make sure unit tests don't fail with fast CPUs
+
+
+M src/stats/test-stats-common.c
+
+2019-12-23 13:59:48 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (c4a6841ffd)
+
+ run-test-valgrind.supp: Drop fun:*msync from libunwind suppression
+
+ This is either fun:__msync_nocancel or fun:msync, and hopefully the
+ suppression here works for both.
+
+M run-test-valgrind.supp
+
+2019-12-23 12:36:13 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (a5165384a7)
+
+ m4: Always generate suppressions with valgrind
+
+
+M m4/dovecot.m4
+
+2019-12-20 12:31:17 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (ad2c50d54d)
+
+ stats: Output multi level sub-metrics correctly
+
+
+M src/stats/client-reader.c
+
+2019-12-09 19:57:32 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (977edff0d2)
+
+ stats: Add unit test for group by
+
+
+M src/stats/test-client-reader.c
+M src/stats/test-stats-metrics.c
+
+2019-12-09 15:17:48 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (2de7b54348)
+
+ stats: Add initial unit tests
+
+
+M src/stats/Makefile.am
+A src/stats/test-client-reader.c
+A src/stats/test-client-writer.c
+A src/stats/test-stats-common.c
+A src/stats/test-stats-common.h
+A src/stats/test-stats-metrics.c
+
+2019-12-01 16:06:25 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (ec64f5bf4b)
+
+ stats: Implement group_by
+
+ group_by allows dynamic creation of sub-metrics for metric.
+
+ Example:
+
+ metric imap_command {
+ event_name = imap_command_finished
+ group_by = cmd_name tagged_reply_state
+ }
+
+ will generate following metrics
+
+ imap_command_select_ok imap_command_select_bad imap_command_select_no
+
+ etc.
+
+ based on what sort of events come in. new metrics are generated when event
+ comes in and then they are tracked.
+
+ only strings can be used for group_by for now.
+
+M src/stats/stats-metrics.c
+M src/stats/stats-metrics.h
+M src/stats/stats-settings.c
+M src/stats/stats-settings.h
+
+2019-12-01 16:06:42 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (408b92097d)
+
+ stats: Dump sub-metrics
+
+
+M src/stats/client-reader.c
+
+2019-12-01 18:24:01 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (5842bdeb01)
+
+ stats: Add sub-metrics to metrics
+
+ Needed by next commit
+
+M src/stats/stats-metrics.c
+M src/stats/stats-metrics.h
+
+2019-12-01 16:51:15 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (616376b7f5)
+
+ stats: Move metric initialization to stats_metric_alloc()
+
+
+M src/stats/stats-metrics.c
+
+2019-12-04 14:00:37 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (93d13679b7)
+
+ stats: Add data stack frames when handling events
+
+ Reduces memory usage
+
+M src/stats/stats-metrics.c
+
+2019-12-12 12:36:23 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (986d9cbbec)
+
+ lib-storage: Always fix inconsistency when syncing private flags index
+
+ The flags index can't be fully synced with the main index at all times
+ anyway, so don't even try. Just fully sync it always and fix any found
+ inconsistencies.
+
+ Fixes: Error: dovecot.index.pvt reset, view is now inconsistent
+
+M src/lib-storage/index/index-sync-private.h
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-transaction.c
+
+2019-12-12 12:30:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (89b45a6e2e)
+
+ lib-index: Fix potential crash when view is synced after index is reset
+
+ view_sync_set_log_view_range() sees that index is reset, so it clears the
+ log_view, which sets log_view->cur=NULL. Later on view_sync_have_expunges()
+ calls mail_transaction_log_view_mark(), which crashes because
+ log_view->cur==NULL.
+
+ This crash mainly happened when searching for seen flags in a newly created
+ mailbox with INDEXPVT. This commit doesn't actually fix the bug, but it
+ fixes the resulting crash.
+
+M src/lib-index/mail-index-view-sync.c
+
+2019-12-03 23:55:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6f8faf0f30)
+
+ lib-storage: mailbox_get_metadata() - Return cache_fields allocated from
+ data stack
+
+ Using mailbox.metacache_pool breaks if it's called multiple times for the
+ same mailbox and the old results are still used. This happened in
+ index_copy_cache_fields() when copying mails within the same mailbox. In
+ some situations this could have caused a crash.
+
+M src/lib-storage/index/index-status.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2019-12-03 21:07:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d13b96ed8c)
+
+ lib-http: Update event fields once more in http_client_request_submit()
+
+ Especially the port number could have changed.
+
+M src/lib-http/http-client-request.c
+
+2019-12-03 20:04:47 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d513aab15f)
+
+ lib-http: Add support for permanent headers
+
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.h
+
+2019-12-03 16:26:42 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (318f7eb4ca)
+
+ lib-http: Add http_client_request_set_event_headers()
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2019-12-03 14:20:24 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (90076c10ab)
+
+ lib-http: Include HTTP response reason text in debug log messages
+
+
+M src/lib-http/http-client-connection.c
+
+2019-12-02 21:19:04 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (192b4fe4e9)
+
+ fs-compress, fs-crypt: Remove duplicate fs-driver prefix in init errors
+
+ fs_init() already prefixes the error with "fs-driver: "
+
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+
+2019-11-30 18:14:21 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (12633e60af)
+
+ global: Don't use CALLBACK_TYPECHECK() in arithmetic with context
+
+ This fails if the context type is incomplete.
+
+M src/lib-http/http-client.h
+M src/lib-http/http-server.h
+M src/lib-smtp/smtp-client-transaction.h
+M src/lib-sql/sql-api.h
+M src/lib/iostream-proxy.h
+M src/lib/iostream-pump.h
+M src/lib/lib-event.h
+
+2019-11-30 18:14:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f53086c582)
+
+ lib-http: Add http_client_request_get_attempts()
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2019-12-13 13:40:14 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (f9d3271ed6)
+
+ NEWS: Add news for 2.3.9.2
+
+
+M NEWS
+
+2019-12-13 13:35:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (82c948db49)
+
+ push-notification: Fix crash with empty from/to header
+
+
+M src/plugins/push-notification/push-notification-event-message-common.c
+
+2019-11-19 13:59:53 +0900 Hector Martin <marcan@marcan.st> (546ea52bd5)
+
+ mdbox: Support setting save_date
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2019-12-11 16:58:38 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (62affa4ae1)
+
+ NEWS: Add news for 2.3.9.1
+
+
+M NEWS
+
+2019-11-28 21:23:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (75ac3b5ded)
+
+ cassandra: Handle CASS_ERROR_SERVER_WRITE_FAILURE also as "uncertain write"
+
+ This error apparently doesn't happen often, but it seems to be a per-node
+ failure so some Cassandra nodes could have written the change.
+
+M src/lib-sql/driver-cassandra.c
+
+2019-12-08 13:17:42 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (d4468dbf35)
+
+ lib-smtp: Add smtp_address_case_equals().
+
+
+M src/lib-smtp/smtp-address.h
+
+2019-12-08 13:16:26 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (3e5869bb90)
+
+ lib-smtp: Add smtp_address_cmp_icase().
+
+
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/smtp-address.h
+
+2019-12-11 14:04:32 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (1307766b6f)
+
+ push-notification-driver-lua: Provide missing to/from as empty string
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2019-12-11 13:16:19 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (393a8cabf4)
+
+ push-notification: Handle group names correctly in from/to
+
+ Fixes signal 11 crash
+
+M src/plugins/push-notification/push-notification-event-message-common.c
+
+2019-07-22 16:16:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8867dcfd11)
+
+ submission: Fix submission_max_mail_size setting type
+
+
+M src/submission-login/submission-login-settings.h
+M src/submission/submission-settings.h
+
+2019-12-02 19:06:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (62cf35c5ad)
+
+ lib-fs: Add fs event category to fs events
+
+
+M src/lib-fs/fs-api.c
+
+2019-11-29 17:49:23 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (26673b961f)
+
+ lib-fs: Log any pending errors in fs_file_deinit()
+
+ If error was set to the file but it wasn't accessed with
+ fs_file_last_error(), it means the error message would become lost. Usually
+ this is probably not intended.
+
+M src/lib-fs/fs-api.c
+
+2019-11-29 17:11:15 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7257a108c2)
+
+ lib-fs: Log previous fs_file error if it's being overridden
+
+ This makes sure that errors aren't lost. If fs_file_last_error() has been
+ used it means that the error has been looked at and there's no need to log
+ it.
+
+ Some of the "expected" errors won't be logged though. This check is done
+ based on errno. This is also why this commit reorders
+ fs_file_set_error_async() to set errno=EAGAIN earlier.
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2019-12-01 23:07:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e771f2d1e6)
+
+ test-fs-posix: Check for failed fs_read() error string
+
+
+M src/lib-fs/test-fs-posix.c
+
+2019-11-29 17:01:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d2c3cf0d14)
+
+ lib-fs: Replace fs error with file/iter-specific error
+
+ Removed fs_last_error(), since it can't be used anymore.
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2019-11-29 16:55:42 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d7aaef0577)
+
+ lib-fs: Move file deinit code from fs_file_deinit() to fs_file_free()
+
+
+M src/lib-fs/fs-api.c
+
+2019-11-29 16:53:47 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f449d9eebe)
+
+ lib-fs: Add fs_file_free() to run common deinit code
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+
+2019-11-29 16:25:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7376e94a9d)
+
+ lib-fs: Change fs_set_error() to take event instead of fs
+
+ Also log the error as debug message. This allows capturing the events for
+ statistics or event exporting.
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-wrapper.c
+
+2019-11-29 15:30:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f6e8341f9f)
+
+ lib-fs: Set internal fs/file/iter pointers to events
+
+ This will be used by the following commit
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2019-11-29 16:08:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5250c1e90a)
+
+ lib-fs: Rename fs_set_error_async() to fs_file_set_error_async()
+
+ Also changed to take fs_file instead of fs parameter.
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-test.c
+
+2019-11-29 16:01:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9c97b55418)
+
+ fs-posix: Change fs_posix_rmdir_parents() to take fs_file instead of fs
+
+
+M src/lib-fs/fs-posix.c
+
+2019-11-29 15:58:59 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (54bcd1e5d2)
+
+ fs-sis: Don't overwrite error already set by fs_sis_path_parse()
+
+
+M src/lib-fs/fs-sis.c
+
+2019-11-29 15:56:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d8bdd8b650)
+
+ fs-sis: Change some internal functions to take fs_file instead of fs
+
+
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-common.h
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+
+2019-11-29 15:54:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2e64f20892)
+
+ fs-posix: Change fs_posix_get_mode() to take file parameter, not fs
+
+
+M src/lib-fs/fs-posix.c
+
+2019-11-25 13:20:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8a8e5f9a35)
+
+ lib-fs: Remove fs_set_critical()
+
+ The original idea was similar to mail_storage_set_error/critical()
+ separation. But in storage they are used to clearly separate between errors
+ caused by untrusted users vs internal errors. In lib-fs case all the errors
+ are internal errors. Also all the lib-fs callers are supposed to log the
+ errors unless they decide to handle them specially, so there's really no
+ need a fs_set_critical() that just causes them to be logged twice.
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2019-11-25 13:19:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e743151cfc)
+
+ fs-posix: Replace fs_set_critical() with e_error()
+
+ fs_set_error() can't be used in fs_file_close() and fs_file_deinit(),
+ because they don't return an error.
+
+M src/lib-fs/fs-posix.c
+
+2019-11-25 13:19:00 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1912110a40)
+
+ fs-posix: Log lseek() error with fs_set_error()
+
+ Makes it consistent with logging the read() error.
+
+M src/lib-fs/fs-posix.c
+
+2019-11-25 11:43:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (8ac7fdd116)
+
+ lib-fs: Add error_r parameter to the internal fs.init() method
+
+ This will help removing fs_set_error() calls.
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+
+2019-11-25 11:25:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d276388801)
+
+ global: Replace fs_last_error() with fs_file_last_error() wherever possible
+
+
+M src/doveadm/doveadm-fs.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/index-attachment.c
+
+2019-12-05 13:41:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e090699a14)
+
+ lib-fs: Free fs_iter in fs_iter_deinit(), not in individual drivers
+
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-test.c
+M src/lib-fs/fs-wrapper.c
+
+2019-11-25 11:13:08 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f51f18694e)
+
+ lib-fs: Change fs_iter_deinit() API to return error_r string
+
+
+M src/doveadm/doveadm-fs.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-wrapper.c
+M src/lib-fs/test-fs-posix.c
+
+2019-11-25 11:06:07 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3a51b7529b)
+
+ lib-fs: Change last_error from string_t to char *
+
+ The string isn't modified in a way that string_t is useful. This change also
+ allows fs_set_error() parameters to point to previous error string without
+ breaking.
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2019-11-29 15:25:21 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (994dc23d21)
+
+ lib: Allow events to store internal pointers
+
+ These pointers are independent of event fields, so they're ignored by event
+ matching, exporting and importing. Their main purpose is to allow storing
+ internal state to an event and allow it to be accessed by any code that can
+ access the event.
+
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2019-12-04 19:39:10 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (958c4e6748)
+
+ fs-posix: Use container_of()
+
+
+M src/lib-fs/fs-posix.c
+
+2019-12-04 12:30:26 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (a1711eb6fd)
+
+ lib: Don't use EAI_{ADDRFAMILY,NODATA} when they don't exist
+
+ Broken by c85f1bc3ce612c736c9d2c468cc08306db1b5851
+
+M src/lib/net.c
+
+2019-12-04 20:52:26 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (bc06bb274c)
+
+ plugins: quota: quota-status - Check that the MTA is in the RCPT state.
+
+ The quota-status service can currently only be used for Postfix
+ smtpd_recipient_restrictions.
+
+M src/plugins/quota/quota-status.c
+
+2019-12-04 20:38:14 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (67928a78d1)
+
+ plugins: quota: quota-status - Delay parsing recipient address until after
+ message is fully read.
+
+
+M src/plugins/quota/quota-status.c
+
+2019-12-04 21:16:17 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (229f696959)
+
+ plugins: quota: quota-status - Remove duplicate "quota-status" prefix from
+ error message.
+
+
+M src/plugins/quota/quota-status.c
+
+2018-11-04 19:04:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a825021fe5)
+
+ plugins: quota: quota-status - Accept addresses with badly broken localparts
+ from Postfix.
+
+
+M src/plugins/quota/quota-status.c
+
+2018-11-04 17:45:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d4b448916f)
+
+ plugins: quota: quota-status - Fix protocol hang occurring when recipient
+ address is invalid.
+
+ The line handler returned 0 in the event of an invalid recipient address,
+ which halts input handling.
+
+M src/plugins/quota/quota-status.c
+
+2018-11-04 17:37:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b022e91446)
+
+ plugins: quota: quota-status - Add event support for debug logging.
+
+
+M src/plugins/quota/quota-status.c
+
+2018-10-31 23:09:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (350c8edad4)
+
+ plugins: quota: quota-status - Improve error message for invalid recipient
+ address.
+
+
+M src/plugins/quota/quota-status.c
+
+2019-01-07 20:03:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ff5305136a)
+
+ auth: mech-scram: Add support for SCRAM-SHA-256.
+
+
+M src/auth/mech-scram.c
+M src/auth/mech.c
+
+2019-01-07 20:09:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ea584420d3)
+
+ auth: password-scheme: scram: Add support for SCRAM-SHA-256.
+
+
+M src/auth/password-scheme-scram.c
+M src/auth/password-scheme.c
+M src/auth/password-scheme.h
+M src/auth/test-libpassword.c
+
+2019-01-06 23:08:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a75d5edad6)
+
+ auth: mech-scram: Make implementation generic to support other hash
+ algorithms.
+
+
+M src/auth/Makefile.am
+M src/auth/mech-scram.c
+A src/auth/mech-scram.h
+
+2019-01-06 23:04:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fdd67b3501)
+
+ auth: password-scheme: scram: Make implementation generic to support other
+ hash algorithms.
+
+
+M src/auth/mech-scram.c
+M src/auth/password-scheme-scram.c
+M src/auth/password-scheme.h
+
+2019-01-06 23:24:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (380cf4b757)
+
+ auth: Reduce code line length in password-scheme-scram.c.
+
+
+M src/auth/password-scheme-scram.c
+
+2019-01-06 23:19:14 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (972c1d6bda)
+
+ auth: Reduce code line length in password-scheme.h.
+
+
+M src/auth/password-scheme.h
+
+2019-01-06 20:22:28 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (888d0cc710)
+
+ auth: Rename mech-scram-sha1.c to mech-scram.c.
+
+
+M src/auth/Makefile.am
+R100 src/auth/mech-scram-sha1.c src/auth/mech-scram.c
+
+2019-01-06 23:03:13 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1f1689c8ea)
+
+ lib: hash-method: Add hash_method_get_digest().
+
+
+M src/lib/hash-method.c
+M src/lib/hash-method.h
+
+2019-01-06 23:27:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a61fb03c0a)
+
+ lib: hash-method: Adjust comment regarding helpers.
+
+
+M src/lib/hash-method.h
+
+2019-11-26 15:30:47 +0100 Markus Valentin <markus.valentin@open-xchange.com> (8a7bc361b4)
+
+ doveadm: mail: Add trans-flags parameter to doveadm mail commands
+
+ Add a trans-flags parameter to doveadm-mail calls. This allows to run mail
+ commands with specific mailbox transaction flags. mail-storage.h enum
+ mailbox_transaction_flags
+
+ All doveadm calls take the defined flag additionally to their orignal flags.
+ The flags can be set as decimal integer on the doveadm call.
+
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-deduplicate.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox-cache.c
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail-save.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2019-11-29 13:50:31 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (4c232dc644)
+
+ README.md: Add RFC8457.
+
+
+M README.md
+
+2018-09-08 21:41:52 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (15a8f579f8)
+
+ doc: example-config: Add documentation and example for \Important
+ special-use mailbox attribute.
+
+
+M doc/example-config/conf.d/15-mailboxes.conf
+
+2018-09-08 21:26:17 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (927b740e41)
+
+ lib-storage: Add support for the "\Important" special-use mailbox attribute.
+
+
+M src/lib-storage/mail-storage-settings.c
+
+2019-11-29 12:31:00 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (e9e27fe42f)
+
+ NEWS: Add news for 2.3.9
+
+
+M NEWS
+
+2019-11-29 12:06:37 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (f587a01eec)
+
+ NEWS: Sync missing news v2.3.7-v2.3.8
+
+
+M NEWS
+
+2019-10-31 10:49:52 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (de80089841)
+
+ lib-http: Add comments to http_client_request.*_time
+
+
+M src/lib-http/http-client-private.h
+
+2019-12-02 08:51:34 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (83f3bf0ed5)
+
+ lib: Free internal event categories on lib deinit
+
+
+M src/lib/lib-event.c
+
+2019-11-27 15:49:52 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (d7da603642)
+
+ lib: Add ->clear_field() passthrough event op
+
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2019-11-22 17:33:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (cf4355ed25)
+
+ lib-http: client request events: Add "dest_ip" field
+
+
+M src/lib-http/http-client-request.c
+
+2019-11-22 17:04:34 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2e0defdd30)
+
+ lib-http: client request events: Add "dest_" prefix to "host" and "port"
+
+ This makes it consistent with the event names in connection API.
+
+M src/lib-http/http-client-request.c
+
+2019-11-25 22:12:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b239cc66bb)
+
+ lib: connection: Remove assert for remote_port != 0
+
+ This can happen if connection_init_server_ip() is called with remote_ip set
+ but not remote_port. Alternative fix might be to move the assert to it.
+
+M src/lib/connection.c
+
+2019-11-25 15:18:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e019e08c50)
+
+ lib: connection: Rename unix_peer_known to unix_peer_checked
+
+ This reflects more correctly what it means.
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2019-11-25 15:16:09 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (17b92c4493)
+
+ lib: connection: Cleanup connection_update_properties()
+
+ Add comments and change the code flows a bit to make it clearer what is
+ supposed to happen.
+
+ Fixes also a potential bug where getpeername() could return 0, but if errno
+ wasn't changed the following errno==ENOTSOCK could have wrongly matched.
+
+M src/lib/connection.c
+
+2019-11-25 19:46:52 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0330058552)
+
+ lib: connection: Fix remote_pid and remote_uid in UNIX client connection log
+ prefixes
+
+ They previously weren't included in the log prefixes, because
+ unix_peer_known was set to TRUE too early.
+
+M src/lib/connection.c
+
+2019-11-25 15:13:28 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (9b4e654cf5)
+
+ lib: connection: Don't set remote_pid or remote_uid to TCP connection event
+
+ They weren't initialized properly when connection_init_server_ip() or
+ connection_init_client_ip_from() was called with remote_ip parameter.
+
+M src/lib/connection.c
+
+2019-11-22 16:12:36 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (649d56fa1a)
+
+ lib: connection: Add "dest_host" event field if given
+
+
+M src/lib/connection.c
+
+2019-11-22 16:59:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5721076a39)
+
+ lib: connection: Remove clearing of event fields
+
+ This was done mainly because the fields could have become mixed up when a
+ client connection event had a parent server connection event. But now that
+ the IP and port fields are different for client and server connections this
+ problem mainly doesn't exist.
+
+M src/lib/connection.c
+
+2019-11-22 15:39:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (45ed44b175)
+
+ lib: connection: Fix naming of remote/local_ip/port
+
+ For client connections these fields were duplicated as "ip", "port" and
+ "client_ip".
+
+ Now make it explicit that client connections only have source_* and dest_*,
+ while server connections only have local_* and remote_*.
+
+M src/lib/connection.c
+
+2019-11-22 17:20:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (82ac684330)
+
+ imap: rename: Add "old_mailbox" and "new_mailbox" fields to command event
+
+
+M src/imap/cmd-rename.c
+
+2019-11-21 15:38:25 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5d4055e40a)
+
+ imap: Add "mailbox" field to imap command events that use mailboxes
+
+
+M src/imap/cmd-append.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-resetkey.c
+M src/imap/cmd-select.c
+M src/imap/cmd-setmetadata.c
+M src/imap/cmd-status.c
+M src/imap/cmd-subscribe.c
+M src/imap/imap-commands-util.c
+
+2019-11-21 15:31:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (b7f508cc95)
+
+ imap: Fix setting imap client event's "session" field for CLI sessions
+
+
+M src/imap/main.c
+
+2019-11-21 15:30:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (7c8afa75d8)
+
+ imap: Remove imap_client.session_id
+
+ Use mail_user.session_id instead. The imap_client.session_id was NULL for
+ command line sessions, which gets fixed by using mail_user.session_id.
+
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/main.c
+
+2019-11-21 15:21:13 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d6fd42351a)
+
+ lib-storage: Remove mail_user and mail_storage_service_user events'
+ "service" field
+
+ There is already "service:<name>" category added to all events so this is
+ duplication.
+
+ If it's later on decided to be useful after all, it should be added
+ automatically to all events. Probably by creating the root event in
+ lib-master.
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+
+2019-11-21 15:15:44 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2a25ca0184)
+
+ lib-storage: Remove local/remote_ip/port from mail_storage_service_user
+ event
+
+ These make sense more in the parent event.
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+
+2019-11-21 15:12:12 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4a6741efaf)
+
+ imap: Add local/remote_ip/port to imap client event fields
+
+
+M src/imap/main.c
+
+2019-11-21 14:58:50 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c1ff3370c5)
+
+ lib-storage: Rename mailbox event field "name" to "mailbox"
+
+ The "name" could conflict with child events. It's also much clearer this way
+ especially when accessed via child events.
+
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/index-storage.c
+
+2019-11-21 14:57:33 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (3eea482b4f)
+
+ lib-smtp: Rename event field "name" to "cmd_name"
+
+ This makes it consistent with imap's cmd_name.
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-server-command.c
+
+2018-08-20 22:18:27 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4ed2397f80)
+
+ lmtp: Add client workarounds.
+
+ Adds same workarounds as the submission service supports.
+
+M doc/example-config/conf.d/20-lmtp.conf
+M src/lmtp/lmtp-client.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2018-08-20 22:00:04 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7e3e17ef4d)
+
+ submission: Rename workaround enum values.
+
+ Avoid conflicts with other protocols.
+
+M src/submission/submission-client.c
+M src/submission/submission-settings.c
+M src/submission/submission-settings.h
+
+2019-11-13 22:59:03 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (f501df29a5)
+
+ lmtp: lmtp-commands - Fix application of the lmtp_hdr_delivery_address
+ setting.
+
+ Its value was ignored. It got broken by the move to the new lib-smtp for
+ v2.3.
+
+M src/lmtp/lmtp-commands.c
+
+2019-11-13 22:58:13 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (8b7efa4a9f)
+
+ lmtp: lmtp-commands - Simplify lmtp_local_add_headers().
+
+
+M src/lmtp/lmtp-local.c
+
+2019-11-13 01:03:26 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (403a72cf7c)
+
+ lmtp: lmtp-settings - Fix reading lmtp_hdr_delivery_address setting.
+
+ The setting was not actually parsed.
+
+M src/lmtp/lmtp-settings.c
+
+2019-11-13 22:36:07 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (7f0f0a75d9)
+
+ lib-smtp: smtp-server-transaction - Make the recipient address used in trace
+ headers configurable.
+
+
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/smtp-server.h
+M src/lmtp/lmtp-commands.c
+M src/submission/submission-commands.c
+
+2019-11-13 23:41:51 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (fd02421b3e)
+
+ lib-smtp: smtp-server-recipient - Add smtp_server_recipient_get_original().
+
+
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server.h
+
+2019-11-24 13:03:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (2469ac3e3c)
+
+ lib-imap: Fix adding IMAP_ARG_EOL parameter to all unfinished lists
+
+ This is a continuation for 6beb5339f163eaa470974ced2bcdf193f130d8a7, which
+ added it only to the last open list, not its parent lists.
+
+M src/lib-imap/imap-parser.c
+M src/lib-imap/test-imap-parser.c
+
+2019-11-10 14:16:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5249b87c37)
+
+ push-notification: lua: Expose UTF8 from/to/subject
+
+ Replace the existing "subject" field with UTF8 subject. Add new
+ from_address, from_display_name, to_address and to_display_name where the
+ *_display_names are UTF8.
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2019-11-10 14:09:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e279c891d9)
+
+ push-notification: Support UTF8-decoded from/to/subject
+
+ Use a new struct push_notification_message_ext for this so both MessageNew
+ and MessageAppend events can share the same struct.
+
+ For From and To addresses keep the actual email address and display-name in
+ separate fields, since some drivers want them separated.
+
+M src/plugins/push-notification/push-notification-event-message-common.c
+M src/plugins/push-notification/push-notification-event-message-common.h
+M src/plugins/push-notification/push-notification-event-messageappend.c
+M src/plugins/push-notification/push-notification-event-messageappend.h
+M src/plugins/push-notification/push-notification-event-messagenew.c
+M src/plugins/push-notification/push-notification-event-messagenew.h
+
+2019-11-07 18:51:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1256df3903)
+
+ push-notification: Simplify code with p_strarray_dup()
+
+
+M src/plugins/push-notification/push-notification-event-message-common.c
+
+2019-11-07 18:49:02 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (be5e2c6ca0)
+
+ push-notification: Deduplicate MessageNew and MessageAppend events' data
+ gathering code
+
+ It would have been simpler to share their structs, but that can't be done
+ cleanly without breaking the API's backwards compatibility.
+
+M src/plugins/push-notification/Makefile.am
+A src/plugins/push-notification/push-notification-event-message-common.c
+M src/plugins/push-notification/push-notification-event-message-common.h
+M src/plugins/push-notification/push-notification-event-messageappend.c
+M src/plugins/push-notification/push-notification-event-messagenew.c
+
+2019-11-21 09:42:09 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (682d738619)
+
+ lib-smtp: smtp-server-cmd-mail - Don't implicitly accept missing '<' and '>'
+ when set->mail_path_allow_broken == TRUE.
+
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/test-smtp-server-errors.c
+
+2019-11-21 00:35:51 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (f45558ca81)
+
+ lib-smtp: smtp-address - Don't allow missing '<' and '>' with only
+ SMTP_ADDRESS_PARSE_FLAG_IGNORE_BROKEN flag set.
+
+
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/test-smtp-address.c
+
+2019-11-21 15:35:28 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (7807f391cd)
+
+ lib-smtp: test-smtp-server-errors - Fix "MAIL broken path" test.
+
+ The test label and the number of clients was wrong.
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2019-11-14 11:33:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5073cab893)
+
+ imap-hibernate: Fix logging unhibernation error if imap-master gets
+ disconnected
+
+
+M src/imap-hibernate/imap-master-connection.c
+
+2019-11-11 14:27:55 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (64a176b122)
+
+ imap-hibernate: Fix crash when imap-master communication fails
+
+ Fixes a segfault if the communication times out or gets disconnected too
+ early. This happens because read_callback() already frees the
+ imap_master_connection.
+
+M src/imap-hibernate/imap-master-connection.c
+
+2019-11-10 23:08:15 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (79f6fd2e5e)
+
+ lib-ssl-iostream: Fix error message about ssl_dh
+
+ The setting name is ssl_dh, not ssh_dh
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2019-11-18 15:37:04 +0200 Sina Tavakoli <sina.tavakoli@open-xchange.com> (36ba6a8ddb)
+
+ gitignore: Add file and directories generated by clion and kde.
+
+
+M .gitignore
+
+2019-10-24 14:08:01 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (80737a126f)
+
+ lib-index: Fix potential assert-crash when cache compression merges bitmasks
+
+ Fixes: Panic: file array.c: line 10 (array_idx_modifiable_i): assertion
+ failed: (idx < array->buffer->used / array->element_size)
+
+ (although this panic could happen in other ways as well)
+
+M src/lib-index/mail-cache-compress.c
+
+2019-07-20 13:05:08 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d869e4ffd9)
+
+ lib-smtp: smtp-client-connection - Make sure connect timeout is always reset
+ upon TLS handshake success.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2019-07-20 13:03:44 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (bcc1e8d58f)
+
+ lib-smtp: smtp-client-connection - Fix assert failure occurring when
+ STARTTLS handshake succeeds quickly.
+
+ Panic was:
+
+ Panic: file smtp-client-connection.c: line 1212
+ (smtp_client_connection_established): assertion failed:
+ (!conn->connect_succeeded)
+
+M src/lib-smtp/smtp-client-connection.c
+
+2019-11-04 15:37:17 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (85bbf21d77)
+
+ lib: Test category re-registration thoroughly
+
+
+M src/lib/Makefile.am
+A src/lib/test-event-category-register.c
+M src/lib/test-lib.inc
+
+2019-10-24 17:58:22 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (edf26f9858)
+
+ lib: Use event category representatives instead of user supplied pointers
+
+ Since we cannot rely on the consumers to supply us with unique category
+ pointers, we can switch all our tracking to the category representative
+ structures.
+
+M src/lib/event-filter.c
+M src/lib/lib-event.c
+
+2019-10-24 17:40:32 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (a3a7c9083a)
+
+ lib: Maintain a representative event category inside internal state
+
+ More than one category can be represented by the internal state. To give
+ consumers a unique but consistent category pointer, we allocate a category
+ structure (technically part of the internal state) and use it as the
+ representative for all the registrations.
+
+ Note: This commit only allocates and maintains the representatives. It does
+ not make use of them.
+
+M src/lib/lib-event.c
+
+2019-10-22 14:40:02 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (5240cb0281)
+
+ lib: Keep an internal event category structure
+
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2019-10-22 14:19:10 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (a57a7de512)
+
+ lib: events: Replace ->registered with ->internal
+
+ This is in preparation for maintaining an internal category state structure.
+
+M src/lib/event-filter.c
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2019-11-08 12:58:47 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (75713590f5)
+
+ lib: Remove support for unregistering categories
+
+ Nothing used the code and there were some unhandled corner cases.
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2019-10-22 14:14:13 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (7c6f6a8cd3)
+
+ lib: Correct struct event_category's registered member's comment
+
+
+M src/lib/lib-event.h
+
+2019-11-15 12:20:38 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (16be7d7e60)
+
+ doveadm: Fix doveadm_proxy_port alias
+
+
+M src/doveadm/doveadm-settings.c
+
+2019-11-13 11:49:23 +0200 Sina Tavakoli <sina.tavakoli@open-xchange.com> (305a3a6946)
+
+ lib: json-parser: Escape characters U+2028 and U+2029 to avoid CR-LF
+ conflict with some parsers.
+
+
+M src/lib/json-parser.c
+M src/lib/test-json-parser.c
+
+2019-11-11 15:24:07 +0200 Sina Tavakoli <sina.tavakoli@open-xchange.com> (7e8f61f149)
+
+ lib: json-parser: Fix eager escaping UTF-8 characters
+
+
+M src/lib/json-parser.c
+M src/lib/test-json-parser.c
+
+2019-09-09 16:32:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ad6f9c963f)
+
+ imap-hibernate: Increase unhibernation retry timeout to 100 ms
+
+ If there are problems, 10 ms can cause excessive number of errors to be
+ logged.
+
+M src/imap-hibernate/imap-client.c
+
+2019-09-04 11:55:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3270e3f7ca)
+
+ imap-hibernate: Fix retrying unhibernation
+
+ The code that was supposed to do the retrying was never actually called.
+ This is because move_back_start was always 0, so it always went to the
+ "we've waited long enough" code path.
+
+M src/imap-hibernate/imap-client.c
+
+2019-09-09 16:30:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2a6a95bb76)
+
+ imap-hibernate: Stop listening for IOs while waiting for unhibernate
+ retrying
+
+ This avoids excessive CPU usage, because the IOs keep rapidly triggering and
+ trying to get the client unhibernated.
+
+M src/imap-hibernate/imap-client.c
+
+2019-09-04 13:22:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (90ae767c59)
+
+ imap-hibernate: Fix crashes caused by unhibernation queue handling
+
+ These only started happening after the following commit that fixes
+ unhibernation to actually start happening.
+
+M src/imap-hibernate/imap-client.c
+
+2019-11-12 13:38:46 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (aff56ca6d9)
+
+ lib: net_set_tcp_quickack() - Fix compiler warnings with non-Linux OSes
+
+
+M src/lib/net.c
+
+2019-11-07 13:01:47 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e728c24e85)
+
+ run-test-valgrind.supp: Fix libunwind supression
+
+ The stack trace changed after the initial suppression was done
+
+M run-test-valgrind.supp
+
+2019-11-06 14:39:25 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (94ca934518)
+
+ lib: ostream-file - Set TCP_QUICKACK whenever uncorking
+
+ This reduces latency in some situations.
+
+M src/lib/ostream-file-private.h
+M src/lib/ostream-file.c
+
+2019-11-06 14:36:58 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c3a3b210da)
+
+ lib: Add net_set_tcp_quickack()
+
+
+M src/lib/net.c
+M src/lib/net.h
+
+2019-11-06 14:32:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (f6232017cb)
+
+ lib-smtp: Uncork connection after QUIT, not before
+
+ This makes it more likely to work and without an extra TCP packet.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2019-11-07 14:34:48 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (d9e2ab1322)
+
+ lib-imap: imap_write_arg() - Write IMAP_ARG_LITERAL_SIZE* the same as
+ imap_write_args_for_human()
+
+ Either way it's not a proper literal because the content is missing. This is
+ at least now more consistent.
+
+M src/lib-imap/imap-util.c
+
+2019-11-07 14:29:07 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e4f1877caa)
+
+ imap: APPEND - Fix parameters for cmd_args and cmd_human_args
+
+ Note that this still includes only the first parameters when CATENATE or
+ MULTIAPPEND is used.
+
+M src/imap/cmd-append.c
+
+2019-11-07 14:28:56 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0b429ca721)
+
+ imap: client_args_finished() - support appending more args
+
+
+M src/imap/imap-client.c
+
+2019-11-07 14:26:40 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (dfd3e59912)
+
+ imap: Split off client_args_finished()
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2019-11-06 19:27:41 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (090524bbdf)
+
+ imap: Add "cmd_" prefix to most imap_command_finished event parameters
+
+ Especially "name" can conflict with child events' parameter.
+
+M src/imap/imap-client.c
+
+2019-11-06 19:27:07 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (10bddad971)
+
+ imap: Fix args and human_args parameters to imap_command_finished event
+
+ They were being set too early when they didn't yet exist.
+
+M src/imap/imap-client.c
+
+2019-11-08 10:57:01 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (6beb5339f1)
+
+ lib-imap: Add IMAP_ARG_EOL parameter also for unfinished lists
+
+ If list parsing was stopped due to IMAP_ARG_LITERAL_SIZE* the list didn't
+ have IMAP_ARG_EOL added. However, imap_arg_get_list() could still have been
+ used for it, which assumes that the IMAP_ARG_EOL exists.
+
+ This didn't seem to cause any actual bugs so far, but the following commits
+ require this.
+
+ The IMAP_ARG_EOL is appended and deleted immediately. This way it's seen by
+ imap_arg_get_list(), but it won't change any other behavior unexpectedly.
+
+M src/lib-imap/imap-arg.c
+M src/lib-imap/imap-parser.c
+
+2019-10-29 18:47:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0b40e87e01)
+
+ lib: Add io_loop_stop_delayed()
+
+
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2019-10-08 22:54:12 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (729c0ba2e7)
+
+ lmtp: lmtp-proxy - Add ORCPT parameter to RCPT command when recipient path
+ changes.
+
+ This will happen when passdb changes the username.
+
+M src/lmtp/lmtp-proxy.c
+
+2019-10-09 00:25:41 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ac0d750621)
+
+ lib-smtp: smtp-params - Add support for parsing RCPT ORCPT parameter without
+ domain.
+
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/test-smtp-params.c
+
+2019-10-08 22:57:02 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4857df2321)
+
+ lib-smtp: smtp-params - Add smtp_params_rcpt_has_orcpt().
+
+ Evaluates whether ORCPT parameter is present.
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+
+2019-10-08 22:56:21 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (444ede996e)
+
+ lib-smtp: smtp-params - Add smtp_params_rcpt_set_orcpt().
+
+ Allows modifying the ORCPT parameter.
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+
+2019-10-09 00:21:53 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9525a52c83)
+
+ lib-smtp: smtp-address - Prevent/handle empty string values in fields of
+ struct smtp_address.
+
+ This prevents e.g. writing an invalid address like 'user@'.
+
+M src/lib-smtp/smtp-address.c
+
+2019-10-09 00:43:52 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (83d1b7b3fb)
+
+ lib-smtp: Reformat test-smtp-params.c.
+
+
+M src/lib-smtp/test-smtp-params.c
+
+2019-10-08 23:11:34 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (e8f75183f6)
+
+ lib-smtp: Reformat smtp-params.h.
+
+
+M src/lib-smtp/smtp-params.h
+
+2019-10-08 23:11:00 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (bd4916844b)
+
+ lib-smtp: Reformat smtp-params.c.
+
+
+M src/lib-smtp/smtp-params.c
+
+2019-10-31 09:07:42 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (aa52ae31cc)
+
+ lib-http: http-url - Fix handling of double slash in request target URL.
+
+ A origin-form URL starting with double slash caused the initial path segment
+ to be erroneously recognized as the URL authority, making the path part
+ unexpectedly empty (NULL). This could cause the HTTP server to crash.
+
+M src/lib-http/http-url.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-url.c
+
+2019-10-31 09:33:31 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (379c4c2e26)
+
+ lib-http: test-http-request-parser - Test equality of target URL paths in
+ valid tests.
+
+
+M src/lib-http/test-http-request-parser.c
+
+2019-10-31 09:23:23 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (d6672f2885)
+
+ lib-http: test-http-request-parser - Split off test_http_request_equal()
+ from test_http_request_parse_valid().
+
+
+M src/lib-http/test-http-request-parser.c
+
+2019-10-30 22:39:36 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (57dacfc9e5)
+
+ lib-http: test-http-url - Split off test_http_url_equal() from
+ test_http_url_valid().
+
+
+M src/lib-http/test-http-url.c
+
+2019-10-30 09:54:16 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (c2ca582608)
+
+ lib-http: http-url - Split off http_url_parse_fragment() from
+ http_url_do_parse().
+
+
+M src/lib-http/http-url.c
+
+2019-10-30 09:48:38 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (b249890045)
+
+ lib-http: http-url - Split off http_url_parse_query() from
+ http_url_do_parse().
+
+
+M src/lib-http/http-url.c
+
+2019-10-30 09:38:49 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (f136e7322f)
+
+ lib-http: http-url - Split off http_url_parse_path() from
+ http_url_do_parse().
+
+
+M src/lib-http/http-url.c
+
+2019-10-30 08:53:32 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (feefb37909)
+
+ lib-http: http-url - Split off http_url_parse_scheme() from
+ http_url_do_parse().
+
+
+M src/lib-http/http-url.c
+
+2019-10-30 08:58:00 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (1cd1d2b59b)
+
+ lib-http: http-url - Split off http_url_parse_unknown_scheme() from
+ http_url_do_parse().
+
+
+M src/lib-http/http-url.c
+
+2019-10-30 00:58:53 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (044cbd2677)
+
+ lib-http: http-url - Split off http_url_parse_userinfo() from
+ http_url_parse_authority().
+
+
+M src/lib-http/http-url.c
+
+2019-10-31 01:18:27 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (27c39ea714)
+
+ lib-http: Reformat test-http-request-parser.c.
+
+
+M src/lib-http/test-http-request-parser.c
+
+2019-10-30 22:34:02 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (b014c09737)
+
+ lib-http: Reformat test-http-url.c.
+
+
+M src/lib-http/test-http-url.c
+
+2019-10-30 00:47:37 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (93f6411424)
+
+ lib-http: Reformat http-url.c.
+
+
+M src/lib-http/http-url.c
+
+2019-10-30 00:38:43 +0100 Stephan Bosch <stephan.bosch@open-xchange.com> (2d5a332e1a)
+
+ lib-http: Reformat http-url.h.
+
+
+M src/lib-http/http-url.h
+
+2019-10-29 13:44:50 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (317fef0d5e)
+
+ lib-mail: message-snippet - Use i_isspace
+
+ This way we catch all the whitespace
+
+M src/lib-mail/message-snippet.c
+
+2019-10-29 15:11:18 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (36383e3b10)
+
+ lib-mail: Treat > as quote for HTML mails too
+
+
+M src/lib-mail/message-snippet.c
+M src/lib-mail/test-message-snippet.c
+
+2019-10-29 12:40:31 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (74063ed821)
+
+ lib-mail: Use quoted text as snippet if there is nothing else
+
+
+M src/lib-mail/message-snippet.c
+M src/lib-mail/test-message-snippet.c
+
+2019-10-29 14:55:10 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (99c6549ba7)
+
+ lib-mail: message-snippet - Add snippet_add_content
+
+ Simplifies next commit
+
+M src/lib-mail/message-snippet.c
+
+2019-10-29 14:50:05 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (aab0ec3f80)
+
+ lib-mail: message-snippet - Use struct for snippet
+
+ Simplifies next change
+
+M src/lib-mail/message-snippet.c
+
+2019-10-29 12:39:16 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (b02574e0eb)
+
+ lib-mail: Include blockquotes as quotes in plain text
+
+ <blockquote>This is now preserved</blockquote> which is fine
+
+ renders as
+
+ > this is now preserved which is fine
+
+M src/lib-mail/mail-html2text.c
+M src/lib-mail/test-mail-html2text.c
+
+2019-10-29 13:44:08 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (aaa7d8a086)
+
+ lib-mail: mail-html2text - Drop unused ignore_next_text
+
+
+M src/lib-mail/mail-html2text.c
+
+2019-10-29 14:15:07 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (a36d7ea7ca)
+
+ lib-mail: mail-html2text - Do not add space after newline
+
+
+M src/lib-mail/mail-html2text.c
+
+2019-09-14 12:59:06 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b907ec5c0d)
+
+ login-proxy: Fix potential crash if ssl_iostream_handshake() fails
+
+ The error was uninitialized, which could have caused a crash when it was
+ logged (or just "(null)" printed with better luck).
+
+M src/login-common/login-proxy.c
+
+2019-10-24 19:17:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5eadcfc9f9)
+
+ lib-storage: Attachment detection shouldn't cause mime.parts parsing when
+ copying mails
+
+
+M src/lib-storage/mail-storage.c
+
+2019-10-24 10:56:06 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (52e5b25bc7)
+
+ lib-storage: Create vsize records already when building the initial vsize
+ header
+
+ This way they aren't first added to cache as size.virtuals, but immediately
+ added as vsize extension records.
+
+M src/lib-storage/index/index-mailbox-size.c
+
+2019-10-24 10:55:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ee5ad856fc)
+
+ lib-storage: Use latest index map when checking if vsize records should be
+ created
+
+ The current view's map may not be completely up-to-date. Required by the
+ following commit.
+
+M src/lib-storage/index/index-mail.c
+
+2019-10-22 19:59:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (096a532f25)
+
+ lib-storage: Copy vsize record even when destination mailbox doesn't have it
+
+ It's almost guaranteed that if the source mailbox has vsize then we want the
+ destination mailbox to also have it. This condition now happens mainly when
+ copying mails to a newly created mailbox where the vsize lookups haven't
+ occurred yet. It's better to do this immediately to avoid unnecessarily slow
+ lookups later on.
+
+M src/lib-storage/index/index-storage.c
+
+2019-10-22 19:58:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (68abe63219)
+
+ lib-storage: Fix copying vsize record when copying mails
+
+ Broken by 153ab952f77ed25b71fa4fa9774ff3e3a776b91c
+
+M src/lib-storage/index/index-storage.c
+
+2019-10-20 13:53:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (76e8ff284c)
+
+ lib: ostream-multiplex - Change o_stream_multiplex_sendv() to return void
+
+ It was always returning 0.
+
+M src/lib/ostream-multiplex.c
+
+2019-10-20 13:52:25 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7da12324d9)
+
+ lib: ostream-multiplex - Make sure stream gets uncorked always
+
+
+M src/lib/ostream-multiplex.c
+
+2019-10-20 13:48:22 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ec817bb218)
+
+ dsync: Fix potential hang when initializing remote dsync
+
+ The initial dsync handshake TCP packet could be in the same packet as the
+ previous doveadm command. This started happening more often with the recent
+ multiplex ostream corking changes in
+ f284865285ae461b293c713e03277cfbb6973eca
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2019-10-17 13:14:41 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ebeed2738b)
+
+ doveadm-mail-server: Initialize port to doveadm_port
+
+ Forgotten in 8048fa8e46c1c8cfc1f29837512cc7d49fafa4da
+
+M src/doveadm/doveadm-mail-server.c
+
+2019-10-15 14:33:25 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ed6cfb31ea)
+
+ doveadm: Add doveadm_ssl setting
+
+
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+
+2019-10-15 13:32:23 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (8048fa8e46)
+
+ doveadm-mail-server: Support proxy fields properly
+
+
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-server.h
+M src/doveadm/server-connection.c
+
+2019-10-13 20:38:12 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (923a01165a)
+
+ doveadm: Add STARTTLS support
+
+
+M src/doveadm/client-connection-tcp.c
+M src/doveadm/doveadm-util.h
+M src/doveadm/server-connection.c
+
+2019-10-13 21:06:12 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (34d9005345)
+
+ doveadm: Setup ssl connection when ssl_flags require it
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-server.h
+M src/doveadm/server-connection.c
+
+2019-10-14 12:28:46 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (61734c9cf3)
+
+ doveadm: Do not block fd after command
+
+ It is not useful and breaks SSL
+
+M src/doveadm/client-connection-tcp.c
+
+2019-10-13 11:01:53 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9fd62ffaa5)
+
+ lib: istream - Fix calling i_stream_nonseekable_try_seek() without
+ intermittent reads.
+
+ Calling i_stream_nonseekable_try_seek() sets stream->high_pos when seeking
+ back within buffer. Once i_stream_read_memarea() is called, the pos is set
+ to high_pos and the high pos is cleared. However, when no read is performed
+ in the mean time, another call to i_stream_nonseekable_try_seek() would
+ overwrite the high_pos value with pos, causing the true value to get lost,
+ leading to all kinds of issues. This is fixed by checking whether high_pos
+ is already set and not touching it when it is (first value is the only valid
+ one).
+
+ One issue this caused is that the mbox storage would no longer work with
+ compression, triggering `unexpected EOF' errors.
+
+M src/lib/istream.c
+
+2019-10-10 10:34:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2461c221b7)
+
+ doveadm mailbox cache remove: Require search query parameter
+
+ Don't treat nonexistent search query the same as ALL.
+
+M src/doveadm/doveadm-mail-mailbox-cache.c
+
+2019-10-08 16:14:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4bc94bc7d2)
+
+ *-login: Fix potential hangs with SSL connections
+
+ 1) Multi-step SASL authentication could hang when login process waits for
+ response from a client, but it has already pipelined it together with the
+ AUTH/AUTHENTICATE command.
+
+ 2) After failed authentication commands could start hanging.
+
+M src/login-common/client-common-auth.c
+
+2019-06-13 16:39:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (93c8cf0e90)
+
+ lib: backtrace_append() - If libunwind returns failure, fallback to libc's
+ method
+
+
+M src/lib/backtrace-string.c
+
+2019-09-30 23:00:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (cd8782bb7b)
+
+ lib: backtrace_get/append() - skip stack frames only based name
+
+ It's not really safe to do anything else because functions may potentially
+ be inlined.
+
+M src/lib/backtrace-string.c
+M src/lib/test-backtrace.c
+
+2019-09-30 22:52:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c235790a54)
+
+ lib: test-backtrace - Remove unnecessary includes
+
+
+M src/lib/test-backtrace.c
+
+2019-06-13 16:37:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4b353d1f8e)
+
+ lib: backtrace_append() - If libunwind fails to get any symbols, return
+ error
+
+
+M src/lib/backtrace-string.c
+
+2017-10-05 12:28:43 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b9f273fdac)
+
+ lib-storage: mail-storage - Add mailbox_has_special_use().
+
+ Implements checking whether a mailbox has a particular special-use flag.
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2017-10-05 12:27:08 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9e2dba4dc2)
+
+ lib-storage: mail-storage - Add API for allocating a mailbox based on a
+ special-use flag.
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2019-10-03 00:43:07 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c24280d525)
+
+ lib-storage: mail-storage - Merge mailbox_alloc_delivery() into
+ mailbox_alloc_for_user().
+
+ Uses the MAILBOX_FLAG_POST_SESSION flag.
+
+M src/lib-lda/mail-deliver.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2019-10-02 23:54:44 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (68c6c6fbaa)
+
+ lib-storage: mail-storage - Add mailbox_alloc_for_user().
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2019-10-05 15:46:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5e9e09a041)
+
+ lib-index: Fix checking if log file can be rotated
+
+ This fixes a bug caused by 883a3022992d0f832f0aff21572caeb7c63b7668 where
+ dovecot.index.log file wasn't rotated as often as it was supposed to be. It
+ also could have caused dovecot.index to be rewritten much more often than it
+ was supposed to be.
+
+ The buggy commit was correct that the tail_offset wasn't updated previously
+ to the dovecot.index.log file after changes. However, I didn't realize that
+ the tail_offset was internally still updated and required by this rotation
+ check to work correctly.
+
+ The fix works by relaxing the tail_offset==head_offset requirement for
+ rotation. It's enough that all the changes are synced, which can be checked
+ from mail_index_sync_ctx.fully_synced. Any changes after tail_offset are
+ then supposed to be external transactions, which aren't synced anyway, so
+ rotation is allowed.
+
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-write.c
+
+2019-09-13 22:51:04 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a8cd94d146)
+
+ lmtp: lmtp-proxy - Support forwarding a broken sender address to the backend
+ LMTP service.
+
+ This is subject to configuration.
+
+M src/lmtp/lmtp-proxy.c
+
+2019-09-13 22:33:05 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4ce99b94ad)
+
+ lib-smtp: smtp-client - Add support for proxying MAIL command with broken
+ path.
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-client.h
+
+2019-09-13 22:49:37 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0072d71de6)
+
+ lmtp: Accept MAIL command with broken sender address.
+
+ The address is treated as <> in most cases. For logging, the unparsed broken
+ address is available in the `raw' field of the address.
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lmtp/main.c
+
+2019-09-14 17:59:29 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c307c1373c)
+
+ lda: Accept -f argument with broken sender address.
+
+
+M src/lda/main.c
+
+2019-09-14 17:59:08 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4622e7f509)
+
+ lib-smtp: smtp-server - Support accepting broken path parameter in MAIL
+ command.
+
+
+M src/lda/main.c
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/smtp-server.c
+M src/lib-smtp/smtp-server.h
+M src/lib-smtp/test-smtp-server-errors.c
+
+2019-10-04 20:47:35 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (8f08f1944b)
+
+ lib-smtp: smtp-command-parser - Accept valid UTF-8 characters for command
+ parameters.
+
+
+M src/lib-smtp/smtp-command-parser.c
+M src/lib-smtp/test-smtp-command-parser.c
+
+2019-09-13 22:31:37 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (3df63927dc)
+
+ lib-smtp: smtp-address - Add smtp_address_is_broken().
+
+
+M src/lib-smtp/smtp-address.h
+
+2019-09-13 02:04:59 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (fc0e8db7d6)
+
+ lib-smtp: smtp-address - Add SMTP_ADDRESS_PARSE_FLAG_IGNORE_BROKEN parse
+ flag.
+
+ Makes the path parser try to skip over a broken address to allow working
+ around syntax errors in e.g. the sender address for the MAIL command.
+
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/smtp-address.h
+M src/lib-smtp/test-smtp-address.c
+
+2019-09-13 02:04:59 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f8995ce3fc)
+
+ lib-smtp: smtp-address - Add SMTP_ADDRESS_PARSE_FLAG_PRESERVE_RAW parse
+ flag.
+
+ It stores the unparsed representation of the address in the new raw field of
+ struct smtp_address. This is only relevant to smtp_address_parse_path().
+
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/smtp-address.h
+M src/lib-smtp/test-smtp-address.c
+
+2019-09-14 19:57:31 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (899a5bf797)
+
+ lib-smtp: test-smtp-address - Restructure valid address tests.
+
+
+M src/lib-smtp/test-smtp-address.c
+
+2019-09-13 02:01:52 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4505e381c7)
+
+ lib-smtp: smtp-address - Add smtp_address_encode_raw*().
+
+ These are special variants of smtp_address_encode*(), which use the new raw
+ field when it is set.
+
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/smtp-address.h
+
+2019-09-13 01:59:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6a7615708b)
+
+ lib-smtp: smtp-address - Also copy the new raw field when cloning struct
+ smtp_address.
+
+
+M src/lib-smtp/smtp-address.c
+
+2019-09-13 01:57:18 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4be323bdea)
+
+ lib-smtp: smtp-address - Add raw field to struct smtp_address.
+
+
+M src/lda/main.c
+M src/lib-smtp/smtp-address.h
+M src/lib-smtp/test-smtp-client-errors.c
+M src/lib-smtp/test-smtp-payload.c
+M src/lib-smtp/test-smtp-submit.c
+
+2018-11-04 19:00:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (75823320e2)
+
+ lib-smtp: smtp-address - Implement workarounds for parsing addresses with a
+ bad localpart.
+
+ Always parse it as normal when it starts with `<' or `"'. The workaround
+ consists of parsing the address by splitting it on the last `@'. The address
+ is accepted when the resulting localpart and domain can be used to compose a
+ valid address. This workaround is now shared with username-to-address
+ parsing, which existed before.
+
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/smtp-address.h
+
+2018-11-04 19:09:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (06fd0f068c)
+
+ lib-smtp: smtp-address - Allow parsing address from username that contains
+ space, double quote or backslash.
+
+ Not allowing double quote and backslash was a bug, while space was
+ explicitly disallowed. However, these characters can be used in an RFC 5321
+ address when inside a quoted string, so there is no reason to disallow
+ those.
+
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/test-smtp-address.c
+
+2019-09-10 23:20:26 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (6ba323b96e)
+
+ lib-smtp: smtp-address - Add smtp_address_parse_any().
+
+ This allows parsing any RFC5321 address as a string, even severely broken
+ ones.
+
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/smtp-address.h
+M src/lib-smtp/test-smtp-address.c
+
+2019-09-13 02:03:26 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (37dd978858)
+
+ lib-smtp: smtp-address - Remove useless check in smtp_address_write().
+
+
+M src/lib-smtp/smtp-address.c
+
+2019-09-10 02:17:17 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (bc980c6c96)
+
+ lib-smtp: smtp-server-transaction - Create transaction using struct
+ smtp_server_cmd_mail directly.
+
+ Before, it used separate parameters for the individual fields, but that
+ makes it hard to extend.
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-transaction.c
+
+2019-10-02 12:58:01 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0ce96a2f86)
+
+ lib-smtp: smtp-address - Change return values of parse functions to be
+ either 0 or -1.
+
+ Before it used 1 and -1, which does not match other parts of Dovecot.
+
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/smtp-address.h
+M src/lib-smtp/test-smtp-address.c
+
+2019-09-14 18:27:08 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d3153559f2)
+
+ lib-smtp: smtp-address - Document the parse functions.
+
+
+M src/lib-smtp/smtp-address.h
+
+2019-09-14 20:42:24 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (00c6608ec4)
+
+ lib-smtp: Reformat test-smtp-address.c.
+
+
+M src/lib-smtp/test-smtp-address.c
+
+2019-09-14 13:53:59 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (199b07fa9e)
+
+ lib-smtp: Reformat smtp-client-command.h.
+
+
+M src/lib-smtp/smtp-client-command.h
+
+2019-09-14 13:38:01 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9f36279e06)
+
+ lib-smtp: Reformat smtp-client-command.c.
+
+
+M src/lib-smtp/smtp-client-command.c
+
+2019-09-13 01:41:04 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c3dce45973)
+
+ lib-smtp: Reformat smtp-address.h.
+
+
+M src/lib-smtp/smtp-address.h
+
+2019-09-13 01:35:56 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9d556b9ff1)
+
+ lib-smtp: Reformat smtp-address.c.
+
+
+M src/lib-smtp/smtp-address.c
+
+2019-10-01 12:15:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e4289b2160)
+
+ lib-storage: Simplify mail_save_context.keywords reference counting
+
+ This change also makes it possible for plugins to change the keywords
+ without leaking memory.
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-storage.c
+
+2019-09-26 12:34:18 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (99a08a0d24)
+
+ login-common: Retrieve error from ssl context if handshake fails
+
+ Fixes
+
+ imap-login: Error: proxy: Failed to start SSL handshake to 127.0.0.2:43143:
+ (null)
+
+ and
+
+ imap-login: Error: Failed to initialize SSL server context: Can't load SSL
+ certificate: error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too
+ small Fatal: master: service(imap-login): child 14764 killed with signal 11
+ (core dumped)
+
+ Broken in 9f1038760ca5ba154366176a7056aad1c7b6c77e
+
+M src/login-common/login-proxy.c
+
+2019-09-20 12:04:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9720661e7d)
+
+ lib-sql: Add asserts to make sure refcount unexpectedly doesn't drop below 1
+
+
+M src/lib-sql/sql-api.c
+
+2019-09-20 12:03:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (48385f9768)
+
+ lib-sql: Initialize sqlpool db properly
+
+ Fixes a crash at sql_unref() caused by recent changes.
+
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+
+2019-09-16 10:51:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b864af2037)
+
+ lib-storage: Include mailbox name and UID when logging about flag vs GUID
+ mismatches
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2019-09-15 20:58:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ab4ced0e04)
+
+ lib-storage: mailbox list index - detect if non-selectable mailbox has GUID
+
+ If it has, mark it as selectable.
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2019-09-17 19:52:25 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b8198a4260)
+
+ lib-index: Add index alloc cache timeout to root ioloop
+
+ The cache is a global one and the timeout shouldn't trigger until the global
+ root ioloop is reached.
+
+ This fixes a timeout leak / crash when index was opened in an inner ioloop.
+
+M src/lib-index/mail-index-alloc-cache.c
+
+2019-09-17 19:52:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (691228336c)
+
+ lib: Add io_loop_get_root()
+
+
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2019-09-15 21:52:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bb76ff2d2e)
+
+ lib-dict-backend: Remove cache for prepared statements
+
+
+M src/lib-dict-backend/dict-sql-private.h
+M src/lib-dict-backend/dict-sql.c
+
+2019-09-15 21:49:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9d1a1deb66)
+
+ lib-sql: Rename sql_prepared_statement_deinit() to _unref()
+
+
+M src/lib-dict-backend/dict-sql.c
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-api.h
+
+2019-09-15 21:45:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ecac371463)
+
+ lib-sql: Keep prepared statements in memory until db is deinitialized
+
+ There aren't supposed to be many different prepared statements.
+
+M src/lib-sql/sql-api.c
+
+2019-09-15 21:39:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0ffab9312e)
+
+ lib-sql: Try to reuse prepared statements if possible
+
+
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+
+2019-09-15 23:45:30 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7a0e6f9ca0)
+
+ lib-sql: Fix the new sql_db refcounting to work with sql-db-cache
+
+
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-db-cache.c
+
+2019-09-15 23:15:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (87a95f18bc)
+
+ lib-sql: Add refcounting to sql_db
+
+
+M src/auth/db-sql.c
+M src/lib-dict-backend/dict-sql.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-api.h
+
+2019-09-15 21:35:01 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c1d35be024)
+
+ lib-sql: Move query_template to struct sql_prepared_statement directly
+
+
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+
+2019-07-10 15:45:51 +0200 Markus Valentin <markus.valentin@open-xchange.com> (69c290fcd4)
+
+ lib-storage: fix typo in mailbox-list-iter.h
+
+
+M src/lib-storage/mailbox-list-iter.h
+
+2019-09-04 12:11:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b096aa8740)
+
+ imap-hibernate: Fix crash if unhibernation fd_send() fails
+
+ The imap-master connection needs to be freed when the client is freed.
+ Otherwise it attempts to free the client again.
+
+M src/imap-hibernate/imap-client.c
+M src/imap-hibernate/imap-master-connection.c
+M src/imap-hibernate/imap-master-connection.h
+
+2019-09-11 11:11:57 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ed4e139c58)
+
+ lib: i_stream_get_data() - Mark invalid buffer code path unlikely
+
+ This really isn't expected to happen, so marking it unlikely optimizes
+ slightly callers that cause i_stream_get_data() to be called a huge number
+ of times.
+
+M src/lib/istream.c
+
+2019-09-10 10:14:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2ecda9e16e)
+
+ doveadm fs: Use mail_temp_dir as temp_dir for fs operations' temp_dir
+
+
+M src/doveadm/doveadm-fs.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+
+2019-09-10 10:50:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (34228a2d87)
+
+ doveadm: Expand variables in doveadm_settings
+
+ Required by the next commit.
+
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+
+2019-09-10 10:48:32 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (efce69f424)
+
+ doveadm: Use a memory pool for duplicating settings
+
+ Required by the next commit.
+
+M src/doveadm/doveadm.c
+
+2019-09-09 12:24:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (35badb9923)
+
+ auth: If user is already authenticated, passdb result shouldn't be
+ password_mismatch
+
+ This caused confusion in the auth_request_passdb_finished event's result
+ parameter. Otherwise it shouldn't have caused any bugs.
+
+M src/auth/auth-request.c
+
+2019-09-09 12:21:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7375f799ca)
+
+ auth: Add and use auth_request_password_missing() where possible
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/passdb-dict.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-lua.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+
+2019-09-09 12:08:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a99d885c4d)
+
+ auth: Add passdb_id and userdb_id to auth_request_passdb/userdb_* events
+
+
+M src/auth/auth-request.c
+
+2019-09-04 17:13:15 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bbd8390f76)
+
+ lib-auth: Fix auth_client_is_connected() to work after disconnection
+
+
+M src/lib-auth/auth-client.c
+
+2019-09-09 17:57:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (23b6706440)
+
+ lib-http: test-http-client should use PKG_RUNDIR/dns-client
+
+ Instead of hardcoded /var/run/dovecot/dns-client
+
+M src/lib-http/Makefile.am
+M src/lib-http/test-http-client.c
+
+2019-09-06 16:49:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5068b11e59)
+
+ lib, lib-program-client: Fix i_stream_read_memarea() usage
+
+ Calling it may change the stream's buffer and free the old buffer. However,
+ some istreams didn't change the buffer if i_stream_read_memarea() returned
+ -2. The old buffer was kept referenced, which could have caused the istream
+ to read garbage or crash due to accessing freed memory.
+
+ This fixes:
+ * istream-limit
+ * istream-sized
+ * istream-rawlog
+ * program-client-istream
+ * Anything using i_stream_read_copy_from_parent(), which includes:
+ * istream-fs-file
+ * istream-fs-stats
+ * istream-metawrap
+ * http-server-istream
+ * istream-header-filter
+ * istream-mail
+ * istream-failure-at
+ * istream-hash
+ * istream-timeout
+ * istream-try
+
+M src/lib-program-client/program-client-remote.c
+M src/lib/istream-limit.c
+M src/lib/istream-rawlog.c
+M src/lib/istream-sized.c
+M src/lib/istream.c
+M src/lib/test-istream-seekable.c
+
+2019-09-05 12:06:02 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b55cd5b01b)
+
+ lib-master: Event filter parsing - Accept "service:<name>"
+
+ This is short for "category:service:<name>"
+
+M src/lib-master/master-service-settings.c
+
+2019-09-05 12:04:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (aa14236682)
+
+ lib-master: Code cleanup for handling event filter category parsing
+
+
+M src/lib-master/master-service-settings.c
+
+2019-09-05 12:02:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7bc9149b7f)
+
+ lib, lib-master: Add service:<name> category for all events
+
+
+M src/lib-master/master-service.c
+M src/lib/lib-event.c
+
+2019-09-05 11:59:20 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fb2ad3ce1b)
+
+ lib: Add EVENT_CALLBACK_TYPE_CREATE to call a callback on event creation
+
+ It's not called for event_dup() or event_flatten(), because those are based
+ on events that were already created.
+
+M src/lib-master/stats-client.c
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+
+2019-09-05 15:36:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4801a67147)
+
+ lib: Add and use event_create_internal() wrapper
+
+ This avoids p_strdup()ing the source_filename twice. Also it'll be extended
+ by the following commit.
+
+M src/lib/lib-event.c
+
+2019-09-05 15:42:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3f9ea32d23)
+
+ lib: event_set_source() - Avoid p_strdup() if source filename doesn't change
+
+
+M src/lib/lib-event.c
+
+2019-09-05 15:41:54 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9ef0c226fa)
+
+ lib: event_import_unescaped() - Use event_set_source() to set the source
+
+
+M src/lib/lib-event.c
+
+2019-09-05 11:58:48 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (48e91ee735)
+
+ lib: Add and use event_call_callbacks_noargs() helper
+
+
+M src/lib/lib-event.c
+
+2019-09-05 11:57:20 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (35056d5966)
+
+ lib, lib-master: Remove event.call_free
+
+ Just call the EVENT_CALLBACK_TYPE_FREE always. Having this flag isn't really
+ going to affect the performance, and it might be useful in the future to
+ work this way.
+
+ Only the unit test was relying on call_free to be different from
+ id_sent_to_stats. This commit changes the unit test to check for the END
+ strings where necessary.
+
+M src/lib-master/stats-client.c
+M src/lib-master/test-event-stats.c
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+
+2019-09-05 11:52:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a660bd3b08)
+
+ lib: Rename event_send_callbacks() to event_call_callbacks()
+
+
+M src/lib/lib-event.c
+
+2019-09-05 11:51:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8e45e0ac61)
+
+ lib: Move event_send_callbacks() and event_send_free() earlier in the file
+
+
+M src/lib/lib-event.c
+
+2019-09-05 11:48:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d852ba7682)
+
+ lib, lib-master: Rename EVENT_CALLBACK_TYPE_EVENT to _SEND
+
+ This describes the functionality better.
+
+M src/lib-master/stats-client.c
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+
+2019-09-05 13:06:28 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (72d4fd0a01)
+
+ lib: test-istream-base64-decoder - Make random test also test CRLF vs LF
+ line endings at random.
+
+
+M src/lib/test-istream-base64-decoder.c
+
+2019-09-05 11:50:04 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (97801f89a1)
+
+ lib: test-istream-base64-decoder - Add explicit test cases for decoding the
+ empty string.
+
+
+M src/lib/test-istream-base64-decoder.c
+
+2019-09-05 11:45:02 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (239b054ab0)
+
+ lib: test-base64 - Add explicit test cases for encoding/decoding the empty
+ string.
+
+
+M src/lib/test-base64.c
+
+2019-09-05 02:31:58 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c5fde3c9d5)
+
+ lib: base64 - Add assertion preventing calling base64_encode_more() after
+ base64_encode_finish().
+
+
+M src/lib/base64.c
+M src/lib/base64.h
+
+2019-09-05 01:13:46 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2981f97fc5)
+
+ lib: test-istream-base64-decoder - Reduce minimum random stream buffer size
+ to 1.
+
+
+M src/lib/test-istream-base64-decoder.c
+
+2019-09-05 01:11:53 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (a9e5583c0b)
+
+ lib: test-istream-base64-decoder - Abort random test at first error and
+ print parameters.
+
+
+M src/lib/test-istream-base64-decoder.c
+
+2019-09-04 23:40:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (7ffd9c6fbd)
+
+ lib: test-istream-base64-encoder - Fix test names.
+
+
+M src/lib/test-istream-base64-encoder.c
+
+2019-09-04 23:37:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4ba5d9efd2)
+
+ lib: test-base64 - Abort random test at first error and print parameters.
+
+
+M src/lib/test-base64.c
+
+2019-09-04 23:16:24 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (b214732a16)
+
+ lib: test-base64 - Test Base64 encoding with maximum line length of 1.
+
+ This corner case is a useful test for problems in the line encoding.
+
+M src/lib/test-base64.c
+
+2019-09-04 22:52:00 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4d48e94854)
+
+ lib: test-base64 - Better check output of incrementally encoded random
+ Base64.
+
+ Check whether it is equal to the same data encoded as a single block and
+ whether the length matches the base64_get_full_encoded_size() output.
+
+M src/lib/test-base64.c
+
+2019-09-04 22:44:03 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9dcef94fd1)
+
+ lib: base64 - Fix incremental/streaming Base64 encoding with CRLF line
+ endings.
+
+ Line lengths became inconsistent due to a design error. The encoding itself
+ remained valid. The linefeed is no longer appended to the write buffer when
+ the destination buffer is full. Rather, a flag is set that makes the encoder
+ emit the linefeed immediately next time the encoder is called with more
+ buffer space. Appending it to the write buffer was wrong; it in fact needs
+ to be prepended and in that case a flag is more efficient.
+
+M src/lib/base64.c
+M src/lib/base64.h
+
+2019-09-05 01:17:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0515a3cab6)
+
+ lib: base64 - Restructure base64_encode_get_size().
+
+
+M src/lib/base64.c
+
+2019-09-04 22:23:25 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (948b68325e)
+
+ lib: base64 - Use unsigned size type for base64_get_full_encoded_size().
+
+ Makes more sense.
+
+M src/lib/base64.c
+M src/lib/base64.h
+
+2019-09-04 18:34:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (8162434665)
+
+ lib: base64 - Truly fix dest buffer assertion in base64_decode_more().
+
+ Previous fix was inadequate in the presence of padding at the end of input.
+
+M src/lib/base64.c
+M src/lib/test-base64.c
+
+2019-09-05 14:21:53 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (89bcb336fd)
+
+ lib: test-istream-base64-decoder - Use unsigned int for bit field in random
+ test.
+
+
+M src/lib/test-istream-base64-decoder.c
+
+2019-07-23 08:05:02 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (4e8a708c04)
+
+ global: Clean up MAX_INT_STRLEN usage
+
+ A number of MAX_INT_STRLEN consumers did not realize that it already
+ includes space for the trailing nul.
+
+M src/lib/file-lock.c
+M src/lib/iostream-rawlog.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota.c
+
+2019-07-23 13:56:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (516c570294)
+
+ lib: Add comment to MAX_INT_STRLEN macro
+
+
+M src/lib/strfuncs.h
+
+2019-09-04 21:02:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d87ee9cc73)
+
+ auth: Set auth_request successful before auth_request_finished event
+
+ Otherwise the event never has success=yes parameter.
+
+M src/auth/auth-request.c
+
+2019-09-03 17:46:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9e84d9937d)
+
+ doveadm fs iter[-dirs]: Add --object-ids and --no-cache parameters
+
+
+M src/doveadm/doveadm-fs.c
+
+2019-09-04 15:02:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3ae05ce938)
+
+ imap-old-stats: Fix plugin dependency variable names
+
+
+M src/plugins/imap-old-stats/imap-stats-plugin.c
+
+2019-09-04 15:43:06 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9ab559404f)
+
+ master: Don't log "Sent SIGKILL to .. processes" when actually sending
+ SIGUSR1
+
+ The SIGUSR1 is sent when all login processes are full and can't accept any
+ more connections. This should be handled silently by the master.
+
+M src/master/service.c
+
+2019-09-04 15:38:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (aac5a99f78)
+
+ lib-auth: Remove "BUG:" prefix from "Authentication server sent unknown id"
+ error
+
+ It's not necessarily a bug.
+
+M src/lib-auth/auth-client-connection.c
+
+2019-09-04 15:35:55 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (11b6406611)
+
+ lib-auth: Don't disconnect from auth server when receiving "unknown id"
+
+ It doesn't mean that the state between auth client and server is broken.
+ Just that the client had already forgotten about some of the IDs.
+
+ This also means that the "unknown id" lines aren't treated as invalid lines.
+ Previously the whole OK/FAIL line may have been logged, which could have
+ included e.g. passwords.
+
+M src/lib-auth/auth-client-connection.c
+
+2019-09-04 13:52:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (552adc864a)
+
+ push-notification-lua: Use the new accessor functions instead of variables
+ directly
+
+ This fixes plugin dependency checking. Instead of:
+
+ Fatal: Couldn't load required plugin
+ .../lib22_push_notification_lua_plugin.so: dlopen() failed:
+ /usr/local/lib/dovecot/lib22_push_notification_lua_plugin.so: undefined
+ symbol: event_category_push_notification
+
+ The error is now clearer:
+
+ Fatal: Couldn't load required plugin
+ .../lib22_push_notification_lua_plugin.so: Plugin push_notification must be
+ loaded also
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2019-09-04 13:51:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d457c46872)
+
+ push-notification: Add accessor functions to global variables
+
+ These are enough for the current plugin. Maybe others will be needed in the
+ future.
+
+M src/plugins/push-notification/push-notification-event-messagenew.c
+M src/plugins/push-notification/push-notification-events.c
+M src/plugins/push-notification/push-notification-events.h
+M src/plugins/push-notification/push-notification-plugin.c
+M src/plugins/push-notification/push-notification-plugin.h
+
+2019-09-04 12:33:08 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (de4870056a)
+
+ lib: base64 - Fix dest buffer assertion in base64_decode_more().
+
+ The assertion is supposed to trigger when the encoder hits the buffer size
+ limit unexpectedly (src_pos_r==NULL means that all should be encoded at
+ once). It triggered erroneously when the destination buffer had the exact
+ size needed for the encoded data.
+
+M src/lib/base64.c
+
+2019-09-03 21:45:35 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d6c4bb3a6d)
+
+ lib: test-istream-base64-decoder - Add extensive random base64 stream I/O
+ unit test.
+
+
+M src/lib/test-istream-base64-decoder.c
+
+2019-09-03 21:44:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (23cc1afe1b)
+
+ lib: istream-base64-encoder - Fix handling of error, EOF and stream buffer
+ overflow conditions.
+
+
+M src/lib/istream-base64-encoder.c
+
+2019-09-03 21:43:31 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d854014831)
+
+ lib: istream-base64-decoder - Fix handling of error, EOF and stream buffer
+ overflow conditions.
+
+
+M src/lib/istream-base64-decoder.c
+
+2019-09-03 18:37:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f9138ad088)
+
+ lib: base64 - Restructure encoder to always fill the output buffer as much
+ as possible.
+
+ This is not strictly required, but makes the encoder easier to use in
+ streams and less bug-prone in incremental encoding applications in general.
+
+M src/lib/base64.c
+M src/lib/base64.h
+
+2019-09-03 18:15:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (feee395968)
+
+ lib: base64 - Allow encoding line endings one octet at a time.
+
+
+M src/lib/base64.c
+M src/lib/base64.h
+
+2019-09-03 21:10:55 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4b15e420e3)
+
+ lib: base64 - Add more w_buf_len assertions to encoder.
+
+
+M src/lib/base64.c
+
+2019-09-03 21:04:20 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9bbb46c1e5)
+
+ lib: base64 - Use sizeof() for determining the size of the encoder w_buf.
+
+
+M src/lib/base64.c
+
+2019-09-03 12:22:16 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (e794119aba)
+
+ lib: base64 - Fix base64_get_full_encoded_size() for size 0.
+
+
+M src/lib/base64.c
+
+2019-09-02 22:48:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (678258e8b0)
+
+ lib: istream-base64-decoder - Use i_stream_try_alloc() properly.
+
+
+M src/lib/istream-base64-decoder.c
+
+2019-09-02 21:56:37 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c2c81dc9d2)
+
+ lib: istream-base64-encoder - Use i_stream_try_alloc() properly.
+
+
+M src/lib/istream-base64-encoder.c
+
+2019-09-03 14:38:17 +0200 Markus Valentin <markus.valentin@open-xchange.com> (b7904c7253)
+
+ imap: previews/snippets requested with lazy update the caching decision
+
+ If lazy is true set the lookup_abort to NOT_IN_CACHE_START_CACHING which
+ results in the snippet field becoming wanted for caching.
+
+M src/imap/imap-fetch-body.c
+
+2019-09-03 14:33:03 +0200 Markus Valentin <markus.valentin@open-xchange.com> (44d54b2b77)
+
+ lib-storage: change caching decision for lazy requests in cache lookup
+
+ In case lookup_abort is set to NOT_IN_CACHE_START_CACHING update the
+ cacheing decision for the requested field.
+
+M src/lib-storage/index/index-mail.c
+
+2019-09-03 14:30:15 +0200 Markus Valentin <markus.valentin@open-xchange.com> (95ccad80a8)
+
+ lib-storage: introduce MAIL_LOOKUP_ABORT_NOT_IN_CACHE_START_CACHING
+
+ In some cases we would like to mark an field as to be cached but still don't
+ fetch it now. For this occasions this change introduces a new enum value for
+ mail_lookup_abort which allows to implement such a behaviour.
+
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage.h
+
+2019-09-03 14:16:41 +0200 Markus Valentin <markus.valentin@open-xchange.com> (470eaf0a59)
+
+ lib-index: move mail_cache_decision_add to public header
+
+ To allow other components to mark fields as to be cached move the
+ declaration from mail-cache-private.h to mail-cache.h.
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.h
+
+2019-09-04 10:50:06 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (e749a9c6ef)
+
+ virtual: Free mail event when virtual mail is free'd
+
+ Forgotten on c499c40caf37f766968a551909190c5b009a9b15
+
+M src/plugins/virtual/virtual-mail.c
+
+2019-09-03 19:23:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3b9da14240)
+
+ lib: test-event-flatten - Fix compiler warnings
+
+ For example:
+
+ test-event-flatten.c:170:18: warning: missing field 'tv_usec' initializer
+ [-Wmissing-field-initializers]
+
+M src/lib/test-event-flatten.c
+
+2019-09-03 15:49:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f560e7ffe7)
+
+ global: Replace timeout_add_short(0) calls with io_set_pending() where
+ possible
+
+ These timeouts were added before io_set_pending() existed. This won't fix
+ anything, but makes the code cleaner.
+
+M src/doveadm/server-connection.c
+M src/imap/imap-client.c
+M src/imap/imap-master-client.c
+
+2019-09-03 15:47:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (839634823c)
+
+ login-common: Don't call client_input() directly in
+ clients_notify_auth_connected()
+
+ This probably won't fix anything, but it's cleaner to get to client_input()
+ always from IO loop directly. Although it might shrink data stack's memory
+ usage.
+
+M src/login-common/client-common-auth.c
+
+2019-09-03 15:43:49 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f7edd270ec)
+
+ login-common: Don't call client_input() directly in client_auth_failed()
+
+ Fixes a new assert-crash caused by 9aaf0554aeae4f8056eeef56cfd99bf386f4c009:
+
+ Panic: file sasl-server.c: line 357 (authenticate_callback): assertion
+ failed: (!client->authenticating)
+
+ This was caused by a code path:
+ - sasl_server_check_login()
+ - sasl_server_auth_failed()
+ - sasl_server_auth_cancel()
+ - call_client_callback()
+ - sasl_callback()
+ - client_auth_failed()
+ - client_input()
+ - another AUTHENTICATE/LOGIN was read
+
+ The solution is then to not call client_input() directly. It would have also
+ worked to just remove the assert though, but this fix is cleaner.
+
+M src/login-common/client-common-auth.c
+
+2019-09-03 11:58:18 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (8c103d1e27)
+
+ lib-dcrypt: Add static keyword to ECDSA_SIG_get0
+
+ Otherwise compilers complain as it's not declared anywhere.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-09-03 11:57:51 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (7ea8750e21)
+
+ lib-dcrypt: Free EVP_MD_CTX in dcrypt_openssl_digest
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-09-03 11:57:17 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9b0ac0b4e5)
+
+ lib-dcrypt: Free existing BIGNUMs in setters
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-09-03 09:10:13 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (49e9657a5a)
+
+ lib-dcrypt: Add ECDSA_SIG_set0 and ECDSA_SIG_get0 when missing
+
+ These are needed for low-level operations
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-09-03 09:06:29 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3200347062)
+
+ m4: Check for ECDSA_SIG_set0 and ECDSA_SIG_get0
+
+ These are not present in older libssl
+
+M m4/ssl.m4
+
+2019-09-02 14:09:04 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9e2cc03343)
+
+ lib-ssl-iostream: Remove problematic unit tests
+
+ These unit tests are unreliable with new versions of openssl present in
+ ubuntu 18 and debian buster.
+
+M src/lib-ssl-iostream/test-iostream-ssl.c
+
+2019-09-01 20:50:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7709047705)
+
+ auth: winbind - Make static analyzer happier
+
+
+M src/auth/mech-winbind.c
+
+2019-09-02 14:17:50 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9dac4d7ab2)
+
+ lib-dcrypt: Ignore padding when decoding base64url
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-09-02 12:54:12 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (7dee278194)
+
+ dcrypt: Add signature format
+
+ Needed to implement RFC7515
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+M src/lib-dcrypt/test-crypto.c
+
+2019-07-26 10:31:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d164df52a9)
+
+ global: Use mail_user_deinit() wherever possible
+
+ This makes sure that the user is fully deinitialized in the places where we
+ expect it to be.
+
+ This mainly makes sure that lmtp won't continue running code for the user
+ after lmtp has already switched to running as root. That could then end up
+ reading/writing files as root. This can happen only if there are bugs in the
+ code that leaks user references. Normally user is supposed to be fully
+ unreferenced before switching to root, so this change just adds an assert to
+ make sure it is.
+
+M src/doveadm/doveadm-auth-server.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/imap-client.c
+M src/imap/main.c
+M src/indexer/master-connection.c
+M src/lda/main.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/test-mail-storage.c
+M src/lmtp/lmtp-client.c
+M src/lmtp/lmtp-local.c
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+M src/plugins/mail-crypt/mail-crypt-acl-plugin.c
+M src/plugins/mail-crypt/test-mail-key.c
+M src/plugins/quota/quota-status.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/submission/main.c
+M src/submission/submission-client.c
+
+2019-07-26 10:31:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ff26529199)
+
+ lib-storage: Add mail_user_deinit()
+
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2019-08-30 18:28:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (cf898de2cd)
+
+ man: Update "doveadm fts rescan" to say it usually just deletes FTS indexes
+
+
+M doc/man/doveadm-fts.1.in
+
+2019-08-29 17:09:55 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3452be57cf)
+
+ lib-dcrypt: Only use compressed points with dovecot internal formats
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/test-crypto.c
+
+2019-08-29 16:54:27 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (cf3275e785)
+
+ lib-dcrypt: Implement dcrypt_ecdh_derive_secret for OpenSSL
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-08-29 16:43:45 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ff0e28aad8)
+
+ lib-dcrypt: Move shared secret derivation to
+ dcrypt_openssl_echd_derive_secret
+
+ Makes it possible to expose it on next commit.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-08-29 16:52:51 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (c6b922c78d)
+
+ lib-dcrypt: Add API for dcrypt_ecdh_derive_secret
+
+
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+
+2019-08-29 12:56:21 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (0eff8581c0)
+
+ lib-dcrypt: Return value from RSA_set0_crt_params
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-08-29 12:52:46 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (b138c6c840)
+
+ lib-dcrypt: Fix key format in raw & jwk keys
+
+ It needs to be point compressed with named curve
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/test-crypto.c
+
+2019-08-29 12:25:07 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (79f083e24e)
+
+ lib-dcrypt: Use correct variables names in RSA_set0_key
+
+ Broken in 79e9ccdc4a536f3881ec2b9304020514d1f92590
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-08-29 12:24:42 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (616213dffc)
+
+ lib-dcrypt: Use ERR_R_PASSED_NULL_PARAMETER
+
+ It's the correct error and exists for older OpenSSL
+
+ Added in 79e9ccdc4a536f3881ec2b9304020514d1f92590
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-08-27 10:09:30 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (a5473b3594)
+
+ lib-dcrypt: Fix memory leak in raw key test
+
+
+M src/lib-dcrypt/test-crypto.c
+
+2017-01-23 14:56:54 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (258965073e)
+
+ lib-dcrypt: Add unit tests for changes
+
+
+M src/lib-dcrypt/test-crypto.c
+
+2017-01-23 14:56:38 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d3377b1f36)
+
+ dcrypt-openssl: Implement signature API for OpenSSL
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2017-01-23 17:40:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (290fea9793)
+
+ lib-dcrypt: Add padding parameter for RSA encrypt/decrypt
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/ostream-encrypt.c
+
+2017-01-23 14:56:27 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2e1318a882)
+
+ lib-dcrypt: Add signature API
+
+
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+
+2019-08-23 12:34:54 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (473a91b3f5)
+
+ lib-dcrypt: Unit test for JWK keys
+
+
+M src/lib-dcrypt/test-crypto.c
+
+2019-08-21 16:16:22 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (79e9ccdc4a)
+
+ lib-dcrypt: Add JWK key format support
+
+
+M src/doveadm/doveadm-dump-dcrypt-key.c
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+
+2019-08-23 11:51:45 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (1bda1fe3d3)
+
+ lib-dcrypt: Implement usage and key ID accessors for openssl
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-08-23 10:42:09 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (e61f438ee8)
+
+ lib-dcrypt: Add key usage and id
+
+ These can be used for e.g. JWK keys.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+
+2019-08-23 11:51:21 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (7c64f5c6e3)
+
+ lib-dcrypt: Add key id and usage fields to dcrypt keys
+
+ Simplifies next change
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt.h
+
+2019-08-23 12:27:23 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ee0a125fae)
+
+ lib-dcrypt: Make key unref with NULL no-op
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-08-22 14:28:17 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (06f759ea34)
+
+ doveadm: Do not call dcrypt_deinitialize
+
+ It can break openssl
+
+M src/doveadm/doveadm-dump-dcrypt-file.c
+M src/doveadm/doveadm-dump-dcrypt-key.c
+
+2019-08-22 13:58:52 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (0e437d54cd)
+
+ lib-dcrypt: Clarify when dcrypt_deinitialize is to be used
+
+ It should never be called if it's going to be used later on.
+
+M src/lib-dcrypt/dcrypt.h
+
+2019-08-21 16:15:57 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (8188f1d8fc)
+
+ m4: Check if some RSA key manipulators are present
+
+ Needed for JWK
+
+M m4/ssl.m4
+
+2019-08-22 18:43:11 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9993f25277)
+
+ lib: hmac - Add hkdf for key derivation
+
+
+M src/lib/hmac.c
+M src/lib/hmac.h
+M src/lib/test-hmac.c
+
+2019-08-25 20:55:24 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5e9616f842)
+
+ lib-dcrypt: Use BN_secure_new when available for secrets
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-08-25 20:54:12 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d3cc0dabdb)
+
+ m4: Check for BN_secure_new
+
+
+M m4/ssl.m4
+
+2019-08-28 23:21:31 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (75a5b84cd1)
+
+ lib: base64 - Add high-level data and string encode functions with data
+ stack buffer output.
+
+
+M src/lib/base64.c
+M src/lib/base64.h
+
+2019-08-29 00:42:14 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9f88d92519)
+
+ lib: base64 - Add flags and max_line_size parameters to the new high-level
+ encode functions.
+
+ Cannot change the API of existing functions.
+
+M src/lib/base64.h
+M src/lib/test-base64.c
+
+2019-08-29 00:04:54 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f6316bf0d1)
+
+ lib: base64 - Add high-level data decode functions with data stack buffer
+ output.
+
+ Similar functions accepting C string input already exist.
+
+M src/lib/base64.c
+M src/lib/base64.h
+
+2019-08-28 23:34:54 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d4e8e9f864)
+
+ lib: base64 - Add flags parameters to the new high-level decode functions.
+
+ Cannot change the API of existing functions.
+
+M src/lib/base64.c
+M src/lib/base64.h
+M src/lib/test-base64.c
+
+2019-08-28 01:21:01 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (23a9a74534)
+
+ lib: base64 - Add BASE64_DECODE_FLAG_IGNORE_PADDING.
+
+ Makes padding optional rather than either disallowed or required.
+
+M src/lib/base64.c
+M src/lib/base64.h
+M src/lib/test-base64.c
+
+2019-08-27 20:46:42 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0c3e14d961)
+
+ lib: base64 - Reformat flag handling in base64_decode_more().
+
+
+M src/lib/base64.c
+
+2019-08-27 20:37:40 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (7f53c6d08c)
+
+ lib: base64 - Remove unused assignment.
+
+ Found by Clang scan-build.
+
+M src/lib/base64.c
+
+2019-05-17 10:33:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e5e3a8fed6)
+
+ lib-imap: Make sure str_unescape() won't be writing past allocated memory
+
+ The previous commit should already prevent this, but this makes sure it
+ can't become broken in the future either. It makes the performance a tiny
+ bit worse, but that's not practically noticeable.
+
+M src/lib-imap/imap-parser.c
+
+2019-05-10 19:24:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (eda0f7f0b9)
+
+ lib-imap: Don't accept strings with NULs
+
+ IMAP doesn't allow NULs except in binary literals. We'll still allow them in
+ regular literals as well, but just not in strings.
+
+ This fixes a bug with unescaping a string with NULs: str_unescape() could
+ have been called for memory that points outside the allocated string,
+ causing heap corruption. This could cause crashes or theoretically even
+ result in remote code execution exploit.
+
+ Found by Nick Roessler and Rafi Rubin
+
+M src/lib-imap/imap-parser.c
+
+2019-05-17 10:17:19 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (25f6146c1e)
+
+ lib: base64 - Add support for decoding without padding.
+
+
+M src/lib/base64.c
+M src/lib/base64.h
+M src/lib/test-base64.c
+
+2019-05-15 15:36:18 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (8df72ce846)
+
+ lib: base64 - Add support for encoding without padding.
+
+
+M src/lib/base64.c
+M src/lib/base64.h
+M src/lib/test-base64.c
+
+2019-04-02 20:45:54 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (25dca47144)
+
+ lib: istream-base64-encoder - Use the new low-level incremental Base64
+ encoding API.
+
+
+M src/lib/istream-base64-encoder.c
+
+2019-04-02 01:49:57 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (10ffc2e6fc)
+
+ lib: base64 - Add support for adding line breaks to encoded output.
+
+
+M src/lib/base64.c
+M src/lib/base64.h
+M src/lib/test-base64.c
+
+2019-05-15 10:09:01 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0dedec364a)
+
+ lib: base64 - Add base64_get_full_encoded_size().
+
+
+M src/lib/base64.c
+M src/lib/base64.h
+
+2019-03-30 18:57:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (aba4df9dbb)
+
+ lib: base64 - Add decode flag for prohibiting whitespace.
+
+
+M src/lib/base64.c
+M src/lib/base64.h
+M src/lib/test-base64.c
+
+2019-08-26 13:09:30 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (afa3db0a6f)
+
+ lib: base64 - Deprecate src_pos_r parameter of base64_decode().
+
+ Only NULL pointer is allowed. This allows using the new incremental API
+ internally, thereby dropping the old decoder implementation.
+
+M src/doveadm/dsync/dsync-mailbox-state.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/message-decoder.c
+M src/lib/base64.c
+M src/lib/base64.h
+M src/lib/test-base64.c
+
+2019-03-30 19:12:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (69c1d5aaf0)
+
+ lib: istream-base64-decoder - Use the new low-level incremental Base64
+ decoding API.
+
+
+M src/lib/istream-base64-decoder.c
+M src/lib/test-istream-base64-decoder.c
+
+2019-03-30 19:08:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (747a828a08)
+
+ lib: base64 - Properly implemenent incremental decoding.
+
+
+M src/lib/base64.c
+M src/lib/base64.h
+M src/lib/test-base64.c
+
+2019-03-16 21:19:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2a739f0af1)
+
+ lib: base64 - Properly implemenent incremental encoding.
+
+
+M src/lib/base64.c
+M src/lib/base64.h
+M src/lib/test-base64.c
+
+2019-03-31 13:18:04 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a3a3765f46)
+
+ lib: buffer - Add buffer_get_avail_size().
+
+ This determines how much data can be added to buffer.
+
+M src/lib/buffer.c
+M src/lib/buffer.h
+
+2019-02-13 19:36:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4f7358460f)
+
+ lib: istream-base64 - Add support for base64url encoding.
+
+
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-base64.h
+M src/lib/test-base64.c
+M src/lib/test-istream-base64-decoder.c
+M src/lib/test-istream-base64-encoder.c
+
+2019-02-13 17:55:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bd7f9ef32e)
+
+ lib: base64 - Add support for base64url encoding.
+
+
+M src/lib/base64.c
+M src/lib/base64.h
+M src/lib/test-base64.c
+
+2019-02-13 19:00:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (cd4bd0af7f)
+
+ lib: base64 - Make code suitable for encoding/decoding different Base64
+ variants.
+
+
+M src/lib/base64.c
+M src/lib/base64.h
+
+2019-05-17 10:09:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (47dfaa1457)
+
+ lib: base64 - Add structural comments.
+
+
+M src/lib/base64.c
+M src/lib/base64.h
+
+2019-02-13 19:09:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (57340b129d)
+
+ lib: base64.h - Move size macros.
+
+
+M src/lib/base64.h
+
+2019-02-13 19:05:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1bd069d279)
+
+ lib: base64 - Make encoding table an explicit array.
+
+ Before, it was a string constant.
+
+M src/lib/base64.c
+
+2019-02-13 19:03:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (41e607b137)
+
+ lib: base64.c - Move mapping tables.
+
+
+M src/lib/base64.c
+
+2019-05-28 22:44:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (59499481dd)
+
+ lib: test-base64 - Make sure base64_decode() won't allocate any extra space
+
+ I was just considering an optimization where it would, until I realized it
+ could break some existing code.
+
+M src/lib/test-base64.c
+
+2019-05-28 12:57:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5814e5829f)
+
+ lib: test-base64 - Cleanup: Use more exact test_asserts
+
+ This way it's easier to see why tests are failing.
+
+M src/lib/test-base64.c
+
+2019-05-28 12:51:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4e22a21e0a)
+
+ lib: test-base64 - Cleanup: Use the same struct for test input and output
+
+
+M src/lib/test-base64.c
+
+2019-03-29 09:59:09 +0200 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (f45dba7738)
+
+ lib: test-base64 - Test MAX_BASE64_{EN,DE}CODED_SIZE() with existing tests
+
+
+M src/lib/test-base64.c
+
+2019-05-28 13:35:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c1c48f19fc)
+
+ lib: base64 - Change MAX_BASE64_DECODED_SIZE() to be more exact
+
+ If the input has only full base64 blocks (is divisible by 4), there's no
+ need to add the extra +3.
+
+M src/lib/base64.h
+
+2019-03-28 11:25:41 +0200 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (25b6d6dadf)
+
+ lib: base64 - Simplify MAX_BASE64_ENCODED_SIZE() calculation
+
+ Rely on (X + (Y - 1)) / Y being the same as ceil(X / Y) when operating on
+ integers.
+
+ This has a couple of benefits over the previous expression:
+
+ 1) the size argument is evaluated only once
+ 2) the generated code is simpler (no conditional instructions)
+ 3) the generated code is smaller
+
+ The generated code shrinks in terms of both bytes and instruction count. The
+ following table lists the number of bytes (B) and instructions (I) used by
+ the code before and after this change on an assortment of architectures when
+ the input is not known at compile time. Unless otherwise noted, the results
+ are based clang 6.0.1 output.
+
+ | before | after | delta
+ ---------+---------+--------+------------- aarch64 | 32B 8I | 24B 6I |
+ -25%B -25%I amd64 | 38B 10I | 25B 5I | -34%B -50%I amd64 [1]| 43B 10I |
+ 31B 6I | -28%B -40%I armv7 | 36B 9I | 24B 6I | -33%B -33%I i386 |
+ 32B 12I | 20B 6I | -38%B -50%I i386 [1] | 35B 11I | 25B 7I | -29%B -36%I
+ ppc32 | 44B 11I | 20B 5I | -55%B -55%I ppc64 | 52B 13I | 32B 8I |
+ -38%B -38%I s390x | 74B 16I | 26B 5I | -65%B -69%I sparcv9 | 36B 9I |
+ 12B 3I | -66%B -66%I
+
+ [1] gcc 8.2.0
+
+M src/lib/base64.h
+
+2019-08-21 13:26:29 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (acd58d27d3)
+
+ lib-dcrypt: Implement dcrypt_key_get_curve_public using openssl
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-08-21 13:25:33 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (915f8acd80)
+
+ lib-dcrypt: Add dcrypt_key_get_curve_public
+
+ Returns name of the curve of public key
+
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+
+2019-08-19 22:40:02 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (dcbe94f833)
+
+ lib-dcrypt: Add tests for raw keys
+
+
+M src/lib-dcrypt/test-crypto.c
+
+2019-08-19 14:39:05 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2c6cb783dd)
+
+ lib-dcrypt: Implement raw key API using OpenSSL
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-08-19 14:20:47 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (556de90106)
+
+ lib-dcrypt: Add API for dealing with raw keys
+
+
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+
+2019-08-23 19:39:16 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d216faa08e)
+
+ lib-dcrypt: Fix i2d_ASN1_OBJECT usage
+
+ i2d_ASN1_OBJECT tells how much memory we need.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-08-23 13:48:03 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (aa742e32fc)
+
+ lib-dcrypt: Symbolize maximum OID length
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-08-23 13:46:33 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (bb46a06044)
+
+ lib-dcrypt: Use len instead of ln
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2019-08-19 12:11:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (dca1f1d370)
+
+ lib-http: Make http_client_request_delay_from_response() public
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.h
+
+2019-08-17 13:44:53 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e7eb0d39a1)
+
+ lib: Fix updating timeouts after time moves backwards
+
+ Broken by b258137d0e0618ae792e3606071a1715d26f107b
+
+ Fixes: Panic: file ioloop.c: line 479 (timeout_get_wait_time): assertion
+ failed: (ret > 0 && tv_r->tv_sec >= 0 && tv_r->tv_usec >= 0)
+
+M src/lib/ioloop.c
+
+2019-08-17 13:43:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2e42929088)
+
+ lib: timeval_add/sub_usecs() - Add assert to make sure negative values
+ aren't used
+
+ The current code doesn't work correctly if negative values are used. The
+ code could of course be changed to handle them, but maybe assert is better
+ to catch bugs.
+
+M src/lib/time-util.h
+
+2019-08-18 17:44:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (67cee4581b)
+
+ lib, lib-dcrypt: Fix unit tests to check i_stream_read() return value
+
+
+M src/lib-dcrypt/test-stream.c
+M src/lib/test-iostream-proxy.c
+
+2019-07-02 19:33:59 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d653e4ec9d)
+
+ index: Pass index sync flags to index view sync for pvt
+
+ When recovering from inconsistent view, this needs to passed for pvt indexes
+ too. Fixes
+
+ Error: dovecot.index.pvt reset, view is now inconsistent
+
+M src/lib-storage/index/index-sync-private.h
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-transaction.c
+
+2019-08-16 22:07:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (289b7d8b74)
+
+ push-notification: Allow easy access to Message-ID header
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+M src/plugins/push-notification/push-notification-event-message-common.h
+M src/plugins/push-notification/push-notification-event-messageappend.c
+M src/plugins/push-notification/push-notification-event-messageappend.h
+M src/plugins/push-notification/push-notification-event-messagenew.c
+M src/plugins/push-notification/push-notification-event-messagenew.h
+
+2019-08-09 12:19:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6fa13e5da7)
+
+ cassandra: Fix crash due to race condition with threads
+
+ Broken by changes in 0a5a2b81c266c11c34ab36b20816909dc3e715ac
+
+ The crash could happen because driver_cassandra_future_callback() can be
+ called any time, even before returning from driver_cassandra_set_callback().
+ This could result in both cb->id and cb->to being set and using the cb after
+ it's already freed.
+
+M src/lib-sql/driver-cassandra.c
+
+2019-08-09 12:18:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bfcb1beba9)
+
+ cassandra: Cleanup - Move code to cassandra_callback_detach()
+
+
+M src/lib-sql/driver-cassandra.c
+
+2018-11-19 13:22:05 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f4217e3715)
+
+ auth: Drop postfix socketmap support
+
+ It no longer works with recent postfix versions, and it's too much work to
+ fix it.
+
+M src/auth/Makefile.am
+D src/auth/auth-postfix-connection.c
+D src/auth/auth-postfix-connection.h
+M src/auth/main.c
+
+2019-08-14 19:18:20 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f5e2a5b459)
+
+ lib-storage: Add mailbox_attribute_internal.iter()
+
+ This mainly allows internal attributes with children to actually be able to
+ list the childrens' keys.
+
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-attribute.h
+
+2019-05-14 00:33:28 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (75a958d2be)
+
+ submission: Deny anonymous access to significant commands by default.
+
+ The transaction and individual recipients can be opened for allowed
+ anonymous access by flagging these as such.
+
+M src/submission/submission-client.h
+M src/submission/submission-commands.c
+M src/submission/submission-recipient.h
+
+2019-08-09 23:13:43 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (06bff02fd7)
+
+ submission: submission-client - Immediately terminate connection when it is
+ an anonymous login.
+
+ Unless a plugin flags the client for allowed anonymous login.
+
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2019-08-09 23:10:59 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (dd3ad80a9a)
+
+ lib-smtp: smtp-server-connection: Add smtp_server_connection_abort().
+
+ Provides a clean method to abort the connection before it is even started.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server.h
+
+2019-08-12 22:10:24 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2a6726b88e)
+
+ login-common: Deny anonymous login by default.
+
+ Only services that explicitly enable anonymous logins will permit them.
+ Plugins can also mask anonymous logins by dropping the anonymous reply flag
+ in the sasl_check_login() client vfunc.
+
+M src/imap-login/client-authenticate.c
+M src/imap-login/imap-login-client.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/lib-auth/auth-client-interface.h
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+M src/login-common/login-common.h
+M src/login-common/sasl-server.c
+M src/pop3-login/client.c
+M src/submission-login/client-authenticate.c
+M src/submission-login/client.c
+
+2019-08-13 01:18:57 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (01ac61ed22)
+
+ login-common: sasl-server - Make sasl_server_auth_cancel() suitable for
+ cancelling requests in login phase.
+
+
+M src/login-common/sasl-server.c
+
+2019-08-12 23:33:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9aaf0554ae)
+
+ login-common: client-common - Add sasl_check_login() vfunc.
+
+ This allows checking the auth service success reply before commencing the
+ actual login.
+
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2019-08-09 23:44:39 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (30b518b137)
+
+ login-common: sasl-server - Make private authentication mechanisms
+ unavailable for normal authentication.
+
+ These mechanisms can only be used when the authentication is explicitly
+ marked as private.
+
+M src/imap-urlauth/imap-urlauth-login.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+M src/login-common/sasl-server.h
+M src/pop3-login/client-authenticate.c
+
+2019-08-08 01:56:17 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (98433306a1)
+
+ login-common: sasl-server - Add means to filter the available SASL
+ mechanisms.
+
+ This is accessible as a new client vfunc, so it can be used by protocol
+ login services and their plugins.
+
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2019-08-09 23:27:21 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (cda56a8ad1)
+
+ pop3-login: client - Use sasl_server_find_available_mech() instead of
+ auth_client_find_mech().
+
+
+M src/pop3-login/client.c
+
+2019-08-09 23:26:54 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f1ed7603a2)
+
+ imap-login: imap-login-client - Use sasl_server_find_available_mech()
+ instead of auth_client_find_mech().
+
+
+M src/imap-login/imap-login-client.c
+
+2019-08-09 23:22:01 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (9d80439215)
+
+ login-common: sasl-server - Add sasl_server_find_available_mech().
+
+ This is a wrapper for auth_client_find_mech(). This will be extended with
+ filtering in next commits.
+
+M src/login-common/sasl-server.c
+M src/login-common/sasl-server.h
+
+2019-08-08 01:55:26 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (f87bc548d5)
+
+ submission-login: client.c - Use designated initializer for struct
+ client_vfuncs.
+
+
+M src/submission-login/client.c
+
+2019-08-08 01:55:09 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (ab45914a6e)
+
+ pop3-login: client.c - Use designated initializer for struct client_vfuncs.
+
+
+M src/pop3-login/client.c
+
+2019-08-08 01:54:26 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (72fecbb656)
+
+ imap-urlauth: imap-urlauth-login.c - Use designated initializer for struct
+ client_vfuncs.
+
+
+M src/imap-urlauth/imap-urlauth-login.c
+
+2019-08-08 01:53:52 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (2cbe46c407)
+
+ imap-login: imap-login-client.c - Use designated initializer for struct
+ client_vfuncs.
+
+
+M src/imap-login/imap-login-client.c
+
+2019-08-06 22:09:53 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (d5d128c59d)
+
+ lib-storage: mail-user - Add auth_mech field to struct mail_user.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2019-08-06 22:08:54 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (409a6ba1fd)
+
+ lib-storage: mail-storage-service - Parse "auth_mech" field from userdb
+ extra fields.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2019-08-12 23:12:01 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c80d63c691)
+
+ login-common: sasl-server - Parse "anonymous" field in AUTH reply.
+
+
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2019-08-06 21:52:23 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (732c5ec326)
+
+ auth: auth-request-handler - Return "auth_mech" field in master REQUEST
+ reply.
+
+ It contains the name of the mechanism used in the authentication.
+
+M src/auth/auth-request-handler.c
+
+2019-08-12 21:06:51 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (429bd50071)
+
+ auth: auth-request-handler - Return "anonymous" field for AUTH command that
+ yields anonymous user.
+
+
+M src/auth/auth-request-handler.c
+
+2019-08-10 00:33:21 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (4cae45ed02)
+
+ login-common: Fix sending locally-generated authentication error reason to
+ client.
+
+ This is about authentication errors that emerge at the login service rather
+ than the auth service. The error reason was always substituted with an
+ unhelpful
+ "Authentication failed", while e.g. an error like "Unsupported
+ authentication mechanism" was supposed to be sent instead.
+
+M src/login-common/client-common-auth.c
+
+2019-08-09 14:07:58 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (97b956d75f)
+
+ imap: Only send NIL on GETMETADATA when query depth is 0
+
+
+M src/imap/cmd-getmetadata.c
+
+2019-08-07 15:46:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (119307bc05)
+
+ imap: GETMETADATA: Ignore MAIL_ERROR_NOTPOSSIBLE errors when using DEPTH
+ parameter
+
+ This most likely means that imap_metadata=no, but the client still wants to
+ fetch recursively validated metadata entries. This should return in OK
+ instead of NO reply.
+
+M src/imap/cmd-getmetadata.c
+
+2019-08-06 08:44:18 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (3c66000b70)
+
+ auth: Do not unref policy payload too early
+
+ This can cause the context to be free'd too early leading to crashes.
+
+M src/auth/auth-policy.c
+
+2019-08-02 15:57:09 +0200 Markus Valentin <markus.valentin@open-xchange.com> (be1bd417de)
+
+ lib-imap-metadata: setting metadata literal value does not delete it
+
+ Only if value and value_stream are NULL the metadata can be unset.
+
+M src/lib-imap-storage/imap-metadata.c
+
+2019-07-17 11:53:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9ccf6b1a4b)
+
+ run-test-valgrind.supp: Add libunwind supression
+
+
+M run-test-valgrind.supp
+
+2019-07-30 14:15:11 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (fea779697d)
+
+ lib-smtp: Fix encoding quoted localparts that end with "."
+
+ For example "user..@example.com" or "user..test.@example.com" resulted in an
+ extra '"' prefix.
+
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/test-smtp-address.c
+
+2019-07-29 13:28:29 +0300 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (203538927d)
+
+ doc: example-config: Add lmtp_add_received_header
+
+
+M doc/example-config/conf.d/20-lmtp.conf
+
+2019-07-29 10:30:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e4dcc52d13)
+
+ lib-storage: Mark /private/specialuse attribute to be validated
+
+
+M src/lib-storage/mailbox-attribute-internal.c
+
+2019-07-24 15:39:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f6f3b3086b)
+
+ imap: GETMETADATA: Send the last error as tagged reply
+
+ This way if there's only a single error, the error is in the tagged reply
+ with the [resp-code]. Clients can handle this better than untagged NO
+ replies.
+
+M src/imap/cmd-getmetadata.c
+
+2019-07-24 15:36:03 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b901751eb9)
+
+ imap: GETMETADATA: If i_stream_get_size() fails, send client an internal
+ error line
+
+ Previously the client didn't get any kind of an explanation why the
+ GETMETADATA failed.
+
+M src/imap/cmd-getmetadata.c
+
+2019-07-24 15:31:20 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e1899d6eba)
+
+ imap: GETMETADATA: Move error handling to a common function
+
+
+M src/imap/cmd-getmetadata.c
+
+2019-07-24 15:26:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (b06fc5cef9)
+
+ imap: GETMETADATA: Replace failed boolean with last_error code
+
+
+M src/imap/cmd-getmetadata.c
+
+2019-07-24 15:05:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3c6f944384)
+
+ imap: Allow SET/GETMETADATA to access validated attributes with
+ imap_metadata=no
+
+ Some IMAP extensions use these commands to set/get their internal state.
+ This should be allowed even if full METADATA isn't enabled.
+
+ The initial plan was to restrict this in the lib-imap-storage layer, so it
+ would apply to everything using the imap-metadata API. This would have
+ affected for example accessing metadata in Sieve scripts, which could be
+ either good or bad. It might not be wanted to give users read access to some
+ metadata either, but admins really should be given the ability to write
+ Sieve scripts that access the metadata. However there's just no good way to
+ differentiate between admin-written (or tool-written) Sieve script and
+ user-written Sieve script.
+
+ Another issue is using metadata to configure virtual mailboxes. Currently
+ they're all admin-written and should be allowed to access metadata, but in
+ the future we might want to allow user-written virtual mailbox rules as
+ well.
+
+ So the end result at least for now is to just prevent IMAP GETMETADATA and
+ SETMETADATA specifically from accessing the non-validated attributes. Most
+ of the time there aren't any secrets in the metadata. In case there is,
+ users need to be prevented from accessing metadata via Sieve, and in such
+ systems users rarely have direct Sieve access anyway.
+
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-setmetadata.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2019-07-30 11:04:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (efd9624789)
+
+ lib-imap-metadata: Add imap_metadata_transaction_validated_only()
+
+
+M src/lib-imap-storage/imap-metadata.c
+M src/lib-imap-storage/imap-metadata.h
+
+2019-07-24 14:42:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c46ae2baa3)
+
+ lib-storage: Add support for "validated attributes"
+
+ If an attribute is marked with MAIL_ATTRIBUTE_INTERNAL_FLAG_VALIDATED, it's
+ assumed to be "validated". This means that it has a set() callback that
+ validates the value, which at minimum means that its size isn't excessively
+ large.
+
+ MAIL_ATTRIBUTE_TYPE_FLAG_VALIDATED can be used with set/get/iterate to allow
+ access only to these validated attributes. Trying to access non-validated
+ attributes will result in error.
+
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-attribute.h
+
+2019-07-23 12:42:45 +0100 Timo Sirainen <timo.sirainen@open-xchange.com> (0b76a8bd4a)
+
+ lib-storage: Prepare attribute API for having flags in the type
+
+
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-attribute.h
+
+2019-07-29 16:08:07 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (8f6f04eb21)
+
+ lib-ssl-iostream: Support TLSv1.3 ciphersuites
+
+
+M m4/ssl.m4
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+M src/lib-ssl-iostream/test-iostream-ssl.c
+
+2019-07-29 16:17:27 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (93c3287143)
+
+ lib-ssl-iostream: test-iostream-ssl - Wait until both sides have handshaked
+
+ Produces consistent result with different TLS flavors
+
+M src/lib-ssl-iostream/test-iostream-ssl.c
+
+2019-07-29 16:24:49 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5977e925b9)
+
+ lib-ssl-iostream: test-iostream-ssl - Plug memory leak
+
+ If either endpoint fails to initialize it needs to be deinitialized too.
+
+M src/lib-ssl-iostream/test-iostream-ssl.c
+
+2019-07-29 15:39:20 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (6b3390e2c1)
+
+ lib-ssl-iostream: test-iostream-ssl - Always fail on error
+
+ Consistently fail the real function if something goes wrong. Needed for
+ TLSv1.3 support.
+
+M src/lib-ssl-iostream/test-iostream-ssl.c
+
+2019-07-29 15:36:21 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (892f384175)
+
+ lib-ssl-iostream: test-iostream-ssl - Explicitly increment idx
+
+ The test_assert macro does not evaluate the idx increment if the test
+ succeeds.
+
+M src/lib-ssl-iostream/test-iostream-ssl.c
+
+2019-07-29 11:11:11 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5ae5f62350)
+
+ stats: event exporters - Support https
+
+
+M src/stats/Makefile.am
+M src/stats/event-exporter-transport-http-post.c
+M src/stats/main.c
+
+2019-07-29 10:56:52 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (7110fef742)
+
+ stats: event-exporter - Use DNS for http
+
+
+M src/stats/event-exporter-transport-http-post.c
+
+2019-07-29 11:20:48 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f45ad4d64a)
+
+ stats: Disable chroot to make event exporters work
+
+ This is mostly needed for dns-client unix socket and accessing ssl CA
+ certificates.
+
+M src/stats/stats-settings.c
+
+2019-07-29 10:56:20 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (69f5b4b4aa)
+
+ dns-client: Make dns client available in login chroot
+
+ Otherwise it's not possible to use it for login processes.
+
+M src/dns/dns-client-settings.c
+
+2019-07-26 02:14:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (0abd431658)
+
+ lmtp: lmtp-local - Drop LMTP server log prefixes for event used for mail
+ delivery.
+
+
+M src/lmtp/lmtp-local.c
+
+2019-07-26 01:57:44 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (704880b6dc)
+
+ lib: lib-event - Add support for dropping log prefixes introduced by parent
+ events.
+
+ This allows dropping a specific number prefixes from parents when this event
+ is used for logging. This does not affect the parent events. This only
+ counts actual prefixes and not parents. If the count is higher than the
+ actual number of prefixes added by parents, all will be dropped.
+
+M src/lib/event-log.c
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+M src/lib/test-event-log.c
+
+2019-07-26 11:55:11 +0300 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (9dc9804006)
+
+ mail-crypt: test-mail-key - Skip test before allocating test_pool
+
+ Fixes a memory leak if test is skipped.
+
+M src/plugins/mail-crypt/test-mail-key.c
+
+2019-07-26 11:55:05 +0300 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (522b13ce3a)
+
+ lib-smtp: test-smtp-payload - exclude ssl cases if ssl not supported
+
+
+M src/lib-smtp/test-smtp-payload.c
+
+2019-07-26 11:54:47 +0300 Siavash Tavakoli <siavash.tavakoli@open-xchange.com> (c3cec53724)
+
+ lib-http: test-http-payload - Include test_echo_ssl only if ssl is supported
+
+
+M src/lib-http/test-http-payload.c
+
+2019-07-18 11:45:28 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (e9793fb39e)
+
+ lib: Allow event filtering with wildcarded integers
+
+
+M src/lib/event-filter.c
+
+2019-07-22 18:35:05 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e868113bf1)
+
+ lib-ssl-iostream: Don't build test-iostream-ssl if building without ssl
+
+ Fixes compiling when building without ssl.
+
+M src/lib-ssl-iostream/Makefile.am
+
+2019-07-22 14:57:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (62f3b738ef)
+
+ lib-storage: Namespace prefix shouldn't be included in all mailbox name
+ validity checks
+
+ Broken by 90c2995737cc1f3fe042993beb7b0b32e5375795
+
+M src/lib-storage/mail-storage.c
+
+2019-02-06 11:33:11 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (6ea365aefb)
+
+ lib: Correct comment typo (UIID -> UUID)
+
+
+M src/lib/guid.h
+
+2019-07-15 21:50:11 +0200 Stephan Bosch <stephan.bosch@open-xchange.com> (c4de81077c)
+
+ lib-smtp: smtp-params - Assume all capabilities are supported when adding
+ parameter event fields.
+
+ The actual capabilities are not really needed, since any assigned field is
+ relevent for event processing, whether the remote end will accept it or not.
+
+ This also fixes an assert failure occuring for proxied connections. Since
+ the server and client (proxy) connections can have different capabilities
+ and since the client connection does not have a proper capability list
+ available in the beginning of the handshake, the event created for a client
+ transaction would cause an assert failure when parameters were assigned that
+ did not match the capabilities (none).
+
+M src/lib-lda/mail-deliver.c
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server-transaction.c
+
+2019-07-15 10:14:23 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (25028730cd)
+
+ lib: ostream-file: Don't log any errors when setting TCP_NODELAY
+
+ It's likely never useful to log the error, and it seems more and more
+ unexpected errors just keep popping up.
+
+M src/lib/ostream-file.c
+
+2019-07-12 10:29:00 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (01a0ecff15)
+
+ lib: test-ostream-multiplex - Check flush return value
+
+ Fixes coverity nit
+
+M src/lib/test-ostream-multiplex.c
+
+2019-07-12 10:22:01 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1e46b1f590)
+
+ config: Cache converted ssl-parameters.dat result
+
+ This way the ssl-parameters.dat is read only once by the config process
+ instead of for every config request.
+
+M src/config/doveconf.c
+M src/config/main.c
+M src/config/old-set-parser.c
+M src/config/old-set-parser.h
+
+2019-07-12 10:16:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (752687a8f5)
+
+ config: Fix memory leaks when failing to convert ssl-parameters.dat
+
+ If ssl_dh setting isn't set and ssl-parameters.dat isn't found or there's
+ some error reading it, memory is leaked for every config request. This
+ eventually results in config process dying due to reaching vsz_limit.
+
+M src/config/old-set-parser.c
+
+2019-07-11 15:08:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (34c980931d)
+
+ lib-storage: Fix setting \Noinferiors flag for detached INBOX
+
+ The "" namespace is nowadays automatically created, so we can't just check
+ if mail_namespace_find_prefix() returns NULL.
+
+ I left the NULL check there for now at least, just in case there's some
+ reason I couldn't think of when it could be NULL.
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2019-07-11 14:43:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (9e606434b6)
+
+ dict: Exit early to work around various errors and crashes at shutdown
+
+ This is just a kludge until the dict process cleanup can be done cleanly.
+
+M src/dict/main.c
+
+2019-05-21 12:14:35 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (36727b25f6)
+
+ lib: test-ostream-multiplex - Test corking
+
+
+M src/lib/test-ostream-multiplex.c
+
+2019-07-10 11:25:14 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (1127208022)
+
+ lib: ostream-multiplex - Fix last_sent
+
+ The intention was to choose oldest channel. The old code however always
+ chose last channel to send, which was not really the point.
+
+ Using unix timestamp is also problematic due to sub-second granularity.
+
+M src/lib/ostream-multiplex.c
+
+2019-05-21 12:43:46 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f284865285)
+
+ lib: ostream-multiplex - Optimize writing
+
+
+M src/lib/ostream-multiplex.c
+
+2019-05-21 11:45:57 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (a25c91bfa1)
+
+ lib: ostream-multiplex - Implement cork support
+
+ Support corking for multiplex channels
+
+M src/lib/ostream-multiplex.c
+
+2019-07-10 11:16:03 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5c944db714)
+
+ lib: ostream-multiplex - Fix code format issue
+
+
+M src/lib/ostream-multiplex.c
+
+2019-05-21 13:34:57 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (cebaac29a3)
+
+ lib-ssl-iostream: Add unit test
+
+
+M src/lib-ssl-iostream/Makefile.am
+A src/lib-ssl-iostream/test-iostream-ssl.c
+
+2019-05-21 13:32:14 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f3c5e9a949)
+
+ lib-ssl-iostream: ostream-openssl - Prevent segfault
+ o_stream_get_buffer_*_size() when buffer is not allocated yet.
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2019-05-21 13:31:08 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (348ef8cb55)
+
+ m4: Substitute variables in modules.m4
+
+ Otherwise they do not work in Makefiles
+
+M m4/modules.m4
+
+2019-07-09 18:36:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (05417b2b69)
+
+ lib-storage: Add mailbox_list_index_get_index()
+
+
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2019-07-09 18:35:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0df7f8a04a)
+
+ lib-storage: mailbox_list_index_view_open() - Don't crash if list indexes
+ are disabled
+
+ This allows callers to call it without knowing if mailbox_list_index=yes
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2019-07-09 17:16:33 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e71724d674)
+
+ lib-storage: Move mailbox_list_index_view_open() to mailbox-list-index.c
+
+ It's a bit more appropriate location for it now that it's not strictly used
+ by only the STATUS caching code.
+
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index.c
+
+2019-07-09 17:16:00 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8a9750ccb9)
+
+ lib-storage: Make mailbox_list_index_view_open() public
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2019-07-09 17:12:28 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (20d96ef695)
+
+ lib-storage: Rename index_list_open_view() to mailbox_list_index_view_open()
+
+ In preparation for making the function public.
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2019-07-09 17:11:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (72cb5fe703)
+
+ lib-storage: index_list_open_view() - Rename status_check to
+ require_refreshed
+
+ This describes the parameter's behavior better.
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2019-07-09 17:07:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (296a387d1a)
+
+ lib-storage: Move MAILBOX_IS_NEVER_IN_INDEX() to mailbox-list-index.h
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2018-10-05 10:18:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (414a7db1d1)
+
+ userdb-passwd: Fix getpwent errno handling
+
+ In https://bugs.gentoo.org/667118 Reuben Farrelly noticed that running
+ # doveadm user '*' causes auth daemon to generate errors like:
+ auth-worker(3585): Error: getpwent() failed: Invalid argument
+
+ This happens because on successful call getpwent() now sets errno=EINVAL
+ starting from glibc-2.28. See https://sourceware.org/PR16004 for details.
+
+ The fix is to reset 'errno' before 'getpwent()' is called.
+
+ Reported-by: Reuben Farrelly Bug: https://bugs.gentoo.org/667118 Bug:
+ https://sourceware.org/PR16004 Original-Author: Sergei Trofimovich
+ <slyfox@gentoo.org>
+
+M src/auth/userdb-passwd.c
+
+2019-07-10 02:09:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (3b7bb089d3)
+
+ lib-dns: Log "Disconnect" event before calling DNS callbacks and freeing
+ lookups
+
+ dns_lookup_free() could be freeing the dns_client, which causes a segfault
+ in the e_debug() log call.
+
+ Broken by fc8c54c48fec6a89d9cda755756c233191c62af1
+
+M src/lib-dns/dns-lookup.c
+
+2019-07-06 19:38:21 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e110f18427)
+
+ lib: test-event-log - Add unit tests for calling event_log*() with
+ params->base_*_prefix assigned.
+
+
+M src/lib/test-event-log.c
+
+2019-07-06 19:42:39 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ca61f3253e)
+
+ lib: test-event-log - Add unit tests for calling event_log*() with
+ params->no_send = TRUE.
+
+
+M src/lib/test-event-log.c
+
+2019-07-06 14:20:48 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2e8b413a6b)
+
+ lib: test-event-log - Add unit tests for calling event_log*() with
+ params->base_str_out assigned.
+
+ The new tests are based on the existing tests with varying
+ params->base_event.
+
+M src/lib/test-event-log.c
+
+2019-07-06 15:53:34 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d37fe0a985)
+
+ lib: test-event-log - Add unit tests involving
+ event_set_log_message_callback().
+
+
+M src/lib/test-event-log.c
+
+2019-07-06 15:16:29 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (c5df22cdff)
+
+ lib: test-event-log - Rename test_event_log_prefix() to
+ test_event_log_message().
+
+ Also rename the associated types accordingly. This way, the tests can be
+ made more general, beyond the log prefixes.
+
+M src/lib/test-event-log.c
+
+2019-07-06 16:31:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (bf0f253473)
+
+ lib-test: test-common - Make test_assert_strcmp() accept NULL parameters.
+
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2019-07-02 20:50:07 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cb7c6b099d)
+
+ lib: event-log - Add support for inserting a prefix in event_logv().
+
+ The prefix is provided in the event_logv() call and not attached to the
+ event hierarchy. It is inserted at the position indicated by the base_event.
+ Different prefixes can be provided for the message appended to the string
+ buffer and the sent event message.
+
+M src/lib/event-log.c
+M src/lib/event-log.h
+
+2019-06-30 11:45:16 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d4aeac280a)
+
+ lib: event-log - Add support for appending part of the log message to a
+ string buffer while sending the event.
+
+ The message appended to the string buffer includes prefixes and message
+ callback modifications by parent events up until a specified base event. The
+ event is otherwise sent as normal with the full prefixes and all
+ modifications up to the root event, so in that respect this new feature
+ behaves just like event_log*(). This is primarily useful to mimic (part of)
+ event logging in parallel logs that are visible to users. It is also
+ possible to inhibit sending the event and only log to the string buffer.
+
+M src/lib/event-log.c
+M src/lib/event-log.h
+M src/lib/lib-event.h
+
+2019-06-30 11:41:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (51b5367db8)
+
+ lib: lib-event - Add support for amending the event log message in a
+ callback.
+
+
+M src/lib/event-log.c
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2019-07-02 20:37:14 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0bf1902712)
+
+ lib: event-log - Rename event_logv_type() to event_logv_params().
+
+ Change the log_type to parameters to params as well.
+
+M src/lib/event-log.c
+
+2019-06-30 10:52:43 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (daa1d3a732)
+
+ lib: event-log - Put parameters of event_get_log_message() in a struct.
+
+
+M src/lib/event-log.c
+
+2019-06-30 09:57:36 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (aa5df395ea)
+
+ lib: event-log - Rename event_get_log_prefix() to event_get_log_message().
+
+
+M src/lib/event-log.c
+
+2019-06-30 09:45:25 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0b41390448)
+
+ lib: event-log - Prepend prefix before recursion rather than appending it
+ after.
+
+ This makes the full prefix of the event and its children available before
+ recursion.
+
+M src/lib/event-log.c
+
+2019-06-30 11:07:06 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (455a1899e9)
+
+ lib: event-log - Reformat event_get_log_prefix().
+
+
+M src/lib/event-log.c
+
+2019-07-01 19:04:03 -0400 Stephan Bosch <stephan.bosch@open-xchange.com> (6236f367d5)
+
+ lib-http: guard against hshared use-after-free
+
+ This fixes a race condition where the http_client_host_shared_idle_timeout()
+ function would get called with an already freed hshared argument.
+
+ Specifically, the situation arises from the hshared idle timeout calling
+ http_client_host_shared_free(), which removes the timeout and then proceeds
+ to free the client queue. The client queue freeing code indirectly calls
+ http_client_host_shared_check_idle(), which notices that there is no idle
+ timeout and allocates one.
+
+ The backtrace at the point of this new timeout allocation:
+
+ frame #3: 0x00007f0c775897f0 libdovecot.so.0`timeout_add_to(...)
+ ioloop.c:280
+ frame #4: 0x00007f0c7751a45f
+ libdovecot.so.0`http_client_host_shared_check_idle(hshared=<unavailable>) at
+ http-client-host.c:69
+ frame #5: 0x00007f0c7750de89
+ libdovecot.so.0`http_client_request_error(_req=<unavailable>, status=9000,
+ error="") at http-client-request.c:1525
+ frame #6: 0x00007f0c77517f38
+ libdovecot.so.0`http_client_queue_fail_full(queue=0x000055e13cff0e10,
+ status=9000, error="", all=<unavailable>) at http-client-queue.c:183
+ frame #7: 0x00007f0c77518baa
+ libdovecot.so.0`http_client_queue_free(queue=0x000055e13cff0e10) at
+ http-client-queue.c:141
+ frame #8: 0x00007f0c7751a8bc
+ libdovecot.so.0`http_client_host_free_shared(_host=<unavailable>) at
+ http-client-host.c:391
+ frame #9: 0x00007f0c7751ab4c
+ libdovecot.so.0`http_client_host_shared_free(_hshared=0x00007ffdac109e48) at
+ http-client-host.c:294
+ frame #10: 0x00007f0c7751ace8
+ libdovecot.so.0`http_client_host_shared_idle_timeout(hshared=<unavailable>)
+ at http-client-host.c:40
+ frame #11: 0x00007f0c7758a1a4 libdovecot.so.0`io_loop_handle_timeouts at
+ ioloop.c:682
+ frame #12: 0x00007f0c7758a089
+ libdovecot.so.0`io_loop_handle_timeouts(ioloop=0x000055e13cfc8d80) at
+ ioloop.c:696
+ frame #13: 0x00007f0c7758befc
+ libdovecot.so.0`io_loop_handler_run_internal(ioloop=0x000055e13cfc8d80) at
+ ioloop-select.c:126
+ frame #14: 0x00007f0c7758a56d
+ libdovecot.so.0`io_loop_handler_run(ioloop=<unavailable>) at ioloop.c:767
+ frame #15: 0x00007f0c7758a798
+ libdovecot.so.0`io_loop_run(ioloop=0x000055e13cfc8d80) at ioloop.c:740
+ frame #16: 0x00007f0c774f61eb
+ libdovecot.so.0`master_service_run(service=0x000055e13cfc8c10,
+ callback=<unavailable>) at master-service.c:782
+ frame #17: 0x000055e13b48e3a5 stats`main(argc=<unavailable>,
+ argv=<unavailable>) at main.c:99
+ frame #18: 0x00007f0c771092e1 libc.so.6`__libc_start_main + 241
+ frame #19: 0x000055e13b48e41a stats`_start + 42
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+
+2019-07-08 18:59:21 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ea6dafcffd)
+
+ lib-index: Fix using old map when checking for unexpected changes during log
+ rotate
+
+ This shouldn't normally be possible. The log is locked, so other processes
+ shouldn't be able to write anything to it. This was mainly found by the
+ earlier bug.
+
+M src/lib-index/mail-index-write.c
+
+2019-07-08 18:56:12 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (46e93d9f13)
+
+ lib-index: After recreating cache, make sure offsets are immediately updated
+ to map
+
+ They were most likely refreshed anyway before the next cache usage, but this
+ caused an assert-crash if the dovecot.index was also recreated in the same
+ sync.
+
+ Broken by e31b0637d8788885a71db2def5743ebf14c698f3
+
+ Fixes: Panic: file mail-index-write.c: line 138 (mail_index_write):
+ assertion failed: (file->hdr.prev_file_offset == hdr->log_file_head_offset)
+
+M src/lib-index/mail-index-sync.c
+
+2019-03-08 18:39:49 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (835e65292b)
+
+ dsync: Fix importing keywords with MAIL_TRANSACTION_SYNC flag set
+
+ Reading transaction logs was handled differently depending on the
+ MAIL_TRANSACTION_SYNC flag. The flag was set for all transactions written by
+ dsync.
+
+ So for example:
+ * doveadm backup mdbox:/tmp/mdbox1 # keywords imported ok
+ * doveadm -o mail=mdbox:/tmp/mdbox1 backup mdbox:/tmp/mdbox2 # keywords lost
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2019-07-05 14:29:36 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (09d232a984)
+
+ lib-smtp: test-smtp-submit - Fix typo in error message
+
+
+M src/lib-smtp/test-smtp-submit.c
+
+2018-04-11 22:27:04 +0200 Bjørnar Ness <bjornar.ness@gmail.com> (1482a0e24a)
+
+ lmtp: Add lmtp_add_received_header bool setting.
+
+ Add the ability to prevent dovecot/lmtp from adding received header. This is
+ useful if one needs to use LMTP, but does not want additional received
+ headers because:
+
+ 1) Dovecot does not have correct information to add to the headers, and
+ causes
+ misleading/incorrect information 2) Does not want to expose internal
+ information
+
+ The default value is true, which is equal to the current behavior.
+
+M src/lmtp/lmtp-commands.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2019-07-03 00:40:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (eeaf68aefd)
+
+ lib-smtp: smtp-server-cmd-helo - Fix segfault occurring when domain argument
+ is invalid in a second EHLO command.
+
+
+M src/lib-smtp/smtp-server-cmd-helo.c
+
+2019-06-24 16:06:19 +0200 Markus Valentin <markus.valentin@open-xchange.com> (4371fd5268)
+
+ auth: oauth2: set scope to passdb_oauth2_settings
+
+
+M src/auth/db-oauth2.c
+
+2019-06-24 16:03:37 +0200 Markus Valentin <markus.valentin@open-xchange.com> (9d9347af41)
+
+ lib-oauth2: append scope to the access request payload
+
+
+M src/lib-oauth2/oauth2-request.c
+M src/lib-oauth2/oauth2.h
+
+2018-08-13 16:43:04 -0700 Shaun A. Johnson <shaun@linuxmagic.com> (7d4375dd8f)
+
+ lib: Changed chown to chmod for Linux NFS Flush
+
+ This change switches the chown call to a chmod call in the function
+ nfs_flush_chown_uid because the chown call was resulting in certain
+ permission bits being dropped when the nfs attributes were flushed.
+
+ Functionality for FreeBSD/Solaris was left unchanged.
+
+M src/lib/nfs-workarounds.c
+
+2018-08-13 16:35:54 -0700 Shaun A. Johnson <shaun@linuxmagic.com> (250992e472)
+
+ lib: Split up logic in nfs_flush_chown_uid
+
+ This splits up the logic of nfs_flush_chown_uid() so that there is an
+ individual chown call for each platform instead of a single call that is
+ compiled for both platforms.
+
+ This is the first step to adjusting how nfs attributes are flushed on Linux
+ because of an issue with chown resetting permissions on the files.
+
+M src/lib/nfs-workarounds.c
+
+2019-06-28 10:10:50 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (36b0d2a30e)
+
+ doveadm: Fix "service stop" to not print "Interrupted system call" error
+
+ The "service stop" handler no longer needs to read the VERSION line. Broken
+ by 2148805a75abd86d1769d9fd20652551cc5c5ac2
+
+M src/doveadm/doveadm-master.c
+
+2018-12-16 14:25:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6c19812194)
+
+ master: Handle and report system clock glitches in millisecond resolution
+ internally.
+
+
+M src/master/main.c
+
+2018-12-16 14:23:15 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a26ee0959c)
+
+ master: Handle throttling of services in millisecond resolution internally.
+
+
+M src/master/main.c
+M src/master/master-client.c
+M src/master/service-monitor.c
+M src/master/service.c
+M src/master/service.h
+
+2018-12-16 13:56:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (692fc18b4b)
+
+ lib-storage: mail-storage-service: Handle and report system clock glitches
+ in millisecond resolution.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2018-12-16 13:55:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (cf610d3754)
+
+ lib: ioloop: Make the callback for io_loop_set_time_moved_callback() use
+ struct timeval.
+
+ This allows reporting sub-second glitches.
+
+M src/lib-storage/mail-storage-service.c
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+M src/master/main.c
+
+2018-12-16 14:09:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b258137d0e)
+
+ lib: ioloop: Perform calculcations for the detection of system clock
+ glitches in microseconds.
+
+
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+
+2018-12-13 10:23:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ff06851ac4)
+
+ global: Replace usleep() with i_sleep*_usecs and i_sleep*_msecs().
+
+ This prevents overflows and makes sure signal interruptions are handled
+ appropriately.
+
+M src/doveadm/doveadm-master.c
+M src/lib-http/test-http-client-errors.c
+M src/lib-http/test-http-server-errors.c
+M src/lib-imap-client/test-imapc-client.c
+M src/lib-master/test-event-stats.c
+M src/lib-smtp/test-smtp-client-errors.c
+M src/lib-smtp/test-smtp-server-errors.c
+M src/lib-smtp/test-smtp-submit.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib/file-dotlock.c
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-kqueue.c
+M src/lib/test-file-create-locked.c
+M src/master/service-monitor.c
+
+2018-12-13 10:06:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fbe9c9bf91)
+
+ lib: Implement reliable sleep functions i_sleep*_usecs(), i_sleep*_msecs(),
+ and i_sleep*_secs().
+
+ Versions with and without support for being interrupted by signals are
+ available.
+
+M src/lib/Makefile.am
+A src/lib/sleep.c
+A src/lib/sleep.h
+
+2018-12-13 09:53:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (df1f968fb6)
+
+ lib: time-util: Add timeval_add_usecs() and timeval_sub_usecs().
+
+
+M src/lib/time-util.h
+
+2018-12-11 20:52:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (40a61bf259)
+
+ lib: ioloop: Never decrease wait time counters in ioloop_add_wait_time().
+
+ Prevents problems when time moves backwards.
+
+M src/lib/ioloop.c
+
+2018-12-11 20:54:09 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (229c3e6e40)
+
+ lib: file-lock: Never decrease the wait time counter in
+ file_lock_wait_end().
+
+ Prevents problems when time moves backwards.
+
+M src/lib/file-lock.c
+
+2019-06-19 16:29:49 +0200 Markus Valentin <markus.valentin@open-xchange.com> (31361b44e5)
+
+ script: health-check: add health-check.sh default script
+
+ As a example for an simple tcp health check the health-check.sh script is
+ added. It closes the connection after 10 seconds and only answer to
+ "PING\n" with a "PONG\n". It is installed by default next to the script
+ executable.
+
+M src/util/Makefile.am
+A src/util/health-check-settings.c
+A src/util/health-check.sh
+
+2019-06-19 14:36:12 +0200 Markus Valentin <markus.valentin@open-xchange.com> (b935bf6751)
+
+ script: add a parameter -p for passthrough scripts
+
+ Adding the passthrough option to script, this allows to configure a script
+ to be straightly called from a socket connection, without implementing any
+ specific protocol.
+
+M src/util/script.c
+
+2019-06-19 09:37:39 +0200 Markus Valentin <markus.valentin@open-xchange.com> (9b1638f24b)
+
+ script: extract message parsing to separate function
+
+
+M src/util/script.c
+
+2019-06-20 10:52:44 +0200 Markus Valentin <markus.valentin@open-xchange.com> (46c199e879)
+
+ lib-auth: checking return values of net_addr2ip in unit-test
+
+
+M src/lib-auth/test-auth-master.c
+
+2019-06-10 23:07:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e31b0637d8)
+
+ lib-index: Compress cache immediately after enough mails have been expunged
+
+ This fixes a bug where cache may never become compressed in certain mailbox
+ access patterns. Especially for autoexpunging in lazy_expunge mailboxes. The
+ cache compression happened only when:
+
+ a) After the mailbox_sync() that finishes expunging there was another
+ mailbox_sync(). If mailbox was immediately closed after expunging, this
+ didn't happen.
+
+ b) Fields are fetched from cache
+
+ If neither of these happened, the cache just kept growing. This happened
+ especially with lazy_expunge mailboxes.
+
+ sdbox format was always doing b) during expunging, because it looked up
+ GUIDs from cache. However, this helped only with regular expunges, not with
+ autoexpunges, because autoexpunging didn't finish with any mailbox_sync()
+ (which is a bug on its own).
+
+ mdbox also did GUID lookups from cache, but it wasn't doing cache
+ compressions due the bug fixed by the previous commit.
+
+M src/lib-index/mail-index-sync.c
+
+2019-06-10 23:01:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (883a302299)
+
+ lib-index: Fix calling expunge handlers with mdbox
+
+ This fixes updating deleted_record_count in dovecot.index.cache files.
+ Because they were wrong, the cache wasn't always compressed as early as it
+ should have been.
+
+ mdbox uses a separate transaction to commit expunges while mailbox is being
+ synced. When syncing was finished, tail_offset was updated too early so
+ mail_index_map(MAIL_INDEX_SYNC_HANDLER_FILE) was always a no-op and expunge
+ handlers were never called.
+
+ There doesn't seem to be any downside to not updating tail_offset early.
+ sdbox saving also uses such a transaction, but there is no difference in the
+ resulting dovecot.index.log file. The main worry I had was that tail_offset
+ wouldn't be updated to point to the end of the log file. However, this
+ doesn't happen with the old code either. This is because the extra
+ transaction is external, and tail_offset updating skips over all external
+ transactions anyway.
+
+M src/lib-index/mail-index-sync.c
+
+2019-06-17 13:59:10 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5d67706ec9)
+
+ mdbox: Always sync dovecot.map.index with
+ MAIL_INDEX_SYNC_FLAG_UPDATE_TAIL_OFFSET
+
+ This avoids errors after the next commit.
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2019-06-10 22:58:44 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6515f42874)
+
+ lib-index: mail_index_sync_update_mailbox_offset() - Remove unnecessary code
+
+ The function call has no side effects, and the return values aren't used.
+
+M src/lib-index/mail-index-sync.c
+
+2019-06-13 23:06:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (af6cee91f6)
+
+ submission: submission_backend_relay_create() - Allow caller to specify SASL
+ mechanism
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+
+2019-06-12 11:30:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (cdb7945e8a)
+
+ submission: submission_backend_relay_create() - Allow caller to specify IP
+
+ This way the caller can already provide IP address for the host.
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+
+2019-06-10 17:29:32 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (602d35033d)
+
+ submission: Add recipient-delimiter to settings
+
+ This allows plugins to easily access it.
+
+M src/submission/submission-settings.c
+M src/submission/submission-settings.h
+
+2019-06-10 17:27:29 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6f38ff6883)
+
+ lib-storage: Add mail_storage_service_get_global()
+
+ This allows accessing the global mail storage service. Normally there is
+ only a single service created for the process at a time, so this allows
+ accessing it.
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2019-06-12 11:50:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c85f1bc3ce)
+
+ lib: Add net_get_hosterror_type()
+
+
+M src/lib/net.c
+M src/lib/net.h
+
+2019-06-17 21:00:56 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (42f9824ffe)
+
+ lib-smtp: Remove SMTP_ADDRESS_LITERAL() macro
+
+ gcc 9 no longer stores compound literals in function scope, so this macro is
+ dangerous if you don't know it is a compound literal.
+
+M src/lib-smtp/smtp-address.h
+
+2019-06-17 20:51:36 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (6e1c2602e8)
+
+ lda: Stop using SMTP_ADDRESS_LITERAL() macro
+
+ Change DEFAULT_ENVELOPE_SENDER to a const struct smtp_address instead. gcc 9
+ no longer stores compound literals in function scope, so this is safer.
+
+M src/lda/main.c
+
+2019-06-17 20:26:47 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (29361db0e4)
+
+ lib-smtp: Expand SMTP_ADDRESS_LITERAL() macro
+
+ This makes the use of compound literal explicit.
+
+M src/lib-smtp/test-smtp-client-errors.c
+M src/lib-smtp/test-smtp-payload.c
+M src/lib-smtp/test-smtp-submit.c
+
+2019-06-17 11:22:45 +0200 Markus Valentin <markus.valentin@open-xchange.com> (6c3be217f4)
+
+ lib-auth: add unit test for auth_user_info_export
+
+ The test verifies that fields are ending up in the auth request as expected
+ given a corresponding auth_user_info struct.
+
+M src/lib-auth/Makefile.am
+A src/lib-auth/test-auth-master.c
+
+2019-06-17 14:07:10 +0200 Markus Valentin <markus.valentin@open-xchange.com> (e23a1cdc52)
+
+ lib-auth: make auth_user_info_export global
+
+ To allow unit-testing this function it becomes global.
+
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+
+2019-06-13 20:54:39 +0200 Markus Valentin <markus.valentin@open-xchange.com> (b73b247928)
+
+ lmtp-proxy: set real_ variables in auth_user_info struct
+
+ Set the real_ variables from connection to the client struct and from there
+ to the auth_user_info. This allows to pass the real_ variables to lib-auth
+ and thereby to the auth process.
+
+M src/lmtp/lmtp-client.c
+M src/lmtp/lmtp-client.h
+M src/lmtp/lmtp-proxy.c
+
+2019-06-13 20:45:55 +0200 Markus Valentin <markus.valentin@open-xchange.com> (98596dde5f)
+
+ lib-auth: add real_[remote|local]_[ip|port] to auth_user_info
+
+ This allows the auth_user_info_export function to export all the real_
+ variables, if available, to the auth request thereby enableing real_
+ variables for lib-auth.
+
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+
+2018-11-06 13:06:49 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (147d7a35fe)
+
+ doveadm-stats: Print numbers as numbers
+
+ Prevents treating numbers as string in JSON printer
+
+M src/doveadm/doveadm-stats.c
+
+2019-06-13 15:53:40 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (5f1d0ed535)
+
+ acl: Use the last line from global ACL file even if it has no LF
+
+ Not all text editors add LF to the last line.
+
+M src/plugins/acl/acl-global-file.c
+
+2019-06-12 16:17:56 +0300 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (b2666b86be)
+
+ lib-settings: Note that settings.h is not what it appears to be
+
+ To avoid future confusion.
+
+ This also adds a note that the interface should be removed in dovecot 3.0.
+
+M src/lib-settings/settings.h
+
+2019-06-12 11:37:02 +0300 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (e1a48ea9f0)
+
+ stats: event export - Use transport_timeout in http-post transport
+
+
+M src/stats/event-exporter-transport-http-post.c
+
+2019-06-12 11:36:12 +0300 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (51d3b0d47f)
+
+ stats: event export - Introduce a per exporter block transport timeout
+ setting
+
+ This commit adds a new per event_exporter { } block setting to specify the
+ transport timeout. For example:
+
+ event_exporter {
+ transport = foo
+ transport_args = ...
+ transport_timeout = 123msecs
+
+ format = bar
+ format_args = ...
+ }
+
+ Note that this commit only introduces the setting. The transports will be
+ changed to make use of it in future commits.
+
+M src/stats/stats-metrics.c
+M src/stats/stats-metrics.h
+M src/stats/stats-settings.c
+M src/stats/stats-settings.h
+
+2019-06-12 10:57:02 +0300 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (24bd7a1df3)
+
+ stats: event export - Increase default http-post timeout to 250ms
+
+ 50ms just isn't enough. A slightly higher latency link combined with a
+ handful of storage I/Os can easily use up 50ms.
+
+ If each event has approximately 4kB memory footprint, then a 250ms timeout
+ keeps the memory requirement relatively low (50MB on average / 200MB max at
+ 50k events/sec) but still allows a decent amount of time for the HTTP POST
+ to get sent to and processed by a server in the same datacenter.
+
+M src/stats/event-exporter-transport-http-post.c
+
+2019-06-12 10:58:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f859d437e6)
+
+ lib-storage: Sync mailbox after autoexpunging
+
+ This actually finishes expunging the mails. Previously the mails were just
+ marked to be expunged in the transaction log, and the next session that
+ opened the mailbox finished the expunging.
+
+M src/lib-storage/mail-autoexpunge.c
+
+2019-02-05 14:17:52 -0800 Timo Sirainen <timo.sirainen@open-xchange.com> (253a08d0ad)
+
+ lib-index: Make sure tail_offset is updated after calling expunge handlers
+
+ Since it's a bit troublesome to track whether expunge handlers were actually
+ called, we can just assume that as long as syncing sees expunges, they were
+ called (and thet most likely were).
+
+ This fixes a bug where dovecot.index.cache header's record_count kept
+ shrinking and deleted_record_count kept increasing after each sync. These
+ values were only used to determine when to compress the cache, so its only
+ effect was that the cache could have been compressed earlier than necessary.
+
+M src/lib-index/mail-index-sync.c
+
+2019-05-28 10:43:39 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (93945ec377)
+
+ doveadm-dsync: Clarify why ctx->replicator_notify is checked with
+ noreplicate
+
+
+M src/doveadm/doveadm-dsync.c
+
+2019-05-28 10:41:33 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (e55a72ae3f)
+
+ doveadm-dsync: Handle NOREPLICATE error in client
+
+
+M src/doveadm/doveadm-dsync.c
+
+2019-05-28 10:40:15 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (987ccb17ee)
+
+ doveadm-dsync: Do not attempt to sync noreplicate user
+
+
+M src/doveadm/doveadm-dsync.c
+
+2019-05-28 10:39:36 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d18b2b5cb0)
+
+ doveadm-cmd: Add NOREPLICATE error code
+
+
+M src/doveadm/doveadm-cmd.c
+
+2019-05-28 10:35:55 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (6d5b4b51cd)
+
+ doveadm-dsync: Set NOREPLICATE error code instead of returning it
+
+ This is how the error handling is supposed to be done.
+
+ Broken in 7f0dcac9942910c2934ceab1230e539043167601
+
+M src/doveadm/doveadm-dsync.c
+
+2019-05-27 12:56:29 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (4f7ba07c33)
+
+ lib: istream-file - Ensure fd is in valid range
+
+
+M src/lib/istream-file.c
+
+2019-05-27 12:55:54 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (0fe946d283)
+
+ lib: fd-util - Ensure fd is in valid range
+
+
+M src/lib/fd-util.c
+
+2019-05-27 18:25:38 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (06cf02b659)
+
+ lib-http: Add http_client_request_add_missing_header()
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+M src/lib-http/test-http-client-request.c
+
+2019-05-27 17:55:56 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (53341e25fe)
+
+ lib-http: Add http_client_request_lookup_header()
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+M src/lib-http/test-http-client-request.c
+
+2019-05-27 17:53:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (aee73857b1)
+
+ lib-http: http_client_request_remove_header() - Don't crash if no headers
+ are added
+
+ Fixes a crash if http_client_request_add_header() hasn't been called before
+ http_client_request_remove_header()
+
+M src/lib-http/http-client-request.c
+
+2019-05-27 17:47:16 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (4c9d9e2a30)
+
+ lib-http: http_client_request_add_header() - Replace existing header
+
+ If header with the same key already exists, just replace the value. HTTP
+ supports having multiple headers with the same key only when they can be
+ rewritten into a single comma-separated header. So practically there's no
+ reason for lib-http to need to support adding multiple headers. Replacing an
+ existing value is more useful generally.
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+M src/lib-http/test-http-client-request.c
+
+2019-05-27 17:46:37 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (15d0d824ee)
+
+ lib-http: http_client_request_remove_header() - split off header finding
+
+
+M src/lib-http/http-client-request.c
+
+2019-05-27 16:13:28 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (ee07f777b1)
+
+ lib-http: Add Unit test for http_client_request_add/remove_header()
+
+
+M src/lib-http/Makefile.am
+A src/lib-http/test-http-client-request.c
+
+2019-05-24 14:49:59 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (2148805a75)
+
+ doveadm service status: Handle VERSION handshake line properly
+
+ It was thought to be part of the command response, which caused somewhat
+ broken replies. Broken by 5c1267b97367b666bd24e6aadfd85ad3902a5b05
+
+M src/doveadm/doveadm-master.c
+
+2019-04-19 20:39:32 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (bb92f9cc00)
+
+ lib-dict: dict-sql - Add username as parameter
+
+ SQL statement caching works better when the username is provided as
+ parameter instead of part of the query, since the caching can now cache same
+ statements despite username changes.
+
+M src/lib-dict-backend/dict-sql.c
+
+2018-12-27 11:55:31 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (863887d427)
+
+ lib-dns: Remove unused Valgrind disable
+
+
+M src/lib-dns/Makefile.am
+
+2019-05-23 18:49:18 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (674b05f31d)
+
+ lib: Add test-fd-util.c to test i_close() panic message
+
+
+M src/lib/Makefile.am
+A src/lib/test-fd-util.c
+M src/lib/test-lib.inc
+
+2019-05-20 14:16:52 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0a5a2b81c2)
+
+ cassandra: Handle cass_future_set_callback() calling callback immediately
+
+ The previous code always assumed it would be called from another thread, but
+ due to race conditions this wasn't true always. The lookup could have
+ already finished by the time cass_future_set_callback() was called, in which
+ case it called the callback immediately.
+
+ If the callback was called from the main thread, it still wrote to the
+ fd_pipe. Because this was a blocking write, it was possible that the pipe
+ ended becoming full, which caused the whole dict process to hang.
+
+M src/lib-sql/driver-cassandra.c
+
+2019-05-20 14:16:08 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (0ec69252de)
+
+ cassandra: Move cassandra_callback_run() earlier
+
+ Simplifies the next commit.
+
+M src/lib-sql/driver-cassandra.c
+
+2019-05-22 09:12:08 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2ac1565f4d)
+
+ lib: test-event-flatten - Fix initializators for value
+
+ Older gcc complains about using anonymous members directly, so instead use
+ nested braces. This fixes the issue.
+
+ Continues fix in ae3c9db544c40367cded872a5f46dbd6abc8cd78
+
+M src/lib/test-event-flatten.c
+
+2019-05-21 13:16:52 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (ae3c9db544)
+
+ lib: Add initializers to test-event-flatten
+
+ This is to fix a compiler warning.
+
+M src/lib/test-event-flatten.c
+
+2019-05-20 16:33:30 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (75699c3076)
+
+ lib: ostream-file - Use TCP_NODELAY when uncorking, not corking
+
+
+M src/lib/ostream-file.c
+
+2019-05-20 23:46:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (c3045780d3)
+
+ lib: ostream-file - Don't try to set TCP options after stream is closed
+
+ Flushing the buffer could close the stream and the fd.
+
+M src/lib/ostream-file.c
+
+2019-04-04 14:25:45 +0300 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (7332d372a1)
+
+ stats: event export - Add tabescaped plain text format support
+
+ This commit adds support for format=tab-text.
+
+ Since we don't care to select a native timestamp data type, one must specify
+ exactly one time-* format_args token.
+
+M src/stats/Makefile.am
+A src/stats/event-exporter-fmt-tab-text.c
+M src/stats/event-exporter.h
+M src/stats/stats-metrics.c
+M src/stats/stats-settings.c
+
+2019-04-04 14:24:50 +0300 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (541859b222)
+
+ stats: event export - Add http-post transport support
+
+ This commit adds support for transport=http-post.
+
+ The value of transport_args is used as the HTTP POST URL.
+
+M src/stats/Makefile.am
+A src/stats/event-exporter-transport-http-post.c
+M src/stats/event-exporter.h
+M src/stats/stats-metrics.c
+M src/stats/stats-settings.c
+
+2019-04-04 14:24:24 +0300 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (2eb648b5b3)
+
+ stats: event export - Add log transport support
+
+ This commit adds support for transport=log.
+
+ The log transport ignores transport_args.
+
+M src/stats/Makefile.am
+A src/stats/event-exporter-transport-log.c
+M src/stats/event-exporter.h
+M src/stats/stats-metrics.c
+M src/stats/stats-settings.c
+
+2019-04-04 14:23:41 +0300 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (cfaf7fa4db)
+
+ stats: event export - Add json format support
+
+ This commit adds support for format=json.
+
+ Since JSON doesn't have a native timestamp data type, one must specify
+ exactly one time-* format_args token.
+
+M src/stats/Makefile.am
+A src/stats/event-exporter-fmt-json.c
+M src/stats/event-exporter.h
+M src/stats/stats-metrics.c
+M src/stats/stats-settings.c
+
+2019-04-19 09:48:26 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (1f5e96c1b3)
+
+ stats: event export - Implement core functionality
+
+ The core event exporter feature. It extends the metric { } config blocks
+ and adds new event_exporter { } blocks.
+
+ event_exporter EXNAME {
+ format = FMT # required, see below
+ format_args = FMTARGS # optional, see below
+ transport = TRANSPORT # required, see below
+ transport_args = TRANSPORTARGS # optional, see below
+ } metric METNAME {
+ ... normal metric fields ...
+ exporter = EXNAME # required to make export happen
+ exporter_include = INCS # optional, see below
+ }
+
+ FMT is a string identifying which format to serialize the event into. As of
+ this commit, the only valid value is "none" (always the empty string).
+
+ FMTARGS is a set of tokens that tweak how certain data types are encoded. If
+ not specified, the format's default is used ("none" always emits empty
+ strings so it doesn't care what this is set to, future formats will make use
+ of this setting). Currently the only possible tokens are: "time-rfc3339"
+ and
+ "time-unix" - as their names imply, they format all timestamps as either
+ RFC3339 or Unix-style seconds since 1970-01-01 00:00:00 UTC.
+
+ TRANSPORT is a string identifying how to transport the serialized event. As
+ of this commit, the only valid value is "drop" which simply drops the event.
+
+ TRANSPORTARGS is a string used by the transport to tweak its behavior. The
+ drop transport ignores the args.
+
+ INCS is a string made up of tokens ("name", "hostname", "timestamps",
+ "categories", and "fields") which control what parts of an event are
+ exported. It can be set to any set of those (including empty set) and the
+ order doesn't matter. It defaults to all 5 tokens.
+
+M src/stats/Makefile.am
+A src/stats/event-exporter-fmt-none.c
+A src/stats/event-exporter-fmt.c
+A src/stats/event-exporter-transport-drop.c
+A src/stats/event-exporter.h
+M src/stats/stats-metrics.c
+M src/stats/stats-metrics.h
+M src/stats/stats-settings.c
+M src/stats/stats-settings.h
+
+2019-04-01 15:52:04 +0300 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (504c5ae039)
+
+ lib-master: Use event_minimize() to simplify the event before sending to
+ stats
+
+
+M src/lib-master/stats-client.c
+
+2019-04-01 13:23:41 +0300 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (24b1aba3b7)
+
+ lib: Add event_minimize()
+
+ At times, we want to simplify the structure of events before sending them to
+ the stats process thereby minimizing the amount of data transfered and the
+ amount of work the stats process has to do. This simplification before
+ sending allows us to incur the CPU penalty in the (many) sending processes
+ instead of in the (sole & single-threaded) stats process.
+
+ Unlike the code in lib-master, this implementation flattens part of the
+ parent chain backwards so that parents' fields are properly overridden by
+ their children. It exists in lib because it shares code with the recently
+ added event_flatten().
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2019-04-11 17:31:34 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (4a405c987f)
+
+ lib-master: Fix event stats test compare function arg order
+
+ The arguments were backwards.
+
+M src/lib-master/test-event-stats.c
+
+2019-04-16 18:45:21 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (8fe63c6578)
+
+ lib: Move event filter test's event categories from stack to .data
+
+ Event categories must not be allocated on the stack. Categories must be
+ accessible for the duration of the program runtime.
+
+M src/lib/test-event-filter.c
+
+2019-03-07 12:58:35 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (d0e7ede6f9)
+
+ stats: Rename stats filter to indicate what it is for
+
+ This makes the next commit a little cleaner.
+
+M src/stats/stats-metrics.c
+
+2019-04-19 09:50:53 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (ba22adb163)
+
+ lib-master: Add a comment clarifying when events must be sent to stats
+
+
+M src/lib-master/stats-client.c
+
+2019-03-14 21:19:59 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (619d1eb030)
+
+ lib-master: minor refactor of stats_client_send_event()
+
+ This makes later event exporting commits cleaner.
+
+M src/lib-master/stats-client.c
+
+2019-03-14 20:30:29 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (d0ebd21bdd)
+
+ lib: Add event_flatten() to return a flattened event
+
+
+M src/lib/Makefile.am
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+A src/lib/test-event-flatten.c
+M src/lib/test-lib.inc
+
+2019-03-14 20:21:15 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (da5ba8b442)
+
+ lib: replace event_copy_categories_fields() into two
+
+ It is more flexible to allow to copy only categories or only fields.
+
+M src/lib-master/stats-client.c
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2019-05-03 10:30:39 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (3e0e00d797)
+
+ lib: fixup str_append_tabescaped()'s { placement
+
+ This makes it consistent with the rest of the file.
+
+M src/lib/strescape.c
+
+2019-05-17 16:13:17 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (87699fbef9)
+
+ lib: ostream-file - Ignore ENOPROTOOPT error also when setting TCP_NODELAY
+
+ This happens in some OSes.
+
+M src/lib/ostream-file.c
+
+2019-05-17 16:12:24 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (156fbfe947)
+
+ lib: ostream-file - Don't use TCP_CORK or TCP_NODELAY for UNIX sockets
+
+ Either they fail or just don't do anything.
+
+M src/lib/ostream-file.c
+
+2018-04-27 14:26:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b6fbc55c97)
+
+ virtual: Fix calling mail_add_temp_wanted_fields() before mail is set
+
+ Fixes: Panic: file virtual-mail.c: line 123 (backend_mail_get): assertion
+ failed: (bbox != NULL)
+
+M src/plugins/virtual/virtual-mail.c
+
+2018-04-27 13:56:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9c009b89ab)
+
+ virtual: Fix mail.add_temp_wanted_fields() to handle headers correctly
+
+ The header that was passed to backend contained wrong index numbers, causing
+ wrong headers to be used.
+
+M src/plugins/virtual/virtual-mail.c
+
+2018-04-27 13:52:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bafa82f1e1)
+
+ lib-storage: Update mail_add_temp_wanted_fields() comment
+
+
+M src/lib-storage/mail-storage.h
+
+2018-04-27 13:49:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (22af18076f)
+
+ lib-storage: Move code to a new mailbox_header_lookup_merge()
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mailbox-header.c
+
+2019-05-15 10:25:47 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f256e947b4)
+
+ lib: ostream-file - Don't try to set TCP_NODELAY for non-socket fds
+
+ Also log if there are any unexpected errors.
+
+M src/lib/ostream-file-private.h
+M src/lib/ostream-file.c
+
+2019-05-15 10:49:09 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (7ceccd68bb)
+
+ lib-storage: Don't try to set attachment keywords if bodystructure wasn't
+ parsed
+
+ This was broken in 057028e3f5567e21c964005ffccda1055fa86508 as there are
+ code paths leading here that omit bodystructure processing.
+
+ Fixes Panic: file index-mail.c: line 1150 (index_mail_parse_body_finish):
+ assertion failed: (mail->data.parsed_bodystructure)
+
+M src/lib-storage/index/index-mail.c
+
+2019-05-10 18:06:46 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (45976e226c)
+
+ lib: Make sure uncorking ostream-file flushes network output immediately
+
+ TCP_CORK and TCP_NODELAY are separate things, but we'll treat them similarly
+ for our ostream corking API. It was always intended that all data written
+ inside corking would be delayed until uncork, and immediately sent
+ afterwards.
+
+ This change removes unnecessary extra 40ms delays, which may happen when
+ proxying.
+
+M src/lib/ostream-file.c
+
+2019-05-13 16:16:43 +0300 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (93ebd61764)
+
+ doveadm: Add error_r to server_connection_create()
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/server-connection.c
+M src/doveadm/server-connection.h
+
+2019-05-13 16:03:27 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (f62954aaff)
+
+ lib: i_zero*() - Update comment, especially about arrays
+
+
+M src/lib/macros.h
+
+2019-05-13 15:57:26 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (a9f80ca012)
+
+ lib: i_zero*() - Remove extra "+"
+
+ It was ignored by compilers though.
+
+M src/lib/macros.h
+
+2019-05-10 15:55:22 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (1d15776d24)
+
+ doveadm-dsync: Always cleanup after connection
+
+ Go through the same error handling path every time. Fixes Panic: file
+ ioloop.c: line 826 (io_loop_destroy): assertion failed: (ioloop ==
+ current_ioloop)
+
+ This happened because the ioloop wasn't destroyed on error.
+
+M src/doveadm/doveadm-dsync.c
+
+2019-05-10 15:54:37 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (0adfcd82c5)
+
+ doveadm-dsync: Move actual command execution to dsync_server_run_command
+
+ Simplifies next commit
+
+M src/doveadm/doveadm-dsync.c
+
+2019-05-10 19:16:07 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (057028e3f5)
+
+ lib-storage: Attachment flag detection shouldn't cause mail body to be
+ opened
+
+ Fetching cached mail headers with
+ mail_attachment_detection_options=add-flags-on-save caued IMAP BODYSTRUCTURE
+ to be fetched as well. If it wasn't already cached, this caused opening the
+ mail body to generate it. Also the result wasn't added to cache, so the
+ inefficient behavior continued.
+
+M src/lib-storage/index/index-mail.c
+
+2019-05-09 19:52:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (41e250bc89)
+
+ global: Add asserts to make static analyzers happy
+
+
+M src/lib-auth/auth-master.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib/istream-crlf.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2019-05-09 19:48:43 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d8f9915391)
+
+ doveadm dict: Make it clear that *iter_flags can't dereference NULL pointer
+
+ It's not possible to dereference it anyway, because only "doveadm dict iter"
+ has these iter parameters. This change fixes warnings from static analyzers.
+
+M src/doveadm/doveadm-dict.c
+
+2019-05-09 19:27:18 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6c95d78e82)
+
+ lib-storage: Fix mail_user_home_mkdir() crash when user has no home
+ directory
+
+ This is used only by dsync when creating lock file. It wouldn't work without
+ a home directory anyway.
+
+M src/lib-storage/mail-user.c
+
+2019-05-09 19:22:28 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (603b130568)
+
+ lib: net_*() - Make sure sockaddr_union is always cleared
+
+ Fixes scan-build warnings
+
+M src/lib/net.c
+
+2019-05-09 19:19:42 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (e171f38443)
+
+ lib: data-stack - Make STACK_BLOCK_DATA() behavior clearer
+
+ Otherwise scan-build thinks that it's pointing outside valid memory in the
+ struct and gives an error:
+
+ "Memory set function accesses out-of-bound array element"
+
+M src/lib/data-stack.c
+
+2019-05-09 15:29:34 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (249370821c)
+
+ global: Change CALLBACK_TYPECHECK() to used with subtraction
+
+ This is because clang's -Wstring-plus-int gave warnings when using
+ "string" + CALLBACK_TYPECHECK(), but there are no warnings when using
+ "string" - CALLBACK_TYPECHECK(). It would have been enough to change only
+ the string parameters to use "-", but for consistency this commit changes
+ all of them.
+
+M src/auth/db-oauth2.h
+M src/imap/imap-fetch.h
+M src/lib-dns/dns-lookup.h
+M src/lib-http/http-client.h
+M src/lib-http/http-server.h
+M src/lib-ldap/ldap-client.h
+M src/lib-mail/istream-header-filter.h
+M src/lib-mail/message-header-parser.h
+M src/lib-mail/message-parser.h
+M src/lib-oauth2/oauth2.h
+M src/lib-program-client/program-client.h
+M src/lib-settings/settings.h
+M src/lib-smtp/smtp-client-command.h
+M src/lib-smtp/smtp-client-transaction.h
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server.h
+M src/lib-smtp/smtp-submit.h
+M src/lib-sql/sql-api.h
+M src/lib-storage/index/maildir/maildir-storage.h
+M src/lib-storage/mail-search-mime.h
+M src/lib-storage/mail-search.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mailbox-list-notify.h
+M src/lib/array.h
+M src/lib/bsearch-insert-pos.h
+M src/lib/child-wait.h
+M src/lib/ioloop.h
+M src/lib/iostream-proxy.h
+M src/lib/iostream-pump.h
+M src/lib/istream-sized.h
+M src/lib/istream.h
+M src/lib/lib-event.h
+M src/lib/log-throttle.h
+M src/lib/memarea.h
+M src/lib/ostream.h
+M src/lib/sort.h
+
+2019-05-10 17:45:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (1693d3f1c3)
+
+ dict: Make sure connection IO is stopped when client is disconnected
+
+ I'm not sure if this fixes anything, but it makes the behavior closer to
+ what it was before 2ff2da52146609f4459bd0f7fd603e13400cb85e.
+
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+
+2019-05-10 17:44:04 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (89dbcc30f9)
+
+ dict: Fix client connection reference counting
+
+ If the client disconnected while commands were still running, the destroy
+ callback could have been called multiple times.
+
+ Broken by 2ff2da52146609f4459bd0f7fd603e13400cb85e
+
+ Fixes: Panic: file dict-connection.c: line 149 (dict_connection_unref):
+ assertion failed: (array_count(&conn->cmds) == 0)
+
+M src/dict/dict-connection.c
+M src/dict/dict-connection.h
+
+2019-05-08 12:46:48 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (e1053e7668)
+
+ quota: Enable program-client debug when mail_debug is enabled
+
+ Makes it easier to see that program-client actually executed a warning
+ script.
+
+M src/plugins/quota/quota.c
+
+2018-12-07 09:19:08 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2891ca18b6)
+
+ quota: Do not skip noenforcing and auto_update quota roots when intializing
+
+ Doing so will break quota warnings.
+
+M src/plugins/quota/quota.c
+
+2018-12-07 09:14:25 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d1f799aa12)
+
+ quota: Do not set limits to infinity when not enforcing
+
+ Fixes quota enforcement to work even if secondary quota is noenforcing.
+
+M src/plugins/quota/quota.c
+
+2019-03-28 21:41:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c62257e8ad)
+
+ lib: connection - Make sure the connection name is always available.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2019-01-11 14:33:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (58a8985f63)
+
+ lib-storage: maildir: maildir-copy - Fix omission of keywords while copying
+ message with hardlinking.
+
+
+M src/lib-storage/index/maildir/maildir-copy.c
+
+2019-01-11 14:16:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1e0dcd411e)
+
+ lib-storage: maildir: maildir-save - Move final copying of keywords to a
+ separate function.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-storage.h
+
+2019-05-08 12:42:09 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (d6cfe65054)
+
+ submission: Remove unnecessary client.session_id
+
+ It's also available in client.user.session_id
+
+M src/submission/main.c
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2019-05-08 12:41:13 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (7b87cea49a)
+
+ submission: Remove duplicate %{session} from submission_logout_format
+ handling
+
+ It already comes from mail_user_var_expand_table()
+
+M src/submission/submission-client.c
+
+2019-05-08 12:37:41 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (61c7c6b2c9)
+
+ pop3: Remove unnecessary client.session_id
+
+ It's also available in client.user.session_id
+
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+
+2019-05-08 12:35:51 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (6b1e95b04d)
+
+ pop3: Remove duplicate %{session} from pop3_logout_format handling
+
+ It already comes from mail_user_var_expand_table()
+
+M src/pop3/pop3-client.c
+
+2019-05-08 12:30:25 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (8cca3a6cc3)
+
+ login-common: Add a comment to remember to keep login %variables synced
+
+
+M src/login-common/login-settings.c
+
+2019-05-08 12:25:39 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (617c05da7d)
+
+ pop3: Remove duplicate %d from pop3_logout_format handling
+
+ The first %d was always used as intended, so this didn't actually cause any
+ bugs. It was confusing though.
+
+M src/pop3/pop3-client.c
+
+2019-03-10 23:09:46 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7e196d95d7)
+
+ lib: event-log - Add support for logging with log_type as a parameter.
+
+
+M src/lib/event-log.c
+M src/lib/event-log.h
+
+2019-04-29 09:01:44 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (e15655db4e)
+
+ NEWS: Add news for 2.3.6
+
+
+M NEWS
+
+2019-04-24 10:37:55 +0300 John Fawcett <john@voipsupport.it> (3c9abe14a9)
+
+ fts-solr: Add soft_commit setting
+
+ soft_commit=yes|no: send softCommit to the solr server, default yes is
+ backwards compatible behaviour If setting to no autoSoftCommit on solr
+ should be set to something reasonable (e.g. 60 seconds) in file
+ solrconfig.xml
+
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/fts-solr-plugin.h
+
+2019-04-24 10:34:49 +0300 John Fawcett <john@voipsupport.it> (2806d31b9a)
+
+ fts-solr: Add batch_size configuration option
+
+ batch_size: configure the number of emails sent in single requests to solr,
+ default 1000
+
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/fts-solr-plugin.h
+
+2019-04-29 14:07:19 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (af9a796978)
+
+ fts-solr: Only increment ctx->mails_since_flush after flush
+
+ Otherwise it gets wrongly increment before flush.
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2019-01-29 22:16:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ae6a483974)
+
+ lib-http: client: Fix segfault occurring when an idle host times out.
+
+ This is most visible when the host is associated with an invalid host name:
+ in that case the idle timeout is only 100ms. For valid hosts, this problem
+ can only appear after 30 minutes idle time (default).
+
+ Problem is caused by the session host object starting a new idle timeout in
+ the shared host, while the shared and session host objects are both being
+ destroyed.
+
+M src/lib-http/http-client-host.c
+
+2019-04-29 13:09:02 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (db365281ac)
+
+ fts: Enable turkish support
+
+
+M src/lib-fts/fts-language.c
+
+2019-04-29 13:08:34 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5100c7774e)
+
+ fts: Include turkish stopwords
+
+ Source https://github.com/stopwords-iso/stopwords-tr/
+
+M src/lib-fts/Makefile.am
+A src/lib-fts/stopwords/stopwords_tr.txt
+
+2019-04-02 13:09:48 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (927d70cefc)
+
+ lib: json - Escape invalid UTF-8 as unicode bytes
+
+ This prevents dovecot from crashing if invalid UTF-8 input is given.
+
+M src/lib/json-parser.c
+M src/lib/test-json-parser.c
+
+2019-04-25 10:23:12 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (864822f0aa)
+
+ mail-lua: Handle transaction commit error writing metadata
+
+
+M src/plugins/mail-lua/mail-storage-lua.c
+
+2019-04-25 09:51:32 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0877ea5253)
+
+ lib-smtp: smtp-server-cmd-auth - Fix AUTH response error handling so that it
+ stops reading more input.
+
+ Otherwise, it may try to read more data from the stream as the next AUTH
+ response, which causes an assert crash in the command parser later on. Even
+ when the parser finds no input from the stream, it will advance its state
+ towards AUTH response parsing, which is a problem when the next command is
+ subsequently being parsed.
+
+ Panic was:
+
+ Panic: file smtp-command-parser.c: line 438 (smtp_command_parse_next):
+ assertion failed: (!parser->auth_response || parser->state.state ==
+ SMTP_COMMAND_PARSE_STATE_INIT || parser->state.state ==
+ SMTP_COMMAND_PARSE_STATE_ERROR)
+
+M src/lib-smtp/smtp-server-cmd-auth.c
+
+2019-03-12 03:18:33 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0937c31f71)
+
+ submission-login: client-authenticate - Fix crash occurring when client
+ disconnects during authentication.
+
+
+M src/submission-login/client-authenticate.c
+M src/submission-login/client.c
+
+2019-04-23 00:13:46 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (6503ff28c3)
+
+ submission-login: Remove unused client->pending_starttls.
+
+
+M src/submission-login/client.h
+
+2019-04-24 16:33:45 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (d9b4e5a239)
+
+ lib-lua: Fix bracing in table helper macros
+
+ Was left broken in c304bc76
+
+M src/lib-lua/dlua-script-private.h
+
+2019-04-16 11:42:56 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (9607054d9c)
+
+ mail-lua: Implement mailbox metadata API
+
+ Adds methods for accessing and manipulating mailbox metadata
+
+ * user:metadata_get("key", "key", ..) - returns value for keys
+ * user:metadata_set("key", "value") - sets value for key
+ * user:metadata_unset("key", "value") - unsets key
+ * user:metadata_list("prefix", "prefix", ...) - lists keys in dict for
+ prefixes
+
+ * mailbox:metadata_get("key", "key", ..) - returns value for keys
+ * mailbox:metadata_set("key", "value") - sets value for key
+ * mailbox:metadata_unset("key", "value") - unsets key
+ * mailbox:metadata_list("prefix", "prefix", ...) - lists keys in dict for
+ prefixes
+
+ User metadata is stored under
+ /(private|shared)/vendor/vendor.dovecot/pvt/server to mailbox INBOX, and is
+ accessible with mailbox metadata methods with INBOX.
+
+ Also mail lua exports constants to simplify usage
+
+ dovecot.storage.MAILBOX_ATTRIBUTE_PREFIX_DOVECOT
+ "vendor/vendor.dovecot/"
+ dovecot.storage.MAILBOX_ATTRIBUTE_PREFIX_DOVECOT_PVT
+ "vendor/vendor.dovecot/pvt/"
+ dovecot.storage.MAILBOX_ATTRIBUTE_PREFIX_DOVECOT_PVT_SERVER
+ "vendor/vendor.dovecot/pvt/server/"
+
+M src/plugins/mail-lua/mail-storage-lua.c
+
+2019-04-17 13:20:58 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (353db736bf)
+
+ mail-lua: Properly refcount user object
+
+ Prevents user object from going away unexpectedly, and makes sure it gets
+ released correctly.
+
+M src/plugins/mail-lua/mail-storage-lua.c
+
+2019-04-17 13:12:05 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (5a8b6138de)
+
+ mail-lua: Use userdata for mailbox pointer
+
+ Makes it possible to unref mailbox on exit
+
+M src/plugins/mail-lua/mail-storage-lua.c
+
+2019-04-15 13:02:11 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (c304bc76a8)
+
+ lib-lua: Fix assigment helper macros
+
+ The macro names were conflicting with the table values.
+
+M src/lib-lua/dlua-script-private.h
+
+2019-04-12 17:57:32 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f39ab32553)
+
+ NEWS: Update news with missing entries from other branches
+
+
+M NEWS
+
+2019-03-12 23:23:35 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4fd3c6c485)
+
+ lib-lda: mail-deliver - Emit events at start and finish of delivery.
+
+
+M src/lib-lda/mail-deliver.c
+
+2019-03-10 13:08:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (91cb4f1d85)
+
+ lib-lda: Replace i_warning() with e_warning().
+
+
+M src/lib-lda/mail-deliver.c
+
+2019-03-10 13:01:08 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f69dec608a)
+
+ lib-lda: Replace i_info() with e_info().
+
+
+M src/lib-lda/mail-deliver.c
+
+2019-03-10 12:58:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9368228fa1)
+
+ lib-lda: Replace i_error() with e_error().
+
+
+M src/lib-lda/mail-deliver.c
+
+2019-03-10 10:53:51 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f44b5a6e69)
+
+ lib-lda: mail-deliver - Add message fields to the deliver event.
+
+
+M src/lib-lda/mail-deliver.c
+
+2019-03-10 12:13:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2a151b9597)
+
+ lib-lda: mail-deliver - Rename mail_deliver_cache to mail_deliver_fields.
+
+ Also make the fields public.
+
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+
+2019-03-04 01:15:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (204c73b2e1)
+
+ lda: Use LDA event as mail_*user's parent event.
+
+
+M src/lda/main.c
+
+2019-03-04 01:12:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a8a8480508)
+
+ lda: Add support for event API.
+
+
+M src/lda/main.c
+
+2019-03-04 01:08:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8c8d30f8c0)
+
+ lda: Assign envelope fields in mail deliver context right away.
+
+
+M src/lda/main.c
+
+2019-03-04 00:30:27 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d441e0fa36)
+
+ lmtp: lmtp-local - Use recipient event for mail delivery.
+
+
+M src/lmtp/lmtp-local.c
+
+2019-03-04 00:28:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (dd38f2cb90)
+
+ lib-lda: mail-deliver - Add support for event API.
+
+
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+
+2019-03-27 01:25:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (91b583b627)
+
+ lib-lda: Initialize/deinitialize mail_deliver_context in separate functions.
+
+ This changes the allocation of parsed SMTP addresses to initially use a
+ datastack pool rather than the mail_deliver context pool. This is necessary
+ because the context is created a bit later. Upon mail_deliver_init(), the
+ addresses are moved to the context pool.
+
+M src/lda/main.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+M src/lmtp/lmtp-local.c
+
+2019-03-31 16:14:06 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (404b4a20bc)
+
+ lda: Move mail_deliver() invocation to a separate function.
+
+
+M src/lda/main.c
+
+2019-03-04 01:19:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5610d74bba)
+
+ lib-lda: mail-deliver - Split the mail_deliver() function to perform
+ post-delivery cleanup in one place.
+
+
+M src/lib-lda/mail-deliver.c
+
+2019-03-19 00:02:06 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (386500380b)
+
+ lib-storage: Fix NO-FS-VALIDATION in mail_location
+
+ The setting wasn't being preserved properly, so it was just ignored.
+
+M src/lib-storage/mailbox-list.c
+
+2019-03-14 15:24:37 -0400 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (1d09d3e08c)
+
+ lib: event_filter_unref(NULL) is already a no-op
+
+
+M src/lib/event-log.c
+
+2019-03-27 16:09:33 +0200 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (051a718ed3)
+
+ lib-http: Fix comment typo
+
+
+M src/lib-http/http-client.h
+
+2019-03-25 11:58:00 -0600 Michael Slusarz <michael.slusarz@open-xchange.com> (169b1ff42a)
+
+ doveadm: Add body.preview as a fetch field
+
+ Keep body.snippet as a fetch field for backward compatitibility reasons
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2018-10-30 18:28:49 -0600 Michael M Slusarz <michael.slusarz@open-xchange.com> (80080526da)
+
+ RFC has changed SHOULD length of preview from 100 to 200
+
+
+M src/lib-storage/index/index-mail.c
+
+2018-10-30 18:28:04 -0600 Michael M Slusarz <michael.slusarz@open-xchange.com> (ef9c5b803a)
+
+ RFC draft has changed from SNIPPET to PREVIEW
+
+ The older SNIPPET command will remain for now - it is mostly the same as the
+ new PREVIEW code, so it's essentially an alias (the only difference between
+ the two versions is the SNIPPET/PREVIEW identifier text).
+
+M configure.ac
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+
+2019-04-02 13:55:14 +0300 Timo Sirainen <timo.sirainen@open-xchange.com> (bda173cf95)
+
+ dict: Remove unnecessary o_stream_flush()
+
+ Added recently by 89e4b2e7fbd17548f3c99fa66368c9b0bc8eb775
+
+M src/dict/dict-commands.c
+
+2019-03-31 21:24:40 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (c41fc6b530)
+
+ doveadm-dict: Add missing dict_deinit
+
+ Fixes event leak when set is missing parameter.
+
+M src/doveadm/doveadm-dict.c
+
+2019-03-31 17:01:36 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (ae3581ddec)
+
+ dict: Parse handshake using handshake_args
+
+ This ensures the input is properly tab unescaped, also simplifies the
+ handshake function.
+
+M src/dict/dict-connection.c
+
+2018-10-08 11:51:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2e84f805e1)
+
+ dict: Remove obsolete check as getenv() is no longer used for getting dicts
+
+
+M src/dict/dict-connection.c
+
+2019-03-31 16:54:28 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (2ff2da5214)
+
+ dict: Use connection API
+
+
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/dict/dict-connection.h
+M src/dict/main.c
+
+2019-04-01 12:10:10 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (89e4b2e7fb)
+
+ dict: Use connection struct
+
+ Prepares for moving into connection API
+
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/dict/dict-connection.h
+
+2019-04-01 12:09:33 +0300 Aki Tuomi <aki.tuomi@open-xchange.com> (f431f34817)
+
+ dict: Create connection with struct master_connection instead of fd
+
+ Prepares for moving into connection.c struct
+
+M src/dict/dict-connection.c
+M src/dict/dict-connection.h
+M src/dict/main.c
+
+2019-02-04 19:25:13 -0800 Timo Sirainen <timo.sirainen@open-xchange.com> (a02c16889f)
+
+ fts: Fix buffer overflow when reading oversized fts header
+
+
+M src/plugins/fts/fts-api.c
+
+2019-02-04 19:23:02 -0800 Timo Sirainen <timo.sirainen@open-xchange.com> (37eeaef158)
+
+ lib-storage: Fix buffer overflow when reading oversized hdr-pop3-uidl header
+
+
+M src/lib-storage/index/index-pop3-uidl.c
+
+2018-05-20 12:27:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fcd42896d0)
+
+ fts: Add fts_enforced=body
+
+ Similar to "no", this doesn't enforce FTS indexing for header searches.
+ Similar to "yes", on FTS lookup failure it won't fallback to reading all
+ mails.
+
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-storage.h
+
+2019-03-27 16:44:21 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5f6e39c50e)
+
+ sdbox: Add "sdbox" event category
+
+ 2cd16e24fb442a066c6c3051c1042c1091b927bb only added it to the "dbox" alias.
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2019-03-14 18:57:54 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (91d9e32ea0)
+
+ lmtp: Add mail_user_settings to struct client
+
+
+M src/lmtp/lmtp-client.c
+M src/lmtp/lmtp-client.h
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2019-03-14 18:58:14 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1e4027afc9)
+
+ lib-storage: Add mailbox_keywords_merge()
+
+
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mailbox-keywords.c
+
+2019-02-28 15:10:59 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (5a54f432b2)
+
+ lib-storage: Add mailbox_search_mail_detach()
+
+ This allows keeping the struct mail open even after the mail_search_context
+ that created it is freed.
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2019-02-28 15:03:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (74233d0994)
+
+ lib-storage: Move tracking mails to mail_search_context from index-specific
+ code
+
+ This makes the next commit much easier to implement.
+
+M src/lib-storage/index/index-search-private.h
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-storage-private.h
+
+2019-02-28 15:08:38 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (0271d63e3e)
+
+ lib-storage: Move index_mail.search_mail to mail_private struct
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail.c
+
+2019-03-18 15:34:10 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (ba89825405)
+
+ lib-mail: istream-header-filter: Fix HEADER_FILTER_ADD_MISSING_EOH with
+ callback
+
+ If mail already had EOH and callback returned matched=TRUE in the EOH
+ callback (e.g. adding more headers), the callback was called a second time
+ for the EOH.
+
+ Currently there doesn't seem to be any existing code that was affected by
+ this bug.
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2019-03-14 10:10:45 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c4282c2597)
+
+ lib: Add test for backtrace-string
+
+
+M src/lib/Makefile.am
+A src/lib/test-backtrace.c
+M src/lib/test-lib.inc
+
+2019-03-08 13:38:56 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (e18c1bb1e6)
+
+ lib: Add libunwind support for getting backtrace
+
+ This actually resolves symbols to readable names making the backtrace
+ useful.
+
+M configure.ac
+A m4/want_unwind.m4
+M src/lib/Makefile.am
+M src/lib/backtrace-string.c
+
+2019-03-22 15:59:53 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (fbc3ccc4a9)
+
+ auth-request: Call auth_request_passdb_lookup_end() for all return paths of
+ auth_request_handle_passdb_callback()
+
+ Fixes: Panic: file auth-request.c: line 367 (auth_request_unref): assertion
+ failed: (array_count(&request->authdb_event) == 0) The panic happens when
+ auth request results in PASSDB_RESULT_USER_DISABLED.
+
+M src/auth/auth-request.c
+
+2019-01-16 08:58:15 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (38004627cd)
+
+ coccinelle: Add all semantic patches used in the past to a new dir
+
+ This commit merely imports the semantic patches without providing any
+ additional tooling to apply them. It also includes macros.h header used by
+ coccinelle to properly handle some of the more complex macros we have.
+
+A coccinelle/avoid-array_append-1elem.cocci
+A coccinelle/avoid-array_delete-1elem-0idx.cocci
+A coccinelle/avoid-array_delete-1elem-last.cocci
+A coccinelle/avoid-array_idx-0.cocci
+A coccinelle/avoid-array_idx-last.cocci
+A coccinelle/avoid-array_insert-1elem-0idx.cocci
+A coccinelle/avoid-i_stream_read_data-0-threshold.cocci
+A coccinelle/avoid-i_stream_read_data-minus1-threshold.cocci
+A coccinelle/event-set-forced-false-nop.cocci
+A coccinelle/macros.h
+A coccinelle/null-nop-buffer_free.cocci
+A coccinelle/null-nop-file_lock_free.cocci
+A coccinelle/null-nop-fs_deinit.cocci
+A coccinelle/null-nop-fs_file_close.cocci
+A coccinelle/null-nop-fs_file_deinit.cocci
+A coccinelle/null-nop-fs_unref.cocci
+A coccinelle/null-nop-hash_table_destroy.cocci
+A coccinelle/null-nop-http_client_request_abort.cocci
+A coccinelle/null-nop-i_close_fd.cocci
+A coccinelle/null-nop-i_stream_close.cocci
+A coccinelle/null-nop-i_stream_destroy.cocci
+A coccinelle/null-nop-i_stream_unref.cocci
+A coccinelle/null-nop-io_remove.cocci
+A coccinelle/null-nop-io_remove_closed.cocci
+A coccinelle/null-nop-iostream_proxy_unref.cocci
+A coccinelle/null-nop-mail_html2text_deinit.cocci
+A coccinelle/null-nop-mailbox_header_lookup_unref.cocci
+A coccinelle/null-nop-o_stream_close.cocci
+A coccinelle/null-nop-o_stream_destroy.cocci
+A coccinelle/null-nop-o_stream_unref.cocci
+A coccinelle/null-nop-pool_unref.cocci
+A coccinelle/null-nop-ssl_iostream_destroy.cocci
+A coccinelle/null-nop-str_free.cocci
+A coccinelle/null-nop-timeout_remove.cocci
+A coccinelle/str_begins-length-var.cocci
+A coccinelle/str_begins-strlen.cocci
+
+2019-03-22 09:20:11 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (08fd576595)
+
+ auth: Make db_oauth2_callback debug print human readable
+
+
+M src/auth/db-oauth2.c
+
+2019-03-22 08:11:21 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (d179c995a1)
+
+ lib-oauth2: Don't crash when http response has no payload
+
+
+M src/lib-oauth2/oauth2-request.c
+
+2019-03-21 08:39:28 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (a263db013e)
+
+ ipc-server: Reconnect on socket input error.
+
+
+M src/lib-master/ipc-server.c
+
+2019-03-21 15:29:20 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (2856474256)
+
+ ipc-server: Change reconnect timeout to 10 seconds.
+
+
+M src/lib-master/ipc-server.c
+
+2019-03-21 08:38:52 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (34302d8cb6)
+
+ ipc: Terminate IPC process with master.
+
+
+M src/ipc/main.c
+
+2019-03-21 15:23:51 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (f4458ad743)
+
+ ipc: Introduce ipc_groups_disconnect_all()
+
+
+M src/ipc/ipc-group.c
+M src/ipc/ipc-group.h
+
+2016-10-04 16:00:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (963ba31237)
+
+ lib-ssl-iostream: Minor assert cleanup.
+
+ If stream->closed is TRUE then stream->stream_errno != 0 as well. And here
+ we really want to be sure that stream_errno isn't 0, so make the assert
+ reflect that.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2019-01-03 20:32:26 +0100 Olaf Hering <olaf@aepfle.de> (c91d3f443d)
+
+ config: reproducible output from settings-get.pl
+
+ If the same source gets built twice ('build same source on different hosts
+ at different times') the resulting files may differ. Fix this by sorting the
+ hash keys before usage.
+
+ Signed-off-by: Olaf Hering <olaf@aepfle.de>
+
+M src/config/settings-get.pl
+
+2019-03-20 14:20:44 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (0c6dfef65e)
+
+ lib-oauth2: Remove obsolete files.
+
+
+D src/lib-oauth2/oauth2-introspect.c
+D src/lib-oauth2/oauth2-refresh.c
+D src/lib-oauth2/oauth2-token-validate.c
+
+2019-02-11 16:37:53 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (8c2fd80e32)
+
+ lib-oauth2: Refactor oauth request code.
+
+ Use one parameterized function instead of three copy-paste functions.
+
+M src/auth/db-oauth2.c
+M src/lib-oauth2/Makefile.am
+M src/lib-oauth2/oauth2-private.h
+A src/lib-oauth2/oauth2-request.c
+M src/lib-oauth2/oauth2.h
+M src/lib-oauth2/test-oauth2-json.c
+
+2018-08-29 19:01:37 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7debc474f2)
+
+ lib-http: client: Fix segfault crash sometimes happening while running
+ sub-ioloop in request callback.
+
+ The connection was not completely disconnected before calling the callback.
+ Running a sub-ioloop means that timeouts and ios that haven't been destroyed
+ yet for the connection can be triggered, causing all kinds of issues.
+ Therefore, it is important to disconnect before calling the request
+ callbacks. The fix therefore consists of calling
+ http_client_connection_disconnect() before calling
+ http_client_connection_retry_requests() in
+ http_client_connection_abort_temp_error().
+
+ This also amends the test suite to account for these changes, as it is now
+ unclear which requests will actually succeed.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/test-http-client-errors.c
+
+2018-09-16 15:36:59 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (82e3ba00ef)
+
+ lib-http: client: Abort pending requests at connection destroy rather than
+ disconnect.
+
+ This is needed for subsequent changes.
+
+M src/lib-http/http-client-connection.c
+
+2018-09-16 15:19:23 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (8128231746)
+
+ lib-http: client: Implement the no_auto_retry setting in
+ http_client_request_retry().
+
+ Before, it was implemented in http_client_connection_retry_requests(), but
+ that would not work after http_client_connection_disconnect().The peer is
+ detached from the connection there, which makes conn->peer->client->set
+ unavailable. Instead, we use req->client->set for each request individually
+ to determine whether it should be retried or not.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+
+2019-01-06 12:11:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f2a06ed48f)
+
+ lib-storage: mail-storage-service: Fix failure prefix composition in
+ mail_storage_service_lookup().
+
+ It produced a prefix without the required ": " suffix and in one case it
+ produced a spurious comma.
+
+M src/lib-storage/mail-storage-service.c
+
+2019-03-20 14:00:51 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (40dcd318f1)
+
+ lib-storage: Fix -Wimplicit-fallthrough compiler warning
+
+
+M src/lib-storage/index/index-search.c
+
+2019-03-20 09:26:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9a7510340e)
+
+ lib-smtp: smtp-server-reply - Fix dead assignment in
+ smtp_server_reply_get_path_len().
+
+ Problem found by Clang scan-build.
+
+M src/lib-smtp/smtp-server-reply.c
+
+2018-11-14 01:10:13 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d1888691b7)
+
+ lib-smtp: test-smtp-payload: Implement connection reuse.
+
+ Makes the test as a whole faster and it tests an important aspect of
+ connection management (which, in fact, we currently don't use).
+
+M src/lib-smtp/test-smtp-payload.c
+
+2019-03-19 01:54:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (13d3ee7c44)
+
+ lib-smtp: smtp-server-cmd-rcpt - Use smtp_server_recipient_reply() to submit
+ the default success reply.
+
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+
+2019-03-16 00:53:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (18f2d87b7b)
+
+ lib-smtp: smtp-server-recipient - Enforce <path> prefix in forwarded reply.
+
+ This is mainly for concistency, but it also prevents exposing addresses that
+ are supposed to be only visible to the backend. Also, this implicitly adds
+ the
+ <path> prefix to the reply when it is missing, provided it is not an RCPT
+ success reply.
+
+M src/lib-smtp/smtp-server-recipient.c
+
+2019-03-15 01:16:35 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b60467f8b6)
+
+ lib-smtp: smtp-server-reply - Add smtp_server_reply_replace_path().
+
+ Replaces or adds a <path> prefix to the reply text.
+
+M src/lib-smtp/smtp-server-reply.c
+M src/lib-smtp/smtp-server.h
+
+2019-03-15 00:14:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b2e90e731a)
+
+ lib: str - Add str_replace().
+
+
+M src/lib/str.h
+
+2019-03-14 23:55:00 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9d3389f81d)
+
+ lib: buffer - Add buffer_replace().
+
+
+M src/lib/buffer.c
+M src/lib/buffer.h
+M src/lib/test-buffer.c
+
+2019-03-18 00:52:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1ee9b0c252)
+
+ lib: buffer - Improve header comment for buffer_insert() and
+ buffer_delete().
+
+
+M src/lib/buffer.h
+
+2019-03-16 17:41:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7dc362302b)
+
+ lib-smtp: smtp-server-reply - Add smtp_server_reply_prepend_text().
+
+
+M src/lib-smtp/smtp-server-reply.c
+M src/lib-smtp/smtp-server.h
+
+2019-03-16 17:31:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4f6b3c4993)
+
+ lib-smtp: smtp-server-reply - Add smtp_server_reply_get_status().
+
+
+M src/lib-smtp/smtp-server-reply.c
+M src/lib-smtp/smtp-server.h
+
+2019-03-16 17:13:28 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d72f0261d0)
+
+ lib-smtp: smtp-server-reply - Support changing the reply status and enhanced
+ code.
+
+
+M src/lib-smtp/smtp-server-reply.c
+M src/lib-smtp/smtp-server.h
+
+2019-03-16 16:25:22 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (dd87c263b5)
+
+ lib-smtp: smtp-server-reply - Assign reply status and enhanced code in a
+ separate function.
+
+
+M src/lib-smtp/smtp-server-reply.c
+
+2019-03-16 16:24:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fa7f0b8d87)
+
+ lib-smtp: smtp-server-recipient - Add smtp_server_recipient_get_reply() and
+ use it.
+
+
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server.h
+
+2019-03-16 14:41:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (370e66c8ad)
+
+ lib-smtp: smtp-server-recipient - Add hook for the submission of a
+ DATA/BDAT/BURL command reply.
+
+
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server.h
+
+2019-03-16 15:26:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8e8c289d25)
+
+ lib-smtp: smtp-server-cmd-data - Call smtp_server_transaction_last_data()
+ earlier for the DATA command.
+
+ Makes sure rcpt->cmd is set before replies are being submitted.
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2019-03-16 15:20:22 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (82212ad0b1)
+
+ lib-mstp: smtp-server-recipient - Make smtp_server_recipient_call_hooks()
+ private rather than static.
+
+
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+
+2019-03-16 15:14:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8f8168bd50)
+
+ lib-smtp: smtp-server-transaction - Allow calling
+ smtp_server_transaction_last_data() more than once.
+
+
+M src/lib-smtp/smtp-server-transaction.c
+
+2019-03-16 15:13:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (99b4d949cf)
+
+ lib-smtp: smtp-server-transaction - Allow calling
+ smtp_server_transaction_last_data() when all recipients failed.
+
+
+M src/lib-smtp/smtp-server-transaction.c
+
+2019-03-16 15:03:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (af56155164)
+
+ lib-smtp: smtp-server-command - Add hook for the submission of individual
+ replies.
+
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server.h
+
+2019-03-16 14:47:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (cb31710e72)
+
+ lib-smtp: smtp-server-command - Make removal of hook optional for
+ smtp_server_command_call_hooks().
+
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-private.h
+
+2019-03-15 02:14:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (66a2b9dbb1)
+
+ submission: Use the new recipient reply wrapper functions.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend.c
+
+2019-03-14 23:31:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e0f9050320)
+
+ lmtp: lmtp-proxy - Use the new recipient reply wrapper functions.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2019-03-14 22:49:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3c15996803)
+
+ lmtp: lmtp-local - Use the new recipient reply wrapper functions.
+
+
+M src/lmtp/lmtp-local.c
+
+2019-03-15 01:50:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (82c364ac6e)
+
+ lib-smtp: smtp-server-recipient - Add smtp_server_recipient_reply_forward().
+
+ This acts as a wrapper around smtp_server_reply_index_forward().
+
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server.h
+
+2019-03-15 01:38:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ac59dd48b1)
+
+ lib-smtp: smtp-server-recipient - Add smtp_server_recipient_is_replied().
+
+ This is a convenience wrapper around smtp_server_command_is_replied().
+
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server.h
+
+2019-03-14 22:31:09 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1cc493cfab)
+
+ lib-smtp: smtp-server-recipient - Add smtp_server_recipient_reply().
+
+ This is a convenience wrapper around smtp_server_reply_index(). This
+ implicitly adds the <path> prefix to the reply (when it is not an RCPT
+ success reply).
+
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server.h
+
+2019-03-19 12:37:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f5ca80d9df)
+
+ lib-smtp: smtp-server-cmd-rcpt - Add smtp_server_cmd_is_rcpt().
+
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server.h
+
+2019-03-16 02:05:06 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ead4ea1f9b)
+
+ lmtp: lmtp-proxy - Remove useless proxy->pending_data_cmd.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2019-03-16 01:49:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (652555af18)
+
+ lmtp: lmtp-proxy - Replace cmd parameter with recipient for
+ lmtp_proxy_handle_reply().
+
+
+M src/lmtp/lmtp-proxy.c
+
+2019-03-16 01:13:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5f49360d0a)
+
+ lmtp: lmtp-local - Remove cmd parameter from lmtp_local_open_raw_mail().
+
+
+M src/lmtp/lmtp-local.c
+
+2019-03-16 01:12:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7954549a34)
+
+ lmtp: lmtp-local - Remove cmd parameter from lmtp_local_rcpt_fail_all().
+
+
+M src/lmtp/lmtp-local.c
+
+2019-03-16 01:07:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4a4bb19a94)
+
+ lmtp: lmtp-local - Remove cmd parameter from
+ lmtp_local_rcpt_reply_overquota().
+
+
+M src/lmtp/lmtp-local.c
+
+2019-03-16 14:53:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7d3ddff1bc)
+
+ lib-smtp: smtp-server-command - Fix segfault occurring in
+ smtp_server_command_get_reply().
+
+ Can occur when not all replies are submitted yet.
+
+M src/lib-smtp/smtp-server-command.c
+
+2019-03-18 15:27:43 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (6bdeddc592)
+
+ auth: Fix deinitialization of multiple passdbs.
+
+
+M src/auth/db-oauth2.c
+
+2019-03-14 15:53:41 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (66f4367e2f)
+
+ lib-oauth2: Add client_id and client_secret to introspect request
+
+
+M src/lib-oauth2/oauth2-introspect.c
+
+2019-03-14 10:54:30 -0600 Michael Slusarz <michael.slusarz@open-xchange.com> (d90893ed15)
+
+ core: Update README.md to fix broken RFC links
+
+
+M README.md
+
+2019-03-07 12:48:05 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (82c34c89fe)
+
+ stats: default settings can be static
+
+ Nothing has a reason to access this structure outside of this source file.
+
+M src/stats/stats-settings.c
+
+2019-03-05 08:21:49 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (b5a98903e1)
+
+ stats: no need for void cast of a void return value
+
+ client_{reader,writer}_create() return void, therefore there is no return
+ value to discard.
+
+M src/stats/main.c
+
+2019-02-14 00:21:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b5f6176282)
+
+ lmtp: Replace i_info() with e_info().
+
+
+M src/lmtp/lmtp-client.c
+M src/lmtp/lmtp-proxy.c
+
+2019-02-14 00:17:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5ee46c69de)
+
+ lmtp: Replace i_error() with e_error().
+
+
+M src/lmtp/lmtp-client.c
+M src/lmtp/lmtp-commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+
+2018-12-27 22:39:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (348d10ea65)
+
+ lmtp: proxy: Use client.event for SMTP client connection.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2018-12-27 22:37:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a66de43e5e)
+
+ lmtp: local: Use rcpt.event as mail_*user's parent event.
+
+
+M src/lmtp/lmtp-local.c
+
+2019-02-14 00:36:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (05a5ae3c1c)
+
+ lmtp: Add username to recipient event.
+
+
+M src/lmtp/lmtp-commands.c
+M src/lmtp/lmtp-proxy.c
+
+2018-12-27 22:32:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2cad948783)
+
+ lmtp: Add client.event.
+
+
+M src/lmtp/lmtp-client.c
+M src/lmtp/lmtp-client.h
+M src/lmtp/lmtp-common.h
+M src/lmtp/main.c
+
+2019-03-09 23:33:24 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e8ecb7025a)
+
+ lib-smtp: smtp-submit - Rename event setting to event_parent.
+
+
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/smtp-submit.h
+
+2019-03-08 22:21:22 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b15f9fcfc5)
+
+ lib-smtp: smtp-server - Rename event setting to event_parent.
+
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server.c
+M src/lib-smtp/smtp-server.h
+
+2019-03-08 21:47:00 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (380e43c622)
+
+ lib-smtp: smtp-client - Rename event setting to event_parent.
+
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client.c
+M src/lib-smtp/smtp-client.h
+M src/lib-smtp/smtp-submit.c
+
+2019-03-08 22:20:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3c38f6341b)
+
+ lib-http: http-client - Rename event setting to event_parent.
+
+
+M src/auth/auth-policy.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2019-03-12 00:03:18 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (03960c3fdf)
+
+ auth: Add missing log prefix to "userdb cache expired" debug line
+
+
+M src/auth/auth-request.c
+
+2019-03-08 15:39:51 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (7ce4928a20)
+
+ auth: Use request event for messages after lookup has ended
+
+ Otherwise the prefix is going to be wrong, and we cannot use the
+ authdb_event here because the authdb event is wrong at this point.
+
+M src/auth/auth-request.c
+
+2019-03-08 15:31:49 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (e14ba50e12)
+
+ auth: Ensure authdb_event returns event
+
+ We don't want nasty crashes due to lack of event.
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2019-03-07 03:39:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2325b20e02)
+
+ master: test-master-login-auth - Add request reconnect test.
+
+
+M src/master/test-master-login-auth.c
+
+2019-03-07 02:44:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (33935b0ea7)
+
+ master: test-master-login-auth - Add request disconnect test.
+
+
+M src/master/test-master-login-auth.c
+
+2019-03-07 02:37:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b174f7ddca)
+
+ master: test-master-login-auth - Add support for retrying requests.
+
+
+M src/master/test-master-login-auth.c
+
+2019-03-07 02:20:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (61d359d28b)
+
+ master: test-master-login-auth - Run the auth request in a separate
+ function.
+
+
+M src/master/test-master-login-auth.c
+
+2019-03-05 02:56:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (60282f00eb)
+
+ lib-master: master-login-auth - Make sure connection is disconnected upon
+ error.
+
+
+M src/lib-master/master-login-auth.c
+
+2019-03-07 01:04:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (41f08b2c3d)
+
+ master: test-auth-client - Add handshake reconnect test.
+
+
+M src/master/test-auth-client.c
+
+2019-03-06 23:34:56 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b52e1dc20b)
+
+ master: test-auth-client - Add handshake disconnect test.
+
+
+M src/master/test-auth-client.c
+
+2019-03-07 00:50:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1c04f94c88)
+
+ master: test-auth-client - Add support for retrying handshakes.
+
+
+M src/master/test-auth-client.c
+
+2019-03-07 00:56:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c87d297af9)
+
+ master: test-auth-client - Run the auth client in a separate function.
+
+
+M src/master/test-auth-client.c
+
+2019-03-07 01:33:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9434b7f5cd)
+
+ master: test-auth-client - Fix duplicate server connection deinit.
+
+
+M src/master/test-auth-client.c
+
+2019-03-05 02:35:45 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (37268b87a0)
+
+ lib-auth: auth-client-connection - Make sure connection is disconnected upon
+ error.
+
+
+M src/lib-auth/auth-client-connection.c
+
+2019-03-06 22:45:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (85b83f7702)
+
+ master: test-auth-master - Add userdb lookup reconnect test.
+
+
+M src/master/test-auth-master.c
+
+2019-03-06 22:01:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e5628cdbb1)
+
+ master: test-auth-master - Add userdb lookup disconnect test.
+
+
+M src/master/test-auth-master.c
+
+2019-03-06 22:15:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d2903ef474)
+
+ master: test-auth-master - Add support for retrying userdb lookups.
+
+
+M src/master/test-auth-master.c
+
+2019-03-06 23:00:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9090681a1a)
+
+ master: test-auth-master - Add passdb lookup reconnect test.
+
+
+M src/master/test-auth-master.c
+
+2019-03-06 22:54:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8f99c53fcc)
+
+ master: test-auth-master - Add passdb lookup disconnect test.
+
+
+M src/master/test-auth-master.c
+
+2019-03-06 22:08:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (37a5be8d2f)
+
+ master: test-auth-master - Add support for retrying passdb lookups.
+
+
+M src/master/test-auth-master.c
+
+2019-03-05 00:48:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e45f72690b)
+
+ lib-auth: auth-master - Create ioloop before connecting to the auth service.
+
+
+M src/lib-auth/auth-master.c
+
+2019-03-05 01:43:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9e1f88adb0)
+
+ lib-auth: auth-master - Make sure connection is disconnected upon error.
+
+
+M src/lib-auth/auth-master.c
+
+2019-03-08 12:34:29 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (211e7bc888)
+
+ lib: Panic on most epoll_ctl() failures
+
+ Anything except ENOSPC or ENOMEM points to a bug in code. Getting core dump
+ from those helps debugging.
+
+M src/lib/ioloop-epoll.c
+
+2019-03-07 21:51:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (062ed1d43e)
+
+ lib: connection - Turn connection_init_client_ip*() name parameter into an
+ explicit hostname.
+
+ This way, the default connection name will be hostname:ip when hostname is
+ not NULL. This will be helpful once the connection API has TLS support.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib/connection.c
+M src/lib/connection.h
+
+2019-03-01 10:57:40 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (06c4d342d6)
+
+ auth: Add client_secret setting
+
+
+M src/auth/db-oauth2.c
+M src/lib-oauth2/oauth2-passwd-grant.c
+
+2019-03-01 10:57:22 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (7be8af896c)
+
+ auth: Fix for processing oauth2 responses with 4xx HTTP status.
+
+
+M src/auth/db-oauth2.c
+
+2019-03-02 13:05:08 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (404b508aa1)
+
+ lib-smtp: smtp-client-command - Emit smtp_client_command_finished event for
+ replied commands.
+
+ This was an omission.
+
+M src/lib-smtp/smtp-client-command.c
+
+2019-03-02 13:08:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0343a5596e)
+
+ lib-smtp: smtp-client-command - Make sure command event is finished just
+ once.
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-private.h
+
+2019-03-04 18:44:30 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (622d67fdf0)
+
+ NEWS: Add v2.3.5
+
+
+M NEWS
+
+2018-12-09 21:18:22 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (148519bdf5)
+
+ lib-oauth2: Provide a unit test for the JSON response payload parser.
+
+
+M src/lib-oauth2/Makefile.am
+A src/lib-oauth2/test-oauth2-json.c
+
+2018-12-09 21:14:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ae9512110d)
+
+ lib-oauth2: Fix assert panic occurring while skipping ignored object and
+ array fields.
+
+ Fixed by using json_parse_skip(), rather than json_parse_skip_next(). The
+ latter is not suitable for skipping a value that is already partially parsed
+ by json_parse_next().
+
+ Panic was:
+
+ Panic: file json-parser.c: line 668 (json_parse_skip_next): assertion
+ failed: (parser->state == JSON_STATE_OBJECT_COLON || parser->state ==
+ JSON_STATE_OBJECT_VALUE || parser->state == JSON_STATE_ARRAY_VALUE ||
+ parser->state == JSON_STATE_ARRAY_NEXT)
+
+M src/lib-oauth2/oauth2.c
+
+2018-12-09 21:08:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c68a0ef1e3)
+
+ lib-oauth2: Fix asynchronous parsing of JSON response payload.
+
+ The problem was caused by the fact that req->field_name was reset in the
+ beginning of oauth2_parse_json(), which is continuously called when more
+ payload can be read from the input stream. This leads to corruption of the
+ parser state machine each time parsing is continued.
+
+ To fix this issue, the field_name is now reset only when the parsing
+ commences.
+
+M src/lib-oauth2/oauth2-introspect.c
+M src/lib-oauth2/oauth2-refresh.c
+M src/lib-oauth2/oauth2-token-validate.c
+M src/lib-oauth2/oauth2.c
+
+2018-12-09 20:27:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (dbc7e7a2dd)
+
+ lib: json-parser: Add unit test on skipping various object member fields.
+
+ This both tests skipping fields based on their member key and based on their
+ value types; i.e., after calling json_parse_next() for the object member
+ value.
+
+M src/lib/test-json-parser.c
+
+2018-12-09 20:24:28 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b8c1ea7f24)
+
+ lib: json-parser: Add support for skipping a value that is already partially
+ parsed.
+
+ Adds json_parse_skip(), which skips the remainder of the value parsed
+ earlier by json_parse_next(). This is needed when values need to be skipped
+ by their value type rather than their object member key.
+
+M src/lib/json-parser.c
+M src/lib/json-parser.h
+
+2019-02-27 15:25:06 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (f3020c1683)
+
+ lib-storage: pop3c - Copy SSL settings correctly
+
+ When attempting to use pop3c with immediate SSL, it would crash due to
+ invalid memory access during connection setup. Also the SSL mode is not
+ copied so SSL handshake is not attempted at later stage.
+
+ Was broken in 01435c38e7 and ebcf7d6c92
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2019-03-02 17:18:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ded9df9973)
+
+ lib-smtp: smtp-submit - Emit named events.
+
+ These have some overlap with the smtp-client events, but for the sendmail
+ binary submission method those are not produced.
+
+M src/lib-smtp/smtp-submit.c
+
+2018-12-28 00:41:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (dce78e3591)
+
+ lib-smtp: smtp-submit - Add support for event API.
+
+
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/smtp-submit.h
+
+2018-12-28 00:36:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e29f6955a7)
+
+ lib-smtp: smtp-submit - Collect optional inputs to
+ smtp_submit_session_init() into a struct.
+
+
+M src/lib-lda/mail-send.c
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/smtp-submit.h
+M src/lib-smtp/test-smtp-submit.c
+
+2019-02-12 01:48:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5c4d394bf9)
+
+ lib-smtp: smtp-server-transaction - Record the size of the message data in
+ the event at the end of the transaction.
+
+
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-transaction.c
+
+2019-02-12 01:47:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c82227cef5)
+
+ lib-smtp: smtp-server-recipient - Emit named events.
+
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server-transaction.c
+
+2019-02-12 01:40:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d62d003283)
+
+ lib-smtp: smtp-server-transaction - Emit named events.
+
+
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-transaction.c
+
+2019-02-12 01:33:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c0def4d893)
+
+ lib-smtp: smtp-server - Record the number of denied recipients.
+
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-private.h
+
+2019-02-12 01:08:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a54bafe30b)
+
+ lib-smtp: smtp-server-recipient - Manage "finished" status of the recipient.
+
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/smtp-server.h
+
+2019-02-12 00:59:28 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d01002daba)
+
+ lib-smtp: smtp-server-transaction - Manage "finished" status of the
+ transaction.
+
+
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-cmd-rset.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/smtp-server.h
+
+2019-02-12 00:22:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7141cd2e60)
+
+ lib-smtp: smtp-server: Set pointer parameter of
+ smtp_server_transaction_free() to NULL immediately.
+
+
+M src/lib-smtp/smtp-server-transaction.c
+
+2019-02-12 00:19:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (480483ca12)
+
+ lib-smtp: smtp-server - Call transaction callbacks from transaction object
+ functions.
+
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-transaction.c
+
+2019-02-04 03:36:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6f2d6a3108)
+
+ lib-smtp: smtp-server-command - Emit named events.
+
+
+M src/lib-smtp/smtp-server-command.c
+
+2019-02-12 00:09:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8910ddac69)
+
+ lib-smtp: smtp-server-reply - Add smtp_server_reply_add_to_event().
+
+
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-reply.c
+
+2019-02-04 03:37:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4c2dd7fc9f)
+
+ lib-smtp: smtp-server - Record the enhanced code in the reply content.
+
+
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-reply.c
+
+2019-02-12 00:01:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (03ba35df5b)
+
+ lib-smtp: smtp-server-reply - Add smtp_server_reply_is_success() and use it.
+
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-reply.c
+M src/lib-smtp/smtp-server.h
+
+2019-02-04 03:32:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4fc917e7ce)
+
+ lib-smtp: smtp-server-reply - Add smtp_server_reply_get_message().
+
+
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-reply.c
+
+2019-02-11 23:49:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4cbf9aa678)
+
+ lib-smtp: smtp-server-reply - Make smtp_server_reply_get_one_line() reply
+ parameter const.
+
+
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-reply.c
+
+2019-02-12 00:04:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (870b3f9d45)
+
+ lib-smtp: smtp-server.h - Move server functions to a single place.
+
+ Corrects position of smtp_server_switch_ioloop() in the header file.
+
+M src/lib-smtp/smtp-server.h
+
+2018-12-17 04:08:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7ac7af5e39)
+
+ lib-smtp: smtp-server - Replace smtp_*_debug() with e_debug().
+
+
+M src/lib-smtp/smtp-server-cmd-auth.c
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-cmd-starttls.c
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-reply.c
+
+2018-12-24 01:46:56 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (cb89fd6910)
+
+ lib-smtp: smtp-server - Replace smtp_*_error() with e_error().
+
+
+M src/lib-smtp/smtp-server-cmd-auth.c
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2018-12-24 01:35:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0cd4e5d0f1)
+
+ lib-smtp: smtp-server-connection - Replace i_error() with e_error().
+
+
+M src/lib-smtp/smtp-server-connection.c
+
+2018-12-17 03:53:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (70f070f705)
+
+ lib-smtp: smtp-server - Remove redundant debug logging checks.
+
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-reply.c
+
+2018-12-17 03:45:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (331377506b)
+
+ lib-smtp: smtp-server - Add support for event API.
+
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server-reply.c
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/smtp-server.c
+M src/lib-smtp/smtp-server.h
+
+2019-02-14 01:05:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (eb951734ea)
+
+ lib-smtp: smtp-server - Provide RCPT parameters as parameter to
+ smtp_server_recipient_create().
+
+ Needed for event API, but also fixes a memory leak occurring upon parameter
+ parse error.
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+
+2018-12-24 00:11:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (13ef793c0d)
+
+ lib-smtp: smtp-server - Add smtp_server_command_new_invalid().
+
+ Creates an empty command for sending an error reply for an invalid command.
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2018-12-16 19:40:51 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5d1d92a448)
+
+ lib-smtp: smtp-server - Remove unused server->ioloop field.
+
+
+M src/lib-smtp/smtp-server-private.h
+
+2018-12-16 19:29:35 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6e53246b9a)
+
+ lib-smtp: smtp-server - Properly document all settings.
+
+
+M src/lib-smtp/smtp-server.h
+
+2019-02-28 10:03:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2a28d402cd)
+
+ lib: connection - Add generic event fields for local and remote addresses.
+
+
+M src/lib/connection.c
+
+2019-02-28 09:55:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (88ff981df1)
+
+ lib: connection - Use the connection event for all connection types
+ directly.
+
+ This way, the common event fields for the connection are available to each
+ connection type and its descendant events for objects like commands,
+ requests, and transactions.
+
+ This also creates a standard log prefix used by all connection types.
+
+M src/lib-auth/auth-client-connection.c
+M src/lib-http/http-client-connection.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib/connection.c
+M src/lib/connection.h
+
+2019-03-01 16:21:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2c67ab24b0)
+
+ lib-smtp: smtp-client-connection - Create separate parent event to add the
+ smtp-client log prefix.
+
+ This is needed for a later commit that moves the addition of the connection
+ log prefix to the connection API.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2019-03-01 16:54:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (95b3b93cd7)
+
+ lib-smtp: smtp-client-connection - Retain the host name in the connection
+ label after DNS lookup.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2019-03-01 15:16:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1ff79ad457)
+
+ lib-smtp: smtp-client-connection - Remember whether the hostname is actually
+ an IP address.
+
+ This is needed to prevent connection log prefix from containing an IP twice.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2019-03-01 16:02:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fc8c54c48f)
+
+ lib-dns: dns-lookup - Perform connection-related logging using the
+ connection event.
+
+
+M src/lib-dns/dns-lookup.c
+
+2019-03-01 15:12:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (25e066d15d)
+
+ lib: connection - Add socket_path event field for unix connections.
+
+
+M src/lib/connection.c
+
+2019-02-28 09:49:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b46160df42)
+
+ lib-http: http-client-connection - Drop the connection ID.
+
+ This is now unused.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2019-02-28 09:41:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (29f178bd5b)
+
+ lib-http: http-client-connection - Use the default connection label.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2019-02-28 09:36:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b6254c2df1)
+
+ lib-smtp: smtp-client-connection - Drop the connection ID.
+
+ This is now unused.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2019-02-28 09:29:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (53cc8aa457)
+
+ lib-smtp: smtp-client-connection - Use the default connection label.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2019-02-27 22:19:27 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6a10d34fad)
+
+ lib-http: http-server-connection - Drop the connection ID.
+
+ This is now unused.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+
+2019-02-27 22:17:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (aa81aeaa29)
+
+ lib-http: http-server-connection - Drop the connection properties.
+
+ These are now unused.
+
+M src/lib-http/http-server-private.h
+
+2019-02-27 22:13:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ccc045e1fe)
+
+ lib-http: http-server-connection - Use the default connection label.
+
+
+M src/lib-http/http-server-connection.c
+
+2019-02-27 21:59:08 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (30705e3d5e)
+
+ lib-smtp: smtp-server-connection - Drop the connection ID.
+
+ This is now unused.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2019-02-27 21:52:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d33a1b0e27)
+
+ lib-smtp: smtp-server-connection - Drop the connection properties.
+
+ These are now unused.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2019-02-27 21:49:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (df76bd444f)
+
+ lib-smtp: smtp-server-connection - Use the default connection label.
+
+
+M src/lib-smtp/smtp-server-connection.c
+
+2019-02-27 21:34:33 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fb49d3deb3)
+
+ lib: connection - Remove existing log prefix.
+
+ It is often redundant to the parent event's log prefix. Subsequent commits
+ will yield a better and more generic solution.
+
+M src/lib/connection.c
+
+2019-02-27 21:30:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (632165ee8f)
+
+ lib: connection - Move creation of passthrough event in
+ connection_client_connected().
+
+ Moved close to where it is used, which is more common in event code
+ elsewhere.
+
+M src/lib/connection.c
+
+2019-02-27 21:41:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b7181b1216)
+
+ lib: connection - Make providing a name for the connection optional.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2019-02-27 21:23:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bb5757186d)
+
+ lib-smtp: smtp-server-connection - Use connection properties for remote
+ ip:port.
+
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-transaction.c
+
+2019-02-27 21:14:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ab7079bbf6)
+
+ lib-http: http-server-connection - Use connection->label instead of
+ connection->name.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+
+2019-02-27 21:12:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1be917a9db)
+
+ lib-smtp: smtp-server-connection - Use connection->label instead of
+ connection->name.
+
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2019-02-27 00:33:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c472d8765b)
+
+ lib-http: http-client-connection - Use connection_init() immediately upon
+ creation.
+
+ This avoids the need to remember whether the connection was initialized.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2019-03-02 00:49:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (20845c77cd)
+
+ lib: connection - Compose standard names for the input/output streams.
+
+
+M src/lib/connection.c
+
+2019-02-27 03:16:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e7c57fd29f)
+
+ lib: connection - Add a unique numeric ID to the connection.
+
+ It is incremented for each created connection. The IDs are specific to the
+ connection list.
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2019-02-27 03:09:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d218355f81)
+
+ lib: connection - Compose a standard label for logging.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2019-02-27 02:28:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (173ca30fe0)
+
+ lib: connection - Add connection_init_server_ip().
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2019-02-27 02:21:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1c4dc942a5)
+
+ lib: connection - Record and update connection properties.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2019-03-01 15:59:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b730d272a8)
+
+ lib-dns: dns-lookup - Initialize the connection immediately.
+
+
+M src/lib-dns/dns-lookup.c
+
+2019-02-27 02:34:08 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (dc1e251b81)
+
+ lib-http: http-server-connection - Don't use the remote peer address to
+ compose the server base URL.
+
+ It makes no sense.
+
+M src/lib-http/http-server-connection.c
+
+2019-02-27 02:01:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0e06e1d00f)
+
+ lib: connection - Assign initial file descriptors in shared
+ connection_init_full().
+
+ This makes the file descriptors (if available) usable in the shared
+ connection_init_full() function.
+
+M src/lib/connection.c
+
+2019-02-27 01:12:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (166a21818a)
+
+ lib: connection - Rename ip and port fields.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2019-02-27 01:46:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2c0648afc0)
+
+ lib: connection - Add name as parameter to connection_init_client_ip*().
+
+
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/test-http-server-errors.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/test-smtp-server-errors.c
+M src/lib/connection.c
+M src/lib/connection.h
+
+2019-02-27 00:11:06 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d5b0f3fe88)
+
+ lib: connection - Add name as parameter to connection_init().
+
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib/connection.c
+M src/lib/connection.h
+
+2019-02-28 10:12:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ab848ab7e4)
+
+ lib: Reformat connection.c.
+
+
+M src/lib/connection.c
+
+2019-02-27 20:58:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c72fbe2f9f)
+
+ replication: replicator: doveadm-connection - quota-status: Remove
+ superfluous brackets from connection name.
+
+
+M src/replication/replicator/doveadm-connection.c
+
+2019-02-27 20:55:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b2215adebe)
+
+ plugins: quota - quota-status: Remove superfluous brackets from connection
+ name.
+
+
+M src/plugins/quota/quota-status.c
+
+2019-02-27 15:39:34 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (842025ec07)
+
+ auth: Fix processing of wrong password for oauth2 password grant
+
+
+M src/auth/db-oauth2.c
+
+2019-02-26 03:26:00 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (db2b6666d4)
+
+ doc: Add Solr 7.7 configuration files
+
+ The schema for 7.7 is based on work by Daniel Miller <dmiller@amfes.com>.
+
+M doc/Makefile.am
+A doc/solr-config-7.7.0.xml
+A doc/solr-schema-7.7.0.xml
+
+2019-02-26 03:07:25 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (2b4c1731af)
+
+ fts-solr: Add rawlog support
+
+
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/fts-solr-plugin.h
+M src/plugins/fts-solr/solr-connection.c
+
+2019-02-25 19:51:27 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (b4741a3c50)
+
+ fts-solr: Use fts_solr_settings struct in solr_connection_init()
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-connection.h
+
+2019-02-26 11:49:46 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (f13b11a01d)
+
+ auth-policy: Emit event when report finishes
+
+
+M src/auth/auth-policy.c
+
+2019-02-25 20:55:03 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1abd55c07f)
+
+ fs-posix: fs_read_stream() - Don't close file's fd
+
+ This is especially important with newly created files, because they may
+ still be accessed after reading. The next file access attempt after
+ fs_read_stream() might cause the file to be recreated and crash.
+
+ Fixes: Panic: file fs-posix.c: line 252 (fs_posix_create): assertion failed:
+ (file->temp_path == NULL)
+
+M src/lib-fs/fs-posix.c
+
+2019-02-25 16:40:46 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c802e1c2ca)
+
+ doveadm: server-connection - Remove redundant ssl verification
+
+ Certificate validation is done by lib-ssl-iostream already, don't do it here
+ again.
+
+ Fixes ssl_client_require_valid_cert=no for doveadm sync
+
+M src/doveadm/server-connection.c
+
+2019-02-25 16:46:59 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (ce1ac69576)
+
+ doveadm: Make sure SSL settings are always available
+
+
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+
+2019-02-25 18:07:45 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (8685f9cf0a)
+
+ lib-ssl-iostream: Add comment about using ssl_iostream_check_cert_validity
+
+
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2019-02-25 17:22:57 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (2e5b624ef1)
+
+ lib-ssl-iostream: Add comment about verifying certs in callbacks
+
+
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2019-02-25 17:44:09 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (2dea2f87f6)
+
+ lib-ssl-iostream: Call ssl_iostream_check_cert_validity as default
+
+ Unless callback is specified, call ssl_iostream_check_cert_validity instead
+ of ssl_iostream_cert_match_name to make sure we perform same checks
+ consistently.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2019-02-21 14:18:08 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (62d81fc294)
+
+ auth: db-lua - Add method for creating request event
+
+ This is needed to make sure that correct event is used when prefix logging
+ is wanted.
+
+M src/auth/db-lua.c
+
+2019-02-21 20:23:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (aa3c6c784e)
+
+ auth: mech-gssapi - Fix compile problem.
+
+
+M src/auth/mech-gssapi.c
+
+2019-02-18 12:36:07 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (191321cc5d)
+
+ auth-policy: Move result logging to auth policy code
+
+ Removes duplicate and also unnecessary logging of result
+
+M src/auth/auth-policy.c
+M src/auth/auth-request.c
+
+2018-12-29 22:15:38 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1909a27957)
+
+ auth: Use request event for logging in generic logging
+
+
+M src/auth/auth-request.c
+
+2018-12-03 10:50:48 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (49c930f7f3)
+
+ auth: Use event logging for subsys mech
+
+ Automated change
+
+ sed -i -e 's/auth_request_log_\(.*\)(\(.*\),
+ AUTH_SUBSYS_MECH,/e_\1(\2->mech_event,/' *.c
+
+ Whitespace fixing done with custom script
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-apop.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-dovecot-token.c
+M src/auth/mech-external.c
+M src/auth/mech-gssapi.c
+M src/auth/mech-login.c
+M src/auth/mech-ntlm.c
+M src/auth/mech-oauth2.c
+M src/auth/mech-otp.c
+M src/auth/mech-plain.c
+M src/auth/mech-rpa.c
+M src/auth/mech-scram-sha1.c
+M src/auth/mech-skey.c
+M src/auth/mech-winbind.c
+
+2018-12-03 10:48:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4a0fdfda68)
+
+ auth: Use event logging for subsys db
+
+ Done with automated change
+
+ sed -i -e 's/auth_request_log_\(.*\)(\(.*\),
+ AUTH_SUBSYS_DB,/e_\1(\2->authdb_event,/' *.c
+
+ Followed by coccinelle
+
+ @@ expression E;
+ @@
+
+ -E->authdb_event
+ +authdb_event(E)
+
+ and some manual cleanup
+
+ Whitespace fixing done with custom script
+
+M src/auth/auth-request.c
+M src/auth/db-checkpassword.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-lua.c
+M src/auth/db-oauth2.c
+M src/auth/db-passwd-file.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-checkpassword.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-imap.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-lua.c
+M src/auth/passdb-oauth2.c
+M src/auth/passdb-pam.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sia.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-lua.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-prefetch.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb-vpopmail.c
+M src/auth/userdb.c
+
+2018-08-18 17:55:24 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (af632d22c4)
+
+ auth: Add events for passdb/userdb lookups
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-worker-client.c
+M src/auth/test-lua.c
+
+2019-01-02 10:08:42 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e96745a67b)
+
+ auth: userdb - add userdb_result_to_string
+
+
+M src/auth/userdb.c
+M src/auth/userdb.h
+
+2019-01-02 10:08:16 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e80f2fddbd)
+
+ auth: passdb - Add passdb_result_to_string
+
+
+M src/auth/passdb.c
+M src/auth/passdb.h
+
+2018-11-20 14:09:43 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (825242011c)
+
+ auth: auth-worker - Add event
+
+
+M src/auth/auth-worker-client.c
+
+2018-10-16 13:39:14 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4b213e1ec9)
+
+ auth-policy: Use events
+
+
+M src/auth/auth-policy.c
+
+2019-02-18 13:26:18 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c587dda0b9)
+
+ auth-policy: Use dedicated pool
+
+ Otherwise memory gets released too early.
+
+M src/auth/auth-policy.c
+
+2019-02-14 11:58:33 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (e1fa1864b0)
+
+ auth-policy: Move callback to helper function
+
+
+M src/auth/auth-policy.c
+
+2018-11-26 14:23:11 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (16fbc2765a)
+
+ auth: Emit event when auth request is finished
+
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2018-12-04 09:40:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (658f48f580)
+
+ auth: Add mechanism event
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2018-08-21 00:48:38 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9d698afbca)
+
+ auth: Split creation of log identifier from get_log_prefix()
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2019-02-21 08:50:49 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (4c77414426)
+
+ auth: Update dummy_set
+
+ Add auth_verbose, was forgotten in b484ab4b55b0d5341f2f4dd98a655a75f0bf1275
+
+M src/auth/auth.c
+
+2019-02-20 22:19:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b9bd3517da)
+
+ lib-http: http-client-connection - Create function for obtaining client
+ settings reliably.
+
+ This fixes and prevents segfaults occurring when settings are needed while
+ the connection is detached. In that case, the shared client context settings
+ need to be used rather than the client settings. Before, the attachment of a
+ peer was assumed for obtaining the settings when it actually could be absent
+ in rare cases, causing a NULL dereference.
+
+M src/lib-http/http-client-connection.c
+
+2019-02-14 22:02:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (73f1ec5d6c)
+
+ lib-http: http-client-connection - Make sure the request timeout is stopped
+ when no more request are pending.
+
+
+M src/lib-http/http-client-connection.c
+
+2019-02-14 21:16:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (51b78bf84e)
+
+ lib-http: http-client-connection - Descend event from client context rather
+ than client.
+
+ The connection is potentially switched between clients often causing the
+ client event prefix to make no sense.
+
+M src/lib-http/http-client-connection.c
+
+2019-02-07 00:35:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (590bdf56a5)
+
+ lib-smtp: smtp-client-transaction - Add event field for the amount of data
+ sent.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-09 13:55:22 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b81fe08691)
+
+ lib-smtp: smtp-client - Perform the LF -> CRLF conversion for the message
+ data in the transaction.
+
+ Before, it was performed in the DATA/BDAT command code, which makes it very
+ difficult to extract post-conversion size statistics.
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-command.h
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-09 13:41:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (03750acdc9)
+
+ lib-smtp: smtp-client-command.h - Reformat the comments for the standard
+ commands.
+
+
+M src/lib-smtp/smtp-client-command.h
+
+2019-02-06 23:06:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (314de9a79f)
+
+ lib-smtp: smtp-client-transaction - Emit named recipient events.
+
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-12-16 19:16:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (39702fdc63)
+
+ lib-smtp: smtp-client-transaction - Emit named events.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-04 00:48:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b51b1e6d07)
+
+ lib-smtp: smtp-client-transaction - Pass last reply to
+ smtp_client_transaction_finish().
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-09 14:39:24 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1765e5368e)
+
+ lib-smtp: smtp-client-transaction - Record the first failure reply of the
+ DATA command.
+
+ This is needed when the DATA command yields more than a single reply (LMTP).
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-09 13:22:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b42b23e0f2)
+
+ lib-smtp: smtp-client-transaction - Record recipient statistics in the
+ transaction.
+
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-09 13:01:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c32ee89cd4)
+
+ lib-smtp: smtp-client-transaction - Drop
+ smtp_client_transaction_rcpt_drop_pending() as a separate function.
+
+ It is now merged into smtp_client_transaction_rcpt_approved() to make the
+ code less confusing.
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-09 12:50:12 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (297af1b7db)
+
+ lib-smtp: smtp-client-transaction - Drop the rcpt->failed flag.
+
+ It is no longer needed.
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-09 12:44:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (011efc36d8)
+
+ lib-smtp: smtp-client-transaction - Explicitly keep track of whether a
+ recipient is already finished.
+
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-09 12:32:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e9622c3a4f)
+
+ lib-smtp: smtp-client-transaction - Free the rcpt object in
+ smtp_client_transaction_rcpt_fail_reply().
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-09 12:22:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (04f6811d22)
+
+ lib-smtp: smtp-client-transaction - Handle recipient failure callback in a
+ separate _rcpt function.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-09 12:17:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bbf3b9822b)
+
+ lib-smtp: smtp-client-transaction - Handle recipient DATA callback in a
+ separate _rcpt function.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-09 12:14:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (14634a8c10)
+
+ lib-smtp: smtp-client-transaction - Handle RCPT reply in a separate _rcpt
+ function.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-09 14:30:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1bdf8585ec)
+
+ lib-smtp: smtp-client-transaction - Free the mail object in
+ smtp_client_transaction_mail_fail_reply().
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-09 14:26:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5876926c1c)
+
+ lib-smtp: smtp-client-transaction - Handle MAIL failure callback in a
+ separate _mail function.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-09 14:18:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4cee6021b2)
+
+ lib-smtp: smtp-client-transaction - Handle MAIL reply in a separate _mail
+ function.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2019-02-06 23:47:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5169b65460)
+
+ lib-smtp: smtp-params - Add support for adding RCPT parameters to an event.
+
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+
+2019-02-06 23:31:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ca361960e6)
+
+ lib-smtp: smtp-params - Add support for adding MAIL parameters to an event.
+
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+
+2019-02-04 01:26:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (475c2396cc)
+
+ lib-smtp: smtp-client-command - Emit named events.
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-private.h
+
+2019-02-04 01:31:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1a46709363)
+
+ lib-smtp: smtp-client-command - Create local variable for "was_sent" command
+ status.
+
+ The condition is amended with (state < SMTP_CLIENT_COMMAND_STATE_FINISHED),
+ because that part is now checked after the intiialization of this variable
+ (causing the function to exit). It is important that the content of this
+ variable makes sense immediately (for future changes), rather than only
+ after the if statement that checks the added condition.
+
+M src/lib-smtp/smtp-client-command.c
+
+2019-02-04 01:29:08 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1c2e805d62)
+
+ lib-smtp: smtp-client-command - Rename "waslocked" to "was_locked" in
+ smtp_client_command_abort().
+
+
+M src/lib-smtp/smtp-client-command.c
+
+2019-02-04 01:25:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (add9d1342f)
+
+ lib-smtp: smtp-reply - Add smtp_reply_add_to_event().
+
+ This sets standard reply fields in the provided pass-through event.
+
+M src/lib-smtp/smtp-reply.c
+M src/lib-smtp/smtp-reply.h
+
+2018-11-30 02:05:13 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (29adc6358e)
+
+ lib-smtp: smtp-client-connection - Add peer fields to the connection events.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-11-29 23:44:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f2f8b0417c)
+
+ lib-smtp: smtp-client - Replace smtp_*_debug() with e_debug().
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-12-24 01:23:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c04778be5d)
+
+ lib-smtp: smtp-client - Replace smtp_*_warning() with e_warning().
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-12-24 01:06:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e603e55da4)
+
+ lib-smtp: smtp-client - Replace smtp_*_error() with e_error().
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+
+2018-12-24 00:52:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (935391aea9)
+
+ lib-smtp: smtp-client - Replace i_error() with e_error().
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-11-29 23:08:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ba7a90ed68)
+
+ lib-smtp: smtp-client - Remove redundant debug logging checks.
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-11-29 22:55:08 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a4d06d557e)
+
+ lib-smtp: smtp-client - Add support for event API.
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-client-transaction.h
+M src/lib-smtp/smtp-client.c
+M src/lib-smtp/smtp-client.h
+
+2018-11-30 02:25:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (208a90a55d)
+
+ lib-smtp: smtp-client-command - Split command name extraction from label
+ construction.
+
+
+M src/lib-smtp/smtp-client-command.c
+
+2019-02-04 00:53:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9831d77f16)
+
+ lib-smtp: smtp-reply - Add smtp_reply_get_message().
+
+ Returns only the message of the reply without statuses as a single line.
+
+M src/lib-smtp/smtp-reply.c
+M src/lib-smtp/smtp-reply.h
+
+2019-02-17 23:02:16 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (4adda9a677)
+
+ doveadm-server: Load SSL settings
+
+ Otherwise operations that might use ssl can lead into invalid memory access.
+
+M src/doveadm/main.c
+
+2019-02-19 10:49:37 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (38cd5a08d8)
+
+ lib: test-istream-seekable - Add asserts to make sure blocking state changes
+ at EOF
+
+
+M src/lib/test-istream-seekable.c
+
+2019-02-19 10:22:43 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4625ceb782)
+
+ lib-storage: mail_get_*stream*() - Assert that returned streams are blocking
+
+ Several callers already rely on them being blocking. Making these asserts
+ explicit makes sure that any bugs are caught early.
+
+M src/lib-storage/mail.c
+
+2019-02-19 10:17:45 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (1372692923)
+
+ lib: istream-seekable - Change stream to be blocking=TRUE after reaching EOF
+
+ After EOF is reached, the stream is now fully read into file or memory.
+ read()s can no longer return 0, so blocking=TRUE can be used.
+
+ Some callers were reusing the seekable stream in places that required
+ blocking=TRUE.
+
+ Fixes at least with imapsieve vnd.dovecot report extension: Panic: file
+ ostream.c: line 427 (o_stream_nsend_istream): assertion failed:
+ (instream->blocking)
+
+M src/lib/istream-seekable.c
+
+2019-02-19 11:31:45 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2b3c73e3ab)
+
+ lib-ssl-iostream: iostream-ssl-test - Update the test certificate to have
+ very long expiry period.
+
+ The old certificate expired after one year, which causes all kinds of unit
+ test failures.
+
+M src/lib-ssl-iostream/iostream-ssl-test.c
+
+2019-02-14 16:03:02 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (ce54297806)
+
+ auth: Add caching to passdb-oauth.
+
+
+M src/auth/db-oauth2.c
+M src/auth/db-oauth2.h
+M src/auth/passdb-oauth2.c
+
+2019-02-05 09:43:09 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (916d9b4cbe)
+
+ auth: Add support for oauth2 password grant
+
+
+M src/auth/db-oauth2.c
+
+2019-02-05 09:45:07 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (a9a8a78f91)
+
+ lib-oauth2: Implement password grant authentication.
+
+
+M src/lib-oauth2/Makefile.am
+A src/lib-oauth2/oauth2-passwd-grant.c
+M src/lib-oauth2/oauth2-private.h
+M src/lib-oauth2/oauth2.h
+
+2019-01-31 10:36:49 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (dc30eca5f5)
+
+ lib-oauth2: Take http_client_request_url_str in use for oauth2 requests.
+
+
+M src/lib-oauth2/oauth2-introspect.c
+M src/lib-oauth2/oauth2-refresh.c
+M src/lib-oauth2/oauth2-token-validate.c
+
+2019-01-31 10:31:43 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (d86c3be779)
+
+ lib-http: Expose origin_url of the struct http_client_request
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2019-02-15 00:49:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0946ac7e95)
+
+ master: test-master-login-auth - Add test for parallel requests.
+
+
+M src/master/test-master-login-auth.c
+
+2019-02-15 00:45:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f33437e980)
+
+ lib-master: master-login-auth - Fix hang when auth server returns multiple
+ replies at once.
+
+ input_args() should return 1 to continue reading input, while 0 stops it.
+
+M src/lib-master/master-login-auth.c
+
+2019-02-14 23:13:35 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (df2f34221f)
+
+ master: test-auth-client - Add test for parallel requests.
+
+
+M src/master/test-auth-client.c
+
+2019-02-14 23:20:13 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (dbd53af22a)
+
+ master: test-auth-client - Add progress timeout.
+
+
+M src/master/test-auth-client.c
+
+2019-02-14 13:35:06 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (01631cdcc3)
+
+ lib-master: master-login-auth - Name auth finished event same way as the
+ others
+
+ So change auth_master_client_login_finished to
+ auth_master_client_login_finished.
+
+M src/lib-master/master-login-auth.c
+
+2019-02-13 22:21:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8e198e50b5)
+
+ submission-login: Only overwrite XCLIENT fields in the client when a value
+ is assigned.
+
+ Before, omitted fields in the XCLIENT command would cause the values in the
+ client to be reset to the equivalent of zero.
+
+M src/submission-login/client.c
+
+2019-02-13 10:42:31 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (4206b70c6f)
+
+ lib-auth: Fix hang when auth server returns multiple replies at once
+
+ input_line() should return 1 to continue reading input, while 0 stops it.
+
+ Broken by a91862deade9dd12275f939f2716b5f56633f89e
+
+M src/lib-auth/auth-client-connection.c
+
+2019-02-08 20:47:42 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (bb395954d2)
+
+ lib-smtp: Mark default as unreached in smtp_client_command_abort
+
+ Satisfies static analyzers
+
+M src/lib-smtp/smtp-client-command.c
+
+2019-02-07 02:37:27 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f5c8e09104)
+
+ lib-smtp: smtp-client-command - Avoid calling the callback for the DATA
+ command during submission.
+
+ This causes a race condition in which the command object is already freed
+ when it is returned from smtp_client_command_data_submit(). This scenario
+ occurs when reading data for the first BDAT command fails.
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2019-02-06 20:54:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (24d30b28dc)
+
+ lib-smtp: smtp-client - Send correct size value for BDAT command when the
+ data lacks CR.
+
+ The addition of CR was ignored in the size specification because the
+ original unaltered stream was used for the size calculations.
+
+M src/lib-smtp/smtp-client-command.c
+
+2019-02-07 03:05:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (733afb9f51)
+
+ master: test-auth-client - Drop useless local variable.
+
+ This addresses a scan-build report.
+
+M src/master/test-auth-client.c
+
+2019-02-06 22:34:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3763960a5b)
+
+ lib-smtp: smtp-client - Fix sending of duplicate QUIT command.
+
+ The command name comparison function was broken after the command was sent.
+ Made the function robust against addition/removal of CRLF to the command
+ line.
+
+M src/lib-smtp/smtp-client-command.c
+
+2019-01-22 22:45:33 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (536d4fc821)
+
+ lib: istreams - Don't lose IO pending state when unsetting and setting io
+
+ This makes sure that the pending state stays even after io_remove() when
+ io_add_istream() is again called.
+
+M src/lib/istream.c
+
+2019-01-22 12:59:57 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (c35db94405)
+
+ lib: Fix i_stream_set_input_pending() when IO is set later
+
+ After i_stream_set_io() is called to set the IO, it should already be marked
+ as pending.
+
+ This fixes at least running imaptest with SSL.
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2019-01-22 22:43:53 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (e42bfcf2bc)
+
+ lib: Add io_is_pending()
+
+
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2019-01-16 18:28:57 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (a1ffd0f520)
+
+ auth: Do not import empty certificate username
+
+
+M src/auth/auth-request.c
+
+2019-01-16 18:24:20 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (8ff15cfcc3)
+
+ auth: Fail authentication if certificate username was unexpectedly missing
+
+
+M src/auth/auth-request-handler.c
+
+2019-01-15 17:36:37 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (59d2681453)
+
+ login-common: Ensure we get username from certificate
+
+
+M src/login-common/sasl-server.c
+
+2019-01-28 23:04:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7641c5c3ef)
+
+ lib-auth: auth-client - Emit named events.
+
+
+M src/lib-auth/auth-client-request.c
+
+2019-01-28 21:19:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f03599e02a)
+
+ lib-auth: auth-client - Add support for event API and use it for logging.
+
+
+M src/lib-auth/auth-client-connection.c
+M src/lib-auth/auth-client-private.h
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.c
+
+2019-02-03 23:33:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ae9b4d8ff3)
+
+ lib-auth: auth-client - Add optional reason argument to
+ auth_client_request_abort().
+
+ It is not actually used yet in this commit.
+
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.h
+M src/login-common/sasl-server.c
+
+2019-01-27 22:04:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a91862dead)
+
+ lib-auth: auth-client - Use the connection API.
+
+
+M src/lib-auth/auth-client-connection.c
+M src/lib-auth/auth-client-private.h
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.c
+M src/master/test-auth-client.c
+
+2019-01-28 21:27:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (723b09f03c)
+
+ lib-auth: auth-client - Free the request in a separate function.
+
+
+M src/lib-auth/auth-client-request.c
+
+2019-01-27 17:34:33 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5f3e5d8625)
+
+ lib-auth: auth-client - Rename auth_server_connection* to
+ auth_client_connection*.
+
+
+M src/lib-auth/auth-client-connection.c
+M src/lib-auth/auth-client-private.h
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.c
+
+2019-01-28 20:55:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (40c1ed5ae8)
+
+ lib-auth: Move struct auth_client_request from auth-client-request.c to
+ auth-client-private.h.
+
+
+M src/lib-auth/auth-client-private.h
+M src/lib-auth/auth-client-request.c
+
+2019-01-27 17:29:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0fc54cb170)
+
+ lib-auth: Move content of auth-client-request.h to auth-client-private.h.
+
+
+M src/lib-auth/Makefile.am
+M src/lib-auth/auth-client-connection.c
+M src/lib-auth/auth-client-private.h
+M src/lib-auth/auth-client-request.c
+D src/lib-auth/auth-client-request.h
+
+2019-01-27 17:16:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (81920c1283)
+
+ lib-auth: Move remainder of auth-server-connection.h to
+ auth-client-private.h.
+
+
+M src/lib-auth/Makefile.am
+M src/lib-auth/auth-client-connection.c
+M src/lib-auth/auth-client-private.h
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.c
+D src/lib-auth/auth-server-connection.h
+
+2019-01-27 17:13:12 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f8a51fad88)
+
+ lib-auth: Move struct auth_server_connection from auth-server-connection.h
+ to auth-client-private.h.
+
+
+M src/lib-auth/auth-client-private.h
+M src/lib-auth/auth-server-connection.h
+
+2019-01-27 17:09:27 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (51d9208f4c)
+
+ lib-auth: Rename auth-server-connection.c to auth-client-connection.c.
+
+
+M src/lib-auth/Makefile.am
+R100 src/lib-auth/auth-server-connection.c src/lib-auth/auth-client-connection.c
+
+2019-01-27 17:03:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f053f382ef)
+
+ doveadm: doveadm-auth-server - Remove useless include for
+ auth-server-connection.h.
+
+
+M src/doveadm/doveadm-auth-server.c
+
+2019-01-27 16:59:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (27010f3315)
+
+ doveadm: doveadm-auth - Remove useless include for auth-server-connection.h.
+
+
+M src/doveadm/doveadm-auth.c
+
+2019-01-27 23:48:14 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1d886f0fb9)
+
+ lib: connection - Add vfunc called when the connection becomes ready after
+ handshake.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2019-02-01 01:23:35 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e0171005fb)
+
+ master: Add unit test for auth-client.
+
+
+M src/master/Makefile.am
+A src/master/test-auth-client.c
+
+2019-02-03 15:21:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5a7c81fd4f)
+
+ lib-auth: auth-client - Add ability to configure the connect timeout.
+
+ This is currently only useful and required for unit tests (the default is
+ just too long).
+
+M src/lib-auth/auth-client-private.h
+M src/lib-auth/auth-client.c
+M src/lib-auth/auth-client.h
+M src/lib-auth/auth-server-connection.c
+
+2019-02-03 15:41:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (671d570b1f)
+
+ lib-auth: auth-client: Do not connect implicitly in auth_client_init().
+
+
+M src/doveadm/doveadm-auth.c
+M src/lib-auth/auth-client.c
+M src/login-common/main.c
+
+2019-02-03 23:21:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ccd5c4ff6d)
+
+ master: test-master-login-auth: Small coding style fix.
+
+
+M src/master/test-master-login-auth.c
+
+2019-02-03 23:20:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a9e514969a)
+
+ master: test-auth-master - Small coding style fix.
+
+
+M src/master/test-auth-master.c
+
+2019-01-27 00:31:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (cbb0497db0)
+
+ lib-master: master-login-auth - Emit named events at the start and end of
+ auth requests.
+
+
+M src/lib-master/master-login-auth.c
+
+2019-01-26 22:27:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (23fb881e72)
+
+ lib-master: master-login-auth - Add support for event API and use it for
+ logging.
+
+
+M src/lib-master/master-login-auth.c
+
+2019-01-26 21:47:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (76a385b880)
+
+ lib-master: master-login-auth - Free the request in a separate function.
+
+
+M src/lib-master/master-login-auth.c
+
+2019-01-27 22:14:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f3fcce3695)
+
+ lib-master: master-login-auth - Provide more helpful error message for
+ EACCESS connect error.
+
+
+M src/lib-master/master-login-auth.c
+
+2019-01-31 00:14:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b76ebd33fc)
+
+ lib-master: master-login-auth - Detect connection to auth-client socket for
+ better error message.
+
+
+M src/lib-master/master-login-auth.c
+
+2019-01-26 18:31:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4b676d0ad1)
+
+ lib-master: master-login-auth - Use the connection API.
+
+
+M src/lib-master/master-login-auth.c
+
+2019-01-26 21:02:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5a11903edc)
+
+ lib-master: master-login-auth - Handle response ID at a single location.
+
+
+M src/lib-master/master-login-auth.c
+
+2019-01-26 21:23:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9de943e6cd)
+
+ lib-master: master-login-auth - Handle response arguments at a single
+ location.
+
+
+M src/lib-master/master-login-auth.c
+
+2019-01-27 12:40:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3a5d4598b3)
+
+ master: Add unit test for master-login-auth.
+
+
+M src/master/Makefile.am
+A src/master/test-master-login-auth.c
+
+2019-02-03 12:21:15 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ded79e9015)
+
+ master: Drop useless LDFLAGS for unit test.
+
+
+M src/master/Makefile.am
+
+2019-01-27 12:32:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (72a5115fd6)
+
+ lib-master: master-login-auth - Add ability to configure the lookup timeout.
+
+ This is currently only useful and required for unit tests (the default is
+ just too long).
+
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login-auth.h
+
+2019-01-27 13:49:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a27f66b9cd)
+
+ lib-master: master-login-auth - Perform timeout manipulations in
+ milliseconds.
+
+
+M src/lib-master/master-login-auth.c
+
+2019-01-27 13:43:27 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (091317fe54)
+
+ lib-master: master-login-auth - Rename master_login_auth_set_timeout() to
+ master_login_auth_update_timeout().
+
+
+M src/lib-master/master-login-auth.c
+
+2019-01-27 22:07:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (211b25e396)
+
+ lib-auth: auth-master - Restore helpful error message for EACCESS connect
+ error.
+
+ It got lost in earlier changes.
+
+M src/lib-auth/auth-master.c
+
+2019-01-26 23:50:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (43162d987b)
+
+ lib-auth: auth-master - Define event category.
+
+
+M src/lib-auth/auth-master.c
+
+2019-01-26 19:07:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2a1548ead1)
+
+ lib-auth: auth-master - Fully reset connection state upon disconnect.
+
+
+M src/lib-auth/auth-master.c
+
+2019-01-28 12:49:11 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (cbb054f57a)
+
+ lib: test-connection - Add iteration count
+
+ Allows running some tests few times to make sure deinit/init works
+
+M src/lib/test-connection.c
+
+2019-01-28 12:45:33 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (8835539962)
+
+ lib: test-connection - Add no version sent test
+
+
+M src/lib/test-connection.c
+
+2019-01-28 15:42:44 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (f3d6159450)
+
+ lib: connection - Set connection list to NULL on deinit
+
+ Otherwise reusing the connection object causes panic on deinit
+
+M src/lib/connection.c
+
+2019-01-28 12:55:06 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (a83fa0acf5)
+
+ lib: connection - Reset handshake_received on connect
+
+ A connection object can be reused, and so handshake_received need to be
+ reset to FALSE on connection to avoid panic.
+
+ Fixes Panic: file connection.c: line 169 (connection_input_line_default):
+ assertion failed: (conn->version_received)
+
+M src/lib/connection.c
+
+2019-01-23 17:22:27 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (19313d7eac)
+
+ lib-index: Add mail_index_append_finish_uids_full()
+
+
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index.h
+
+2019-01-23 17:29:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (abc33be650)
+
+ lib-index: mail_index_append_finish_uids() cleanup: remove unnecessary if
+ check
+
+ It was pretty confusing, and it was always TRUE.
+
+M src/lib-index/mail-index-transaction-update.c
+
+2018-11-15 14:47:32 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (72b2a3b2bf)
+
+ doveadm: Use doveadm_get_ssl_settings
+
+
+M src/doveadm/doveadm-fs.c
+M src/doveadm/server-connection.c
+
+2018-11-15 14:46:44 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (af3c215e0b)
+
+ doveadm: dsync - use mail_storage_settings_init_ssl_client_settings
+
+
+M src/doveadm/doveadm-dsync.c
+
+2018-11-15 14:42:28 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e4d9f28cb6)
+
+ lib-storage: mail-user - Use mail_storage_settings_init_ssl_client_settings
+
+
+M src/lib-storage/mail-user.c
+
+2018-11-15 14:40:46 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (dcf090e806)
+
+ mail-storage: Add mail_storage_settings_init_ssl_client_settings
+
+ Simplifies following commits
+
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2018-11-15 14:35:36 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (aeb4c848bc)
+
+ doveadm: Use master service SSL settings
+
+
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+
+2019-01-22 22:06:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (95548826a6)
+
+ lib-smtp: client: Fix dead assignment in
+ smtp_client_command_pipeline_is_open().
+
+ Found by scan-build.
+
+M src/lib-smtp/smtp-client-command.c
+
+2019-01-12 00:46:09 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c62973451d)
+
+ lib-auth: auth-master - Add debug message for each user returned for
+ auth_master_user_list_next().
+
+
+M src/lib-auth/auth-master.c
+
+2019-01-11 22:31:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4edb05fb92)
+
+ lib-auth: auth-master - Emit named events at the start and end of lookups.
+
+
+M src/lib-auth/auth-master.c
+
+2018-12-30 19:30:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ab99fb2d15)
+
+ lib-auth: auth-master - Add support for event API and use it for logging.
+
+
+M src/lib-auth/auth-master.c
+
+2019-01-04 17:39:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ffaca41b19)
+
+ lib-auth: auth-master - Pass struct auth_master_lookup_ctx to parse_reply()
+ rather than several of its fields.
+
+
+M src/lib-auth/auth-master.c
+
+2018-12-29 13:11:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7290ceed8e)
+
+ lib-auth: auth-master - Use the connection API.
+
+
+M src/lib-auth/auth-master.c
+M src/master/test-auth-master.c
+
+2018-12-29 21:02:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4d87fc23cf)
+
+ lib: connection - Add connection_verify_version().
+
+ Only verifies the service name and major version number.
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2018-12-29 20:55:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4b33e51be2)
+
+ lib: connection - Rename connection_verify_version() to
+ connection_handshake_args_default().
+
+
+M src/auth/auth-worker-client.c
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap/imap-master-client.c
+M src/lib/connection.c
+M src/lib/connection.h
+M src/lib/test-connection.c
+
+2019-01-11 22:35:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b4ef9a2d89)
+
+ master: Add unit test for auth-master.
+
+ Cannot be added to lib-auth due to cyclic dependencies.
+
+M src/master/Makefile.am
+A src/master/test-auth-master.c
+
+2019-01-09 23:30:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c6539f669b)
+
+ lib-auth: auth-master - Add ability to configure the lookup timeout.
+
+ This is currently only useful and required for unit tests (the default is
+ just too long).
+
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+
+2019-01-22 23:21:46 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (38afca547e)
+
+ lib-smtp: test-smtp-payload - Do not assume that a non-regular files is a
+ directory.
+
+ The unit test failed if something else (like a socket) was found.
+
+M src/lib-smtp/test-smtp-payload.c
+
+2019-01-22 23:19:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b6ca9b8d05)
+
+ lib-http: test-http-payload - Do not assume that a non-regular files is a
+ directory.
+
+ The unit test failed if something else (like a socket) was found.
+
+M src/lib-http/test-http-payload.c
+
+2018-12-09 12:13:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2cb65102f5)
+
+ lib-smtp: command: Move main loop from sub-function to
+ smtp_client_command_send_more() itself.
+
+ This reduces code indent in smtp_client_command_do_send_more() (the
+ sub-function) and it turns the inifite for loop into a nice conditional
+ while loop.
+
+M src/lib-smtp/smtp-client-command.c
+
+2018-11-11 23:32:15 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (243d85c0f6)
+
+ lib-smtp: test-smtp-client-errors: Test early DATA command success and error
+ replies.
+
+ Early success for the DATA command is treated as a protocol error, while
+ early failure is allowed. Both situations are tested in a new scenario for
+ the test-smtp-client-errors unit test.
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2018-11-11 23:25:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ba1caa5c9e)
+
+ lib-smtp: client: Fix handling of non-blocking command payload stream.
+
+ By inference, this fixes the handling of non-blocking transaction payload as
+ well. No io was created when the payload stream returned no data.
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2018-11-11 20:30:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bceeb6661d)
+
+ lib-smtp: test-smtp-client-errors: Add test scenario for premature success
+ replies.
+
+ Such replies are sent immediately along with the reply of the previous
+ command. So, the reply is sent before the corresponding command is even
+ submitted. This tests whether the client handles this erroneous situation
+ correctly.
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2018-08-16 22:34:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9f1614cb71)
+
+ lib-smtp: test-smtp-payload: Add option to test payload exchange with small
+ socket buffers.
+
+ This is not part of the normal `make check` procedure, since using small
+ socket buffers makes the test extremely slow.
+
+M src/lib-smtp/test-smtp-payload.c
+
+2018-08-15 18:29:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4f5f68c6c4)
+
+ lib-smtp: client: Allow receiving replies before command data stream is sent
+ completely.
+
+ This avoids unnecessary problems with servers that reply somewhat early to
+ DATA and BDAT commands. For one, early failure replies are now handled
+ properly. Also, race conditions at the client between sending the closing
+ CRLF.CRLF and receiving the DATA reply are no longer causing problems.
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2018-12-09 11:34:56 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f9f9d5ea5d)
+
+ lib-smtp: client: Put moving a command from the queue to the wait list in a
+ separate function.
+
+
+M src/lib-smtp/smtp-client-command.c
+
+2018-08-16 22:15:36 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7bec82a70e)
+
+ lib-smtp: client: Put determining the status of the command pipeline in a
+ separate function.
+
+
+M src/lib-smtp/smtp-client-command.c
+
+2018-08-16 22:07:08 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (29bfd8ef4b)
+
+ lib-smtp: client: Put sending the command line in a separate function.
+
+
+M src/lib-smtp/smtp-client-command.c
+
+2019-01-21 22:21:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b7f9209489)
+
+ lib-smtp: client: Don't put connection in TRANSACTION state unless there's a
+ transaction.
+
+ Fixes hang occurring when connection is ready before transaction is started.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2019-01-21 10:50:24 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (9f9107763c)
+
+ quota: Rename quota_set_resource() error_r to client_error_r
+
+ Don't pass on the error from dict_init() to client, though.
+
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2019-01-21 13:01:27 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (11c3b2ec30)
+
+ imap-acl: Rename error_r sent to client as client_error_r
+
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2019-01-21 13:00:09 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (b813edb3be)
+
+ lib-imap-urlauth: Rename error_r sent to clients as client_error_r
+
+
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-imap-urlauth/imap-urlauth-backend.h
+M src/lib-imap-urlauth/imap-urlauth.c
+M src/lib-imap-urlauth/imap-urlauth.h
+
+2019-01-21 12:59:45 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (051f56c786)
+
+ lib-imap-storage: Rename error_r sent to clients as client_error_r
+
+
+M src/lib-imap-storage/imap-metadata.c
+M src/lib-imap-storage/imap-metadata.h
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart-url.h
+
+2019-01-21 12:41:20 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (937ca27206)
+
+ imap,lib-storage: Rename error_r sent to clients as client_error_r
+
+
+M src/imap/cmd-append.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-genurlauth.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-notify.c
+M src/imap/cmd-select.c
+M src/imap/cmd-setmetadata.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands-util.h
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+M src/imap/imap-search-args.c
+M src/imap/imap-search.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-build.h
+
+2019-01-16 01:00:22 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (a7148a99f7)
+
+ LAYOUT=index: Fix rebuilding mailbox list index on force-resync
+
+ The if-check was a bit confusing because have_backend==TRUE means that there
+ the mailbox list index is only an index, while have_backend==FALSE means
+ that the mailbox list index is the only source for the list of mailboxes
+ (= list index is the backend).
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2018-09-27 23:00:22 +0200 Anton Dollmaier <antondollmaier@aditsystems.de> (3a56632c06)
+
+ submission-login: proxy: Fix omission of spaces between XCLIENT command
+ parameters.
+
+ It would send for example:
+
+ > XCLIENT ADDR=10.0.1.2PORT=39074
+
+ The other end will obviously not accept this.
+
+ -- Commit message modified by Stephan Bosch
+
+M src/submission-login/submission-proxy.c
+
+2018-09-08 20:54:54 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7a456f2559)
+
+ lib-smtp: client: BDAT command: Make sure the message contains CRLF
+ consistently.
+
+ Before, only messages sent using DATA command guaranteed consistent CRLF,
+ because these are sent using o_stream_dot(), which does that internally. For
+ the BDAT command, the message was sent as-is, which is not always accepted
+ by MTAs.
+
+M src/lib-smtp/smtp-client-command.c
+
+2018-10-26 12:15:45 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7b4cc47289)
+
+ lib-smtp: client: BDAT command: Ensure data stream max buffer size is
+ appropriate when stream size is unknown.
+
+ When stream size is unknown, the chunk size are determined by what can be
+ buffered in the data input stream immediately. If it's maximum buffer size
+ is
+ (much) smaller than the maximum chunk size, the maximum chunk size is never
+ achieved.
+
+M src/lib-smtp/smtp-client-command.c
+
+2018-10-26 16:17:06 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d830785d4b)
+
+ lib-smtp: server: Fix forwarding a multi-line reply.
+
+ A multi-line reply had the '-' on the first line stripped upon sending,
+ which makes clients see two separate responses rather than just one. This
+ was caused by the fact that forwarded replies had the last_line field not
+ set properly, in which case the '-' was substituted on the first line,
+ rather than the last. The fix makes a forwarded reply indistinguishable from
+ a normally created reply by also allowing for amending the reply with
+ additional lines using smtp_server_reply_add_text().
+
+M src/lib-smtp/smtp-server-reply.c
+
+2018-10-26 15:50:17 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (865862013b)
+
+ lib-smtp: test-smtp-reply: Test whether parsed valid replies can be written
+ back to the original input.
+
+ In some cases, the parser mangles the input a little to substitute invalid
+ characters. In those cases, the expected output is stated explicitly.
+
+M src/lib-smtp/test-smtp-reply.c
+
+2018-10-26 15:36:21 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (c35a2b108e)
+
+ lib-smtp: Rename test-smtp-reply-parser.c to test-smtp-reply.c.
+
+ Encoding tests will also be included, making the old name confusing.
+
+M src/lib-smtp/Makefile.am
+R100 src/lib-smtp/test-smtp-reply-parser.c src/lib-smtp/test-smtp-reply.c
+
+2019-01-14 18:28:42 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (c5dc617b26)
+
+ global: hash_table_iterate_deinit(NULL) is a no-op
+
+ @@ expression E;
+ @@
+
+ - if (E != NULL) {
+ - hash_table_iterate_deinit(&E);
+ - }
+ + hash_table_iterate_deinit(&E);
+
+M src/doveadm/dsync/dsync-brain.c
+
+2019-01-14 18:27:12 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (c89d0323e3)
+
+ lib: hash_table_iterate_deinit(NULL) should be a no-op
+
+
+M src/lib/hash.c
+
+2019-01-17 11:09:13 -0500 Josef 'Jeff' Sipek <jeff.sipek@open-xchange.com> (18c8e68409)
+
+ global: hash_table_destroy(NULL) is a no-op
+
+ @@ expression E;
+ @@
+
+ - if (hash_table_is_created(E))
+ - hash_table_destroy(&E);
+ + hash_table_destroy(&E);
+
+M src/auth/db-passwd-file.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/lib-fts/fts-filter-stopwords.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2019-01-04 13:57:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (12c63978fa)
+
+ imap: client: Add init() client vfunc.
+
+ This is called when client creation is finished completely, including
+ namespace initialization. The normal create hook is executed before
+ namespace initialization, which is a problem when a plugin needs to access
+ the mail storage immediately.
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2019-01-05 19:43:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e19161336f)
+
+ imap: client: Rearrange and document the client vfuncs.
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2018-12-28 19:16:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (007bbe18fe)
+
+ submssion: DATA command: Seek data stream to the beginning before executing
+ backends.
+
+
+M src/submission/submission-backend.c
+
+2018-12-28 19:13:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (002e983299)
+
+ submission: DATA command: Provide a default name for the data stream.
+
+
+M src/submission/submission-commands.c
+
+2018-12-24 15:02:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c456d4979f)
+
+ lmtp: local: Make the local_deliver client vfunc responsible for submitting
+ the reply.
+
+ This gives plugins more power to override delivery behavior.
+
+M src/lmtp/lmtp-client.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+
+2019-01-07 15:35:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (edc1d27892)
+
+ lib-mail: ostream-dot - Add unit test for parent stream buffer being almost
+ full.
+
+
+M src/lib-mail/test-ostream-dot.c
+
+2018-12-15 16:32:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (023d96e92f)
+
+ lib-mail: ostream-dot - Add asserts to make sure max_bytes doesn't underflow
+
+
+M src/lib-mail/ostream-dot.c
+
+2018-12-15 16:24:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fc2b3c7405)
+
+ lib-mail: ostream-dot - Fix potential assert-crash when parent stream buffer
+ gets full
+
+ If max_bytes=1, the (max_bytes-2) calculation brings it to (size_t)-1. This
+ causes too much data to be sent to the parent stream, which then returns a
+ partial write and causes an assert-crash.
+
+ The final chunk calculation doesn't need the -2 check, because additional
+ bytes aren't inserted at that point.
+
+ Fixes: Panic: file ostream-dot.c: line 208 (o_stream_dot_sendv): assertion
+ failed: ((size_t)ret == sent + added)
+
+M src/lib-mail/ostream-dot.c
+
+2019-01-14 14:00:36 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (505d07d26d)
+
+ global: Rename array_first and array_last to array_front and back
+
+ This is more consistent with other languages
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-settings.c
+M src/auth/auth-worker-server.c
+M src/auth/db-ldap.c
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/doveconf.c
+M src/dict/dict-commands.c
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director.c
+M src/dns/dns-client.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-flags.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/doveadm-print-formatted.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/cmd-list.c
+M src/imap/cmd-thread.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-fetch.c
+M src/ipc/ipc-connection.c
+M src/ipc/ipc-group.c
+M src/lib-auth/auth-master.c
+M src/lib-dict-backend/dict-ldap.c
+M src/lib-dict/dict-redis.c
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-icu.c
+M src/lib-fts/fts-language.c
+M src/lib-fts/test-fts-icu.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-message-parser.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-msgmap.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap/imap-match.c
+M src/lib-imap/imap-parser.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-lda/mail-deliver.c
+M src/lib-ldap/ldap-entry.c
+M src/lib-ldap/ldap-search.c
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-mail/message-part-data.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-master/anvil-client.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+M src/lib-program-client/program-client-local.c
+M src/lib-settings/settings-parser.c
+M src/lib-smtp/smtp-reply-parser.c
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/smtp-syntax.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/driver-test.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search-mime.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/test-mail-storage.c
+M src/lib/array.h
+M src/lib/event-filter.c
+M src/lib/priorityq.c
+M src/lib/strfuncs.c
+M src/lib/test-array.c
+M src/lib/test-seq-range-array.c
+M src/lib/var-expand-if.c
+M src/lib/var-expand.c
+M src/login-common/client-common-auth.c
+M src/master/service-process-notify.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/apparmor/apparmor-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-user.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/mail-crypt/test-mail-global-key.c
+M src/plugins/quota/quota-imapc.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-sync.c
+M src/util/script.c
+
+2019-01-11 12:42:15 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c35d4ef89f)
+
+ global: Use array_push_front
+
+ Re-run of 70540d8b3e0799113fa4c47e3b778efb4679f24f due to bad spatch usage
+
+M src/lib/seq-range-array.c
+
+2019-01-11 12:41:48 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (e58595df9c)
+
+ global: Use array_pop_front
+
+ Re-run of 9b726934956ed9ca02077a82f7b2a1d74b7c9146 due to bad spatch usage.
+
+M src/director/director-request.c
+M src/lib-storage/index/index-search.c
+M src/lib/seq-range-array.c
+
+2019-01-11 12:41:28 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (711e01716f)
+
+ global: Use array_pop_back
+
+ Re-run of 48c70592eb36b1263ad63e3c1dca8a0b5aff09ba due to wrong spatch
+ usage.
+
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2019-01-11 12:40:59 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (9ab0ac4ba5)
+
+ global: Use array_push_back instead of array_append
+
+
+M src/auth/auth-policy.c
+M src/auth/db-ldap.c
+M src/auth/password-scheme.c
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/doveconf.c
+M src/director/director-test.c
+M src/director/main.c
+M src/director/user-directory.c
+M src/dns/dns-client.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-fs.c
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-batch.c
+M src/doveadm/doveadm-mail-flags.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/cmd-list.c
+M src/imap/cmd-select.c
+M src/imap/cmd-thread.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-state.c
+M src/ipc/ipc-connection.c
+M src/lib-auth/auth-master.c
+M src/lib-dict-backend/dict-ldap.c
+M src/lib-dict-backend/dict-sql.c
+M src/lib-dict/dict-client.c
+M src/lib-fs/fs-api.c
+M src/lib-http/http-auth.c
+M src/lib-http/http-client-queue.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap/imap-match.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-view.c
+M src/lib-ldap/ldap-entry.c
+M src/lib-ldap/ldap-search.c
+M src/lib-mail/message-part-data.c
+M src/lib-mail/ostream-dot.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+M src/lib-program-client/program-client-local.c
+M src/lib-settings/settings-parser.c
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/smtp-syntax.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-keywords.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-watch.c
+M src/lib-storage/test-mail-storage.c
+M src/lib/env-util.c
+M src/lib/event-filter.c
+M src/lib/lib-event.c
+M src/lib/module-dir.c
+M src/lib/seq-range-array.c
+M src/lib/test-array.c
+M src/lib/unichar.c
+M src/lib/uri-util.c
+M src/lib/var-expand-if.c
+M src/login-common/client-common-auth.c
+M src/login-common/main.c
+M src/master/dup2-array.c
+M src/master/master-settings.c
+M src/master/service-monitor.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-global-file.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/apparmor/apparmor-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-search-args.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-user.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+M src/plugins/mail-crypt/mail-crypt-key.c
+M src/plugins/quota/quota.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/pop3/pop3-client.c
+M src/replication/replicator/replicator-queue.c
+M src/util/script.c
+
+2019-01-14 17:52:26 +0200 Timo Sirainen <timo.sirainen@open-xchange.com> (22c42e272c)
+
+ lib: hash_table_destroy(NULL) should be a no-op
+
+
+M src/lib/hash.c
+
+2019-01-14 14:37:03 +0200 Aki Tuomi <aki.tuomi@open-xchange.com> (c06b5c955d)
+
+ m4: Fix moduledir behaviour
+
+ This is mainly a fix for plugins that depend on dovecot.m4
+
+M configure.ac
+M m4/dovecot.m4
+
+2019-01-07 20:08:26 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b4b2764875)
+
+ push-notification-driver-lua: Request flags and keywords
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2019-01-07 19:54:56 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (47806f45a7)
+
+ push-notification-driver-lua: Fix comment typo
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2019-01-07 20:01:21 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (402d13448b)
+
+ push-notification-driver-lua: Add keywords and flags to MessageAppend event
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2019-01-07 19:49:20 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c84562bbee)
+
+ push-notification-driver-lua: Add keywords and flags to MessageNew event
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2019-01-07 19:48:11 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7593cb9ba7)
+
+ push-notification-driver-lua: Rename keywords_set and keywors_clear to
+ keywords
+
+ This is more concince since these are the keywords being operated on.
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2019-01-07 19:47:14 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f2db680cb7)
+
+ push-notification-driver-lua: Push keywords in helper function
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2019-01-07 19:42:39 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (41ada90acf)
+
+ push-notification-driver-lua: Push mail flags as array of flags
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2019-01-07 20:00:07 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4305a33f55)
+
+ push-notification: Add flags and keywords to MessageAppend event
+
+
+M src/plugins/push-notification/push-notification-event-messageappend.c
+M src/plugins/push-notification/push-notification-event-messageappend.h
+
+2019-01-07 19:33:28 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (39321260bb)
+
+ push-notification: Add flags and keywords to MessageNew event
+
+
+M src/plugins/push-notification/push-notification-event-message-common.h
+M src/plugins/push-notification/push-notification-event-messagenew.c
+M src/plugins/push-notification/push-notification-event-messagenew.h
+
+2019-01-11 09:55:25 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7a25fa84a4)
+
+ m4: Remove unneeded else case from want_lz4
+
+ This causes extraneous code in configure causing it to fail
+
+M m4/want_lz4.m4
+
+2019-01-11 09:37:51 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7049de11bc)
+
+ m4: Replace some if tests with AS_IF
+
+ Fixes configure on older systems
+
+M m4/want_bzlib.m4
+M m4/want_lz4.m4
+M m4/want_lzma.m4
+
+2019-01-11 09:37:42 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9fae1b38e9)
+
+ m4: Remove stray comma from want_lua.m4
+
+
+M m4/want_lua.m4
+
+2019-01-11 09:37:02 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b2dca7ca58)
+
+ m4: Remove stray AC_ARG_WITH from arc4random.m4
+
+
+M m4/arc4random.m4
+
+2018-12-28 10:36:49 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e771ffd56c)
+
+ lib: test-event-log - Add test for log level
+
+
+M src/lib/test-event-log.c
+
+2018-12-28 10:17:10 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b1b5cfb429)
+
+ lib: event - Check log level for info, warning and error
+
+
+M src/lib/event-log.h
+
+2018-12-28 19:06:12 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (55d9e51b6e)
+
+ lib: event - Add event_want_level and event_want_log_level
+
+
+M src/lib-lua/dlua-dovecot.c
+M src/lib/event-log.c
+M src/lib/event-log.h
+
+2018-12-11 15:46:05 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (0418a48fd8)
+
+ lib: event - Add min_log_level
+
+ Determines minimum severity to log for this event
+
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2019-01-10 12:11:24 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (94f26a41c0)
+
+ global: Really change array_idx(A, 0) to array_first(A)
+
+ Was only partially done in 27b2b51943e0f9440483abeae4c9f5805b236db9
+
+M src/auth/auth-settings.c
+M src/auth/db-ldap.c
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/doveconf.c
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/dns/dns-client.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-flags.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/cmd-list.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-fetch.c
+M src/lib-auth/auth-master.c
+M src/lib-dict-backend/dict-ldap.c
+M src/lib-fts/fts-icu.c
+M src/lib-fts/test-fts-icu.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap/imap-match.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-sync.c
+M src/lib-ldap/ldap-entry.c
+M src/lib-ldap/ldap-search.c
+M src/lib-mail/message-part-data.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+M src/lib-program-client/program-client-local.c
+M src/lib-settings/settings-parser.c
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/smtp-syntax.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/test-mail-storage.c
+M src/lib/event-filter.c
+M src/lib/strfuncs.c
+M src/lib/test-array.c
+M src/lib/test-seq-range-array.c
+M src/lib/var-expand-if.c
+M src/lib/var-expand.c
+M src/login-common/client-common-auth.c
+M src/plugins/acl/acl-api.c
+M src/plugins/apparmor/apparmor-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-user.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-sync.c
+M src/util/script.c
+
+2019-01-04 15:16:44 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c5a99e78b6)
+
+ global: Use array_last instead of array_idx
+
+ @@ expression E;
+ @@
+
+ -array_idx(E, array_count(E) - 1)
+ +array_last(E)
+
+ @@ expression E;
+ @@
+
+ -array_idx_modifiable(E, array_count(E) - 1)
+ +array_last_modifiable(E)
+
+M src/lib-imap/imap-parser.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/index-search-mime.c
+M src/lib-storage/mail-storage-hooks.c
+
+2019-01-04 14:01:53 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (48c70592eb)
+
+ global: Use array_pop_back
+
+ @@ expression A;
+ @@
+
+ -array_delete(A, array_count(A)-1, 1)
+ +array_pop_back(A)
+
+ And manually fixing the few missed ones
+
+M src/doveadm/doveadm-cmd.c
+M src/imap/imap-fetch.c
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-imap/imap-parser.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-search-mime.c
+M src/plugins/virtual/virtual-storage.c
+
+2019-01-04 13:59:36 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9b72693495)
+
+ global: Use array_pop_front
+
+ @@ expression A;
+ @@
+
+ -array_delete(A, 0, 1)
+ +array_pop_front(A)
+
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-redis.c
+M src/lib-http/http-client-connection.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/test-imapc-client.c
+M src/lib-smtp/smtp-client-command.c
+M src/lib-sql/driver-test.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/plugins/quota/quota-imapc.c
+
+2019-01-04 13:58:46 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (70540d8b3e)
+
+ global: Use array_push_front
+
+ @@ expression A,I;
+ @@
+
+ -array_insert(A, 0, I, 1)
+ +array_push_front(A, I)
+
+M src/lib-imap-client/imapc-connection.c
+M src/lib/var-expand.c
+
+2019-01-04 13:58:08 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fc1964ab66)
+
+ global: Use array_push_back
+
+ @@ expression A,I;
+ @@
+
+ -array_append(A, I, 1)
+ +array_push_back(A, I)
+
+M src/auth/auth-worker-server.c
+M src/auth/auth.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-lua.c
+M src/auth/passdb-template.c
+M src/auth/passdb.c
+M src/auth/userdb-template.c
+M src/auth/userdb.c
+M src/config/config-parser.c
+M src/config/doveconf.c
+M src/dict/dict-commands.c
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director-request.c
+M src/director/director-test.c
+M src/director/mail-host.c
+M src/director/user-directory.c
+M src/doveadm/client-connection-http.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-mail-batch.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/doveadm-oldstats.c
+M src/doveadm/doveadm-print-formatted.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/server-connection.c
+M src/imap-login/imap-login-commands.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-notify.c
+M src/imap/imap-commands.c
+M src/imap/imap-fetch.c
+M src/imap/imap-search.c
+M src/indexer/indexer-queue.c
+M src/ipc/ipc-group.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-dict-backend/dict-ldap-settings.c
+M src/lib-dict-backend/dict-sql-settings.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict.c
+M src/lib-fs/fs-api.c
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-language.c
+M src/lib-fts/fts-tokenizer.c
+M src/lib-http/http-auth.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client.c
+M src/lib-http/test-http-payload.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-msgmap.c
+M src/lib-imap-client/test-imapc-client.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-lda/mail-deliver.c
+M src/lib-ldap/ldap-search.c
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-master/master-service.c
+M src/lib-old-stats/stats.c
+M src/lib-program-client/program-client.c
+M src/lib-program-client/test-program-client-net.c
+M src/lib-program-client/test-program-client-unix.c
+M src/lib-sasl/dsasl-client.c
+M src/lib-settings/settings-parser.c
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-reply-parser.c
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/test-smtp-payload.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-test.c
+M src/lib-sql/sql-api.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-search-result.c
+M src/lib-storage/mailbox-tree.c
+M src/lib/ioloop.c
+M src/lib/istream-multiplex.c
+M src/lib/json-parser.c
+M src/lib/lib-event.c
+M src/lib/ostream-multiplex.c
+M src/lib/priorityq.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+M src/master/service.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/charset-alias/charset-alias-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-set.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-user.c
+M src/plugins/push-notification/push-notification-drivers.c
+M src/plugins/push-notification/push-notification-event-flagsclear.c
+M src/plugins/push-notification/push-notification-event-flagsset.c
+M src/plugins/push-notification/push-notification-events.c
+M src/plugins/push-notification/push-notification-plugin.c
+M src/plugins/push-notification/push-notification-txn-mbox.c
+M src/plugins/push-notification/push-notification-txn-msg.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/virtual/virtual-transaction.c
+M src/replication/replicator/replicator-brain.c
+M src/stats/stats-metrics.c
+M src/submission/submission-backend.c
+M src/submission/submission-client.c
+M src/submission/submission-recipient.c
+M src/util/script.c
+
+2019-01-04 13:56:10 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (27b2b51943)
+
+ global: Use array_first instead of array_idx
+
+ @@ expression A;
+ @@
+
+ -array_idx(A, 0)
+ +array_first(A)
+
+ @@ expression A;
+ @@
+
+ -array_idx_modifiable(A, 0)
+ +array_first_modifiable(A)
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-worker-server.c
+M src/auth/db-ldap.c
+M src/config/config-parser.c
+M src/dict/dict-commands.c
+M src/director/director.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/doveadm-print-formatted.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/imap/cmd-thread.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-fetch.c
+M src/ipc/ipc-connection.c
+M src/ipc/ipc-group.c
+M src/lib-dict/dict-redis.c
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-language.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-message-parser.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-msgmap.c
+M src/lib-imap/imap-parser.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-lda/mail-deliver.c
+M src/lib-ldap/ldap-entry.c
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-master/anvil-client.c
+M src/lib-smtp/smtp-reply-parser.c
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-test.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib/priorityq.c
+M src/master/service-process-notify.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/mail-crypt/test-mail-global-key.c
+M src/plugins/quota/quota-imapc.c
+M src/plugins/virtual/virtual-sync.c
+M src/util/script.c
+
+2019-01-02 13:29:32 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (bc8aaf3103)
+
+ lib: array - Add helpers for dealing with some common array usecases
+
+ Adds macros for accessing first and last item, pushing and popping and also
+ adding/removing first item.
+
+ Note that pop and shift do not return item.
+
+M src/lib/array.h
+
+2019-01-04 16:01:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (99cede4ba0)
+
+ lib: array - Fix asserts to work correctly on 32-bit systems
+
+
+M src/lib/array.c
+M src/lib/array.h
+M src/lib/test-array.c
+
+2019-01-06 16:22:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (70d18f1896)
+
+ lib-smtp: client: Fix infinite loop in XCLIENT command interaction with
+ server.
+
+ The state regarding the fact that the XCLIENT command was already sent was
+ not recorded. So, after the HELO handshake, the client would send a new
+ XCLIENT command.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2019-01-06 16:21:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f0c8a6de75)
+
+ lib-smtp: client: command: Add debug message showing what commands are being
+ sent to the server.
+
+
+M src/lib-smtp/smtp-client-command.c
+
+2018-12-27 14:13:15 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5824e33db2)
+
+ lib-smtp: client: Move connection to TRANSACTION state immediately when a
+ transaction is started.
+
+ Before, it waited until the actual start handler was called from timeout,
+ but that causes a race condition with
+ mtp_client_connection_abort_transaction(), which in turn causes an assert
+ panic.
+
+ Panic was:
+
+ Panic: file smtp-client-connection.c: line 2153
+ (smtp_client_connection_abort_transaction): assertion failed: (conn->state
+ != SMTP_CLIENT_CONNECTION_STATE_READY)
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-11-11 20:41:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fbeccd7f11)
+
+ lib-smtp: client: Properly reset connection state upon reconnect.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-11-11 20:32:09 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (24b713721e)
+
+ lib-smtp: client: connection: Prevent timeout leak for transaction start.
+
+ Perform timeout management in a single place. Also, always start the next
+ transaction only through a timeout.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-12-12 16:21:29 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (3d337acee9)
+
+ log: Use failure context log_prefix when available as prefix for error.
+
+ Current behaviour hides log prefix when seeing errors via doveadm log
+ errors, this commit will fix it.
+
+M src/log/log-connection.c
+
+2018-12-13 11:30:06 +0200 Martti Rannanjärvi <martti.rannanjarvi@open-xchange.com> (3fd05597e9)
+
+ auth: Fix auth-policy log-only warning whitespace
+
+
+M src/auth/auth-policy.c
+
+2018-12-04 13:42:44 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1ab18bda57)
+
+ auth: Add auth_policy_log_only setting
+
+ When auth_policy_log_only=yes, only log what would have been done.
+
+M src/auth/auth-policy.c
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+
+2018-12-04 13:42:04 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d9d7ab7526)
+
+ auth: Treat all negative responses from policy servers as drops
+
+ Otherwise negative responses that are not -1 are considered as success,
+ which is wrong.
+
+M src/auth/auth-request.c
+
+2018-12-04 13:41:20 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c57df24b54)
+
+ auth: Log policy decisions clearly
+
+
+M src/auth/auth-request.c
+
+2018-11-10 15:26:51 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c98c2c3e31)
+
+ lmtp: Load all globally-defined mail_plugins at client connect.
+
+ Before, this was not performed until after a user lookup was performed for a
+ recipient. That is not acceptable when plugins need to modify the LMTP
+ protocol itself.
+
+M src/lmtp/Makefile.am
+M src/lmtp/lmtp-client.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2018-11-10 13:58:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (38cbea18ac)
+
+ lmtp: Install header files.
+
+ This allows creating external lmtp plugins.
+
+M src/lmtp/Makefile.am
+
+2018-11-10 13:48:56 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4f39c09026)
+
+ lmtp: Rename commands.h to lmtp-commands.h.
+
+
+M src/lmtp/Makefile.am
+M src/lmtp/lmtp-client.c
+R099 src/lmtp/commands.c src/lmtp/lmtp-commands.c
+R100 src/lmtp/commands.h src/lmtp/lmtp-commands.h
+
+2018-11-10 13:52:28 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (575d543ed6)
+
+ lmtp: Rename client.h to lmtp-client.h.
+
+
+M src/lmtp/Makefile.am
+R100 src/lmtp/client.c src/lmtp/lmtp-client.c
+R100 src/lmtp/client.h src/lmtp/lmtp-client.h
+M src/lmtp/lmtp-common.h
+M src/lmtp/main.c
+
+2018-11-10 13:41:27 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d09bfaee9a)
+
+ lmtp: Make include directory available to external plugins.
+
+
+M dovecot-config.in.in
+M m4/dovecot.m4
+
+2018-11-03 13:34:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (addedc43dd)
+
+ lmtp: local: Create a client vfunc for local delivery.
+
+ This way,for example, the struct mail_deliver_context passed to
+ mail_deliver() can be adjusted by plugins.
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+
+2018-11-03 11:18:46 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7611991db3)
+
+ lib-smtp: server: Add support for adding (non-standard) extra capabilities.
+
+
+M src/lib-smtp/smtp-server-cmd-helo.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server.h
+
+2018-11-10 13:27:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6813a27740)
+
+ lib-smtp: syntax: Add new smtp_ehlo_params_are_valid().
+
+ This new version checks whether the parameters contained in the provided
+ string array are all valid EHLO parameters.
+
+M src/lib-smtp/smtp-syntax.c
+M src/lib-smtp/smtp-syntax.h
+
+2018-11-10 13:22:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (712305db37)
+
+ lib-smtp: syntax: Remame smtp_ehlo_params_are_valid() to
+ smtp_ehlo_params_str_is_valid().
+
+ Moves it out of the way for a function that is better suited for this name;
+ i.e., it operates on an array of parameters.
+
+M src/lib-smtp/smtp-syntax.c
+M src/lib-smtp/smtp-syntax.h
+M src/submission/submission-client.c
+
+2018-11-03 11:18:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (df7bcd399e)
+
+ lib-smtp: server: Add smtp_server_reply_ehlo_add_params().
+
+
+M src/lib-smtp/smtp-server-reply.c
+M src/lib-smtp/smtp-server.h
+
+2018-11-03 09:55:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2cd2b75c0d)
+
+ lib-smtp: server: EHLO command: Move composition of individual reply lines
+ to separate functions.
+
+
+M src/lib-smtp/smtp-server-cmd-helo.c
+M src/lib-smtp/smtp-server-reply.c
+M src/lib-smtp/smtp-server.h
+
+2018-11-03 09:27:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4dbec27db6)
+
+ lib-smtp: server: EHLO command: Move composition of default EHLO reply to a
+ separate public function.
+
+
+M src/lib-smtp/smtp-server-cmd-helo.c
+M src/lib-smtp/smtp-server.h
+
+2018-11-03 01:00:13 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (08cb9acf35)
+
+ lmtp: Add support for module contexts to recipient.
+
+
+M src/lmtp/lmtp-recipient.c
+M src/lmtp/lmtp-recipient.h
+
+2018-11-03 00:54:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (28c4803126)
+
+ lmtp: Add support for module contexts to client.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+
+2018-11-03 00:49:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a9d2268788)
+
+ lmtp: Implement client vfuncs for transaction start and free.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+
+2018-11-03 00:33:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3655f90e3d)
+
+ lmtp: Implement client vfuncs for SMTP transaction commands.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+M src/lmtp/commands.h
+
+2018-11-03 14:26:24 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f8629e3980)
+
+ lmtp: RCPT command: Allocate lmtp_recipient object immediately.
+
+
+M src/lmtp/client.h
+M src/lmtp/commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+M src/lmtp/lmtp-recipient.c
+M src/lmtp/lmtp-recipient.h
+
+2018-11-03 00:41:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c71b5a4bca)
+
+ lmtp: DATA command: Add data size to client state.
+
+
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2018-11-03 00:37:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0e073cef94)
+
+ lmtp: DATA command: Put the data input stream in the client state rather
+ than the transaction context.
+
+
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2018-11-02 23:48:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (df7ff5ca1a)
+
+ lmtp: Implement basic client vfuncs.
+
+ Currently, only client_destroy can be overriden.
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+
+2018-11-03 12:56:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2dac28f629)
+
+ lmtp: Add hook for client_create().
+
+
+M src/lmtp/client.c
+M src/lmtp/lmtp-common.h
+M src/lmtp/main.c
+
+2018-11-03 12:47:00 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e04982354f)
+
+ lmtp: Remove obsolete declaration from lmtp-common.h.
+
+
+M src/lmtp/lmtp-common.h
+
+2018-11-03 12:45:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (93a96d3f92)
+
+ lmtp: Make lmtp-common.h the primary include.
+
+ This better matches other services.
+
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/lmtp/lmtp-common.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/main.c
+
+2018-11-03 12:34:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9f96965a23)
+
+ lmtp: Rename main.h to lmtp-common.h.
+
+ This better matches other services.
+
+M src/lmtp/Makefile.am
+M src/lmtp/client.c
+M src/lmtp/commands.c
+R085 src/lmtp/main.h src/lmtp/lmtp-common.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/main.c
+
+2018-11-03 12:26:51 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ce5be03a0d)
+
+ lmtp: Rename lmtp-common to lmtp-recipient.
+
+
+M src/lmtp/Makefile.am
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+R096 src/lmtp/lmtp-common.c src/lmtp/lmtp-recipient.c
+R092 src/lmtp/lmtp-common.h src/lmtp/lmtp-recipient.h
+
+2018-12-11 20:28:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d52239c0e6)
+
+ lib-storage: Fix mail_get_headers() API comment
+
+
+M src/lib-storage/mail-storage.h
+
+2018-12-11 15:26:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (59f8828316)
+
+ master: Before child process closes log fds, switch logging to stderr
+
+ Otherwise any logging could cause the process to fail with FATAL_LOGWRITE
+ without writing the error message anywhere. This is especially unwanted when
+ using --enable-devel-checks and logging a debug message about growing data
+ stack.
+
+M src/master/service-process.c
+
+2018-12-07 22:38:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (90f5df3993)
+
+ lib-http: client: Fix panic occurring at connection failure.
+
+ In http_client_peer_connection_failed_pool(), all linked queues are notified
+ about the connection failure through http_client_queue_connection_failure().
+ That function can internally link and unlink peers to the queue, including
+ the calling one. This means that the peer->queues array can be modified
+ while it is iterated in the array_foreach() loop. The problem is fixed by
+ making a local copy of the peer->queues array.
+
+M src/lib-http/http-client-peer.c
+
+2018-10-25 10:31:07 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a2ac8c0b4a)
+
+ lib-http: client: Fix handling of servers with several alternative IP
+ addresses.
+
+ This also addresses an assert failure occurring with parallel clients:
+
+ Panic: file http-client-queue.c: line 518
+ (http_client_queue_connection_failure): assertion failed: (queue->cur_peer
+ == peer)
+
+M src/lib-http/http-client-queue.c
+M src/lib-http/test-http-client-errors.c
+
+2018-12-04 11:19:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (16db408725)
+
+ lib-storage: Fix error handling if mailbox list index refresh fails
+
+ The caller expects the error to be in mail_storage, not mailbox_list.
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2018-12-04 14:40:04 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3c5101ffdd)
+
+ driver-mysql: Avoid double-closing MySQL connection
+
+ Fixes double-free
+
+M src/lib-sql/driver-mysql.c
+
+2018-12-03 15:43:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fd25b2c636)
+
+ maildir: Don't crash with zlib plugin when saving is aborted
+
+ The ostream can be finished even if the saving had already failed. It gets
+ deleted anyway.
+
+ Fixes: Panic: file ostream-zlib.c: line 37 (o_stream_zlib_close): assertion
+ failed: (zstream->ostream.finished || zstream->ostream.ostream.stream_errno
+ != 0 || zstream->ostream.error_handling_disabled)
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2018-12-03 18:45:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b65b580e2a)
+
+ lib-smtp: client: Make sending the XCLIENT command(s) always implicit and do
+ it only once.
+
+ For most servers, XCLIENT changes the ip:port identity of the client,
+ causing it to lose privileges to send more XCLIENT commands. For long
+ XCLIENT commands split in a series of XCLIENT commands, the ip:port
+ parameters were sent last already, so that did not cause problems even
+ before this change. However, the old code assumed it could update XCLIENT
+ fields later on, which is often not possible.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-connection.h
+M src/lib-smtp/smtp-client-private.h
+M src/submission/submission-backend-relay.c
+
+2018-12-03 18:45:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2fc2330e61)
+
+ submission: relay backend: Don't bother updating the protocol in proxy data.
+
+ Old SMTP clients cannot use the submission service, since these cannot
+ perform the required authentication.
+
+M src/submission/submission-backend-relay.c
+
+2018-12-03 18:45:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (17463f26da)
+
+ submission: Move client_create_backend_default() after
+ smtp_server_connection_login() in client_create().
+
+ This way, the created default backend can use the HELO data provided to
+ smtp_server_connection_login().
+
+M src/submission/submission-client.c
+
+2018-12-03 18:45:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (82c56a7047)
+
+ lib-smtp: client: Allow deferring sending the XCLIENT command until
+ authentication or first mail transaction.
+
+ This allows updating the proxy data until the XCLIENT command actually needs
+ to be sent. For submission, this means that later EHLO domain changes can
+ still be accounted for. This change makes the simplifications in subsequent
+ changes easier.
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client.h
+
+2018-12-03 18:45:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (10078949df)
+
+ lib-smtp: client: Merge smtp_client_connection_init_xclient() into
+ smtp_client_connection_authenticate().
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-12-03 18:45:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f685420582)
+
+ lib-smtp: client: Move smtp_client_connection_send_xclient() before
+ smtp_client_connection_authenticate().
+
+ Keeps ordering of functions logical for next changes.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-12-03 18:45:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (33a95aaf23)
+
+ submission: relay backend: Provide data for the HELO and PROTO XCLIENT
+ fields to the relay connection.
+
+
+M src/submission/submission-backend-relay.c
+
+2018-12-03 18:45:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5d5b612246)
+
+ lib-smtp: server: Use the HELO domain provided to
+ smtp_server_connection_login() immediately.
+
+ Before, it was only used when no new HELO/EHLO command was issued before
+ MAIL.
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2018-12-03 18:45:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a5eac2f413)
+
+ lib-smtp: client: Remove proxy_data parameter from
+ smtp_client_connection_send_xclient().
+
+ Use smtp_client_connection_update_proxy_data() to change fields in the proxy
+ data recorded in the client.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-connection.h
+M src/submission/submission-backend-relay.c
+
+2018-12-03 18:45:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c110513d6b)
+
+ lib-smtp: client: Add smtp_client_connection_update_proxy_data().
+
+ Allows updating the proxy data after creation of the connection.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-connection.h
+
+2018-12-03 18:45:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e7a60cad16)
+
+ lib-smtp: client: Make smtp_client_connection_send_xclient() return void.
+
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-connection.h
+M src/submission/submission-backend-relay.c
+
+2018-12-03 18:45:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (858d8f4dc7)
+
+ lib-smtp: client: Copy proxy data from settings using the new
+ smtp_proxy_data_merge() functioṅ.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-12-03 18:45:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (58ca3ee034)
+
+ lib-smtp: common: Add smtp_proxy_data_merge().
+
+
+M src/lib-smtp/smtp-common.c
+M src/lib-smtp/smtp-common.h
+
+2018-12-03 18:45:35 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (594e077b3b)
+
+ lib-smtp: client: Drop smtp_client_command_mail_submit_after().
+
+ It is not used.
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-command.h
+
+2018-12-03 18:45:24 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5404be8a0f)
+
+ lib-smtp: client: connection: Fix copying of PROTO XCLIENT field in proxy
+ data.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-12-03 18:45:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fe373da410)
+
+ lib-smtp: syntax: Fix smtp_ehlo_line_parse() to also record the last
+ parameter.
+
+
+M src/lib-smtp/smtp-syntax.c
+
+2018-12-03 15:59:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (abac9d7ea6)
+
+ login-proxy: Fix potential crash for delayed disconnects
+
+ This happens only with login_proxy_max_disconnect_delay.
+
+ Fixes: Panic: file ioloop.c: line 86 (io_add): assertion failed: (fd >= 0)
+
+M src/login-common/login-proxy.c
+
+2018-12-04 00:16:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a732b78fa3)
+
+ lib-smtp: client: Prevent sending an empty XCLIENT command when the first
+ parameter is long.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-11-29 13:12:28 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (38ac95aa01)
+
+ lib: event - Add event_set_log_prefix_callback
+
+ Fetch prefix using a callback.
+
+M src/lib/event-log.c
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+M src/lib/test-event-log.c
+
+2018-11-29 16:28:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7fac5ac0f7)
+
+ lib: Fix failure_context.log_prefix_type_pos handling
+
+ The log type string was inserted into wrong location if there were multiple
+ log prefixes.
+
+M src/lib/failures.c
+
+2018-11-28 14:13:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (487d38cc12)
+
+ lib-storage: Remove MAILBOX_FEATURE_QRESYNC
+
+ This is an imap-specific feature, which doesn't need to be visible in the
+ lib-storage layer.
+
+M src/imap/imap-client.c
+M src/lib-storage/mail-storage.h
+
+2018-11-28 14:12:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4cec00e0dd)
+
+ imap: Add support for ENABLE extensions
+
+ Based on patch by Aki Tuomi
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-feature.c
+M src/imap/imap-feature.h
+M src/imap/main.c
+
+2018-11-28 14:02:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (808c126775)
+
+ imap: Change state import/export to use full feature string names
+
+ Single letter IDs wouldn't allow extensions.
+
+M src/imap/imap-state.c
+
+2018-11-29 10:01:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bacdb0778f)
+
+ imap: Add client_enabled_features()
+
+ This simplifies the following commits.
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2018-11-28 13:19:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c37ac46f1e)
+
+ imap: Cleanup - Change client_enable() to return void
+
+ Nothing cares about its return value. With the current features it's not
+ even possible to fail. Possibly mailbox_enable() should be also changed to
+ return void in the future.
+
+M src/imap/cmd-enable.c
+M src/imap/cmd-select.c
+M src/imap/cmd-store.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-fetch.c
+M src/imap/imap-search.c
+M src/imap/imap-status.c
+
+2018-11-28 13:17:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5328349c96)
+
+ imap: Add and use imap_feature_lookup()
+
+ This simplifies the following commits.
+
+M src/imap/Makefile.am
+M src/imap/cmd-enable.c
+A src/imap/imap-feature.c
+A src/imap/imap-feature.h
+
+2018-11-28 12:50:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b537064862)
+
+ imap: Add and use client_enabled_mailbox_features()
+
+ This simplifies the following commits.
+
+M src/imap/cmd-notify.c
+M src/imap/cmd-select.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands-util.c
+M src/imap/imap-state.c
+M src/imap/imap-status.c
+
+2018-11-28 12:48:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (579db0c8a3)
+
+ imap: Cleanup - don't avoid calling mailbox_enable(box, 0)
+
+ This simplifies the following changes. mailbox_enable() is an efficient
+ function and it doesn't mind being called with features=0 parameter.
+
+M src/imap/cmd-notify.c
+M src/imap/cmd-select.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-state.c
+M src/imap/imap-status.c
+
+2018-11-28 12:44:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (933f8a5dfa)
+
+ imap: Add and use client_has_enabled() wrapper
+
+ This simplifies the following commits.
+
+M src/imap/cmd-fetch.c
+M src/imap/cmd-select.c
+M src/imap/cmd-store.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-notify.c
+M src/imap/imap-state.c
+M src/imap/imap-sync.c
+
+2018-11-28 12:42:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cdb9a6091f)
+
+ imap: client_enable() API change - enable features one at a time
+
+ This simplifies the following commits.
+
+M src/imap/cmd-enable.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2018-11-28 12:26:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bccc16d9ce)
+
+ imap: Access enabled features via new imap_client_feature_* variables
+
+ This simplifies the following commits.
+
+M src/imap/cmd-enable.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-select.c
+M src/imap/cmd-store.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-fetch.c
+M src/imap/imap-notify.c
+M src/imap/imap-search.c
+M src/imap/imap-state.c
+M src/imap/imap-status.c
+M src/imap/imap-sync.c
+
+2018-11-29 10:19:38 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (59d28142e1)
+
+ m4: dovecot.m4 - Bump serial
+
+
+M m4/dovecot.m4
+
+2018-11-26 12:45:52 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (192ad02eba)
+
+ m4: dovecot.m4 - Improve CC_CLANG
+
+
+M m4/dovecot.m4
+
+2018-11-26 12:38:25 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (430d00c0ed)
+
+ m4: dovecot.m4 - Call CC_CLANG before DC_DOVECOT_CFLAGS
+
+ So we know if we are using clang compiler
+
+M m4/dovecot.m4
+
+2018-11-24 20:35:53 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a57aa78b70)
+
+ dovecot.m4: Preserve original CFLAGS/LDFLAGS
+
+ Correct flags are detected during configure, so avoid overwriting them here
+ by accident.
+
+M m4/dovecot.m4
+
+2018-11-24 20:09:26 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (08b8e768d1)
+
+ dovecot.m4: Use _DC_EOF instead of EOF
+
+ Avoids messing with other scripts
+
+M m4/dovecot.m4
+
+2018-11-24 20:08:51 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9740ae3e06)
+
+ dovecot.m4: Use AS_IF macro instead of if
+
+ It's safer with m4
+
+M m4/dovecot.m4
+
+2018-11-24 19:59:04 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fdb955315c)
+
+ dovecot.m4: Call DC_DOVECOT_CFLAGS and HARDENING earlier
+
+ Before SUBST
+
+M m4/dovecot.m4
+
+2018-11-24 19:58:18 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8081f1b462)
+
+ dovecot.m4: Rename DOVECOT_CFLAGS function to DC_DOVECOT_CFLAGS
+
+ Avoid conflict with variable of same name
+
+M configure.ac
+M m4/dovecot.m4
+
+2018-11-24 19:57:00 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a50212d682)
+
+ dovecot.m4: Use dnl instead of hash for comments
+
+
+M m4/dovecot.m4
+
+2018-11-24 10:20:54 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c967136e24)
+
+ configure: Use DC_DOVECOT_HARDENING
+
+
+M configure.ac
+
+2018-11-24 10:15:04 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7802f72547)
+
+ dovecot.m4: Add DC_DOVECOT_HARDENING to check hardening options
+
+
+M m4/dovecot.m4
+
+2018-11-24 10:11:55 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (abbdb8282a)
+
+ m4: Move various compiler and linker checks to dovecot.m4
+
+ We don't want to distribute CFLAGS or LDFLAGS that break compiler, due to
+ lack of support.
+
+D m4/cc_clang.m4
+D m4/cc_fortify.m4
+D m4/cc_pie.m4
+D m4/cc_retpoline.m4
+D m4/cc_stack_protector.m4
+D m4/cflags.m4
+M m4/dovecot.m4
+D m4/ld_relro.m4
+D m4/ld_whole_archive.m4
+D m4/warnings.m4
+
+2018-11-28 20:18:21 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (246f885cae)
+
+ lib: connection - Add tests for handshake failures
+
+
+M src/lib/test-connection.c
+
+2018-11-28 20:17:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a5d2c2b5ff)
+
+ lib: connection - Use CONNECTION_DISCONNECT_HANDSHAKE_FAILED explicitly
+
+ Do not accidentically use it when connection was disconnected for some other
+ reason.
+
+M src/lib/connection.c
+
+2018-11-26 19:03:11 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (317cb8aa98)
+
+ auth: auth-worker-client - Use connection code
+
+
+M src/auth/auth-worker-client.c
+
+2018-11-20 14:28:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ef71d3afe2)
+
+ auth: auth-worker-client - Log error in input handler
+
+ Simplifies next commit
+
+M src/auth/auth-worker-client.c
+
+2018-11-26 18:59:35 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b517e12423)
+
+ auth: auth-worker-client - Move dbhash_verify to better place
+
+ Simplifies next commit
+
+M src/auth/auth-worker-client.c
+
+2018-11-19 14:29:29 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (643ae560fd)
+
+ auth: auth-worker-client - Use connection structure
+
+ Simplifies following commits
+
+M src/auth/auth-worker-client.c
+
+2018-11-26 18:57:02 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f02b659738)
+
+ auth: auth-worker-client - Internalize auth_worker_client
+
+
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-client.h
+M src/auth/main.c
+
+2018-11-19 14:45:34 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5286a6149a)
+
+ auth: auth-worker-client - Use master_service_connection on constructor
+
+ Simplifies following commits
+
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-client.h
+M src/auth/main.c
+
+2018-11-28 14:51:20 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1fe416270b)
+
+ lib: connection - When logging fd, use %d and not %u
+
+ File descriptors are signed integers
+
+M src/lib/connection.c
+
+2018-11-28 15:19:02 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fd3a3af1dc)
+
+ lib: connection - Add some comments
+
+
+M src/lib/connection.h
+
+2018-11-27 12:28:12 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c93355ea6d)
+
+ lib: Add test-connection.c
+
+
+M src/lib/Makefile.am
+A src/lib/test-connection.c
+M src/lib/test-lib.inc
+
+2018-11-27 14:48:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c8f5386d41)
+
+ lib: connection - Drop unused from_streams boolean
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2018-11-23 13:57:30 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (31002d28fe)
+
+ lib: connection - Add connection_closed wrapper
+
+ Centralizes calling v.destroy
+
+M src/lib/connection.c
+
+2018-11-23 10:37:13 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a0751eaece)
+
+ lib: connection - Require destroy vfunc
+
+ Prevents signal 11 crash
+
+M src/lib/connection.c
+
+2018-11-21 15:27:25 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1095f1f683)
+
+ lib: connection - Add support for switching input handlers
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2018-11-21 12:13:06 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (874a3e1267)
+
+ lib: connection - Add handshake support
+
+ This allows specifying a custom handshake, that will be called before actual
+ processing starts. Defaults to version check.
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2018-11-21 13:04:33 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c258851975)
+
+ lib: connection - Add connection_init_client_fd
+
+ Simplifies testing
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2018-11-23 10:35:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (0936e210f5)
+
+ lib: connection - Do not resume if there is nothing to resume into
+
+
+M src/lib/connection.c
+
+2018-11-20 14:54:43 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (da00513203)
+
+ lib: connection - stop idle timeout when input is halted
+
+ Otherwise the client might get disconnected for wrong reason.
+
+M src/lib/connection.c
+
+2018-11-23 13:44:17 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (43af6076ef)
+
+ lib: connection - Add disconnected field
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2018-11-20 14:49:51 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d1b8999417)
+
+ lib: connection - Add timeout handlers
+
+ Allows specifying custom timeout handlers for connection and idle timeouts.
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2018-11-19 14:58:54 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5fe15080ff)
+
+ lib: connection - support per-connection input idle timeout
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2018-11-23 11:14:48 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f67ae7f01c)
+
+ lib: connection - Fix indentation for event_set_append_log_prefix
+
+
+M src/lib/connection.c
+
+2018-11-23 15:34:51 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (de42b54aaf)
+
+ lib-master: test-event-stats - Use PRIu64 format
+
+ Forgotten in e16ba6f
+
+M src/lib-master/test-event-stats.c
+
+2018-11-23 15:33:20 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (10048229ed)
+
+ lib-master: test-event-stats - Include signal.h
+
+ Forgotten in e16ba6f
+
+M src/lib-master/test-event-stats.c
+
+2018-11-23 10:11:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (82e0878fc3)
+
+ Update NEWS to v2.2.36 and v2.3.4
+
+
+M NEWS
+
+2018-11-14 15:44:14 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (49132a04fd)
+
+ lib-storage: pop3c - Use mail_user_init_ssl_client_settings
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-client.h
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2018-11-14 15:43:58 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f150e689eb)
+
+ lib-imap-client: Drop unused fields from settings
+
+
+M src/lib-imap-client/imapc-client.h
+
+2018-11-14 15:24:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8175095559)
+
+ auth: passdb-imap - Adapt to imap-client API change
+
+
+M src/auth/passdb-imap.c
+
+2018-11-14 15:24:18 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4af21bc65b)
+
+ lib-storage: imapc - Use mail_user_ssl_settings
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2018-11-14 15:21:36 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b7022f4aed)
+
+ lib-imap-client: Use iostream ssl settings directly
+
+ Prevents custom SSL CAs and certificate verification disabling until fixed
+ by subsequent commits.
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/imapc/Makefile.am
+M src/plugins/quota/Makefile.am
+
+2018-11-14 14:05:24 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1920d7fc13)
+
+ auth: Use master service ssl settings for http client in policy checks
+
+
+M src/auth/auth-policy.c
+M src/auth/main.c
+
+2018-11-14 14:43:52 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5e7b0e285f)
+
+ lib-master: When duplicating SSL settings set empty values NULL
+
+ Otherwise default CA is not used for client connections.
+
+ Broken in 30dca954
+
+M src/lib-master/master-service-ssl-settings.c
+
+2018-11-09 13:03:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (eed6da0859)
+
+ submission: Install header files
+
+ This allows creating external submission plugins.
+
+M src/submission/Makefile.am
+
+2018-11-09 09:54:38 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (67a6842488)
+
+ doc: Update example config about `ssl_client_require_valid_cert`
+
+
+M doc/example-config/conf.d/10-ssl.conf
+
+2018-10-31 17:19:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (909929a90b)
+
+ lib-fs: If fs_get_metadata() isn't implemented, return internal metadata
+ anyway
+
+ The metadata is sometimes used for transferring internal metadata within the
+ files. This metadata isn't stored to disk. So even if the fs driver doesn't
+ support metadata at all, it should still be possible to get/set the internal
+ metadata. Setting it was already possible, but getting wasn't.
+
+M src/lib-fs/fs-api.c
+
+2018-11-07 09:51:50 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3677e9e85e)
+
+ lib: Add unit test for event duration
+
+ Make sure event duration is non-zero when used without ioloop.
+
+M src/lib/test-event-log.c
+
+2018-11-02 10:39:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ffc9057dc5)
+
+ submission: relay backend: Forward a (possibly multi-line) 421 reply from
+ relay server to the client.
+
+ Before, it substituted a generic 421 error reply, which is far less helpful.
+
+M src/submission/submission-backend-relay.c
+
+2018-11-02 10:37:22 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (92d4598114)
+
+ submission: client: Properly handle a multi-line reason string in
+ client_disconnect().
+
+ Pass the multi-line string to smtp_server_connection_terminate(), yet log it
+ as a single line.
+
+M src/submission/submission-client.c
+
+2018-11-02 10:26:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (748cebbfb0)
+
+ lib-smtp: server: connection: Properly handle a multi-line reason in
+ smtp_server_connection_terminate().
+
+
+M src/lib-smtp/smtp-server-connection.c
+
+2018-11-02 10:43:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1192789051)
+
+ lib-smtp: server: connection: Properly handle a multi-line reason in
+ smtp_server_connection_disconnect().
+
+ Convert it to a single line string.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2018-11-02 10:23:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1f99803d9e)
+
+ lib-smtp: server: connection: Add smtp_server_connection_reply_lines().
+
+ This function immediately sends a reply on the connection with the indicated
+ status, enhanced code and text lines.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2018-11-02 10:17:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8f0bd78a1c)
+
+ lib-smtp: server: connection: Add debug messages for protocol elements sent
+ outside the normal reply API.
+
+
+M src/lib-smtp/smtp-server-connection.c
+
+2018-11-02 10:14:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (978448a41c)
+
+ lib-smtp: reply: Add smtp_reply_get_text_lines_omit_prefix().
+
+ This returns a string array of the lines in the reply, omitting the prefix
+ (the first word), which is usually a "<domain>" value.
+
+M src/lib-smtp/smtp-reply.c
+M src/lib-smtp/smtp-reply.h
+
+2018-11-02 10:11:35 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (173f199af0)
+
+ lib-smtp: reply: Make parsing enhanced status codes available as a separate
+ function.
+
+
+M src/lib-smtp/smtp-reply-parser.c
+M src/lib-smtp/smtp-reply-parser.h
+
+2018-11-02 10:12:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8be34ea0bf)
+
+ lib: strfuncs: Add t_str_oneline().
+
+ This puts the string on a single line by replacing all newlines with spaces
+ and dropping any carriage returns
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/lib/test-strfuncs.c
+
+2018-11-06 21:00:47 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e3d4f2bc26)
+
+ lib-lua: Fix sizeof usage for struct event* storage
+
+ Found by coverity
+
+M src/lib-lua/dlua-dovecot.c
+
+2018-11-02 10:08:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0a85bcddde)
+
+ lib-smtp: client: transaction: Hold a reference to the transaction while
+ calling the RCPT command callback.
+
+ This fixes memory problems when the callback inadvertently gets the
+ transaction destroyed.
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-10-31 14:19:49 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (33ed40dfd4)
+
+ lib-storage: Copy all relevant TLS settings
+
+ Not just ca path and dir
+
+M src/lib-storage/mail-user.c
+
+2018-10-31 14:09:30 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (066a00ffff)
+
+ lib-storage: Add all client ssl settings to mail storage settings
+
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2018-10-31 14:20:36 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (21002d4236)
+
+ lib-master: Add new setting `ssl_client_require_valid_cert`
+
+ This controls whether TLS certificates are verified for TLS CLIENT
+ connections.
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+
+2018-11-01 01:14:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7197689fd9)
+
+ lib-smtp: server: recipient: Hold a reference to the recipient while calling
+ a non-destroy hook.
+
+ Prevents memory problems when the hook inadvertently gets the recipient
+ destroyed. Unlike the server command, this is not strictly necessary for the
+ recipient object, but we add this anyway to prevent future problems when the
+ recipient implementation becomes more complex (e.g. with additional hooks).
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+
+2018-11-01 00:58:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (529eb8a5f1)
+
+ lib-smtp: server: recipient: Prevent reference counting from within destroy
+ hook.
+
+
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+
+2018-11-01 01:25:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (144b6381fc)
+
+ lib-smtp: server: recipient: Add reference counting.
+
+ Unlike the server command, this is not strictly necessary for the recipient
+ object, but we add this anyway to prevent future problems when the recipient
+ implementation becomes more complex.
+
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+
+2018-11-01 00:12:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (eeca44f5b7)
+
+ lib-smtp: server: Make sure command object is not used after it is destroyed
+ in hook.
+
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2018-11-01 01:40:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a882b189ad)
+
+ lib-smtp: server: command: Hold connection reference while calling replied
+ hook.
+
+
+M src/lib-smtp/smtp-server-command.c
+
+2018-11-01 00:44:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1d99b045a6)
+
+ lib-smtp: server: command: Move core of smtp_server_command_submit_reply()
+ into a separate function.
+
+ Makes the next changes easier.
+
+M src/lib-smtp/smtp-server-command.c
+
+2018-11-01 00:39:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (24a22bd8da)
+
+ lib-smtp: server: command: Hold a reference to the command while calling a
+ non-destroy hook.
+
+ Prevents memory problems when the hook inadvertently gets the command
+ destroyed.
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-private.h
+
+2018-11-01 00:27:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4283d14562)
+
+ lib-smtp: server: command: Prevent reference counting from within destroy
+ hook.
+
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-private.h
+
+2018-11-01 22:22:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0eee7483da)
+
+ lib-smtp: Consistently use signed integer for reference counters.
+
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-server-private.h
+
+2018-10-30 09:53:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f996eb545c)
+
+ submission: relay backend: Add assertion in
+ backend_relay_handle_relay_reply() to address compiler warning.
+
+ Assert that the error message is assinged when the result is FALSE.
+
+M src/submission/submission-backend-relay.c
+
+2018-10-30 09:57:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (318a4d3af1)
+
+ submission: relay backend: In backend_relay_handle_relay_reply(): Only
+ determine error detail when it is used.
+
+
+M src/submission/submission-backend-relay.c
+
+2018-10-29 01:36:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (dbf5c61135)
+
+ submission: Make include directory available to external plugins.
+
+
+M dovecot-config.in.in
+M m4/dovecot.m4
+
+2018-10-25 23:50:55 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3bbf1d4a2c)
+
+ submission: relay backend: Allow creating the client transaction with
+ specific flags.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+
+2018-10-18 02:15:07 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ad9247768a)
+
+ lib-smtp: client: Allow enabling the LMTP per-RCPT DATA reply behavior for
+ ESMTP transactions.
+
+ This is non-standard.
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-client-transaction.h
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/test-smtp-client-errors.c
+M src/lib-smtp/test-smtp-payload.c
+M src/lmtp/lmtp-proxy.c
+M src/submission/submission-backend-relay.c
+
+2018-10-27 12:20:01 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a41510dd8e)
+
+ submission: Add support for module contexts to backend.
+
+
+M src/submission/submission-backend.c
+M src/submission/submission-backend.h
+
+2018-10-27 11:56:59 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (83fd3b1c9e)
+
+ submission: Allocate each backend on its own pool.
+
+ This allows allocating per-backend module data.
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend.c
+M src/submission/submission-backend.h
+
+2018-10-26 21:00:00 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7017982a5d)
+
+ submission: Add support for modifying the transaction path and parameters in
+ the trans_start backend vfunc.
+
+ To keep the changes limited to a particular backend, the server transaction
+ cannot be modified. Also, creating a mock server transaction and passing it
+ on is not a good idea, since it is not a simple container struct.
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend.c
+M src/submission/submission-backend.h
+
+2018-10-26 17:00:32 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (dd2814d753)
+
+ submission: Add backend flag indicating whether the backend is ready.
+
+ This flag is set just before the ready() vfunc is called.
+
+M src/submission/submission-backend.c
+M src/submission/submission-backend.h
+
+2018-10-18 23:35:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (19b619782a)
+
+ submission: Add backend vfunc called when the backend is ready.
+
+ For a relay backend, this means that the connection is fully connected and
+ handshaked. For any backend it means the capabilities are known (and passed
+ as a parameter to the ready function).
+
+M src/submission/submission-backend.c
+M src/submission/submission-backend.h
+
+2018-10-25 23:50:22 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0e2f17dbd5)
+
+ lib-smtp: params: Explicitly allow smtp_params_*_add_extra() value parameter
+ to be NULL.
+
+
+M src/lib-smtp/smtp-params.h
+
+2018-10-17 01:34:54 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9896a12d8d)
+
+ submission: relay backend: Allow recording extra (non-standard)
+ capabilities.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+
+2018-10-16 23:58:23 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (56b9f1ba78)
+
+ submission: relay backend: Provide access to the client connection and
+ transaction for plugins.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2018-10-17 00:59:02 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (55c07f5016)
+
+ lib-smtp: client: Add support for recording extra (non-standard)
+ capabilities from server.
+
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-connection.h
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client.c
+M src/lib-smtp/smtp-client.h
+M src/lib-smtp/smtp-common.h
+
+2018-10-17 01:05:07 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (8d4a0e0608)
+
+ lib-smtp: client: connection: Consolidate capability data into a struct.
+
+ Allows clearing it reliably.
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2018-10-26 22:26:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (841a7736af)
+
+ submission: Clarify the behavior of command handlers and the requirements
+ for overriding them.
+
+
+M src/submission/submission-backend.h
+M src/submission/submission-client.h
+
+2018-10-25 21:02:46 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (33125ccbdd)
+
+ submission: Use the new smtp_server_cmd_noop_reply_success() function.
+
+
+M src/submission/submission-backend-relay.c
+
+2018-03-12 02:59:28 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (58017c0b46)
+
+ lmtp: local: Use the new smtp_server_cmd_rcpt_reply_success() function.
+
+
+M src/lmtp/lmtp-local.c
+
+2018-10-25 20:29:30 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ca137b15dd)
+
+ lib-smtp: server: NOOP command: Implement
+ smtp_server_cmd_noop_reply_success() for sending default success reply.
+
+
+M src/lib-smtp/smtp-server-cmd-noop.c
+M src/lib-smtp/smtp-server.h
+
+2018-10-25 20:38:26 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9eb0245f8a)
+
+ lib-smtp: server: RSET command: Implement
+ smtp_server_cmd_rset_reply_success() for sending default success reply.
+
+
+M src/lib-smtp/smtp-server-cmd-rset.c
+M src/lib-smtp/smtp-server.h
+
+2018-03-12 01:03:24 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (16a1735415)
+
+ lib-smtp: server: RCPT command: Implement
+ smtp_server_cmd_rcpt_reply_success() for sending default success reply.
+
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server.h
+
+2018-03-12 01:01:46 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (383924fdcd)
+
+ lib-smtp: server: MAIL command: Implement
+ smtp_server_cmd_mail_reply_success() for sending default success reply.
+
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server.h
+
+2018-10-28 12:08:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5872f2dd3c)
+
+ submission: relay backend: Always reset the trans_started flag upon
+ trans_free().
+
+
+M src/submission/submission-backend-relay.c
+
+2018-10-28 12:08:13 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (dc820f23d8)
+
+ submission: backend: Properly reset the trans_started flag upon
+ trans_free().
+
+
+M src/submission/submission-backend.c
+
+2018-10-19 17:39:36 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (6a7a98339e)
+
+ doc: example-config: Document the new submission_backend_capabilities
+ setting.
+
+
+M doc/example-config/conf.d/20-submission.conf
+
+2018-10-29 17:27:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (daca99f554)
+
+ submission,submission-login: Implicitly enable CHUNKING when
+ submission_backend_capabilities setting includes BINARYMIME.
+
+ BINARYMIME requires CHUNKING support and we should not expect administrators
+ to always be aware of that fact.
+
+M src/submission-login/client.c
+M src/submission/submission-client.c
+
+2018-10-19 17:12:10 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1ea5d9aac1)
+
+ submission: relay backend: VRFY command: Avoid forwarding 500 and 502
+ replies back to client.
+
+ These are in fact non-standard for VRFY and indicate that VRFY support is
+ disabled, which is not allowed by the specification. Instead, we now
+ substitute the default 252 response.
+
+M src/submission/submission-backend-relay.c
+
+2018-10-19 17:02:08 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (275fcbf07e)
+
+ lib-smtp: server: VRFY command: Implement smtp_server_cmd_reply_default()
+ for sending default reply.
+
+
+M src/lib-smtp/smtp-server-cmd-vrfy.c
+M src/lib-smtp/smtp-server.h
+
+2018-10-19 16:42:41 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (24896b110e)
+
+ submission,submission-login: Omit listing VRFY capability if the backend
+ provides no explicit support.
+
+
+M src/submission-login/client-authenticate.c
+M src/submission/submission-client.c
+M src/submission/submission-commands.c
+
+2018-10-19 11:15:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (26daf87269)
+
+ submission-login: Use the submission_backend_capabilities setting to compose
+ the EHLO reply when configured.
+
+ This way, the EHLO response prior to AUTH will better match the EHLO
+ response after AUTH.
+
+M src/submission-login/client-authenticate.c
+M src/submission-login/client.c
+M src/submission-login/client.h
+M src/submission-login/submission-login-settings.c
+M src/submission-login/submission-login-settings.h
+
+2018-10-19 11:24:35 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (c673f4ff71)
+
+ submission-login: Add the VRFY capability to the EHLO reply.
+
+ The post-login service does it too.
+
+M src/submission-login/client-authenticate.c
+
+2018-10-19 00:35:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d37c69505a)
+
+ submission: relay backend: Fix non-transaction commands to work when
+ submission_backend_capabilities is configured.
+
+ When submission_backend_capabilities is configured, the backend is not
+ started until the first transaction is started. But for commands that should
+ work outside the transaction, the backend should also be started, which was
+ not the case before this fix.
+
+M src/submission/submission-backend.c
+
+2018-10-19 00:01:40 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (85336e7e9b)
+
+ submission: backends: Set the started flag before calling the backend start
+ vfunc.
+
+ This prevents recursive mishaps.
+
+M src/submission/submission-backend.c
+
+2018-10-29 10:43:10 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c1ea6e1790)
+
+ auth: test-lua - Add test to ensure that values are not converted to number
+ by mistake
+
+
+M src/auth/test-lua.c
+
+2018-10-29 10:42:36 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9b6fb05690)
+
+ auth: test-lua - Fix unit test to handle errors
+
+
+M src/auth/test-lua.c
+
+2018-10-29 14:43:11 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fea1932bd7)
+
+ auth: test-lua - Fix inconsistent whitespace
+
+
+M src/auth/test-lua.c
+
+2018-10-29 09:52:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (80fa56296c)
+
+ auth: db-lua - Use lua_type to detect type
+
+ Using lua_isnumber to detect numbers also considers convertible strings as
+ numbers.
+
+M src/auth/db-lua.c
+
+2018-10-29 09:50:33 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (caa69d7dcc)
+
+ auth: Store password with auth_set_field in Lua passdb
+
+ Makes caching work for passwords
+
+M src/auth/passdb-lua.c
+
+2018-10-29 09:49:48 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9516018b3c)
+
+ auth: Use default scheme in Lua passdb lookup
+
+ Fixes a null pointer crash.
+
+M src/auth/passdb-lua.c
+
+2018-10-25 13:35:52 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (815668a9fa)
+
+ lib: uri-util: Add tests for URI character escape functions.
+
+
+M src/lib/test-uri.c
+
+2018-10-25 13:34:52 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (acdbd55889)
+
+ lib: uri-util: Add functions for escaping (almost) all reserved URI
+ characters.
+
+
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2018-10-25 13:50:36 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7213120b64)
+
+ lib-lua: Use source instead of short_src
+
+ short_src is a limited value, and also an byte array instead of a pointer so
+ it should not be returned.
+
+ Found by coverity.
+
+M src/lib-lua/dlua-dovecot.c
+
+2018-10-19 13:54:50 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (571860f02d)
+
+ lib-lua: Make sure events get right file:line information
+
+
+M src/lib-lua/dlua-dovecot.c
+
+2018-10-19 13:54:34 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fcafdd5506)
+
+ mail-lua: Fix argument number checking for mailbox#sync
+
+
+M src/plugins/mail-lua/mail-storage-lua.c
+
+2018-10-19 09:39:39 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c73fbdf9dc)
+
+ push-notification-driver-lua: Perform garbage collection after transaction
+
+ Ensure Lua releases resources here.
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2018-10-15 14:46:30 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (89bd1d213f)
+
+ push-notification-driver-ox: Convert to event based logging
+
+ Also fixes the logging to be standard
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2018-10-15 12:20:20 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3c0782d157)
+
+ push-notification-driver-lua: Add events
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2018-10-15 12:04:19 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fbe7ae7d37)
+
+ push-notification: Emit event on transaction end
+
+
+M src/plugins/push-notification/push-notification-plugin.c
+
+2018-10-15 12:03:58 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2d406d403f)
+
+ push-notification: Add event to push notification transaction
+
+
+M src/plugins/push-notification/push-notification-drivers.h
+M src/plugins/push-notification/push-notification-plugin.c
+
+2018-10-15 11:55:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6ad5d1be52)
+
+ push-notification: Add event category
+
+
+M src/plugins/push-notification/push-notification-plugin.c
+M src/plugins/push-notification/push-notification-plugin.h
+
+2018-10-19 11:36:09 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a5d6a30363)
+
+ lib-lua: Move __gc metamethod for event to userdata
+
+ Compability for lua 5.1
+
+M src/lib-lua/dlua-dovecot.c
+
+2018-10-18 13:55:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6dce1dbf5a)
+
+ lib-fts: test-fts-tokenizer: Verify fts_tokenizer_create() return value
+
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2018-10-18 15:25:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (eefe0e0a3d)
+
+ lib-master: test-event-stats: Properly ensure cleanup of all files generated
+ by tests.
+
+
+M src/lib-master/test-event-stats.c
+
+2018-10-18 15:09:51 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (30203e9dff)
+
+ lib-master: test-event-stats: Move launch_test_stats() to a more logical
+ place.
+
+
+M src/lib-master/test-event-stats.c
+
+2018-10-18 15:11:55 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ed0476e0db)
+
+ lib-master: Create local .gitignore file for potential test output junk.
+
+
+A src/lib-master/.gitignore
+
+2018-10-18 12:31:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b25dbc2699)
+
+ lib-lua: Check number of arguments
+
+
+M src/lib-lua/dlua-dovecot.c
+
+2018-07-30 13:12:47 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (32238c4b88)
+
+ lib-lua: Add flag manipulation functions
+
+
+M src/lib-lua/dlua-dovecot.c
+M src/lib-lua/test-lua.c
+
+2018-10-11 19:50:06 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c9079c4d7a)
+
+ lib-lua: Add test for event framework
+
+
+M src/lib-lua/test-lua.c
+
+2018-10-11 19:10:17 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e921e41214)
+
+ lib-lua: Add event interface
+
+
+M src/lib-lua/dlua-dovecot.c
+M src/lib-lua/dlua-script.h
+
+2018-10-11 17:06:00 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f99b185f7c)
+
+ lib-lua: Add events to scripts
+
+
+M src/auth/passdb-lua.c
+M src/auth/test-lua.c
+M src/auth/userdb-lua.c
+M src/lib-lua/dlua-script-private.h
+M src/lib-lua/dlua-script.c
+M src/lib-lua/dlua-script.h
+M src/lib-lua/test-lua.c
+M src/plugins/mail-lua/mail-lua-plugin.c
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2018-10-18 12:35:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (46378555fe)
+
+ fts: Fix search query generation when one language ignores a token
+
+ The search query was changed to "NOT ALL", even though other languages used
+ the token.
+
+M src/plugins/fts/fts-search-args.c
+
+2018-10-12 09:45:42 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (fd4a0c17ae)
+
+ submission: relay backend: Handle the LMTP per-RCPT DATA reply behavior when
+ enabled.
+
+ Without this change, enabling the per-RCPT DATA reply behavior on the server
+ side will not have the desired effect.
+
+M src/submission/submission-backend-relay.c
+
+2018-10-18 01:39:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d48fe36408)
+
+ submission: relay backend: Log an error when relayed commands fail with
+ connection-related errors.
+
+ Errors sent by the remote server are handled by the command reply handler
+ and are logged using i_info() where relevant.
+
+M src/submission/submission-backend-relay.c
+
+2018-10-12 10:34:21 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (5c80d9f368)
+
+ submission: relay backend: Fix comment in RCPT command code.
+
+
+M src/submission/submission-backend-relay.c
+
+2018-10-12 09:42:29 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b6fcc187ed)
+
+ submission: recipient: Add field for associating backend context.
+
+
+M src/submission/submission-recipient.h
+
+2018-10-12 09:34:56 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2a11662372)
+
+ lmtp: DATA command: Assert that the server transaction flags are correct for
+ LMTP.
+
+
+M src/lmtp/commands.c
+
+2018-10-06 11:21:35 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e974bf655f)
+
+ lib-smtp: server: Allow enabling the LMTP per-RCPT DATA reply behavior for
+ ESMTP transactions.
+
+ This is non-standard.
+
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/smtp-server.h
+M src/submission/submission-backend-relay.c
+
+2018-10-18 11:37:00 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f603a77d45)
+
+ mail-lua: Check number of arguments
+
+
+M src/plugins/mail-lua/mail-storage-lua.c
+
+2018-10-18 12:04:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2ba3ed50ec)
+
+ lib-lua: Add DLUA_REQUIRE_ARGS(s,x) and DLUA_REQUIRE_ARGS_IN(s,x,y)
+
+ First form requires that x arguments are provided for dlua script s.
+
+ Second form requires that at least x and at most y arguments are provided
+ for dlua script s
+
+ Automatically returns luaL_error.
+
+M src/lib-lua/dlua-script-private.h
+
+2018-10-16 11:35:45 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c7768ff78b)
+
+ mail-lua: Make flags optional for mailbox#sync
+
+
+M src/plugins/mail-lua/mail-storage-lua.c
+
+2018-10-16 11:34:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (69f4093bc4)
+
+ mail-lua: Make flags optional for user#mailbox
+
+
+M src/plugins/mail-lua/mail-storage-lua.c
+
+2018-10-16 10:13:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6104445a8f)
+
+ mail-lua: Change mailbox#status API to varargs
+
+ It's much easier to use this way
+
+M src/plugins/mail-lua/mail-storage-lua.c
+
+2018-10-17 19:44:31 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7cb88d4b34)
+
+ lib-master: Fix test-event-stats
+
+ New stats uses gettimeofday that generated unpredictable values for this
+ test.
+
+M src/lib-master/test-event-stats.c
+
+2018-10-17 12:47:37 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (296440689a)
+
+ lib: event - Stop exporting ioloop time
+
+ It is not needed by stats process.
+
+M src/lib/lib-event.c
+
+2018-10-16 09:03:05 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fbe550d9e2)
+
+ stats: Use duration field from events
+
+
+M src/stats/stats-metrics.c
+
+2018-10-16 08:52:49 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c93059baff)
+
+ lib: event - Record real duration
+
+ The old code only measured difference between successive ioloop_time
+ updates. The new code uses gettimeofday to get current real time, making
+ measurements accurate.
+
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2018-10-16 08:17:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8a34fa6ff5)
+
+ lib: event - Duplicate source_filename
+
+ Prevents crash on event leak when plugin that caused the leak is unloaded.
+
+M src/lib/lib-event.c
+
+2018-10-16 16:11:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (201193581f)
+
+ lib: event - Rename tv_created as tv_created_ioloop
+
+
+M src/lib-master/stats-client.c
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+
+2018-10-12 09:23:27 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2387195f7c)
+
+ submission: relay backend: Do not close the client connection for failure in
+ a non-default backend.
+
+ Adjusts the backend API to remember the failure until the present
+ transaction is reset. In the mean time, any commands issued to the backend
+ are failed immediately. In contrast, failure on the default backend will
+ cause the client connection to be closed, like before.
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend.c
+M src/submission/submission-backend.h
+
+2018-10-12 10:01:12 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3a804e7bc0)
+
+ submission: relay backend: Use (potentially) modified reply after
+ backend_relay_handle_relay_reply().
+
+ Before, it sometimes still referred to the original reply struct from the
+ client callback.
+
+M src/submission/submission-backend-relay.c
+
+2018-10-12 10:07:14 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3cda72f2c2)
+
+ submission: relay backend: Use smtp_reply_is_success() to evaluate reply
+ form relay.
+
+ Before, it evaluated the reply status directly.
+
+M src/submission/submission-backend-relay.c
+
+2018-10-14 14:23:32 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cb3e468add)
+
+ lib-smtp: server: Add smtp_server_command_get_reply_count().
+
+ Returns the number of replies expected to the command.
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server.h
+
+2018-10-14 13:45:56 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a08babe0ec)
+
+ lib-smtp: client: Make smtp_client_transaction_unref(NULL) a no-op.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-10-14 13:43:42 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f6ee5f8902)
+
+ lib-smtp: client: Make smtp_client_transaction_destroy(NULL) a no-op.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-10-11 00:50:26 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7a07f3bd52)
+
+ submission: Allocate recipients for the client transaction on the server
+ recipient pool.
+
+
+M src/submission/submission-backend-relay.c
+
+2018-10-11 00:49:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9c54d83ba3)
+
+ lmtp: proxy: Allocate recipients for the client transaction on the server
+ recipient pool.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2018-10-11 00:49:33 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b61c969cfa)
+
+ lib-smtp: client: transaction: Add alternative function for adding a
+ recipient on an application-provided pool.
+
+ This allows modifying the recipient object beyond approval. Before, it was
+ always moved to the transaction pool, thereby invalidating the original
+ returned pointer. This way, the data_calback and context can be set at a
+ later time, e.g. when the DATA command is being processed. This makes a
+ choice between LMTP-style and SMTP-style replies to the DATA command a bit
+ easier to handle. Also, the recipient is entirely allocated on a single pool
+ between the client and server side, which should improve memory consumption
+ a little. As a bonus, this removes the need to have dummy DATA callbacks.
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-client-transaction.h
+
+2018-10-12 10:42:55 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0f739330cf)
+
+ lib-smtp: client: transaction: Fix and amend a few comments in the header.
+
+
+M src/lib-smtp/smtp-client-transaction.h
+
+2018-10-12 09:24:06 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9d4e58e680)
+
+ lib-smtp: client: Remove unused "failed" field from struct
+ smtp_client_transaction_mail.
+
+
+M src/lib-smtp/smtp-client-private.h
+
+2018-10-14 22:34:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (624907b564)
+
+ submission: Fix starting secondary backends created before the server-side
+ transaction is fully created.
+
+ Record an array of those backends and start them once the transaction is
+ created. Before, this was implemented using the array of approved recipients
+ (which each point to their backend). However, this does not work, since
+ there can be no approved recipients when there is no server-side transaction
+ yet.
+
+M src/submission/submission-backend.c
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2018-10-14 23:00:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a357af3d50)
+
+ submission: relay backend: Properly manage the trans_started flag.
+
+ Sometimes it was not set at all. This didn't lead to problems in most cases,
+ but this was at least confusing while debugging. Also, the flag is set
+ before the client transaction is actually started, making sure (future)
+ recursive problems will not occur.
+
+M src/submission/submission-backend-relay.c
+
+2018-10-14 22:48:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (28d0308068)
+
+ submission: relay backend: Set the immediate for the client transaction no
+ matter where it is created.
+
+ Forgot a few instances.
+
+M src/submission/submission-backend-relay.c
+
+2018-10-14 22:42:36 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3fe59d1a83)
+
+ submission: RCPT command: Move starting the backend transaction from
+ submission-commands.c to submission-backend.c.
+
+ This way, the transaction is only started from RCPT when the backend needs
+ it at this point.
+
+M src/submission/submission-backend.c
+M src/submission/submission-commands.c
+
+2018-09-23 19:53:07 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (69e8b91d0a)
+
+ submission: relay backend: Add support for relaying to a unix socket.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+
+2018-09-23 19:43:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (95403ba427)
+
+ lib-smtp: client: Allow connecting to SMTP/LMTP services offered through
+ unix sockets.
+
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-connection.h
+M src/lib-smtp/smtp-client-private.h
+
+2018-09-23 19:32:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (efbcf12577)
+
+ lib-smtp: client: Move creation of connection object to a separate function.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-10-07 18:37:48 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0a8512c614)
+
+ lib-smtp: server: Record the associated server command in the recipient
+ object.
+
+ This avoids the need to do that in application code.
+
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/smtp-server.h
+M src/lmtp/lmtp-common.c
+M src/lmtp/lmtp-common.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+
+2018-10-07 21:24:43 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cbcdb5965c)
+
+ submission: Use the recipient index in the server recipient object rather
+ than the submission recipient.
+
+
+M src/submission/submission-recipient.c
+M src/submission/submission-recipient.h
+
+2018-10-07 21:23:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (42f96eef3b)
+
+ lmtp: Use the recipient index in the server recipient object rather than the
+ lmtp recipient.
+
+
+M src/lmtp/lmtp-common.c
+M src/lmtp/lmtp-common.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+
+2018-10-07 19:44:40 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (32ea743b82)
+
+ submission: Use the path in the server recipient object rather than the
+ submission recipient.
+
+ It is recorded reliably on a pool from the start now
+
+M src/submission/submission-recipient.c
+M src/submission/submission-recipient.h
+
+2018-10-07 19:47:59 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2f82d4d1b8)
+
+ lmtp: Use the path in the server recipient object rather than the lmtp
+ recipient.
+
+ It is recorded reliably on a pool from the start now.
+
+M src/lmtp/lmtp-common.c
+M src/lmtp/lmtp-common.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+
+2018-10-07 17:47:29 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (95a8968140)
+
+ submission: Start using the new lib-smtp/server recipient pool.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend.c
+M src/submission/submission-backend.h
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+M src/submission/submission-commands.c
+M src/submission/submission-commands.h
+M src/submission/submission-recipient.c
+M src/submission/submission-recipient.h
+
+2018-10-07 22:32:38 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (078a025291)
+
+ lmtp: Start using the new lib-smtp/server recipient pool.
+
+
+M src/lmtp/lmtp-common.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+
+2018-10-07 21:37:00 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ccff7a5301)
+
+ lib-smtp: server: Create the definitive recipient object right at the
+ reception of the RCPT command.
+
+ Before, it first allocated stuff on the command pool, which gets freed when
+ the RCPT command finishes. Allocating the recipient data on its own pool
+ from the start considerably simplifies the code and prevents very nasty
+ bugs.
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server.h
+M src/lib-smtp/test-smtp-payload.c
+M src/lib-smtp/test-smtp-server-errors.c
+M src/lmtp/commands.c
+M src/lmtp/commands.h
+M src/lmtp/lmtp-common.c
+M src/lmtp/lmtp-common.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend.c
+M src/submission/submission-backend.h
+M src/submission/submission-client.h
+M src/submission/submission-commands.c
+M src/submission/submission-commands.h
+
+2018-10-07 21:13:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (53023a72ad)
+
+ lib-smtp: server: Record the index in the list of approved recipients in the
+ recipient object.
+
+ This avoids the need to do that in application code.
+
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/smtp-server.h
+
+2018-10-07 20:42:20 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0ba3af55e4)
+
+ lib-smtp: server: Add hooks API for recipient.
+
+
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server.h
+
+2018-10-07 20:34:12 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (994be519d4)
+
+ lib-smtp: server: Allocate each recipient on its own pool.
+
+ This way, the application can associate data with the recipient, which
+ implicitly goes away either when the transaction is finished or the
+ recipient is denied.
+
+M src/lib-smtp/Makefile.am
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-private.h
+A src/lib-smtp/smtp-server-recipient.c
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/smtp-server.h
+
+2018-10-08 01:09:26 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (c4a1905123)
+
+ submission: Rename struct smtp_server_recipient *trcpt variables to *rcpt.
+
+
+M src/submission/submission-commands.c
+M src/submission/submission-recipient.c
+M src/submission/submission-recipient.h
+
+2018-10-08 00:44:28 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e52357b785)
+
+ submission: Rename struct submission_recipient *rcpt variables to *srcpt.
+
+
+M src/submission/submission-client.h
+M src/submission/submission-commands.c
+M src/submission/submission-commands.h
+M src/submission/submission-recipient.c
+M src/submission/submission-recipient.h
+
+2018-10-07 23:53:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ddf5a9e711)
+
+ lmtp: Rename struct smtp_server_recipient *trcpt variables to *rcpt.
+
+
+M src/lmtp/lmtp-common.c
+M src/lmtp/lmtp-common.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+
+2018-03-12 01:22:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (569604a2f8)
+
+ lmtp: local: Rename struct lmtp_local_recipient *rcpt variables to *llrcpt.
+
+
+M src/lmtp/lmtp-local.c
+
+2018-03-12 01:12:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a220ca78ee)
+
+ lmtp: proxy: Rename struct lmtp_proxy_recipient *rcpt variables to *lprcpt.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2018-10-07 23:08:37 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (325ae4e4d8)
+
+ lmtp: common: Rename struct lmtp_recipient *rcpt variables to *lrcpt.
+
+
+M src/lmtp/lmtp-common.c
+M src/lmtp/lmtp-common.h
+
+2018-03-12 03:12:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a220f905fa)
+
+ lmtp: local: Do not use array_idx() to obtain transaction recipient from
+ lib-smtp.
+
+ It is already available in struct lmtp_recipient. Also, this call was very
+ ugly.
+
+M src/lmtp/lmtp-local.c
+
+2018-10-07 18:17:28 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (faf72e575b)
+
+ lmtp: Reformat commands.h.
+
+
+M src/lmtp/commands.h
+
+2018-10-05 00:26:56 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (297ca82aab)
+
+ submission: client: Add API for adding extra (non-standard) capabilities.
+
+
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+M src/submission/submission-commands.c
+
+2018-10-05 00:26:03 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (98ea2c2e2f)
+
+ lib-smtp: syntax: Add verification functions for EHLO keywords and
+ parameters.
+
+
+M src/lib-smtp/smtp-syntax.c
+M src/lib-smtp/smtp-syntax.h
+
+2018-09-25 02:18:24 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e38ff66a62)
+
+ submission: Add support for module contexts to recipient.
+
+
+M src/submission/submission-recipient.c
+M src/submission/submission-recipient.h
+
+2018-05-13 11:33:03 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b2c30f230b)
+
+ submission: Add support for module contexts to client.
+
+
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2018-09-16 21:47:10 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f3f676f7b5)
+
+ submission: Implement client vfuncs for transaction start and free.
+
+
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2018-09-15 21:47:42 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (8e0e321c7e)
+
+ submission: Implement client vfuncs for all normal SMTP commands.
+
+
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+M src/submission/submission-commands.c
+M src/submission/submission-commands.h
+
+2018-05-13 11:15:59 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (79e4f34a1b)
+
+ submission: Implement basic client vfuncs.
+
+ Currently, only client_destroy can be overriden.
+
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2018-09-25 02:11:46 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (abd6484138)
+
+ submission: Allocate each recipient object on its own pool.
+
+ This allows allocating per recipient module data.
+
+M src/submission/submission-recipient.c
+M src/submission/submission-recipient.h
+
+2018-09-25 01:53:02 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0381d1082c)
+
+ submission: Provide ephemeral pool for transaction state.
+
+
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2018-09-16 21:15:20 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (23f2178c43)
+
+ submission: Allocate client on alloconly mempool.
+
+
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2018-09-13 23:30:26 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (eb1651466c)
+
+ lib-smtp: server: Add proper infrastructure for adding custom MAIL/RCPT
+ command parameters.
+
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server.h
+
+2018-09-16 22:07:16 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f0aace43bc)
+
+ lib-smtp: params: Add functions for dropping extra MAIL/RCPT parameters.
+
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+
+2018-10-03 22:05:10 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4536a7b03f)
+
+ lib-smtp: params: Add functions for adding extra MAIL/RCPT parameters.
+
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+
+2018-09-13 22:48:51 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (355a17828c)
+
+ lib-smtp: params: Allow only specific custom parameter extensions, rather
+ than any parameter.
+
+ Before the choice was between allowing any extension or none.
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server.c
+M src/lib-smtp/smtp-server.h
+M src/lib-smtp/test-smtp-params.c
+
+2018-09-16 21:55:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (bea8658fe2)
+
+ lib-smtp: params: Fix segfault occurring in smtp_param_write() when
+ param->value == NULL.
+
+
+M src/lib-smtp/smtp-params.c
+
+2018-09-29 04:42:27 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9dff384d0b)
+
+ submission: relay backend: Use SMTP client transaction API, rather than
+ relaying individual commands.
+
+
+M src/submission/submission-backend-relay.c
+
+2018-10-01 00:28:06 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (be1fef356b)
+
+ lib-smtp: client: transaction: Add option to submit commands immediately,
+ rather than queueing them on a zero timeout.
+
+ Also, allow interleaving other unrelated (non-transaction) commands. This is
+ made possible by not locking/plugging the command pipeline.
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-client-transaction.h
+
+2018-09-29 18:28:29 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (83b435744c)
+
+ lib-smtp: client: Fully disconnect the connection upon failure before
+ triggering failure callbacks.
+
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-09-30 00:37:10 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (210e323bb1)
+
+ lib-smtp: client: transaction: Add support for aborting a pending RCPT
+ command.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-client-transaction.h
+
+2018-09-30 00:35:26 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (75839000b5)
+
+ lib-smtp: client: transaction: Add support for aborting a pending MAIL
+ command.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-client-transaction.h
+
+2018-09-28 17:59:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cf50fbb04d)
+
+ lib-smtp: client: transaction: Add support for creating an empty transaction
+ (without MAIL FROM data).
+
+
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-client-transaction.h
+
+2018-09-28 15:44:55 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3cc2a33aea)
+
+ lib-smtp: client: transaction: Add support for pipelining more than a single
+ MAIL command.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-client-transaction.h
+
+2018-09-28 02:10:41 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (095769c585)
+
+ lib-smtp: client: transaction: Add infrastructure for pipelining more than a
+ single MAIL command.
+
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-09-28 13:39:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (dbf6a2120c)
+
+ lib-smtp: client: transaction: Rename mail_from_callback/mail_from_context
+ to mail_callback/mail_context.
+
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-client-transaction.h
+
+2018-09-30 11:50:02 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ac70d0d1f3)
+
+ lib-smtp: client: transaction: Use linked lists rather than arrays for
+ recipients.
+
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-09-21 00:55:51 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7d8abb1bff)
+
+ lib-smtp: client: transaction: Add support for ending the transaction in a
+ graceful RSET command.
+
+ Allows running the pending transaction until RSET, without abruptly aborting
+ it or issuing a DATA command.
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-client-transaction.h
+
+2018-09-30 23:56:57 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (dee73f5359)
+
+ lib-smtp: client: transaction: Move initiation of command submission to a
+ central position.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-09-28 13:28:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1dd38f34b3)
+
+ lib-smtp: client: transaction: Perform pipeline plug handling just once at
+ top-level in smtp_client_transaction_submit_more().
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-09-28 13:17:30 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e1985046c8)
+
+ lib-smtp: client: transaction: Annotate sub-parts of
+ smtp_client_transaction_send_more() with comments.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-09-30 23:35:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (508f855ca8)
+
+ lib-smtp: client: transaction: Move smtp_client_transaction_submit_more().
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-10-02 04:28:10 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (42fd1786dd)
+
+ lib-smtp: client: transaction: Move initiation of command submission after
+ starting the transaction timeout.
+
+ This is a precaution against the emergence of segfaults when command
+ submission somehow terminates the transaction in a future version (actually,
+ a segfault did emerge in an earlier version of this set of changes). Also it
+ is a cosmetic change: putting the most important act at the end of the
+ function makes more sense in this case.
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-09-28 13:08:46 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (5db6074a8c)
+
+ lib-smtp: client: transaction: Rename smtp_client_transaction_send_rcpts()
+ to smtp_client_transaction_submit_more().
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-10-01 23:26:18 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b1f36abdf4)
+
+ lib-smtp: client: transaction: Move the code executed at the completion of
+ the transaction to a separate shared function.
+
+ The transaction is complete when all RCPT replies are received and either a
+ DATA or a RSET command is submitted.
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-10-02 21:44:48 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (479f191070)
+
+ lib-smtp: client: transaction: Don't trigger next transaction unless all
+ RCPT replies are received and DATA is submitted.
+
+ Triggering the next transaction when DATA submitted while not all RCPT
+ replies are received (as it was before) is problematic when commands are
+ submitted immediately by the transaction (which is added in a later commit).
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-09-29 20:43:20 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cc9d4ca924)
+
+ lib-smtp: client: transaction: Prevent calling callbacks after
+ smtp_client_transaction_destroy().
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-09-29 21:09:57 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4bee7b2225)
+
+ lib-smtp: client: transaction: Annotate sub-parts of
+ smtp_client_transaction_fail_reply() with comments.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-09-29 21:07:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (5457f5a8e7)
+
+ lib-smtp: client: transaction: Add debug message for when
+ smtp_client_transaction_abort() is called during
+ smtp_client_transaction_fail*().
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-09-29 13:19:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2ddbfc7e71)
+
+ lib-smtp: client: transaction: Make sure the transaction is finished/aborted
+ after smtp_client_connection_destroy().
+
+ Otherwise, the transaction could be dereferenced several times too often.
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-10-02 00:04:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a2cbf003b7)
+
+ lib-smtp: client: connection: Add debug messages for transaction handling.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-09-29 00:21:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e255197476)
+
+ lib-smtp: server: RCPT command: Improve replacement of (forwarded) specific
+ error reply with generic state error.
+
+ Predictable transaction state errors were not always replaced reliably when
+ commands were pipelined, leading to a mix of proxy and remote errors.
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+
+2018-09-29 00:20:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (6406c30c90)
+
+ lib-smtp: server: MAIL command: Improve replacement of (forwarded) specific
+ error reply with generic state error.
+
+ Predictable transaction state errors were not always replaced reliably when
+ commands were pipelined, leading to a mix of proxy and remote errors.
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+
+2018-09-29 00:19:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (46a6901cd1)
+
+ lib-smtp: server: Add ability to determine whether command reply was created
+ using smtp_server_reply_create_forward().
+
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-reply.c
+M src/lib-smtp/smtp-server.h
+
+2018-09-27 22:16:56 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (51c917f8e3)
+
+ lib-smtp: server: MAIL command: Reliably start the transaction when several
+ MAIL commands are pipelined.
+
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+
+2018-09-29 20:54:03 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e6c9e368d4)
+
+ lib-smtp: client: Properly manage command timeout during transaction.
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+
+2018-09-29 15:31:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (887b2096a2)
+
+ lib-smtp: client: transaction: Set the number of expected DATA replies > 1
+ only for LMTP.
+
+ This was already OK for when all recipients were added at the time the data
+ command was to be sent. However, for more dynamic transactions involving
+ pipelining, this was not handled correctly.
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-09-29 15:31:14 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3743378198)
+
+ lib-smtp: client: Clear command callback early to prevent mishaps.
+
+
+M src/lib-smtp/smtp-client-command.c
+
+2018-09-29 20:39:28 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (24f9503896)
+
+ lib-smtp: client: Add smtp_client_command_drop_callback().
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-private.h
+
+2018-09-29 20:38:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a8b750ef4e)
+
+ lib-smtp: client: Fix memory issue caused when reconnecting.
+
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib/connection.c
+
+2018-09-20 22:33:23 +0300 Phil Carmody <phil@dovecot.fi> (94a30fa2a4)
+
+ lib-fts: replace repeated explicit hex utf8 with cleaner macro in tokeniser
+ test
+
+ utf8 is too line-noisy, this improves readability.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2018-05-16 18:08:01 +0300 Phil Carmody <phil@dovecot.fi> (001bcbdabc)
+
+ lib-fts: tokenizer-generic - tr29 explicit-prefix parsing
+
+ Similar logic to before - any wordlike sequence that ends with a * is
+ considered a prefix search, and immediately begins a new token.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2018-04-28 15:33:28 +0300 Phil Carmody <phil@dovecot.fi> (a55dc1dff1)
+
+ lib-fts: test-fts-tokenizer - explicit-prefix tests
+
+ Note that the special handling of '*' only kicks in when in
+ "search" and "explicitprefix" mode (as passed in through the settings), and
+ currently, only for the simple mode, not tr29.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2018-05-16 17:57:14 +0300 Phil Carmody <phil@dovecot.fi> (e6a17422de)
+
+ lib-fts: tokenizer-generic - simple explicit prefix search logic
+
+ Logic is that words followed by a '*' create a prefix search token. A new
+ token is begun immediately after that. So "foo*bar" is 2 tokens
+ "foo*" and "bar", when in explicit prefix search tokenisation mode.
+
+ Only active in 'simple', not 'tr29'.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fts/fts-common.h
+M src/lib-fts/fts-tokenizer-generic-private.h
+M src/lib-fts/fts-tokenizer-generic.c
+
+2018-05-16 17:37:29 +0300 Phil Carmody <phil@dovecot.fi> (c59424ddcb)
+
+ lib-fts: tokenizer-generic - add more history to break detection
+
+ For example, going from non-word to non-word is a different type of break
+ (not really a break) from the transition from a word to a non-word.
+ Presently, that distinction isn't needed, but it will be for explicit prefix
+ searches.
+
+ Make the tok parameter const too, whilst there.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2018-05-16 16:32:35 +0300 Phil Carmody <phil@dovecot.fi> (336ddc224e)
+
+ lib-fts: tokenizer-generic - recognise request for explicit prefix searching
+
+ Just store a flag in the tokenizer when the setting is seen, nothing more.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fts/fts-tokenizer-generic-private.h
+M src/lib-fts/fts-tokenizer-generic.c
+
+2018-04-28 12:30:49 +0300 Phil Carmody <phil@dovecot.fi> (64599a8260)
+
+ lib-fts/test-fts-tokenizer - have different possible test inputs
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2018-05-11 13:34:40 +0300 Phil Carmody <phil@dovecot.fi> (d2a3c68552)
+
+ lib-fts: generic simple tokeniser - distinguish "letters" from non-"letters"
+
+ prev_type is only compared against SINGLE_QUOTE, so there will be no
+ behavioural differences. However, maintaining the state that we've just seen
+ something we are prepared to search for (very loosely, a "letter") rather
+ than something that we threw away (word breaks) will be important when it
+ comes to explicit prefix query parsing.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2018-05-16 17:11:27 +0300 Phil Carmody <phil@dovecot.fi> (eeb61afbfd)
+
+ lib-fts: tokenizer-generic - move related helpers together in file
+
+ They're logically related, and not specifically simple or tr29 related, so
+ keep them together, so either tokeniser can use them. Cosmetic only, no
+ functional changes.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2018-05-16 17:04:35 +0300 Phil Carmody <phil@dovecot.fi> (a664a335e3)
+
+ lib-fts: tokenizer-generic - move state history setting into helper
+
+ We can read the value directly, but for encapsulation it's best to do the
+ shifting of the token type history into a helper in a similar way as how it
+ is done for tr29 tokenising.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2018-04-28 15:46:54 +0300 Phil Carmody <phil@dovecot.fi> (fbc8ab8aef)
+
+ lib-fts/fts-tokenizer-generic - rename more state variables - cosmetic
+
+ No need for a suffix now we've renamed the type variables. Patch best viewed
+ with: git show --color-words='[[:alnum:]_]+'
+
+ Unfortunately this is very churny, but there are no functional changes.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fts/fts-tokenizer-generic-private.h
+M src/lib-fts/fts-tokenizer-generic.c
+
+2018-04-28 15:38:06 +0300 Phil Carmody <phil@dovecot.fi> (a5550d93dd)
+
+ lib-fts/fts-tokenizer-generic - rename state variables - cosmetic
+
+ These contain types, not letters, no functional changes.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fts/fts-tokenizer-generic-private.h
+M src/lib-fts/fts-tokenizer-generic.c
+
+2018-04-26 16:57:11 +0300 Phil Carmody <phil@dovecot.fi> (3cb8678634)
+
+ lib-fts/fts-tokeniser-generic: move to container_of() for type-safety
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2018-09-15 18:15:36 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (694365517b)
+
+ submission: backends: Add trans_start() and trans_free() vfuncs.
+
+ These are called when the SMTP transaction is started and freed
+ respectively.
+
+M src/submission/submission-backend.c
+M src/submission/submission-backend.h
+M src/submission/submission-client.c
+M src/submission/submission-commands.c
+
+2018-09-15 18:04:33 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7fc7e66e95)
+
+ submission: Record backend used for each recipient.
+
+ This is a preparation for plugins overriding the default backend for a
+ recipient.
+
+M src/submission/submission-backend.c
+M src/submission/submission-backend.h
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+M src/submission/submission-commands.c
+M src/submission/submission-recipient.c
+M src/submission/submission-recipient.h
+
+2018-09-15 17:33:03 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2c66ae1280)
+
+ submission: Record main backend for the transaction.
+
+ This is a preparation for plugins overriding the default backend for a
+ transaction.
+
+M src/submission/submission-backend.c
+M src/submission/submission-client.h
+M src/submission/submission-commands.c
+
+2018-10-04 21:56:20 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (dcc3b5157d)
+
+ submission: DATA command: Pass the total size of the data stream to the
+ backend.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend.c
+M src/submission/submission-backend.h
+M src/submission/submission-commands.c
+
+2018-10-04 21:01:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a8569e12b9)
+
+ submission: DATA command: Obtain the size of the buffered data from the
+ stream position rather than using i_stream_get_size().
+
+
+M src/submission/submission-commands.c
+
+2018-09-15 16:01:59 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0917f428cb)
+
+ submission: relay backend: Use backend-specific settings rather than the
+ generic submission service settings.
+
+ This way, several relay backends can be operated together with different
+ settings.
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-client.c
+
+2018-09-15 15:46:34 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (08551fedc1)
+
+ submission: relay backend: Make struct submission_backend_relay private.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+
+2018-09-15 15:29:40 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (03c230d208)
+
+ submission: relay backend: Turn client_proxy_create() into a proper backend
+ constructor.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2018-09-15 15:13:32 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0f2963e045)
+
+ submission: relay backend: Turn client_get_max_mail_size() into a relay
+ backend vfunc.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-client.c
+
+2018-09-15 14:44:41 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a3607047c6)
+
+ submission: relay backend: Turn client_proxy_input_pre/post() into relay
+ backend vfuncs.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-client.c
+
+2018-09-15 14:35:10 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0fc5353c0c)
+
+ submission: relay backend: Turn client_proxy_start() into a relay backend
+ vfunc.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-client.c
+
+2018-09-15 14:25:38 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (029567d732)
+
+ submission: relay backend: Turn client_proxy_destroy() into a relay backend
+ vfunc.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-client.c
+
+2018-09-15 13:53:07 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (54dafcf1b6)
+
+ submission: relay backend: Turn SMTP command functions into relay backend
+ vfuncs.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-commands.c
+
+2018-09-15 14:08:57 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (860f7540bb)
+
+ submission: client: Create default backend in a separate function.
+
+
+M src/submission/submission-backend.c
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2018-09-15 13:02:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (044f30bd8f)
+
+ submission: Define generic backend API.
+
+
+M src/submission/Makefile.am
+A src/submission/submission-backend.c
+M src/submission/submission-backend.h
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2018-10-04 01:37:24 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9814a40148)
+
+ submission: Add submission_backend_capabilities setting.
+
+ This can be used to specify which capabilities the (relay) backend supports,
+ avoiding the need to query the backend explicitly before the EHLO reply is
+ sent to the client.
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+M src/submission/submission-commands.c
+M src/submission/submission-settings.c
+M src/submission/submission-settings.h
+
+2018-10-04 21:39:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (86d15f862c)
+
+ submission: commands: Expect connection setup errors from relaying commands.
+
+ Subsequent changes remove the guarantee that the connection is setup
+ successfuly
+ (to gain EHLO capabilities) before commands are submitted. This means that
+ the callbacks from commands can thereafter return connection setup errors as
+ well.
+
+M src/submission/submission-backend-relay.c
+
+2018-09-26 21:44:35 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ae86163a2e)
+
+ lib-smtp: client: Use the new smtp_capability_find_by_name() function.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-09-26 21:36:01 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (6ca6ecbe92)
+
+ lib-smtp: client: Document the forced_capabilities setting.
+
+
+M src/lib-smtp/smtp-client.h
+
+2018-09-26 21:32:45 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b06f9d7b91)
+
+ lib-smtp: Add utility function for finding capabilities by name.
+
+
+M src/lib-smtp/smtp-common.c
+M src/lib-smtp/smtp-common.h
+
+2018-09-15 15:02:20 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1f6ddc6429)
+
+ submission: client: Simplifly calculation of max mail size.
+
+
+M src/submission/submission-client.c
+
+2018-09-15 13:17:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (35f368bc91)
+
+ submission: Record accepted recipients in the client object.
+
+ Allows associating context with recipients in future changes.
+
+M src/submission/Makefile.am
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+M src/submission/submission-commands.c
+A src/submission/submission-recipient.c
+A src/submission/submission-recipient.h
+
+2018-07-15 22:37:13 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (8316a82c4b)
+
+ submission: Reformat submission-backend-relay.c.
+
+
+M src/submission/submission-backend-relay.c
+
+2018-07-15 21:42:17 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9b8a53ec23)
+
+ submission: relay backend: Change almost all occurrences of 'proxy' to
+ 'relay'.
+
+ This makes the naming consistent with the name of the backend. Only the
+ lib-smtp proxy_data is not renamed.
+
+M src/submission/submission-backend-relay.c
+
+2018-07-15 21:27:48 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (00e398c45f)
+
+ submission: relay backend: Rename client_command_handle_proxy_reply() to
+ backend_relay_handle_relay_reply().
+
+ Also make it accept the backend rather than the client struct.
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-commands.h
+
+2018-07-15 20:56:47 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (70cd6d4e24)
+
+ submission: relay backend: Rename *_proxy_cb() to *_callback().
+
+
+M src/submission/submission-backend-relay.c
+
+2018-07-15 21:10:39 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (656fdfa4ab)
+
+ submission: relay backend: Add 'relay_' prefix to command functions and
+ structs.
+
+
+M src/submission/submission-backend-relay.c
+
+2018-07-15 20:35:45 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d7e57d9851)
+
+ submission: relay backend: Use pointer to backend rather than client in
+ command contexts.
+
+
+M src/submission/submission-backend-relay.c
+
+2018-07-15 20:49:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9f41081ff1)
+
+ submission: Move relay-related client fields to separate backend struct.
+
+
+M src/submission/Makefile.am
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+A src/submission/submission-backend.h
+M src/submission/submission-client.h
+M src/submission/submission-commands.c
+
+2018-09-02 17:10:19 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (89952b0c2c)
+
+ submission: Move client_proxy_get_max_mail_size() to
+ submission-backend-relay.c.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-client.c
+
+2018-09-02 16:05:28 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (87c64fe094)
+
+ submission: Move client_proxy_input_pre/post() to
+ submission-backend-relay.c.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-client.c
+
+2018-09-02 15:29:24 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (34714d9fcd)
+
+ submission: Move client_proxy_destroy() to submission-backend-relay.c.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-client.c
+
+2018-07-15 22:02:37 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (88b9ea370d)
+
+ submission: Move client_proxy_create() to submission-backend-relay.c.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-client.c
+
+2018-09-01 16:40:10 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ead1dcbedb)
+
+ submission: Move client_proxy_start() to submission-backend-relay.c.
+
+
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-client.c
+
+2018-09-02 17:04:14 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (6373b8abfb)
+
+ submission: Split off obtaining the relay connection capabilities into a
+ separate function.
+
+
+M src/submission/submission-client.c
+
+2018-09-02 15:44:33 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (74786deea1)
+
+ submission: Split off corking and uncorking the relay connection in a
+ separate function.
+
+
+M src/submission/submission-client.c
+
+2018-09-02 15:10:08 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b8770ef6ad)
+
+ submission: Split off closing the relay connection in a separate function.
+
+
+M src/submission/submission-client.c
+
+2018-09-01 15:51:01 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (dd441ab58d)
+
+ submission: Split off starting the relay connection in a separate function.
+
+
+M src/submission/submission-client.c
+
+2018-07-15 19:54:06 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (09a9afbafe)
+
+ submission: Remove client_proxy_is_disconnected().
+
+ It is not used anywhere.
+
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2018-07-15 19:52:41 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9f7368a90a)
+
+ submission: Remove client_proxy_is_ready().
+
+ It is not used anywhere.
+
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+
+2018-08-30 00:26:03 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b7cceeef83)
+
+ submission: Move relay part of QUIT command to submission-backend-relay.c.
+
+
+M src/submission/Makefile.am
+D src/submission/cmd-quit.c
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-commands.h
+
+2018-08-30 00:21:59 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cdb809b5df)
+
+ submission: Move generic part of QUIT command to submission-commands.c.
+
+
+M src/submission/cmd-quit.c
+M src/submission/submission-commands.c
+
+2018-07-15 19:06:34 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4db72b61f3)
+
+ submission: Move relay part of NOOP command to submission-backend-relay.c.
+
+
+M src/submission/Makefile.am
+D src/submission/cmd-noop.c
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-commands.h
+
+2018-08-29 23:51:09 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (371893e1e9)
+
+ submission: Move generic part of NOOP command to submission-commands.c.
+
+
+M src/submission/cmd-noop.c
+M src/submission/submission-commands.c
+
+2018-09-10 01:07:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (39a9bb2351)
+
+ submission: Move relay part of VRFY command to submission-backend-relay.c.
+
+
+M src/submission/Makefile.am
+D src/submission/cmd-vrfy.c
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-commands.h
+
+2018-08-29 23:37:25 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9fafcd5455)
+
+ submission: Move generic part of VRFY command to submission-commands.c.
+
+
+M src/submission/cmd-vrfy.c
+M src/submission/submission-commands.c
+
+2018-07-15 19:38:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (8e39aade3f)
+
+ submission: Move BURL command implementation to submission-commands.c.
+
+
+M src/submission/Makefile.am
+D src/submission/cmd-data.c
+M src/submission/submission-commands.c
+
+2018-07-15 19:03:09 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (fff1a8b87e)
+
+ submission: Move relay part of DATA command to submission-backend-relay.c.
+
+
+M src/submission/cmd-data.c
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-commands.h
+
+2018-08-30 00:59:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (799b2eee40)
+
+ submission: Move generic part of DATA command to submission-commands.c.
+
+
+M src/submission/cmd-data.c
+M src/submission/submission-commands.c
+
+2018-07-15 19:00:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0cf0912957)
+
+ submission: Move relay part of RSET command to submission-backend-relay.c.
+
+
+M src/submission/Makefile.am
+D src/submission/cmd-rset.c
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-commands.h
+
+2018-08-29 23:33:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (8fa4f9b23b)
+
+ submission: Move generic part of RSET command to submission-commands.c.
+
+
+M src/submission/cmd-rset.c
+M src/submission/submission-commands.c
+
+2018-08-29 22:45:00 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (56b9a1e365)
+
+ submission: Move relay part of RCPT command to submission-backend-relay.c.
+
+
+M src/submission/Makefile.am
+D src/submission/cmd-rcpt.c
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-commands.h
+
+2018-08-29 23:30:31 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (dc219bec45)
+
+ submission: Move generic part of RCPT command to submission-commands.c.
+
+
+M src/submission/cmd-rcpt.c
+M src/submission/submission-commands.c
+
+2018-07-15 18:57:26 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (5411aba100)
+
+ submission: Move relay part of MAIL command to submission-backend-relay.c.
+
+
+M src/submission/Makefile.am
+D src/submission/cmd-mail.c
+M src/submission/submission-backend-relay.c
+M src/submission/submission-backend-relay.h
+M src/submission/submission-commands.h
+
+2018-08-29 23:25:32 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (5eedfc3398)
+
+ submission: Move generic part of MAIL command to submission-commands.c.
+
+
+M src/submission/cmd-mail.c
+M src/submission/submission-commands.c
+
+2018-07-15 18:54:00 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3866e0f5ca)
+
+ submission: Move relay part of HELO/EHLO command to
+ submission-backend-relay.c.
+
+
+M src/submission/Makefile.am
+D src/submission/cmd-helo.c
+M src/submission/submission-backend-relay.c
+A src/submission/submission-backend-relay.h
+M src/submission/submission-commands.c
+M src/submission/submission-commands.h
+
+2018-09-01 13:34:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (603f5bef73)
+
+ submission: Move generic part of HELO/EHLO command to submission-commands.c.
+
+
+M src/submission/cmd-helo.c
+M src/submission/submission-commands.c
+
+2018-08-30 00:18:40 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f41711cdd5)
+
+ submission: Split the QUIT command into a generic part and a part related to
+ relaying to an MTA.
+
+
+M src/submission/cmd-quit.c
+M src/submission/submission-commands.h
+
+2018-08-29 23:43:43 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a033a0ab60)
+
+ submission: Split the NOOP command into a generic part and a part related to
+ relaying to an MTA.
+
+
+M src/submission/cmd-noop.c
+M src/submission/submission-commands.h
+
+2018-08-29 22:37:27 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (215de7eb80)
+
+ submission: Split the VRFY command into a generic part and a part related to
+ relaying to an MTA.
+
+
+M src/submission/cmd-vrfy.c
+M src/submission/submission-commands.h
+
+2018-08-28 01:58:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cb06770f4c)
+
+ submission: Split the DATA command into a generic part and a part related to
+ relaying to an MTA.
+
+
+M src/submission/cmd-data.c
+M src/submission/submission-commands.h
+
+2018-08-29 22:30:51 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (29e21ab39b)
+
+ submission: Split the RSET command into a generic part and a part related to
+ relaying to an MTA.
+
+
+M src/submission/cmd-rset.c
+M src/submission/submission-commands.h
+
+2018-08-29 22:27:12 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (89e1b7cdbf)
+
+ submission: Split the RCPT command into a generic part and a part related to
+ relaying to an MTA.
+
+
+M src/submission/cmd-rcpt.c
+M src/submission/submission-commands.h
+
+2018-08-29 22:25:18 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (128e1510f1)
+
+ submission: Split the MAIL command into a generic part and a part related to
+ relaying to an MTA.
+
+
+M src/submission/cmd-mail.c
+M src/submission/submission-commands.h
+
+2018-09-01 13:30:34 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9d9d8badb6)
+
+ submission: Split the EHLO command into a generic part and a part related to
+ relaying to an MTA.
+
+
+M src/submission/cmd-helo.c
+M src/submission/submission-commands.h
+
+2018-08-27 20:15:40 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0b6f9d363a)
+
+ submission: Move submission_helo_reply_submit() from cmd-helo.c to
+ submission-commands.c.
+
+
+M src/submission/cmd-helo.c
+M src/submission/submission-commands.c
+
+2018-08-27 19:46:21 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0c66087d92)
+
+ submission: Make HELO/EHLO reply submission a separate public function.
+
+
+M src/submission/cmd-helo.c
+M src/submission/submission-commands.h
+
+2018-07-15 19:10:36 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (20739fcc0f)
+
+ submission: Move client_command_handle_proxy_reply() to
+ submission-backend-relay.c.
+
+
+M src/submission/Makefile.am
+A src/submission/submission-backend-relay.c
+M src/submission/submission-commands.c
+
+2018-09-15 18:33:30 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3da32cc3f6)
+
+ submission: client: Remove spurious forward declaration of "struct
+ client_command_context".
+
+
+M src/submission/submission-client.h
+
+2018-09-15 21:06:07 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cbb3c56efa)
+
+ lib-smtp: client: Add forward declaration for struct smtp_client_settings in
+ smtp-client-connection.h.
+
+
+M src/lib-smtp/smtp-client-connection.h
+
+2018-09-12 21:21:09 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (bffbe44ee9)
+
+ lib-smtp: server: Drop pending commands and transaction at disconnect rather
+ than destroy.
+
+ This makes sure the conn_trans_free() connection callback is called before
+ th conn_disconnect() callback. This makes more sense than the other way
+ around, which instead would be a likely cause for mishaps causing segfaults
+ and the like.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2018-09-02 23:26:21 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3821bfb0ca)
+
+ lib-smtp: server: Add callback for transaction start.
+
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server.h
+
+2018-09-14 13:19:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (395e41c593)
+
+ dict-client: Avoid excessive CPU usage while waiting commands to finish
+
+ client_dict_add_timeout() adds the timeout thinking that the dict no longer
+ has any work to do, so it can be freed soon. However, if other work is added
+ before that, the timeout just keeps getting called over and over again. This
+ is especially bad with the default idle timeout of 0.
+
+M src/lib-dict/dict-client.c
+
+2018-10-03 12:00:55 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (31485c6a61)
+
+ push-notification: Resolve confusion about msg->seq
+
+ It's not the same seq what the mail has, but a sequence that is used to find
+ out UID for saved mails. So rename it to save_idx and treat it accordingly.
+ Note that save_idx is 0 based, and mail sequence is 1 based.
+
+M src/plugins/push-notification/push-notification-txn-msg.c
+M src/plugins/push-notification/push-notification-txn-msg.h
+
+2018-09-28 13:30:51 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a6d0b683c5)
+
+ push-notification-driver-lua: Include date from MessageAppend
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2018-09-28 13:30:01 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a2d62437f4)
+
+ push-notification-event-messageappend: Include date information parsed from
+ headers
+
+ Consistency with MessageNew
+
+M src/plugins/push-notification/push-notification-event-messageappend.c
+M src/plugins/push-notification/push-notification-event-messageappend.h
+
+2018-09-28 13:01:58 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (189ba69d5f)
+
+ push-notification: Make sure txn messages are unique
+
+ save_count is not reliable as it's not incremented for events like flag
+ changes.
+
+M src/plugins/push-notification/push-notification-txn-msg.c
+
+2018-09-27 09:54:10 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f7ea49f363)
+
+ push-notification-driver-lua: Always use DLUA_LOG_LABEL
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2018-09-27 09:52:59 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (81c14eb3c9)
+
+ push-notification-driver-lua: Properly register all events
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2018-09-25 15:49:21 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3d0ea5241f)
+
+ mail-lua: Fix gc code to push key first then value
+
+ Otherwise it uses nil as key, which makes no sense and leads to eventual
+ crash.
+
+M src/plugins/mail-lua/mail-storage-lua.c
+
+2018-09-25 14:09:55 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (015480e761)
+
+ push-notification-driver-lua: tx begin pushed mail user not username
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2018-09-25 14:09:28 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9fe6fdaba6)
+
+ push-notification-driver-lua: Do not push user again
+
+ User is already pushed in tx begin, and can be stored there into the
+ context.
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2018-09-25 14:08:59 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (36c7f553b2)
+
+ push-notification-driver-lua: Move event push earlier
+
+ Simplifies code
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2018-09-25 12:24:02 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cc7843bcde)
+
+ mail-lua: Add deinit_pre function
+
+
+M src/plugins/mail-lua/mail-lua-plugin.c
+
+2018-09-24 15:29:12 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7c72577eb9)
+
+ push-notification-driver-lua: Reference mail user only if initialization is
+ successful
+
+ Will cause assert-crash otherwise if initialization fails
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2018-09-24 15:24:19 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6ed76dc5fb)
+
+ push-notification-driver-lua: Fix symbol names
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2018-09-24 15:23:59 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (da69bb8711)
+
+ mail-lua: Deinit script after others
+
+ Some other plugin might need Lua for deinit
+
+M src/plugins/mail-lua/mail-lua-plugin.c
+
+2018-09-24 14:46:19 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b9c47a3097)
+
+ push-notification-driver-lua: Use Lua references for context
+
+
+M src/plugins/push-notification/push-notification-driver-lua.c
+
+2018-09-24 15:07:26 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b10f9786e2)
+
+ mail-lua: Implement mail_lua_plugin_get_script
+
+ It was forgotten in 950c7e06dbf7f1cd696653af95b8c0053a9e86da
+
+M src/plugins/mail-lua/mail-lua-plugin.c
+
+2018-10-01 11:02:58 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (e16ba6f168)
+
+ lib-master: Unit test for sending events to stats.
+
+
+M src/lib-master/Makefile.am
+A src/lib-master/test-event-stats.c
+
+2018-10-02 10:22:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (66ff4bd102)
+
+ lib-master: ipc-client: Don't free command too early
+
+ When multiple replies were received by IPC only the final reply should free
+ the command. This may have caused e.g. "doveadm proxy list" to crash. Broken
+ by 435f0545b200767c25a5daee17cd6b4998d03710
+
+M src/lib-master/ipc-client.c
+
+2018-09-19 15:50:26 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (da035a60e3)
+
+ dbox: cache pop3 order and uidl when saving mails
+
+
+M src/lib-storage/index/dbox-common/dbox-save.c
+
+2018-09-19 15:49:56 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (81842bdc92)
+
+ lib-storage/index: Add a helper to cache pop3 order and uidl
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2018-09-20 06:32:46 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (06f9dbba6d)
+
+ global: Use uint32_t for pop3 order
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mail.h
+M src/lib-storage/mail-storage-private.h
+
+2018-07-24 09:51:39 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (250902f63e)
+
+ lib-ssl-iostream: If certificate check fails, suggest checking ssl ca
+ settings
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2018-07-23 12:40:15 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1a4300bb27)
+
+ lib-ssl-iostream: Always fall back to default CAs for client contexts
+
+ When creating a client context, we always try to load the default CA, if no
+ CA settings have been provided. This makes it also possible to allow invalid
+ certs without specifying ssl_client_ca settings, and also makes dovecot
+ trust system store by default for outgoing connections.
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2018-09-26 12:25:59 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ab2302b120)
+
+ lib-smtp: client: Make the initialization of the connection after SSL
+ handshake reliable.
+
+ Before, the connection was not guaranteed to be fully initialized after the
+ SSL handshake. The problem would occur when the handshake finished while
+ writing the SSL output stream. In a similar HTTP client issue, this caused a
+ segfault.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2018-09-26 00:26:32 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2c45400207)
+
+ lib-http: client: Fix segfault by making the initialization of the
+ connection after SSL handshake reliable.
+
+ Before, the connection was not guaranteed to be fully initialized after the
+ SSL handshake. The problem would occur when the handshake finished while
+ writing the SSL output stream.
+
+M src/lib-http/http-client-connection.c
+
+2018-09-19 12:34:57 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (976c35be39)
+
+ doveadm-auth-server: Fix cmd_list output to use JSON
+
+ Fixes output for HTTP client
+
+M src/doveadm/doveadm-auth-server.c
+
+2018-09-19 12:27:50 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (03d00cd76b)
+
+ doveadm-auth-server: Do not use i_fatal on user listing error
+
+ Breaks error reporting to HTTP client
+
+M src/doveadm/doveadm-auth-server.c
+
+2018-09-19 22:26:08 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d161ee81da)
+
+ lib-smtp: reply-parser: Fix closing the text_lines array with NULL sentinel.
+
+ For (EHLO) replies with more than 7 lines, the text_lines array of the reply
+ did not end in NULL, causing a segfault.
+
+M src/lib-smtp/smtp-reply-parser.c
+
+2018-09-05 21:56:42 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b2360fc58e)
+
+ lib-storage: Change default postmaster_address setting to "postmaster@<user
+ domain or server hostname>".
+
+ The former "postmaster@<user domain>" default would only yield a valid
+ postmaster address when there is a domain part in the username. The new
+ default uses a conditional variable expansion choose "%d" when it is not
+ empty and the new "%{hostname}" otherwise.
+
+M src/lib-storage/mail-storage-settings.c
+
+2018-09-05 21:24:15 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (aad38099a7)
+
+ lib-storage: mail-user: Add "%{hostname}" variable expansion.
+
+
+M src/lib-storage/mail-user.c
+
+2018-09-05 21:23:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (725dfe6fde)
+
+ lib-storage: mail-user: Add convenience functions for obtaining postmaster
+ address.
+
+
+M src/lib-lda/mail-send.c
+M src/lib-storage/mail-user.h
+
+2018-09-05 21:11:15 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e0cad40509)
+
+ lib-storage: Move postmaster_address setting from mail_storage_settings to
+ mail_user_settings.
+
+
+M src/lib-lda/mail-send.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2018-09-19 01:28:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c8d03c3cab)
+
+ imap-login: Remove extra '+' from state strings in log output
+
+ If multiple outgoing commands were in progress, the state should have said
+ e.g. "state=capability+login", not "state=capability+++login".
+
+M src/imap-login/imap-proxy.c
+
+2018-09-19 11:32:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (12d46e746c)
+
+ director: Add assert to make sure doveadm connection's IO isn't added
+ multiple times
+
+
+M src/director/doveadm-connection.c
+
+2018-09-07 20:04:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (65d75c85a4)
+
+ doveadm: Make sure to stop running commands requiring synced ring when ring
+ is no longer synced
+
+ A command could desync the ring, and no more commands should be run
+ afterwards.
+
+ This also fixes a bug where a command that desyncs the ring is supposed to
+ wait for the ring being synced before returning OK, but returns it
+ immediately instead.
+
+M src/director/doveadm-connection.c
+M src/director/doveadm-connection.h
+M src/director/main.c
+
+2018-09-19 12:41:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ec2d11e9a0)
+
+ global: Don't try to send stats from unit tests
+
+
+M src/director/director-test.c
+M src/lib-smtp/test-smtp-submit.c
+M src/lib-storage/test-mail-storage.c
+M src/plugins/mail-crypt/test-mail-key.c
+
+2018-09-13 15:30:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (151ad1bbcc)
+
+ lib: i_zero*() - Give compiler error if it's wrongly used on an array
+
+
+M src/lib/macros.h
+
+2018-09-13 15:29:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5c44ba82ba)
+
+ lib-master, auth: Fix clearing memory
+
+ It doesn't look like these being wrong were causing any bugs.
+
+M src/auth/password-scheme-sodium.c
+M src/lib-master/master-service-haproxy.c
+
+2018-09-11 15:54:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (023d50f1a1)
+
+ doveadm stats dump: Fix potentially not writing all stats output
+
+ It depended on whether uninitialized stack memory was 0 or not.
+
+M src/doveadm/doveadm-stats.c
+
+2018-09-11 10:10:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (903a724208)
+
+ man, doveadm: Rename "mailbox cache compress" to "mailbox cache purge"
+
+ The "compress" word makes it sound like e.g. zlib compression. The "purge"
+ word is used for a similar behavior with mdbox purging.
+
+M doc/man/doveadm-mailbox.1.in
+M src/doveadm/doveadm-mail-mailbox-cache.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2018-09-13 09:16:41 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (6b28d47dbf)
+
+ lib-http: test-http-client-errors: Address another reliability issue in
+ "peer reuse failure" test.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2018-09-13 20:44:22 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ef6e2a7869)
+
+ lib-http: response: Add convenience functions for status evaluation.
+
+
+M src/lib-http/http-response.h
+
+2018-09-13 13:01:52 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (c335e4b8cd)
+
+ lib-sql: Fix wrong sql_query_finished_event() success parameter use
+
+
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-sql/driver-sqlpool.c
+
+2018-09-13 12:36:20 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (c7f5ae6133)
+
+ driver-sqlite: Don't give false out of memory errors
+
+ Only log error from sqlite3_errmsg() when connected to the db, since
+ otherwise dovecot logs false "out of memory" errors.
+
+M src/lib-sql/driver-sqlite.c
+
+2018-09-11 11:21:36 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (b291ff1fd6)
+
+ driver-sqlite: Fix crash and event leak in driver_sqlite_query_s()
+
+
+M src/lib-sql/driver-sqlite.c
+
+2018-09-12 10:19:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fa8d9a9ba4)
+
+ driver-sqlite: Add error to sql_query_finished event on error
+
+
+M src/lib-sql/driver-sqlite.c
+
+2018-09-12 10:18:48 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c59375cf2d)
+
+ driver-pgsql: Add error to sql_query_finished if it fails
+
+
+M src/lib-sql/driver-pgsql.c
+
+2018-09-12 10:17:49 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6680b9547a)
+
+ driver-cassandra: Add error to sql_query_finished event on error
+
+
+M src/lib-sql/driver-cassandra.c
+
+2018-09-11 11:42:46 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (840811bfdb)
+
+ util: Fix compile with tcpwrap
+
+
+M src/util/tcpwrap.c
+
+2018-07-18 00:51:56 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (640764707a)
+
+ lib-smtp: server: Change command hooks API to allow many parallel hooks with
+ individual context.
+
+ This e.g. allows many server plugins to hook into command execution without
+ interfering with eachother.
+
+M src/lib-smtp/smtp-server-cmd-auth.c
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-cmd-helo.c
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-cmd-rset.c
+M src/lib-smtp/smtp-server-cmd-starttls.c
+M src/lib-smtp/smtp-server-cmd-xclient.c
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server.h
+M src/lib-smtp/test-smtp-server-errors.c
+M src/lmtp/commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+M src/submission-login/submission-proxy.c
+M src/submission/cmd-data.c
+M src/submission/cmd-helo.c
+M src/submission/cmd-mail.c
+M src/submission/cmd-noop.c
+M src/submission/cmd-quit.c
+M src/submission/cmd-rcpt.c
+M src/submission/cmd-rset.c
+M src/submission/cmd-vrfy.c
+
+2018-08-26 21:53:56 -0600 Michael M Slusarz <michael.slusarz@dovecot.fi> (883abc49ac)
+
+ push-notification: Fix initializing push notification mailbox triggers
+
+ None of the mailbox triggers were working, since the transaction was not
+ being correctly initialized.
+
+M src/plugins/push-notification/push-notification-plugin.c
+
+2018-09-10 12:19:29 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (97e5c34bf7)
+
+ driver-sqlite: Assign db in driver_sqlite_exec()
+
+ This fixes a crash.
+
+M src/lib-sql/driver-sqlite.c
+
+2018-09-07 11:19:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8606e1abb9)
+
+ stats: Wait for clients to disconnect at shutdown
+
+
+M src/stats/main.c
+
+2018-09-06 17:04:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a40b355128)
+
+ global: Replace MASTER_SERVICE_FLAG_SEND_STATS with _DONT_SEND_STATS
+
+ Most services want to send statistics, so it's better to reverse the flag
+ behavior. Mark the few services that don't want stats with
+ MASTER_SERVICE_FLAG_DONT_SEND_STATS.
+
+M src/anvil/main.c
+M src/config/doveconf.c
+M src/config/main.c
+M src/dns/dns-client.c
+M src/doveadm/main.c
+M src/imap/main.c
+M src/indexer/indexer-worker.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+M src/lmtp/main.c
+M src/log/main.c
+M src/master/main.c
+M src/old-stats/main.c
+M src/pop3/main.c
+M src/stats/main.c
+M src/util/rawlog.c
+M src/util/script-login.c
+M src/util/script.c
+M src/util/tcpwrap.c
+
+2018-09-06 19:48:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d9365fa88d)
+
+ master: Start service processes only after adding all service listeners
+
+ Otherwise the processes could try to connect to services that aren't being
+ listened on, causing errors. Especially stats-writer socket needs to be
+ available early on.
+
+M src/master/service-monitor.c
+
+2018-09-07 10:43:43 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (d78aaebbdc)
+
+ lib-storage: Don't try to deserialize bodystructure if we already have it
+
+ Fixes: Panic: file message-part-data.c: line 37
+ (message_part_data_is_plain_7bit): assertion failed: (data != NULL)
+
+M src/lib-storage/index/index-mail.c
+
+2018-09-06 11:07:22 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (23111cdc11)
+
+ lib-storage: Simplify an assertion condition
+
+ Since the i_assert() is guarded by a check for save_bodystructure_header
+ being true, the whole condition can be simplified.
+
+M src/lib-storage/index/index-mail-headers.c
+
+2018-09-06 11:06:17 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (7afd42f307)
+
+ lib-storage: Don't try to process header if we haven't parsed the body
+ structure
+
+ Fixes: Panic: file index-mail-headers.c: line 294 (index_mail_parse_header):
+ assertion failed: (part != NULL)
+
+M src/lib-storage/index/index-mail-headers.c
+
+2018-09-06 03:40:55 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (50f2938ddb)
+
+ lib-http: client: peer: Log the number of pending connections consistently
+ in relevant debug messages.
+
+ Use the same style everywhere and log it where it makes sense.
+
+M src/lib-http/http-client-peer.c
+
+2018-09-06 03:33:59 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (07c3068063)
+
+ lib-http: client: peer: Maintain a list of connections pending on behalf of
+ a peer.
+
+ Before, pending connections were only listed in the peer pool.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2018-09-06 03:23:26 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (29af08a693)
+
+ lib-http: client: connection: Unlist the connection as pending immediately
+ in http_client_connection_failure().
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-peer.c
+
+2018-09-06 01:57:43 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4f512a76bf)
+
+ lib-http: client: connection: Remove the connection from the peer pool
+ pending list in a separate function.
+
+
+M src/lib-http/http-client-connection.c
+
+2018-09-06 15:22:30 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2d27dbc246)
+
+ lib-http: client: peer: Notify all peers in a peer pool about a successful
+ connection.
+
+ This allows peers for which the last connection attempt failed (which was
+ not the last pending attempt in the pool) to try again. This solves a
+ problem that could potentially cause a hang with multiple parallel clients
+ creating serveral new connections at once.
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2018-09-06 16:03:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f783a43356)
+
+ lib-http: client: peer: Add debug message for
+ http_client_peer_connection_failure().
+
+
+M src/lib-http/http-client-peer.c
+
+2018-09-06 15:56:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (42e4bcc17f)
+
+ lib-http: client: peer: Clarify debug message in
+ http_client_peer_connection_failed_pool().
+
+
+M src/lib-http/http-client-peer.c
+
+2018-09-06 15:54:02 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4cbc452e47)
+
+ lib-http: client: peer: Log debug message before calling peer pool in
+ http_client_peer_connection_success().
+
+
+M src/lib-http/http-client-peer.c
+
+2018-09-06 15:50:36 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4f45796c3f)
+
+ lib-http: client: peer: Rename http_client_peer_connection_failed_any() to
+ http_client_peer_connection_failed_pool().
+
+
+M src/lib-http/http-client-peer.c
+
+2018-09-06 03:11:18 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1732a603c6)
+
+ lib-http: client: peer: Always run http_client_queue_connection_failure()
+ upon definitive connection failure.
+
+ The recorded peer->connecting flag was highly unreliable in a scenario
+ involving starting parallel connections. This way, the linked queues can
+ update their state accordingly. Also, this will not cause empty queues to
+ initiate new connection, because empty queues will do nothing after updating
+ the connection state.
+
+ This problem caused a client ioloop hang in high-load conditions.
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2018-09-06 14:57:28 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (8c5d82c992)
+
+ lib-http: client: peer: Move http_client_peer_connection_failure().
+
+
+M src/lib-http/http-client-peer.c
+
+2018-09-06 03:02:16 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (fb06286c6e)
+
+ lib-http: client: queue: Do not fail claimed requests unless the queue is
+ being destroyed.
+
+ Before, connection failure would also abort requests already being sent on
+ another connection, which is premature at best.
+
+M src/lib-http/http-client-queue.c
+
+2018-09-06 02:57:24 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (dc4422583e)
+
+ lib-http: client: queue: Fix the number of pending requests listed in
+ http_client_queue_connection_failure() debug message.
+
+
+M src/lib-http/http-client-queue.c
+
+2018-09-06 02:51:09 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (df17d53772)
+
+ lib-http: client: peer: Determine number of pending peers in
+ http_client_peer_shared_connection_failure() itself.
+
+ Before, the number of pending peers was a parameter, but that was only for a
+ single peer pool. This is wrong, since the one peer can have many different
+ pools (depending on how many clients with incompatible configs share this
+ peer).
+
+M src/lib-http/http-client-peer.c
+
+2018-09-06 14:49:59 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (650f55ebbe)
+
+ lib-http: client: peer: Notify definitive connection failure only within a
+ peer pool.
+
+ Other peer pools have different configuration, which may actually succeed
+ and will arrive at this point when their own connections fail anyway.
+
+M src/lib-http/http-client-peer.c
+
+2018-09-06 09:36:07 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ab80122c68)
+
+ driver-sqlite: Fix event usage in driver_sqlite_exec
+
+ Broken in 850f874971a7afa4f1f7b47df37fca082dc415a1
+
+M src/lib-sql/driver-sqlite.c
+
+2018-09-05 19:34:20 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (16f8ce9525)
+
+ pop3: Do not expunge \Deleted mails without QUIT
+
+ Prevents loss of email if connection is unexpectedly terminated.
+
+M src/pop3/pop3-client.h
+M src/pop3/pop3-commands.c
+
+2018-09-05 13:20:02 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (da9faadee2)
+
+ lib-sql: Do not create event for old drivers
+
+ They can't use it anyways
+
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api.c
+
+2018-09-05 12:25:56 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (10307d4fe0)
+
+ lib: Test event category parent matching
+
+
+M src/lib/test-event-filter.c
+
+2018-09-05 08:34:28 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (68a2e9904a)
+
+ driver-sqlpool: Only strdup error on error
+
+ Satisfies static analyzers
+
+M src/lib-sql/driver-sqlpool.c
+
+2018-09-04 20:30:12 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4270014e02)
+
+ driver-sqlite: Document why rollback is called when commit fails
+
+
+M src/lib-sql/driver-sqlite.c
+
+2018-09-02 19:14:17 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7132beef00)
+
+ driver-cassandra: Add events
+
+
+M src/lib-sql/driver-cassandra.c
+
+2018-09-01 13:50:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (09cf741d66)
+
+ driver-pgsql: Add events
+
+
+M src/lib-sql/driver-pgsql.c
+
+2018-08-31 13:30:11 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (850f874971)
+
+ driver-sqlite: Add events
+
+
+M src/lib-sql/driver-sqlite.c
+
+2018-08-31 09:45:59 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (649a14fe0e)
+
+ driver-mysql: Add events
+
+
+M src/lib-sql/driver-mysql.c
+
+2018-08-31 09:31:48 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f492f4a731)
+
+ driver-sqlpool: Add events
+
+
+M src/lib-sql/driver-sqlpool.c
+
+2018-08-30 14:23:10 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a0ddae828f)
+
+ lib-sql: Add events
+
+
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-api.h
+
+2018-09-03 13:59:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9358d79299)
+
+ auth: Use sql_init_full
+
+
+M src/auth/db-sql.c
+
+2018-09-04 09:31:25 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (544fa8eed5)
+
+ global: Replace sql_db_cache_new with sql_db_cache_new2
+
+
+M src/lib-dict-backend/dict-sql.c
+M src/lib-sql/sql-db-cache.c
+M src/lib-sql/sql-db-cache.h
+
+2018-09-03 14:13:55 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (29c5ddc278)
+
+ dict-sql: Use sql_db_cache_new2
+
+
+M src/lib-dict-backend/dict-sql.c
+
+2018-09-03 14:12:05 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ad165d14fb)
+
+ lib-sql: Add sql_db_cache_new2 that uses the new sql_init_full initializer
+
+
+M src/lib-sql/sql-db-cache.c
+M src/lib-sql/sql-db-cache.h
+
+2018-09-02 18:45:14 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (495ae02e61)
+
+ driver-cassandra: Add init_full
+
+
+M src/lib-sql/driver-cassandra.c
+
+2018-09-02 18:39:47 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5a53bf86bf)
+
+ driver-cassandra: Return error from connection string parser
+
+
+M src/lib-sql/driver-cassandra.c
+
+2018-09-04 09:43:32 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e3ecc5a13a)
+
+ driver-cassandra: Add driver_cassandra_free
+
+
+M src/lib-sql/driver-cassandra.c
+
+2018-09-01 13:43:19 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (25324b1aff)
+
+ driver-pgsql: Add init_full
+
+
+M src/lib-sql/driver-pgsql.c
+
+2018-09-04 09:39:06 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d73c94edd4)
+
+ driver-pgsql: Add driver_pgsql_free
+
+
+M src/lib-sql/driver-pgsql.c
+
+2018-08-31 13:29:56 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4e9b8b1fea)
+
+ driver-sqlite: Add init_full
+
+
+M src/lib-sql/driver-sqlite.c
+
+2018-09-03 12:17:40 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cc5ff7352d)
+
+ driver-mysql: Add init_full
+
+
+M src/lib-sql/driver-mysql.c
+
+2018-08-31 14:07:44 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ffae212481)
+
+ driver-mysql: Allocate mysql connection ourselves
+
+ This allows reusing the same mysql object on reconnect, and simplifies
+ cleanup in case initialization fails.
+
+M src/lib-sql/driver-mysql.c
+
+2018-09-03 12:15:55 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1ae9abe29e)
+
+ driver-mysql: Return error in connection string parser
+
+
+M src/lib-sql/driver-mysql.c
+
+2018-08-30 14:17:13 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (91c244d287)
+
+ driver-sqlpool: Add driver_sqlpool_init_full
+
+ Needed by SQL API change
+
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api-private.h
+
+2018-08-31 12:43:11 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (79991d14a3)
+
+ driver-sqlpool: Use init_full when available
+
+
+M src/lib-sql/driver-sqlpool.c
+
+2018-08-30 14:18:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5c4f633fa2)
+
+ lib-sql: Add init_full vfunction
+
+
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-api.h
+
+2018-08-31 13:07:03 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cf79e9b6f7)
+
+ driver-sqlite: Whitespace fix
+
+
+M src/lib-sql/driver-sqlite.c
+
+2018-08-31 09:20:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5b6b4fb143)
+
+ auth: Add db_ prefix to sql in db-sql
+
+ Prevents clash with lib-sql
+
+M src/auth/db-sql.c
+M src/auth/db-sql.h
+M src/auth/passdb-sql.c
+M src/auth/userdb-sql.c
+
+2018-09-03 14:15:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3d2ee2eda6)
+
+ lib-master: Fix crash when stats events are merged all the way to the root
+
+
+M src/lib-master/stats-client.c
+
+2018-09-03 13:14:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1ad683fd0e)
+
+ lib-master: stats_event_get_merged() - Remove unnecessary variable
+ assignment
+
+ Fixes scan-build complaint.
+
+M src/lib-master/stats-client.c
+
+2018-08-31 15:06:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bd63f512d1)
+
+ lib: Move log type to be written before appended log prefix
+
+ This changes the logging format back to how it used to be before the event
+ logging changes.
+
+M src/lib/event-log.c
+M src/lib/lib-event.h
+M src/lib/test-event-log.c
+
+2018-08-31 15:03:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (36d7bd34c8)
+
+ lib: Add failure_context.log_prefix_type_pos
+
+ If non-zero, this specifies where the log type (e.g. "Info: ") is written
+ within the log prefix. By default it's appended.
+
+M src/lib/failures.c
+M src/lib/failures.h
+
+2018-08-31 15:01:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fcd9bcd9fd)
+
+ lib, log: Add log prefix length to internal logging protocol
+
+ This way log process knows which part of the text is the log prefix, and
+ which part is the logged text.
+
+M src/lib/failures.c
+M src/lib/failures.h
+M src/log/log-connection.c
+
+2018-08-31 14:57:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4e573cb8f6)
+
+ log: Move data stack frame allocation to parent function
+
+ This simplifies the next commit, which requires data stack nearly always
+ when logging. The data stack frames are cheap enough that we don't really
+ need to optimize for avoiding the cases when they're not needed.
+
+M src/log/log-connection.c
+
+2018-08-31 14:54:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d95e05bbf6)
+
+ log: Avoid unnecessary global log prefix changes
+
+ If the context specifies a log prefix, the global prefix isn't going to be
+ used.
+
+M src/log/log-connection.c
+
+2018-08-31 14:50:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9d0ce3784e)
+
+ lib: failures - Use common log_prefix_add() for default and syslog
+ formatters
+
+
+M src/lib/failures.c
+
+2018-08-28 12:45:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f35ed2a01d)
+
+ lib: Add unit test for event log prefix handling
+
+ Some of the tests are commented out until they're fixed in a following
+ commit.
+
+M src/lib/Makefile.am
+A src/lib/test-event-log.c
+M src/lib/test-lib.inc
+
+2018-08-31 14:30:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dbf74d9954)
+
+ lib: failures - Move adding LF from default_format() to default_write()
+
+ This makes it similar to internal_format/write()
+
+M src/lib/failures.c
+
+2018-08-31 14:21:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a9e57941fd)
+
+ lib: Move failure handler structs and typedefs to failures-private.h
+
+ Also change the function typedefs to be non-pointers, like they usually are
+ in Dovecot code.
+
+M src/lib/Makefile.am
+A src/lib/failures-private.h
+M src/lib/failures.c
+
+2018-08-31 14:19:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f83a64ee5c)
+
+ lib: Make failure handler variables static
+
+
+M src/lib/failures.c
+
+2018-08-31 14:18:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e7609d5de1)
+
+ lib: Rename handler_config variable to failure_handler
+
+ It's a global variable, so it needs to have a proper prefix.
+
+M src/lib/failures.c
+
+2018-01-16 12:51:53 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (7aea09b4e0)
+
+ lib-master: stats_event_write use BEGIN only when event and parent_event
+ create timestamps differ
+
+
+M src/lib-master/stats-client.c
+
+2018-02-26 16:33:19 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (a130e0a383)
+
+ lib: Add some event handling functions.
+
+ event_has_all_categories() - checks if given event contains all the
+ categories of an another event. event_has_all_fields() - checks if given
+ event contains all the fields of an another event. event_dup() - duplicates
+ an event. event_copy_categories_fields() - copies all categories and fields
+ from source to dest.
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2018-08-31 13:04:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (aca63e532b)
+
+ lib: Fix matching parent categories in event filter
+
+ So far this hasn't caused problems, because parent events had been using
+ parent categories. However, if the parent category wasn't used by an event
+ or its parents, an event filter wouldn't have matched it.
+
+M src/lib/event-filter.c
+
+2018-08-30 16:40:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7c6ffed8d6)
+
+ lib-http: Add assert to make sure http_client_init_shared(NULL, NULL) isn't
+ called
+
+ This should make scan-build happy.
+
+M src/lib-http/http-client.c
+
+2018-08-30 16:14:34 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (23b623a3b7)
+
+ lib: Remove a dead assignment from test-array.c
+
+ Found by scan-build.
+
+M src/lib/test-array.c
+
+2018-06-14 15:54:03 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (df9dee60c9)
+
+ lib: Implement vfuncs for logging to stderr
+
+
+M src/lib/failures.c
+
+2018-06-14 15:49:41 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (7b9c1bb8eb)
+
+ lib: Implement vfuncs for logging to syslog
+
+
+M src/lib/failures.c
+
+2018-08-05 04:00:17 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (97052c1472)
+
+ lib: Implement vfuncs for logging to default location and common failure
+ logging handling
+
+
+M src/lib/failures.c
+
+2018-06-12 15:56:46 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (8a14920f7d)
+
+ lib: Introduce abstraction for failure logging implementations.
+
+
+M src/lib/failures.c
+
+2018-08-30 11:38:41 +0300 Phil Carmody <phil@dovecot.fi> (9d1c335716)
+
+ pop3: use array interface rather than internal buffer to access data
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/pop3/pop3-client.c
+
+2018-08-30 11:36:08 +0300 Phil Carmody <phil@dovecot.fi> (b8294e0c20)
+
+ lib: test-array - tests that freeing without data doesn't free the data
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-array.c
+
+2018-08-29 15:28:31 +0300 Phil Carmody <phil@dovecot.fi> (4adae0e1a8)
+
+ lib/array - give arrays the non-freeing deinit that strings and buffers have
+
+ Buffers provide the ability to free the control block but preserve and
+ return the previously controlled data to the caller:
+ buffer_free_without_data().
+
+ As wrapped buffers, strings also have this functionality:
+ str_free_without_data().
+ (They have to do that, as their buffer implementation is encapsulated away
+ out of sight to the str.h user.)
+
+ Arrays, also wrapped buffers, are missing this capability under the 'array'
+ name, you have to use the buffer function call, which involves diving into
+ the guts of the array implementation (because arrays do not hide their
+ implementation like strings do), and also sacrifices array's type safety.
+
+ With this inline helper, it should be simple, obvious, clean and safe.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/array.h
+
+2018-06-19 15:30:36 +0300 Phil Carmody <phil@dovecot.fi> (52c1c9950e)
+
+ m4/dovecot.m4: rename valgrind output file to hide it from certain tests
+
+ Some lib-http tests use readdir() to create test cases, and sometimes object
+ to the contents of test.out.$$. However, as lib-http is also sensitive to
+ certain characters in the filenames of the files it uses, we can hide the
+ valgrind output by chosing its filename to exclude it from the lib_http
+ tests. Non-initial '~' is not known to cause any issues for either the shell
+ or any known operating system, so is the safest of lib-http's 'dodgy'
+ characters to use as the separator.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M m4/dovecot.m4
+
+2018-08-29 14:57:45 +0300 Phil Carmody <phil@dovecot.fi> (ef47c3da96)
+
+ m4/dovecot.m4 - Apply DRY principle to test output filename
+
+ Define the name we will use for the file once, then just use that variable
+ instead of using explicit repeatition.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M m4/dovecot.m4
+
+2018-06-19 13:29:46 +0300 Phil Carmody <phil@dovecot.fi> (07c6d395e4)
+
+ lib-http: increase pool sizes in tests
+
+ Pool growth messages spam the test output, just dive in with a slightly
+ larger default to shut them up. Only affects these individual tests, not any
+ other users of the library.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-http/test-http-payload.c
+M src/lib-http/test-http-server-errors.c
+
+2018-08-29 14:49:54 +0300 Phil Carmody <phil@dovecot.fi> (14fe3df51a)
+
+ lib-http: library default pool allocation increases
+
+ Many pools will need to grow even when the smallest amount of work is done
+ within them, which can spam the logs.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-http/http-request-parser.c
+
+2018-06-19 13:28:12 +0300 Phil Carmody <phil@dovecot.fi> (c00c6386b4)
+
+ lib-http: change default client/server pool sizes when using SSL
+
+ SSL carries a lot of state with it, so just start with a bigger pool if we
+ know we're using it.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-http/http-client.c
+M src/lib-http/http-server.c
+
+2018-06-14 08:51:37 +0300 Phil Carmody <phil@dovecot.fi> (9a5b493cc4)
+
+ lib-http: harden payload tests against dodgy filenames
+
+ Tests use files from readdir() as input, but do no sanitation of the names,
+ and therefore things like editor temp files can cause havoc with the HTTP
+ request parser.
+
+ The solution is to trap dodgy characters in the filenames, and ignore those
+ files. Initially, trap HTTP's "unsafe" and "reserved" characters.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-http/test-http-payload.c
+
+2018-08-30 11:54:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (0ad7ac26ac)
+
+ lib: Fix documentation on POINTER_CAST
+
+
+M src/lib/macros.h
+
+2018-08-29 22:09:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (08dc431156)
+
+ lib-master, master: Initialize stats-client via environment variables
+
+ That way it's initialized before settings are read, and it can catch events
+ earlier. It also doesn't require all services to read settings if they
+ otherwise don't need them.
+
+M src/lib-master/master-interface.h
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+M src/master/service-process.c
+
+2018-08-29 20:43:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0deba9fa76)
+
+ dns: Fix duration field in dns_worker_request_finished event
+
+
+M src/dns/dns-client.c
+
+2018-08-27 10:35:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (22700d25c3)
+
+ lib: connection - Clarify logging of incoming connections
+
+ Don't log "Client connected" for both incoming and outgoing connections.
+
+M src/lib/connection.c
+
+2018-08-27 10:33:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b1034b39e2)
+
+ lib: connection - Remove dead code
+
+ connection_client_connected() can only be called for clients. There was
+ already an assert for it.
+
+M src/lib/connection.c
+
+2018-08-29 17:27:58 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (2498427214)
+
+ dns: Remove duplicate event_unref() in dns_client_input_args()
+
+ The event is unreffed at the end of the function also.
+
+M src/dns/dns-client.c
+
+2018-08-29 17:22:22 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (21f9b39bc9)
+
+ dns: Return the lookup error string to the querier
+
+
+M src/dns/dns-client.c
+
+2018-08-29 13:40:33 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (eab25e21ba)
+
+ lib-dns: Set error_r in dns_client_connect() on failure
+
+
+M src/lib-dns/dns-lookup.c
+
+2018-08-29 13:23:55 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (0a53503e02)
+
+ lib-dns: Remove DNS from the log messages now that it's in the prefix
+
+
+M src/lib-dns/dns-lookup.c
+
+2018-08-29 13:21:23 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (619d166d13)
+
+ lib-dns: Use dns(host): prefix instead of just host: in event
+
+
+M src/lib-dns/dns-lookup.c
+
+2018-08-29 11:04:10 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (65985e30d8)
+
+ lib: Use basename of unix socket path as event log prefix
+
+ This is to make the prefix consistent with other unix socket loggings in
+ Dovecot.
+
+M src/lib/connection.c
+
+2018-08-26 15:16:17 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (fc73625ae7)
+
+ lib-smtp: client: Fix potential segfault occurring after receiving RCPT
+ reply.
+
+ Could occur when RCPT reply is received befor DATA command is sent in LMTP
+ session.
+
+ Problem found by Coverity.
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-08-29 15:15:30 +0300 Phil Carmody <phil@dovecot.fi> (b442b3737c)
+
+ lib-dns - struct member cleanup in dns_lookup
+
+ The index was never used anyway. Now we're using an alloconly pool, there's
+ no need for the dns_lookup to keep a freeable pointer to the fields also int
+ result.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-dns/dns-lookup.c
+
+2018-07-24 14:47:47 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (08726dfb2c)
+
+ quota: Mark noenforcing quotas with unlimited quota
+
+ This allows quota to be properly updated for unenforced quotas so they can
+ be used for tracking only.
+
+ This fixes issue where using noenforcing would not update quota during mail
+ save, but requires a manual quota update.
+
+M src/plugins/quota/quota.c
+
+2018-07-24 14:38:18 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6e8f15faac)
+
+ quota: Cleanup - Move enforce checking out of quota_root_visible()
+
+ Non-enforcing quota roots need to be visible even when enforcing quotas,
+ otherwise we cannot update them.
+
+M src/plugins/quota/quota.c
+
+2018-08-28 12:00:54 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (74c7e339b1)
+
+ lib: Use i_asserts() for NULL-checks in test_event_filter_inc_int()
+
+ This is so scan-build doesn't explore the assertations not holding and
+ create noise with that.
+
+M src/lib/test-event-filter.c
+
+2018-08-27 15:06:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1b72f71e3b)
+
+ fts: Optimize replacing NULs in header
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2018-08-23 14:33:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cb2605e157)
+
+ fts: Fix indexing mails with NULs in headers
+
+ After the first NUL all the rest of the string was converted to spaces. This
+ was broken already in the initial commit that attempted to fix this:
+ 4d27f95c76bd008bb38f9c442567046da2b6ce14
+
+M src/plugins/fts/fts-build-mail.c
+
+2018-08-28 09:45:58 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fd0bb7b5d6)
+
+ lib-http: test-http-client-errors - Skip VERSION line in DNS reply
+
+ Otherwise we send extraneous results causing SIGPIPE crash.
+
+ Broken in ddb9ead03f4cc7a2c61094e50803e07dfd590cb5
+
+M src/lib-http/test-http-client-errors.c
+
+2018-08-27 14:16:46 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1d61578a8d)
+
+ lib-dns: Always use dns_lookup_free
+
+ Ensures that all resources get free'd in single place, Fixes memory leak and
+ event double-unref.
+
+ Broken in 9ee82e3f660e6e072532283cad8668a578ac137d
+
+M src/lib-dns/dns-lookup.c
+
+2018-08-27 14:15:54 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c755b83eba)
+
+ lib-dns: Always allocate lookup
+
+ Simplifies next change
+
+M src/lib-dns/dns-lookup.c
+
+2018-08-27 14:14:50 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (10e871674f)
+
+ lib-dns: Use pooled memory with dns lookups
+
+ Simplifies memory management
+
+M src/lib-dns/dns-lookup.c
+
+2018-08-27 14:36:33 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (f7ab09ba40)
+
+ lib: Add test for event_inc_int()
+
+
+M src/lib/test-event-filter.c
+
+2018-08-23 20:29:58 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (0e63438aa0)
+
+ submission: Reorder initialization code
+
+ login_set socket paths get invalidated when master_service_init_finish is
+ called, so we need to run the code that uses them before this.
+
+M src/submission/main.c
+
+2018-08-23 19:15:50 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (71a7da5f8c)
+
+ lib-smtp: Increase memory pool initial sizes
+
+ This reduces malloc traffic
+
+M src/lib-http/test-http-client-errors.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-reply-parser.c
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-transaction.c
+
+2018-08-24 11:42:56 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d5ee3ec7c0)
+
+ lib-dns: Remove useless code
+
+ Found by scan-build
+
+M src/lib-dns/dns-lookup.c
+
+2018-08-17 14:27:52 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cba92ff9d7)
+
+ lib-http: Hook lib-http event to connection event
+
+
+M src/lib-http/http-client-connection.c
+
+2018-08-17 11:33:18 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ddb9ead03f)
+
+ dns, lib-dns: Move to protocol v1.0
+
+
+M src/dns/dns-client.c
+M src/lib-dns/dns-lookup.c
+M src/lib-http/test-http-client-errors.c
+M src/lib-smtp/test-smtp-client-errors.c
+
+2018-07-31 12:51:54 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (442800357c)
+
+ dns: Add event support
+
+
+M src/dns/dns-client.c
+
+2018-08-16 10:32:38 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7e5f30e714)
+
+ dns: Use connection.c
+
+ This enables processing multiple requests at a time.
+
+M src/dns/dns-client.c
+
+2018-08-02 17:22:51 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1dc0c3fd46)
+
+ lib: connection - Add and fix logging
+
+
+M src/lib/connection.c
+
+2018-08-02 17:22:37 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5b1d10a59d)
+
+ lib: connection - Add event support
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2018-07-31 12:52:19 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9ee82e3f66)
+
+ lib-dns: Add event support
+
+
+M src/lib-dns/dns-lookup.c
+M src/lib-dns/dns-lookup.h
+
+2018-07-31 12:45:17 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5ee1bd742b)
+
+ lib-dns: Move calling callback to separate function
+
+ Simplifies next commit
+
+M src/lib-dns/dns-lookup.c
+
+2018-08-17 14:36:13 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (107a201382)
+
+ lib-dns: Initialize lookup earlier
+
+
+M src/lib-dns/dns-lookup.c
+
+2018-08-17 10:55:39 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8e781e3add)
+
+ lib-dns: Compose final command in dns_client_lookup_common
+
+ Makes logging easier
+
+M src/lib-dns/dns-lookup.c
+
+2018-08-16 15:24:30 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e1e5057703)
+
+ lib-dns: Use connection with dns-client
+
+
+M src/lib-dns/dns-lookup.c
+
+2018-08-17 10:39:05 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4001521021)
+
+ lib: lib-event - Add inc_int to passthrough events
+
+ Was forgotten in 12927b843387b2a93fcf1d2e05df7c79af06e567
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2018-08-23 14:58:44 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e5d0be54a5)
+
+ lib: Make io_loop_move_*(NULL) no-op
+
+
+M src/lib/ioloop.c
+
+2018-08-17 11:34:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0d7918aea2)
+
+ lib: Mark signal waiting IO as "never wait alone"
+
+ This signal is being automatically moved to nested ioloops. It can't be the
+ only IO being waited, since there's no code that simply wants to wait for a
+ signal.
+
+M src/lib/lib-signals.c
+
+2018-08-17 11:33:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6293b4f950)
+
+ lib: ioloop-epoll/kqueue: Remove now unnecessary infinite wait check.
+
+ The previous change adds this globally to io_loop_run_get_wait_time().
+
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-kqueue.c
+
+2018-08-17 11:32:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (639c760bf3)
+
+ lib: Add io_set_never_wait_alone()
+
+ If ioloop is run without any timeouts and without IOs that don't have this
+ flag, assert-crash rather than going to infinite wait.
+
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2018-08-17 11:29:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (673e0aa870)
+
+ lib: Add and use io_loop_run_get_wait_time()
+
+ This is going to be called just before running an ioloop iteration. The next
+ commit improves its behavior.
+
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-kqueue.c
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-private.h
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+
+2018-08-15 22:34:19 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f0981da62a)
+
+ lib-smtp: test-smtp-client-errors: Add tests for transaction timeouts.
+
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2018-08-16 00:50:12 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0391f9b1d9)
+
+ lib-smtp: client: Add debug message for the moment when all RCPT replies are
+ received.
+
+ This helps in debugging transaction state transition problems.
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-08-16 00:42:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2b561064f9)
+
+ lib-smtp: client: Fix transaction state transition for the DATA command.
+
+ It progressed to the DATA state too early. By the looks of things, this only
+ affected the correctness of error and debug messages. It does not affect the
+ transaction itself.
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-08-16 00:28:51 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (6d122d87ae)
+
+ lib-smtp: client: Fix segmentation fault occurring at transaction timeout.
+
+ In the DATA command callback trans->cmd_data can be NULL when the command is
+ aborted from smtp_client_transaction_fail_reply().
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-08-15 22:39:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d56fd78e36)
+
+ lib-smtp: client: transaction: Prevent early transaction abort in
+ smtp_client_transaction_fail_reply().
+
+ Can happen in one of the command callbacks of aborted commands.
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-08-16 08:48:43 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (99a7c9091c)
+
+ lib-smtp: Remove trailing whitespace in smtp-cient-transaction.c.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-08-16 08:47:37 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f71d10ef4c)
+
+ lib-smtp: Remove trailing whitespace in test-smtp-client-errors.c.
+
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2018-07-31 08:23:49 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (3f0c4ba7f0)
+
+ lib: Add test for stats_dist_get_variance()
+
+
+M src/lib/test-stats-dist.c
+
+2018-08-20 13:56:40 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e58933faf7)
+
+ lib,stats,dict: Make stats_dist_get_avg() return double
+
+
+M src/dict/main.c
+M src/lib/stats-dist.c
+M src/lib/stats-dist.h
+M src/lib/test-stats-dist.c
+M src/stats/client-reader.c
+
+2018-08-20 18:07:30 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (09c856b4d8)
+
+ master: Wait 1 second for SIGQUITs to get handled
+
+ The delay (previously 100ms, now 1s) is intended to delay our exit enough so
+ that the child processes have a chance to receive & handle the SIGQUITs we
+ just sent. If we don't wait long enough, it is possible that we'll get
+ restarted before our children had the chance to stop listening on their
+ sockets and we'll hit "address already in use" type errors.
+
+ Increasing the delay does not fix the issue, but it masks it better.
+
+M src/master/service-monitor.c
+
+2018-08-20 12:51:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ce59136687)
+
+ lib-index: mail_cache_lookup_headers() - Allow using datastack pool
+
+ This fixes assert caused by 53712af0e7f357e7279d9ff03831428aae85aa45: Panic:
+ pool_data_stack_realloc(): stack frame changed
+
+M src/lib-index/mail-cache-lookup.c
+
+2018-08-17 14:39:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (53712af0e7)
+
+ lib-storage: Fix NUL handling in mail_get_first_header*(),
+ mail_get_headers*()
+
+ These functions return NUL-terminated values, so they got truncated whenever
+ a header value contained a NUL. Fix this by converting NULs to unicode
+ replacement characters in the output.
+
+M src/lib-storage/index/index-mail-headers.c
+
+2018-08-17 14:33:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5bd249d40b)
+
+ lib-mail: Make message_header_strdup() public
+
+ Also move it to a better file.
+
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-header-parser.h
+M src/lib-mail/message-part-data.c
+
+2018-08-17 20:16:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (72298f86f6)
+
+ lib-mail: Cleanup - Rename internal hdr_strdup() to message_header_strdup()
+
+
+M src/lib-mail/message-part-data.c
+
+2018-08-17 14:12:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (010a14140a)
+
+ lib-mail: rfc822-parser - Handle \<NUL> in quoted-string and domain-literal
+
+ It was already handled in comments. Previously this caused the strings and
+ domain-literals to be truncated at that position.
+
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-message-address.c
+
+2018-08-17 13:42:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6591014592)
+
+ lib-mail: test-message-address - Test NULs in display-name
+
+
+M src/lib-mail/test-message-address.c
+
+2018-08-16 12:27:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e5c4b2f0ef)
+
+ lib: test-event-filter - Test overriding parent fields
+
+
+M src/lib/test-event-filter.c
+
+2018-08-16 12:17:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d7952789be)
+
+ lib: Add event_field_clear() to allow clearing parent event's fields
+
+
+M src/lib/Makefile.am
+M src/lib/event-filter.c
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+A src/lib/test-event-filter.c
+M src/lib/test-lib.inc
+
+2018-08-15 16:33:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (12927b8433)
+
+ lib: Add event_inc_int()
+
+ This can be useful when updating counter fields.
+
+M src/lib/lib-event.c
+M src/lib/lib-event.h
+
+2018-08-13 19:23:31 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d98aaff424)
+
+ lib-http: test-http-client-errors: Make "peer reuse failure" test reliable.
+
+ It was highly timing-sensitive, since it required a particular error status
+ to be returned. Sometimes, it would yield a different error based on a
+ slightly different order of events, making the test fail. Such failures
+ aren't relevant though, since this regression test is about triggering a
+ segfault that used to occur.
+
+M src/lib-http/test-http-client-errors.c
+
+2018-08-06 12:39:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2e6a374a4c)
+
+ imap: Fix command ambiguity checking with special plugins
+
+ If the tagged line is already sent, that command can't result in ambiguity
+ anymore.
+
+ A cleaner fix would be to add a new _WAIT_SYNC_OUTPUT state, but that
+ requires all the existing code to understand that new state correctly, so it
+ has a higher chance of breaking something. So at least for now don't add it.
+
+M src/imap/imap-client.c
+
+2018-08-06 11:34:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (44282aeeb4)
+
+ lib: test-strfuncs - Rename test i_strbegins to str_begins
+
+ Matches the real name
+
+M src/lib/test-strfuncs.c
+
+2018-08-06 11:36:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c51de06b0d)
+
+ doveconf: Fix compiler nit
+
+ Ensure secret_r cannot be NULL unless none was found.
+
+M src/config/doveconf.c
+
+2018-08-14 15:25:40 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (bd91ae59af)
+
+ doveconf: Improve secret hiding
+
+ Hide with more wide filtering.
+
+M src/config/doveconf.c
+
+2018-08-14 15:24:56 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (970d8291c7)
+
+ doveconf: Use key_ends_with to compare suffixes
+
+ Fixes key hiding.
+
+ Broken in 1518e085
+
+M src/config/doveconf.c
+
+2018-08-08 12:33:20 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (63a74b9e8e)
+
+ auth: mycrypt - include crypt.h
+
+ Fixes crypt usage on glibc-2.28
+
+ Reported by Reuben Farrelly Patch provided by Thore Bödecker
+
+M configure.ac
+M src/auth/mycrypt.c
+
+2018-08-13 11:25:04 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e8b4488099)
+
+ lib-smtp: Read input before exiting in sendmail-exit-1.sh
+
+ This avoids a Broken pipe error that fails the unit test this script belongs
+ to.
+
+M src/lib-smtp/test-bin/sendmail-exit-1.sh
+
+2018-08-09 09:21:09 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (23819c81c0)
+
+ lib-smtp: Include test-bin in dist
+
+
+M src/lib-smtp/Makefile.am
+
+2018-08-09 12:38:43 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (596468d3b9)
+
+ lib-test: Warn if test_run or test_run_named result is not used
+
+ Ensures hopefully that unit tests do not succeed when they fail due to wrong
+ exit code.
+
+M src/lib-test/test-common.h
+
+2018-08-09 12:44:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ae243fa90a)
+
+ global: Ensure unit tests return value
+
+
+M src/lib-http/test-http-client-errors.c
+M src/lib-http/test-http-payload.c
+M src/lib-http/test-http-server-errors.c
+M src/lib-smtp/test-smtp-client-errors.c
+M src/lib-smtp/test-smtp-payload.c
+M src/lib-smtp/test-smtp-server-errors.c
+M src/lib-smtp/test-smtp-submit.c
+
+2018-08-01 10:45:08 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2bb3b2195e)
+
+ lib: Remove murmurhash3
+
+ It is not used anywhere
+
+M src/lib/Makefile.am
+D src/lib/murmurhash3.c
+D src/lib/murmurhash3.h
+M src/lib/test-lib.inc
+D src/lib/test-murmurhash3.c
+
+2018-08-01 10:44:44 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (acaaa984e3)
+
+ lib: Remove bloomfilter
+
+ It is not used anywhere
+
+M src/lib/Makefile.am
+D src/lib/bloomfilter.c
+D src/lib/bloomfilter.h
+D src/lib/test-bloomfilter.c
+M src/lib/test-lib.inc
+
+2018-07-31 12:26:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (dd6323426a)
+
+ lib-ssl-iostream: Remove unused DH members
+
+ These are not being used anywhere.
+
+M src/lib-ssl-iostream/iostream-openssl.h
+
+2018-07-30 20:26:19 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cd08262697)
+
+ lib-ssl-iostream: Make DH parameters optional
+
+ Since a lot of connections use elliptic curve Diffie-Hellman these days,
+ make it possible to use dovecot without providing Diffie-Hellman parameters.
+ This reduces setup cost as the parameters do not need to be generated, which
+ can be a time consuming task.
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2018-08-01 08:47:34 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1a0a6acb3f)
+
+ doveconf: Do not skip over secrets when hiding them
+
+ All candidates for hiding need to be considered, otherwise it might skip
+ over some of them and leave them unhidden.
+
+M src/config/doveconf.c
+
+2018-07-31 12:40:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (983354b4db)
+
+ lib-dict-backend: Fix linking order for test-dict-sql
+
+
+M src/lib-dict-backend/Makefile.am
+
+2018-07-31 16:32:48 -0600 Michael M Slusarz <michael.slusarz@dovecot.fi> (2baf7ecb23)
+
+ config: generation of clean config should copy sensitive data
+
+ Add -P parameter to the CLI warning doveconf example
+
+M src/config/old-set-parser.c
+
+2018-07-31 17:40:08 -0600 Michael M Slusarz <michael.slusarz@dovecot.fi> (ef260029d9)
+
+ man: Add missing commands to doveadm
+
+
+M doc/man/doveadm.1.in
+
+2018-07-31 08:45:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (71ceeaaed7)
+
+ lib-master: Copy ssl_curve_list setting
+
+ Otherwise it won't get used.
+
+ Broken in 30dca95419
+
+M src/lib-master/master-service-ssl-settings.c
+
+2018-07-24 15:00:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5ef09aa762)
+
+ lib-imap: Remove content_subtype==NULL checks
+
+ This can never happen after the previous commit. This also changes the
+ BODYSTRUCTURE output for invalid Content-Types, but since they're invalid
+ anyway it doesn't really matter what the output is.
+
+M src/lib-imap/imap-bodystructure.c
+
+2018-07-24 14:55:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fd296f19d0)
+
+ lib-mail: If message_part_data.content_type is set, make sure
+ content_subtype isn't NULL
+
+ This fixes a crash in index_mail_find_first_text_mime_part() where snippet
+ generation assumed that content_subtype isn't NULL.
+
+M src/lib-mail/message-part-data.c
+
+2018-07-25 13:17:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a14b731f3c)
+
+ lib-storage: Fix bodystructure parsing crash if header is parsed twice
+
+ The second parsing will recreate the parser_ctx, discarding the old parsed
+ message_part.data for the header. On the second parsing
+ save_bodystructure_header=FALSE so the message_part.data isn't filled for
+ the header. Later on the bodystructure parsing assumes the data is set, and
+ crashes.
+
+ This only happened with mail_attachment_detection_options=add-flags-on-save
+ and Sieve script that first accessed a non-cached header and then used the
+ "body" extension.
+
+ Fixes segfault and also: Panic: file imap-bodystructure.c: line 116
+ (part_write_body_multipart): assertion failed: (part->data != NULL)
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2018-07-25 13:17:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9753fd9410)
+
+ lib-mail: Add asserts to message_part_*() to make sure part->data isn't NULL
+
+ This makes it easier to debug the crashes than just having a segfault.
+
+M src/lib-mail/message-part-data.c
+
+2018-07-09 11:39:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5803ae4bbd)
+
+ m4, quota: Support rquota using libtirpc
+
+
+M m4/quota.m4
+M src/plugins/quota/Makefile.am
+
+2018-07-09 11:33:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9a58361b08)
+
+ m4: Enable rquota only if rpc/rpc.h exists
+
+ It's been removed in glibc 2.26
+
+M m4/quota.m4
+
+2018-07-05 14:55:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4e637e1a81)
+
+ director: Allow fully freeing user while waiting for IPC kick to finish
+
+ director_user_move_free() will now just free the IPC command, so this isn't
+ a problem anymore.
+
+M src/director/director.c
+
+2018-07-05 14:53:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (de5ffdb3e6)
+
+ director: Fix crash when user kill times out before IPC finishes
+
+ Abort the IPC kick command when freeing kill context so the IPC callback
+ won't be called.
+
+M src/director/director.c
+M src/director/director.h
+
+2018-07-05 14:42:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (57b99a5449)
+
+ lib-master: ipc-client: Support aborting commands
+
+
+M src/lib-master/ipc-client.c
+M src/lib-master/ipc-client.h
+
+2018-07-05 14:41:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4d6e08ac72)
+
+ lib-master: ipc-client: Cleanup - avoid extra return in the function
+
+ Simplifies the following commit.
+
+M src/lib-master/ipc-client.c
+
+2018-07-05 14:38:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (280a8d2115)
+
+ lib-master: ipc-client: Never call callback directly from ipc_client_cmd()
+
+ This may simplify the calling code, especially after the following commit
+ that returns the command pointer.
+
+M src/lib-master/ipc-client.c
+
+2018-07-05 14:35:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a5818b26fe)
+
+ lib-master: ipc-client: Split code to ipc_client_abort_commands()
+
+
+M src/lib-master/ipc-client.c
+
+2018-07-05 14:25:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (435f0545b2)
+
+ lib-master: ipc-client: Use linked list of commads instead of array
+
+ Needed for the following commit that returns the command pointer.
+
+M src/lib-master/ipc-client.c
+
+2018-07-05 13:40:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (216f1645db)
+
+ lib-master: ipc-client: Don't call callback twice if IPC proxy sends invalid
+ input
+
+ ipc_client_disconnect() called it once, and the second time was done with
+ the cmds[0] that was already removed from the array.
+
+M src/lib-master/ipc-client.c
+
+2018-07-06 11:22:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cbb091ceab)
+
+ lib-auth: Fix reconnect timeout leak at deinit
+
+
+M src/lib-auth/auth-server-connection.c
+
+2018-07-06 13:12:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (899bf49d18)
+
+ login-proxy: Fix logging reason when kicking non-logged in connections
+
+ Use the same reason as for logged in connections.
+
+M src/login-common/login-proxy.c
+
+2018-07-06 13:23:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (455abfe05f)
+
+ login-proxy: Fix potential crash when kicking user with alt username
+
+ If a new alt username field was returned after other users already were
+ being proxied, trying to kick with the new alt username field will crash.
+
+M src/login-common/login-proxy.c
+
+2018-07-06 15:07:32 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (eb01133999)
+
+ lib-http: client: Notify host object about submission of request before
+ submitting the request to the queue.
+
+ This makes sure the host idle timeout is stopped before the request is
+ submitted and the host object's refresh function is called. If the idle
+ timeout is still running at that point, the refresh function will return
+ success without performing a lookup, which can lead to a panic.
+
+ Panic was:
+
+ Panic: file ./http-client-private.h: line 672 (http_client_host_get_ip):
+ assertion failed: (idx < host->shared->ips_count)
+
+M src/lib-http/http-client-host.c
+
+2018-07-02 23:59:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ba9ac079c0)
+
+ lib-http: client: Reset ips count to zero before DNS lookup.
+
+
+M src/lib-http/http-client-host.c
+
+2018-07-04 12:45:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (265497d6d6)
+
+ auth: Fix nonexistent passwd-file error handling
+
+ If the path uses %variables, the missing file was logged with info-level,
+ but it was still returning tempfail as the result. Return "user doesn't
+ exist" instead.
+
+M src/auth/db-passwd-file.c
+
+2018-07-06 11:25:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dad7973011)
+
+ lib-ssl-iostream: Shutdown connection cleanly whenever i/ostream is
+ destroyed
+
+ Do this while both istream and ostream still exist. Fixes crash where
+ openssl_iostream_destroy() attempts to flush the shutdown, but ssl_input is
+ NULL and it crashes.
+
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2018-07-06 11:24:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0e9bfbbf68)
+
+ lib-ssl-iostream: Split code to openssl_iostream_shutdown()
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+
+2018-07-05 10:50:32 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (95089f6bf7)
+
+ lib: mempool - Remove unnecessary check
+
+ The previous commit guarantees that we always have one of _ILP32 and _LP64
+ defined so we don't have to check ourselves.
+
+M src/lib/test-mempool.c
+
+2018-07-05 10:48:49 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (c21a2dbaee)
+
+ lib: Make sure exactly one of _ILP32 and _LP64 is defined at all times
+
+ These defines are very common, but not universal. For example, clang on
+ illumos and FreeBSD always defines one of them, while 32-bit Ubuntu 16.04
+ doesn't define either.
+
+M src/lib/compat.h
+
+2018-05-21 18:35:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6624d420d5)
+
+ lib: o_stream_send*() - Add ATTR_WARN_UNUSED_RESULT
+
+ Callers either need to check the return value or use o_stream_nsend*().
+
+M src/lib/ostream.h
+
+2018-07-04 11:20:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0adc0ac77c)
+
+ imap-urlauth: Ignore ostream errors and use o_stream_nsend*()
+
+
+M src/imap-urlauth/imap-urlauth-worker.c
+
+2018-05-23 14:38:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b84bc3aa2b)
+
+ global: Replace (void)o_stream_send*() with o_stream_nsend*()
+
+
+M src/auth/auth-master-connection.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/test-http-server-errors.c
+M src/lib-http/test-http-transfer.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+
+2018-05-23 14:36:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (585422b5a5)
+
+ lib-http: http-server: Flush output after sending 500 error for aborted
+ request
+
+ It probably doesn't make a difference, but it's a bit clearer what the
+ intent is.
+
+M src/lib-http/http-server-request.c
+
+2018-05-21 18:33:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c7fd2f40c9)
+
+ global: Replace o_stream_send*() with o_stream_nsend*() where return value
+ is ignored
+
+ Verified that in all of these places either o_stream_set_no_error_handling()
+ has been called or o_stream_flush/finish() is called afterwards.
+
+M src/director/director-connection.c
+M src/imap-hibernate/imap-hibernate-client.c
+M src/lib-program-client/test-program-client-net.c
+M src/lib-program-client/test-program-client-unix.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/test-smtp-client-errors.c
+M src/lib-smtp/test-smtp-submit.c
+M src/lib-storage/list/subscription-file.c
+M src/master/master-client.c
+M src/plugins/quota/quota-status.c
+
+2018-05-30 14:55:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cf76551ea7)
+
+ doveadm service status: Show total number of processes created
+
+
+M src/doveadm/doveadm-master.c
+M src/master/master-client.c
+
+2018-07-04 16:17:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5c1267b973)
+
+ doveadm service status: Support different number of fields returned by
+ master
+
+
+M src/doveadm/doveadm-master.c
+
+2018-07-04 16:16:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ed391e5afe)
+
+ doveadm: Add doveadm_print_get_headers_count()
+
+ Returns the number of headers added to printer.
+
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-print.h
+
+2018-05-30 14:54:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (087e715834)
+
+ master: Track total number of processes created per service
+
+
+M src/master/service-process.c
+M src/master/service.h
+
+2018-06-29 14:37:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c0583917fe)
+
+ director: Fix assert-crash when doveadm disconnects immediately after
+ sending command
+
+ Any command that requires a ring sync should cause the doveadm connection to
+ wait until the ring is synced. However, if the disconnection happened early
+ enough the connection is deinitialized before the ring sync is finished.
+
+ Fixes: Panic: file doveadm-connection.c: line 1097
+ (doveadm_connection_deinit): assertion failed: (conn->to_ring_sync_abort ==
+ NULL)
+
+M src/director/doveadm-connection.c
+
+2018-05-04 19:53:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b25bce8fb3)
+
+ lib-mail: Change MESSAGE_ADDRESS_PARSE_FLAG_NON_STRICT_DOTS to
+ _FLAG_STRICT_DOTS
+
+ Generally we want it to be enabled everywhere, so it's easier to just enable
+ it by default.
+
+ (This is kept as a separate commit from the previous one so it'll be easy to
+ revert this in case we actually don't want this to be the default.)
+
+M src/lib-mail/message-address.c
+M src/lib-mail/message-address.h
+M src/lib-mail/test-message-address.c
+
+2018-05-04 19:49:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0d9218abe8)
+
+ lib-mail: Add MESSAGE_ADDRESS_PARSE_FLAG_NON_STRICT_DOTS
+
+ This code is somewhat copy&pasted from parse_local_part() in Pigeonhole.
+
+M src/lib-mail/message-address.c
+M src/lib-mail/message-address.h
+M src/lib-mail/test-message-address.c
+
+2018-05-04 19:31:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cde9ffe1b0)
+
+ lib-mail: message_address_parse() - Change fill_missing parameter to flags
+
+ This change allows adding more flags. The API is also backwards compatible
+ in a way that the old FALSE/TRUE values still map to compatible 0/1 flags.
+
+M src/doveadm/doveadm-mail-fetch.c
+M src/lib-lda/mail-deliver.c
+M src/lib-mail/message-address.c
+M src/lib-mail/message-address.h
+M src/lib-mail/message-part-data.c
+M src/lib-mail/test-message-address.c
+M src/lib-smtp/smtp-params.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/mail-storage-settings.c
+M src/plugins/fts/fts-build-mail.c
+
+2018-05-04 19:21:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d0a51bd2b0)
+
+ lib-mail: Fix rfc822_parse_dot_atom() to reject if dot isn't followed by
+ atom
+
+
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-rfc822-parser.c
+
+2018-06-27 17:16:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5a171716c2)
+
+ lib-storage: Initialize reset_id in index_index_copy_cache
+
+ Makes valgrind happy with clang's optimizations.
+
+M src/lib-storage/index/index-rebuild.c
+
+2018-06-21 09:45:03 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (b9eab66a79)
+
+ lib: mempool - Improve p_realloc() panic message
+
+ Most importantly, this differentiates it from the panic message that
+ p_malloc() prints.
+
+M src/lib/mempool.h
+M src/lib/test-mempool.c
+
+2018-06-20 12:24:34 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (7905a2cf06)
+
+ lib: mempool - Centralize p_free() NULL pointer check
+
+ This changes the behavior of p_free(pool, some_null_pointer) slightly.
+
+ datastack mempools:
+
+ Previously, the datastack frame id was checked regardless of whether or
+ not the pointer was NULL. Now, only non-NULL pointers perform this
+ check.
+
+ system mempools:
+
+ Previously, the process would SIGSEGV if a NULL pointer was freed in a
+ debug binary on a system with malloc_usable_size(). Now, no SIGSEGV
+ occurs.
+
+ allocfree, alloconly, and unsafe datastack:
+
+ No change in behavior.
+
+M src/lib/mempool-allocfree.c
+M src/lib/mempool.h
+
+2018-06-20 11:47:26 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (49c8a68100)
+
+ lib: mempool - Centralize p_realloc() NULL pointer check
+
+ Instead of each mempool implementation having to check the pointer passed in
+ for being NULL, we can check that the sizes are within the required bounds
+ in p_realloc().
+
+M src/lib/mempool-allocfree.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-system.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/mempool.h
+
+2018-06-20 11:42:28 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (f2c3991bf4)
+
+ lib: mempool - Centralize p_{m,re}alloc() size checks
+
+ Instead of each mempool implementation having to check the allocation sizes
+ for sanity, we can check that the sizes are within the required bounds in
+ p_malloc() and p_realloc().
+
+ Since p_malloc() and p_realloc() are static inlines, some consumers will see
+ a little bit of growth in binary size, but others will be able to optimize
+ the check away at compile time.
+
+M src/lib/mempool-allocfree.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-system.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/mempool.h
+
+2018-06-22 16:51:40 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (e6f0bf2679)
+
+ lib: mempool - Define a global max allocation size supported by all pools
+
+ Instead of relying on each mempool implementation to define its own limits
+ and checks, this commit defines a generic one that's sufficient to make any
+ mempool present or future happy.
+
+M src/lib/mempool-allocfree.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-system.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/mempool.c
+M src/lib/mempool.h
+M src/lib/test-mempool-allocfree.c
+M src/lib/test-mempool-alloconly.c
+M src/lib/test-mempool.c
+
+2018-06-22 17:28:24 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (a8589a14db)
+
+ lib: mempool-allocfree: Remove unused #define
+
+ This define was never actually used.
+
+M src/lib/mempool-allocfree.c
+
+2018-06-20 11:18:32 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (e374004685)
+
+ lib: mempool-datastack - Use container_of instead of casts
+
+
+M src/lib/mempool-datastack.c
+
+2018-06-20 11:18:13 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (608dca5356)
+
+ lib: mempool-alloconly - Use container_of instead of casts
+
+
+M src/lib/mempool-alloconly.c
+
+2018-06-20 10:35:15 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (6dbfca2913)
+
+ lib: Rename a alloconly mempool helper function to make its scope obvious
+
+ pool_try_grow() makes it look like it is part of the mempool API, even
+ though it is an internal helper specific to the alloconly pool.
+
+M src/lib/mempool-alloconly.c
+
+2018-06-20 10:55:53 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (efdab4d245)
+
+ lib: Document the unsafe datastack mempool
+
+
+M src/lib/mempool-unsafe-datastack.c
+
+2018-06-19 16:08:40 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (7d0b693c17)
+
+ lib: Document the system mempool
+
+
+M src/lib/mempool-system.c
+
+2018-06-20 07:50:38 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (fe151c8b27)
+
+ lib: Document datastack mempools
+
+
+M src/lib/mempool-datastack.c
+
+2018-06-19 15:36:43 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (a9edbaca2c)
+
+ lib: Document allocfree mempools
+
+
+M src/lib/mempool-allocfree.c
+
+2018-06-19 14:04:43 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (c9b13adc64)
+
+ lib: Document alloconly mempools
+
+
+M src/lib/mempool-alloconly.c
+
+2018-06-29 16:17:40 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (edc590dad0)
+
+ lib: mempool - Further reduce test code duplication
+
+ We have to use a macro because we need to pass a type as an argument.
+
+M src/lib/test-mempool.c
+
+2018-06-28 13:07:48 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (298d488965)
+
+ lib: mempool - Reduce test code duplication
+
+ The 32 and 64 bit versions of the tests were identical.
+
+M src/lib/test-mempool.c
+
+2018-06-28 11:13:43 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (eac34a33f8)
+
+ lib: mempool - Generalize the test
+
+ Instead of hardcoding what appear to be arbitrary constants, use expressions
+ based on UINT{16,32,64}_MAX.
+
+M src/lib/test-mempool.c
+
+2018-05-30 00:38:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d5c2b4bada)
+
+ man: doveadm-search-query.7 - Add sequence-set and update UID
+
+
+M doc/man/doveadm-search-query.7
+
+2018-07-02 11:52:14 +0100 Paul Howarth <paul@city-fan.org> (1e23986f68)
+
+ lib-compression: Fix assert-crash in test suite on 32bit systems
+
+ Fix compilation warnings in test-compression.c due to mismatches between
+ size_t and uoff_t, which then manifests in assert-crashes running the test
+ suite on 32bit systems.
+
+M src/lib-compression/test-compression.c
+
+2018-06-29 12:52:28 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (057490a88f)
+
+ lib-http: request-parser: Do not require Host header for HTTP/1.0 requests.
+
+
+M src/lib-http/http-request-parser.c
+M src/lib-http/test-http-request-parser.c
+
+2018-07-02 20:19:34 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3d8a21650a)
+
+ lib-http: server: Properly handle empty Host header by providing a default
+ authority.
+
+ This behavior is required by the RFC.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server.c
+M src/lib-http/http-server.h
+
+2018-07-02 20:17:51 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (aea983327e)
+
+ lib-http: request-parser: Add support for empty Host header (default base
+ url).
+
+
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request-parser.h
+M src/lib-http/http-server-connection.c
+M src/lib-http/test-http-request-parser.c
+
+2018-07-02 20:14:19 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2a6a70d47c)
+
+ lib-http: url: Add support for default base url to request target parsing.
+
+
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+
+2018-06-29 18:40:29 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f89879bb66)
+
+ lib-http: request-parser: Allocate parser on alloconly pool.
+
+
+M src/lib-http/http-request-parser.c
+
+2018-06-29 15:19:27 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (95ed4f4138)
+
+ lib-http: server: Record ip:port in connection object for later use.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+
+2018-07-01 12:58:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (71a93cf0f0)
+
+ lib: i_close_fd_path() - Replace assert with more descriptive panic
+
+ Since this function can be called from so many places, it's easier to figure
+ out the bug if the panic message contains what called it.
+
+M src/lib/fd-util.c
+
+2018-06-30 10:13:10 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (e05b4b614b)
+
+ global: Start relying on event_set_forced_debug(e, FALSE) being a no-op
+
+ Converted using the following semantic patch:
+
+ @@
+ expression event;
+ expression cond;
+ @@
+
+ - if (cond) {
+ - event_set_forced_debug(event,
+ (
+ - TRUE
+ |
+ - cond
+ )
+ - );
+ - }
+ + event_set_forced_debug(event, cond);
+
+M src/auth/auth-client-connection.c
+M src/auth/auth-request.c
+M src/auth/auth.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-program-client/program-client.c
+M src/lib-storage/mail-storage-service.c
+M src/login-common/main.c
+
+2018-06-30 10:08:27 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (6940c43e63)
+
+ lib: Change event_set_forced_debug(e, FALSE) to be a no-op
+
+
+M src/lib/event-log.c
+M src/lib/event-log.h
+
+2018-06-30 10:06:04 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (ccf7e2a0d5)
+
+ lib: Add event_unset_forced_debug()
+
+
+M src/lib/event-log.c
+M src/lib/event-log.h
+
+2018-06-27 18:28:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (80225aa8f1)
+
+ lda: Deinitialize cleanly if user doesn't exist in userdb
+
+
+M src/lda/main.c
+
+2018-06-27 18:24:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dee975bfce)
+
+ lda: Deinitialize cleanly if mail delivery fails
+
+
+M src/lda/main.c
+
+2018-06-27 18:22:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0cb0aaa6b0)
+
+ lda: Cleanup - move code to lda_deliver() function
+
+ No functional changes.
+
+M src/lda/main.c
+
+2018-06-27 18:17:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (eed9a6cd9c)
+
+ lda: Cleanup - reorder code
+
+ Makes the next commit cleaner.
+
+M src/lda/main.c
+
+2018-05-24 12:48:58 +0000 Aki Tuomi <aki.tuomi@dovecot.fi> (4ff4bd024a)
+
+ acl: Fix return value of acl_attribute_get_acl
+
+ If matching acl entry is not found, it must return 0 and not 1 because it
+ did not find anything.
+
+ Fixes dsync: Panic: file mailbox-attribute.c: line 362
+ (mailbox_attribute_get_stream): assertion failed: (value_r->value != NULL ||
+ value_r->value_stream != NULL)
+
+ Broken in 37c72fa0cd3f1d74d79b64afb3fb6da5ffd4fe3a
+
+ Found by @dl8bh
+
+M src/plugins/acl/acl-attributes.c
+
+2018-06-28 11:51:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bc280b1b71)
+
+ dict-file: If write failed, file was left locked
+
+
+M src/lib-dict/dict-file.c
+
+2018-06-28 11:50:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (856450f663)
+
+ dict-file: Fix memory leak when file is recreated during lock wait
+
+
+M src/lib-dict/dict-file.c
+
+2018-06-13 17:26:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6aedc3b837)
+
+ lib: Assert-crash if duplicate event categories are tried to be registered
+
+
+M src/lib/lib-event.c
+
+2018-05-31 23:59:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (571a8abd1e)
+
+ lib: str-sanitize: Use uni_utf8_data_truncate().
+
+
+M src/lib/str-sanitize.c
+
+2018-06-01 00:02:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f93ef23770)
+
+ lib: Add str_truncate_utf8().
+
+ It works similar to str_truncate(), but it makes sure the truncated string
+ remains valid UTF-8.
+
+M src/lib/str.c
+M src/lib/str.h
+M src/lib/test-str.c
+
+2018-06-01 00:02:16 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (35c136daea)
+
+ lib: unichar: Add uni_utf8_data_truncate().
+
+ Returns the size of the data when truncated to be less than or equal to a
+ specified size, making sure UTF-8 character boundaries are respected.
+
+M src/lib/unichar.c
+M src/lib/unichar.h
+
+2018-06-28 00:34:14 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (8c09e2720a)
+
+ indexer: Don't log error when getting path to nonexistent mailbox fails
+
+
+M src/indexer/master-connection.c
+
+2018-06-28 00:05:26 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e9802b7a4a)
+
+ indexer: Don't log mailbox was deleted under us error
+
+
+M src/indexer/master-connection.c
+
+2018-06-27 23:58:11 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (c130c42f8f)
+
+ indexer: Don't log error when mailbox was not found
+
+
+M src/indexer/master-connection.c
+
+2018-06-27 17:19:38 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (1f926e4ab2)
+
+ fts-solr: Properly URL encode quotes for empty string
+
+ Invalid URL encoding of empty string made Solr server give 400 Bad Request
+ HTTP responses for searches like SEARCH HEADER FROM "".
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2018-06-27 17:27:15 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (3d17d17ba7)
+
+ fts-solr: Fix default_ns parameter parsing
+
+ This version makes it possible to specify a value to the setting as well.
+
+M src/plugins/fts-solr/fts-solr-plugin.c
+
+2018-06-26 12:38:50 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (41353ae5c5)
+
+ fts-solr: Append '/' to URL path when missing in configuration
+
+ This fixes a crash when url parameter has empty path like
+ http://localhost:8080 instead of http://localhost:8080/ and makes using url
+ like http://localhost:8080/solr behave the same as
+ http://localhost:8080/solr/
+
+M src/plugins/fts-solr/solr-connection.c
+
+2018-06-28 12:23:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7781454181)
+
+ lib-master: Fix reading settings when local_name has multiple names
+
+ Only the last name was matching. For example with local_name "one two three"
+ { ... } only "three" matched.
+
+M src/lib-master/master-service-settings-cache.c
+
+2018-06-28 14:36:51 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e39e119337)
+
+ fts-solr: Remove obsolete break-imap-search setting
+
+
+M src/plugins/fts-solr/fts-solr-plugin.c
+
+2018-06-26 23:50:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (90bd9600a0)
+
+ auth: Fix LDAP user iteration to not access already freed memory
+
+ db_ldap_request_free() was called on already freed request. Changed to use
+ auth_request's pool to fix this, since the request is correctly referenced.
+
+M src/auth/userdb-ldap.c
+
+2018-06-26 22:33:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0aeddafb0d)
+
+ quota-clone: Fix assert-crash at deinit if quota_clone update fails
+
+ The timeout isn't removed on failure, so it crashed with: Panic: file
+ quota-clone-plugin.c: line 257 (quota_clone_mail_user_deinit_pre): assertion
+ failed: (quser->to_quota_flush == NULL)
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+
+2018-06-27 13:22:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (271a7f3d5c)
+
+ lib-storage: Fix memory leak in mail_storage_set_internal_error()
+
+
+M src/lib-storage/mail-storage.c
+
+2018-06-27 09:10:39 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7482de0af1)
+
+ lib-ssl-iostream: Turn on SSL_OP_SINGLE_DH_USE
+
+ Improves forward secrecy in case a DH cipher is used.
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2018-05-30 14:10:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7ddf62d2b2)
+
+ doveconf: Hide URL userpart
+
+
+M src/config/doveconf.c
+
+2018-06-19 14:26:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (567df6759c)
+
+ doveconf: Add find_next_secret
+
+ Find start of possible next secret, and return what the found secret was.
+ Makes next commit easier.
+
+M src/config/doveconf.c
+
+2018-06-26 13:45:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (61fa5fbd22)
+
+ lib-http: Add/fix default value comments in http_client_settings
+
+
+M src/lib-http/http-client.h
+
+2018-06-20 00:22:47 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (935a219262)
+
+ lib-smtp: server: Fix memory leak occurring when an error occurs early for
+ BDAT/BURL.
+
+
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-connection.c
+
+2018-06-20 15:54:21 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b4bcfc0210)
+
+ lib-smtp: server: connection: Rely on i_stream_destroy(NULL) being a no-op.
+
+
+M src/lib-smtp/smtp-server-connection.c
+
+2018-06-20 00:31:43 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4982948d35)
+
+ lib-smtp: server: Restructure reference counting of BDAT/BURL chain stream.
+
+ It is now dereferenced directly, rather than via a local variable; thereby
+ making sure it is reset to NULL.
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2018-06-21 22:55:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (347271f27f)
+
+ lib-smtp: server: data command: Hold a reference to the connection while
+ handling input.
+
+ Makes sure connection object remains available while command is handled.
+ Fixes a valgrind error reported for accessing the connection object after it
+ is freed, which happens for the destroy debug message of the command (even
+ when debugging is not enabled).
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2018-06-21 22:51:26 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (899ba91a95)
+
+ lib-smtp: server: data command: Dereference command at single place during
+ input handling.
+
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2018-06-25 14:04:31 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5cc9abeb43)
+
+ lib: event-filter - Increase initial allocation
+
+ Reduces reallocations on startup.
+
+M src/lib/event-filter.c
+
+2018-06-26 13:18:20 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6eba646d94)
+
+ lib-storage: Turn on debug early if MAIL_STORAGE_SERVICE_FLAG_DEBUG set
+
+
+M src/lib-storage/mail-storage-service.c
+
+2018-06-26 13:22:20 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c64f543553)
+
+ lib-storage: Use provided flags in mail_storage_service_first_init
+
+
+M src/lib-storage/mail-storage-service.c
+
+2018-06-26 13:18:00 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f042cae045)
+
+ lib-storage: Fix MAIL_STORAGE_SERVICE_FLAG_DEBUG work again
+
+
+M src/lib-storage/mail-storage-service.c
+
+2014-07-01 19:22:56 +0900 SATOH Fumiyasu <fumiyas@osstech.co.jp> (81b5b188c4)
+
+ lib-master: Set instance_name to the syslog name
+
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service.c
+
+2018-06-25 13:13:43 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (dbc1cd13dc)
+
+ virtual: Clamp backend uids to available uids in virtual_get_virtual_uids
+
+
+M src/plugins/virtual/virtual-storage.c
+
+2018-06-18 13:15:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (31234376c4)
+
+ lib-imap-client: Fix crash when ostream output blocks before connection
+ finishes
+
+ It's possible that ostream tries to add IO_WRITE callback before
+ imapc_connection_connected() callback is called.
+
+ Fixes: Panic: io_add(0x2) called twice fd=15, callback=0x... -> 0x...
+
+M src/lib-imap-client/imapc-connection.c
+
+2018-06-25 12:16:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7d8809625a)
+
+ imapc: Move selected=TRUE to imap_mailbox_select_finish()
+
+ Minor code deduplication cleanup.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2018-06-25 12:10:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5985a8b02d)
+
+ imapc: Fix potential assert-crash when selecting empty mailbox
+
+ imapc_mailbox_fetch_state_finish() should have been expunging all the mails,
+ but it didn't happen since UIDNEXT wasn't received yet at the time EXISTS
+ was sent, so sync_uid_next was always 0 when checking it. Fix this by
+ calling imapc_mailbox_fetch_state_finish() only after SELECT/EXAMINE tagged
+ reply is received.
+
+ This practically happened only when index files were used. It could also
+ happen without index files, if the session had received new mails after
+ opening the mailbox, then getting disconnected and before reconnect was
+ finished all the mails were externally expunged.
+
+ Fixes: Panic: file imapc-sync.c: line 328 (imapc_initial_sync_check):
+ assertion failed: (mail_index_is_expunged(view, lseq) ||
+ seq_range_exists(&ctx->mbox->delayed_expunged_uids, luid))
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2018-06-23 00:23:04 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d8ac15c798)
+
+ auth: Move auth_policy_deinit later
+
+ Fixes signal 11 crash, which happens when auth_worker_destroy is called
+ which finishes up requests.
+
+M src/auth/main.c
+
+2018-06-20 14:01:18 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1957acf814)
+
+ lib-smtp: server: Make sure conn->state.data_failed is only set when no
+ previous BDAT/BURL is pending.
+
+ Otherwise, the server would sometimes send 503 error for the first BDAT/BURL
+ command, while a subsequent command was actually failing earlier than the
+ initial one completed. Additionally, this caused a panic crash.
+
+ Panic was:
+
+ submission(stephan)<8353><C+7QBfysKluhIAAAmoV78g>: Panic: Input stream
+ /home/stephan/Maildir/cur/1517515808.M176007P2993.johanna,S=1903,W=1956:2,DFS
+ unexpectedly has references
+
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-private.h
+
+2018-06-20 12:40:37 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b74c00eb01)
+
+ lib-storage: fail storage: Allocate event for mailbox.
+
+ Absence of event causes segfault when event logging is performed for the
+ mailbox.
+
+M src/lib-storage/fail-mailbox.c
+
+2018-06-04 19:58:23 +0300 Phil Carmody <phil@dovecot.fi> (ae6ac98a1e)
+
+ m4/dovecot.m4: run-test.sh - disable valgrind for individual tests
+
+ OpenSSL doesn't like valgrind on my setup, so permit a local instalation to
+ have a list of excluded binaries that won't use valgrind in make check.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M m4/dovecot.m4
+
+2018-06-20 10:49:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c602b4a0ce)
+
+ lmtp, submission: Remove extra spaces from "state = X" in disconnect log
+ line
+
+ Other Dovecot log messages don't have spaces in key=value.
+
+M src/lmtp/client.c
+M src/submission/submission-client.c
+
+2018-06-19 17:42:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fa6801d2e1)
+
+ lib: Fix memory leak at deinit if log_core_filter is set
+
+
+M src/lib/lib-event.c
+
+2018-06-20 08:52:52 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cb44a9ede8)
+
+ lib-ssl-iostream: Enable partial writes and moving buffers
+
+ Dovecot is able to provide same content to SSL_write, and can also take care
+ of consuming written data from the buffer.
+
+ Fixes SSL_write failed:error:1409F07F:SSL routines:SSL3_WRITE_PENDING:bad
+ write retry
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2018-06-19 12:33:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4e145c8a8e)
+
+ imapc: Fix handling UIDVALIDITY changes
+
+ Index was being correctly reset, but the transaction was rolled back.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2018-06-19 12:31:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (17ab86bdc1)
+
+ lib-index: Make sure error is set on sync & commit failures
+
+ This avoids "BUG: Unknown internal index error" after view is marked
+ inconsistent or after index is deleted.
+
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction.c
+
+2018-06-19 15:46:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (28087198c0)
+
+ quota-clone: Send quota clone data to dict asynchronously
+
+ Based on patch by Michael Slusarz
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+
+2018-06-19 15:00:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (98d200bdf0)
+
+ quota-clone: Move state tracking to user context
+
+ This way there's no need to do multiple flushes when e.g. multiple mailboxes
+ change.
+
+ The flush had to be removed from close(), because the code path recurses:
+
+ * mailbox_transaction_commit() when mail is saved
+ * quota_count() starts counting the quota, which opens and closes mailbox
+ * quota_clone_mailbox_close() attempts to flush quota, which again recurses
+ into quota_count(), which returns 0 for the quota value.
+
+ Based on patch by Michael Slusarz
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+
+2018-06-19 14:12:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (41136873e5)
+
+ quota: Add quota_root_iter_init_user()
+
+
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2018-06-12 21:07:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (73cd1c05d1)
+
+ lib-dcrypt: istream-decrypt - Fix memory leak when stream is seeked
+ backwards
+
+ The key already exists in memory at that time.
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2018-06-18 22:44:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (92a86b4829)
+
+ master: Don't recreate master UNIX listener socket on reload
+
+ This way it works similar to all other listeners and it's not even
+ temporarily unavailable.
+
+M src/master/service-listen.c
+M src/master/service-monitor.c
+M src/master/service.c
+
+2018-06-18 22:38:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ac62ba47bb)
+
+ master: Close all listener fds at deinit.
+
+ Just makes the deinit cleaner.
+
+M src/master/service.c
+
+2018-06-18 22:53:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (03d748a851)
+
+ master: Set listener fd to -1 after closing it
+
+ The listener fds weren't used for anything afterwards, so it wasn't a
+ problem so far. The next commit requires it though.
+
+M src/master/service-listen.c
+
+2018-06-12 20:49:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a8e5e5a65a)
+
+ lib-smtp: Allocate ORCPT addr_type from given memory pool, not data stack
+
+ This could have caused crashes when parsing ORCPT.
+
+M src/lib-smtp/smtp-params.c
+
+2018-06-16 19:40:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (15ff00ae38)
+
+ imapc: Fix assert-crash if syncing adds delayed expunges, but fails
+ afterwards
+
+ Fixes: Panic: file imapc-sync.c: line 328 (imapc_initial_sync_check):
+ assertion failed: (mail_index_is_expunged(view, lseq) ||
+ seq_range_exists(&ctx->mbox->delayed_expunged_uids, luid))
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2018-06-16 19:37:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4273c57b65)
+
+ imapc: Fix potential assert-crash when reconnecting during syncing
+
+ Fixes: Panic: file imapc-sync.c: line 328 (imapc_initial_sync_check):
+ assertion failed: (mail_index_is_expunged(view, lseq) ||
+ seq_range_exists(&ctx->mbox->delayed_expunged_uids, luid))
+
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2018-06-16 15:56:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (800ed1eeab)
+
+ imapc: Fix assert-crash when reconnecting during initial FETCH finds
+ expunges
+
+ The initial FETCH is automatically retried on failure, but the FETCH state
+ wasn't reset during the reconnection.
+
+ Fixes: Panic: file imapc-sync.c: line 328 (imapc_initial_sync_check):
+ assertion failed: (mail_index_is_expunged(view, lseq) ||
+ seq_range_exists(&ctx->mbox->delayed_expunged_uids, luid))
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2018-06-16 15:09:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (264107ab3a)
+
+ imapc: Fix assert-crash when reconnecting expunges newly added messages
+
+ The initial FETCH 1:* during reconnection may notice some messages that are
+ missing and tries to expunge them. But those messages could still be in
+ delayed_sync_trans, and currently lib-index doesn't support expunging
+ anything but the latest mail from a transaction.
+
+ Fixes: Panic: file mail-index-transaction-update.c: line 337
+ (mail_index_expunge_last_append): assertion failed: (seq == t->last_new_seq)
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2018-06-16 15:08:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (02f5623e94)
+
+ imapc: Move expunging from index to imapc_mailbox_index_expunge()
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2018-06-18 17:03:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bddb144f02)
+
+ lib: When log writing keeps returning EAGAIN, change process title only once
+
+ Otherwise each call will use up data stack memory.
+
+M src/lib/failures.c
+
+2018-06-18 16:19:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7c5248703a)
+
+ lib: If log write returns EAGAIN, use poll() instead of ioloop for waiting
+
+ As explained in 861d40b9aebabccae7d48e49a18cbc631ab1fefe commit message,
+ ioloop can call various callbacks and it can also recurse back to error
+ logging. Using poll() directly is safer.
+
+M src/lib/failures.c
+
+2018-06-18 16:07:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (94da37095c)
+
+ lib: Revert earlier "log write is blocking" handling change
+
+ 1) It was buggy, because it set O_NONBLOCK rather than removing it.
+
+ 2) fd flags are shared across all the processes using the fd. We can't
+ reliably implement the process title update, because some processes are
+ blocking on the log write() before they change the process title.
+
+ Reverts 861d40b9aebabccae7d48e49a18cbc631ab1fefe
+
+M src/lib/failures.c
+
+2018-06-16 19:58:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cf32e732de)
+
+ lib-imap-client: Remove assert from imapc_client_mailbox_reconnect
+
+ It's possible for the assert to trigger if there are multiple reconnections.
+ imapc_connection_can_reconnect() checks a bit later whether the reconnection
+ can still be done.
+
+M src/lib-imap-client/imapc-client.c
+
+2018-06-18 19:13:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (75ae0b7798)
+
+ imapc: Don't trust mail stream to have correct CRLFs
+
+ It's not that expensive to just recalculate them. If they're not correct in
+ the stream, it can result in e.g. truncated emails due to wrong virtual_size
+ being used in body_size calculation. The wrong CRLFs can especially happen
+ if plugins modify the stream in istream_opened() hook.
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2018-06-13 20:09:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d1d8792e51)
+
+ doveadm dump: Fix dumping "vsize" header in dovecot.index
+
+ It was trying to print it as the "vsize" header in dovecot.list.index. This
+ caused confusing output, as well as potentially accessing memory out of
+ bounds.
+
+M src/doveadm/doveadm-dump-index.c
+
+2018-06-13 20:08:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (63cda683f6)
+
+ doveadm log find: Fix memory leak
+
+
+M src/doveadm/doveadm-log.c
+
+2018-06-13 20:07:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cc97031e06)
+
+ doveadm user: Fix memory leak
+
+
+M src/doveadm/doveadm-auth.c
+
+2018-06-13 20:07:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e4cd8c5ba9)
+
+ dsync: Fix memory leak - unreference iostreams at deinit
+
+ Only some of the code paths need unreferencing, so also add a reference to
+ the other code paths.
+
+M src/doveadm/doveadm-dsync.c
+
+2018-06-13 20:06:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (850eed4e7e)
+
+ dsync: ibc - reference iostreams internally
+
+ This makes it clearer who needs to reference and unreference the streams.
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2018-05-30 11:16:04 +0200 Danny Al-Gaaf <danny.al-gaaf@bisect.de> (d9f9b23701)
+
+ str_data(): cast return to correct type to fix include in c++ code
+
+ /usr/include/dovecot/str.h: In function ‘const unsigned char* str_data(const
+ string_t*)’:
+ /usr/include/dovecot/str.h:22:14: warning: invalid conversion from ‘const
+ void*’ to ‘const unsigned char*’ [-fpermissive]
+ return str->data;
+ ~~~~~^~~~
+
+ Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
+
+M src/lib/str.h
+
+2018-06-08 23:17:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (619fb92a08)
+
+ lib: istream-try - Don't assert-crash with empty parent istream
+
+ Fixes: Panic: file istream.c: line 327 (i_stream_read_memarea): assertion
+ failed: (stream->eof)
+
+M src/lib/istream-try.c
+M src/lib/test-istream-try.c
+
+2018-06-13 00:58:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2142656f03)
+
+ lib-master: Allow calling master_service_deinit() without _init_finish()
+
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+
+2018-06-12 22:05:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (619b3fbcd7)
+
+ lib: restrict-access: Free chroot_dir at deinit
+
+
+M src/lib/lib.c
+M src/lib/restrict-access.c
+M src/lib/restrict-access.h
+
+2018-06-12 22:05:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (35d8a10d6f)
+
+ lib: Free global_event_stack array at deinit
+
+
+M src/lib/lib-event.c
+
+2018-06-12 18:01:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6a36777dc8)
+
+ virtual: Fix memory leak when selecting mailboxes with '-' or /metadata
+
+
+M src/plugins/virtual/virtual-config.c
+
+2018-06-12 17:23:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1ae4091377)
+
+ mail-crypt-acl: Fix memory leak when updating ACLs
+
+
+M src/plugins/mail-crypt/mail-crypt-acl-plugin.c
+
+2018-06-12 17:08:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (00da7b5ba0)
+
+ lib-dcrypt, mail-crypt: Fix leaking memory when using non-global keys
+
+ The users' private keys had one reference too much. Because of key cache,
+ most likely the keys were leaked only once at deinit.
+
+ Changed the i_stream_create_decrypt_callback() API so that it allows the
+ callback to create the key itself without having to store it anywhere.
+
+ In this case the key was already added to cache, which increased its
+ refcount. So an alternative fix would have been to simply unreferenced the
+ key before returning it. It's a bit ugly though to rely on such caches,
+ since without the cache the code would be buggy.
+
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/istream-decrypt.h
+M src/plugins/mail-crypt/fs-crypt-common.c
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+
+2018-06-12 16:56:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2453834bce)
+
+ mail-crypt: Fix memory leak in "doveadm mailbox cryptokey generate"
+
+
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2018-06-12 16:49:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ba9fcbfb81)
+
+ lib-smtp: server: Fix memory leak when handling BDAT command
+
+
+M src/lib-smtp/smtp-command-parser.c
+
+2018-06-12 16:45:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3739f5e5e4)
+
+ imapc: Fix leaking memory when sending imapc commands after authentication
+ failure
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/plugins/quota/quota-imapc.c
+
+2018-06-12 16:07:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (231865af42)
+
+ lib-storage: Fix memory leak when mail_storage_service_next() is called
+ multiple times
+
+ dsync uses it twice for the same mail_storage_service_user.
+
+M src/lib-storage/mail-storage-service.c
+
+2018-06-11 14:22:38 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a3651d181c)
+
+ doveadm-dict: Initialize set variable in cmd_dict_init
+
+ Makes valgrind happy with clang's optimizations
+
+M src/doveadm/doveadm-dict.c
+
+2018-06-11 14:06:20 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ebc254c28f)
+
+ doveadm-dict: Remove spurious `key =` debug logging
+
+ Was added in 42db3821
+
+M src/doveadm/doveadm-dict.c
+
+2018-06-07 14:20:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6e8850b34d)
+
+ imap: Finish client ostream at disconnect
+
+ With IMAP COMPRESS this sends the EOF marker, indicating cleanly closed
+ connection.
+
+M src/imap/imap-client.c
+
+2018-06-08 19:56:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f7e6d9ceaa)
+
+ doveadm: Fix compiler warning
+
+
+M src/doveadm/client-connection-tcp.c
+
+2018-06-05 20:28:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2a3b7083ce)
+
+ doveadm: Simplify destroying ioloop using o_stream_switch_ioloop_to()
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/client-connection-tcp.c
+
+2018-06-05 20:23:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a952e17894)
+
+ doveadm-server: Fix hang when sending a lot of output to clients
+
+ Nowadays ostream adds its io to the stream's specified ioloop, not to
+ current ioloop.
+
+M src/doveadm/client-connection-tcp.c
+
+2018-06-05 13:57:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (40a5de3e2e)
+
+ lib-compression: Use i_stream_nonseekable_try_seek() instead of
+ reimplementing it
+
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/test-compression.c
+
+2018-06-05 13:53:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9fa09080bf)
+
+ lib-compression: Use i_stream_default_stat() instead of reimplementing it
+
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/test-compression.c
+
+2018-06-05 14:22:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3b9fd6391c)
+
+ lib-compression: deflate ostream - Use Z_FINISH on final flush
+
+ Nowadays we have o_stream_finish(), so we can differentiate between
+ intermediate flush and final flush. Using this allows istream-zlib to
+ cleanly see that the stream ends.
+
+M src/lib-compression/ostream-zlib.c
+M src/lib-compression/test-compression.c
+
+2018-06-05 13:34:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f6b794b8a5)
+
+ lib: i_stream_default_stat() - Get seekable streams' sizes by reading the
+ stream
+
+ After the stream size is found, seek back to original offset.
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2018-06-05 13:34:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9a36e573ff)
+
+ lib-dcrypt: istream-decrypt - Add support for seeking
+
+
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/test-stream.c
+
+2018-06-05 13:25:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (062afc1060)
+
+ lib: Add i_stream_nonseekable_try_seek()
+
+ This can be used by istreams to more easily implement seeking backwards when
+ it has to be done by first seeking back to offset 0 and reading from there.
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2018-05-28 12:57:03 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d7b5be845b)
+
+ quota-clone: Fix CONTEXT_REQUIRE use
+
+ Fixes Panic: Module context quota_clone_user_module missing
+
+ Broken in 7f7e7c16d956de8e92376a0633ca6e4cb85e8d84
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+
+2018-06-04 19:16:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (eb480426bf)
+
+ lib-storage: Set index_mail_data.body_size if it can be calculated easily
+
+ Probably doesn't help with anything currently, but makes the code more
+ consistent in how it works.
+
+M src/lib-storage/index/index-mail.c
+
+2018-05-31 16:52:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (033801208e)
+
+ imapc: Don't use RFC822.SIZE values for message body size calculation
+
+ If the RFC822.SIZE doesn't match the exact stream size, the body size
+ calculation will become wrong. The only downside to this patch is that now
+ the body size will need to be calculated by parsing the stream, but there
+ shouldn't be any need to do that unless the body was already FETCHed, so it
+ shouldn't cause any extra IMAP traffic.
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2018-06-04 19:03:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (79103c27ff)
+
+ lib-storage: Move code to index_mail_try_set_body_size()
+
+ This also adds a check to make sure virtual_size is set. With the current
+ caller it was already guaranteed to be set.
+
+M src/lib-storage/index/index-mail.c
+
+2018-05-31 16:49:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (153ab952f7)
+
+ lib-storage: Don't set virtual_size from index record if it's already set
+
+ The existing virtual_size may be a correct one, while the one in the index
+ may be wrong. This will be an especially important fix with the next commit,
+ because it would make the existing inexact_total_sizes=FALSE wrong.
+
+M src/lib-storage/index/index-mail.c
+
+2018-06-04 19:37:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cf747d64eb)
+
+ lib-storage: Don't enforce creation of vsize header.
+
+ It's useful for caching quota=count and for STATUS (X-SIZE). If neither is
+ used the header shouldn't be created and kept up-to-date. If the header is
+ enabled, it also triggers creation of per-email vsize records.
+
+M src/lib-storage/index/index-mailbox-size.c
+
+2018-03-14 19:42:42 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f1242f8f0e)
+
+ push-notification: Add lua driver
+
+
+M src/plugins/push-notification/Makefile.am
+A src/plugins/push-notification/push-notification-driver-lua.c
+
+2018-03-14 19:07:53 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (950c7e06db)
+
+ mail-lua: Add Lua support plugin for mail storage
+
+
+M configure.ac
+M src/plugins/Makefile.am
+A src/plugins/mail-lua/Makefile.am
+A src/plugins/mail-lua/mail-lua-plugin.c
+A src/plugins/mail-lua/mail-lua-plugin.h
+A src/plugins/mail-lua/mail-storage-lua.c
+A src/plugins/mail-lua/mail-storage-lua.h
+
+2018-03-14 18:49:50 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (11966a67a2)
+
+ lib-lua: Add lua_pushboolean helper to push real booleans
+
+ Makes boolean handling in dovecot code slightly easier
+
+M src/auth/db-lua.c
+M src/lib-lua/dlua-script-private.h
+M src/lib-lua/dlua-script.c
+
+2018-03-14 20:05:29 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (0485da1ca0)
+
+ push-notification: Fix mailbox unsubscribe event
+
+ Subscribe should be FALSE here.
+
+M src/plugins/push-notification/push-notification-event-mailboxunsubscribe.c
+
+2018-05-28 10:32:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (57183002b0)
+
+ imap: Fix assert-crash when client is disconnected during a long COPY/MOVE
+
+ Similar fix than 481992bfe2740bdec70fcd7366dea50ed9128966
+
+ Fixes: Panic: file cmd-copy.c: line 50 (fetch_and_copy): assertion failed:
+ (o_stream_is_corked(client->output))
+
+M src/imap/cmd-copy.c
+
+2018-05-29 10:29:50 +0300 Hannu Ylitalo <hannu.ylitalo@dovecot.fi> (56d47c7a2b)
+
+ dovecot.service: Update LimitNOFILE=65535
+
+ Current value of 8192 is too low for most production setups and it needs to
+ be changed every time something is deployed. Setting the default to 65535 is
+ enough for most production environments so this would be one task less when
+ deploying a production platform.
+
+M dovecot.service.in
+
+2018-05-23 14:39:44 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (8fb8621e8e)
+
+ auth: pass overriden auth_debug setting to auth process
+
+
+M src/auth/auth-request.c
+
+2018-03-20 11:22:43 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (6b2ac67ec2)
+
+ lib-storage: Replace "if(mail_debug)" with "if(event_want_debug_log)"
+
+
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-storage.c
+
+2018-03-20 11:20:44 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (0850b9b071)
+
+ plugins: replace "if(mail_debug){i_debug}" with "e_debug"
+
+
+M src/plugins/acl/acl-backend.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-storage.c
+M src/plugins/apparmor/apparmor-plugin.c
+M src/plugins/charset-alias/charset-alias-plugin.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/fts/fts-parser-tika.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+M src/plugins/mail-crypt/mail-crypt-userenv.c
+M src/plugins/mail-filter/mail-filter-plugin.c
+M src/plugins/notify-status/notify-status-plugin.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/push-notification/push-notification-drivers.c
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/replication/replication-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/welcome/welcome-plugin.c
+
+2018-03-20 11:05:13 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (9054f0734b)
+
+ lib-storage: Replace "if(mail_debug){i_debug}" "e_debug"
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+
+2018-05-24 15:18:30 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (e582d0b0b2)
+
+ lib-storage: Force mail_storage_service_user event debug when mail_debug=yes
+
+
+M src/lib-storage/mail-storage-service.c
+
+2018-03-20 10:51:21 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (3f3c9aa2ff)
+
+ lda & lib-lda: "if(mail_debug){i_debug}" with "e_debug"
+
+
+M src/lda/main.c
+M src/lib-lda/mail-send.c
+
+2018-03-20 10:49:08 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (0fbc01754d)
+
+ indexer: Replace "if(mail_debug){i_debug}" with "e_debug"
+
+
+M src/indexer/master-connection.c
+
+2018-03-20 10:46:19 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (ef2116e618)
+
+ imap: Replace "if(mail_debug){i_debug}" with "e_debug"
+
+
+M src/imap/cmd-urlfetch.c
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-master-client.c
+M src/imap/imap-state.c
+
+2018-03-20 10:17:27 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (b3f97a8bf8)
+
+ lib-imap-urlauth & imap-urlauth: replace "if(mail_debug){i_debug}" with
+ "e_debug(client->event)"
+
+
+M src/imap-urlauth/imap-urlauth-client.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+
+2018-03-20 09:52:38 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (573c2d2b8c)
+
+ imap-urlauth: Add event with "imap-urlauth" category to struct client of
+ imap-urlauth
+
+
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-client.h
+
+2018-03-20 09:05:26 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (c1c6edb926)
+
+ global: Replace check for auth_debug with event_want_debug_log in
+ doveadm-auth::auth_connected()
+
+ These functions will create event with "auth" category and unref it in the
+ end.
+
+M src/doveadm/doveadm-auth.c
+
+2018-03-19 16:10:49 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (dd703bf675)
+
+ global: Replace "if(auth_debug){i_debug(...)}" with e_debug(event, ...)
+
+ event is one of: global auth::auth_event, auth_client_connection->event,
+ auth_request->event, login-common::event_auth. These event have category
+ "auth".
+
+M src/auth/auth-client-connection.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-request.c
+M src/auth/auth-token.c
+M src/auth/userdb-ldap.c
+M src/login-common/client-common-auth.c
+
+2018-03-19 14:50:31 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (82452b13ea)
+
+ global: Remove unnecessary checks for mail_debug and auth_request->debug
+
+ These checks are performed before calling auth_request_log_debug() and
+ push_notification_driver_debug(), while the same checks are performed inside
+ of these functions, and they return without doing anything.
+
+M src/auth/db-oauth2.c
+M src/auth/userdb-prefetch.c
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2018-03-19 13:53:33 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (73bb1085d5)
+
+ auth: Add event with category "auth" to struct auth_request.
+
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2018-03-19 12:16:23 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (3af0bfad71)
+
+ auth: Add event with category "auth" to struct auth_client_connection.
+
+
+M src/auth/auth-client-connection.c
+M src/auth/auth-client-connection.h
+
+2018-03-19 11:44:59 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (7a70a372cc)
+
+ login-common: Add global event_auth with "auth" category.
+
+
+M src/login-common/login-common.h
+M src/login-common/main.c
+
+2018-03-19 11:20:58 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (d4afc90711)
+
+ lib: Add event_want_debug and event_want_debug_log macros
+
+
+M src/lib/event-log.c
+M src/lib/event-log.h
+
+2018-03-19 11:14:22 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (105d857148)
+
+ auth: Add global auth_event with category "auth".
+
+
+M src/auth/auth-common.h
+M src/auth/auth.c
+
+2018-05-29 11:53:15 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (bd6265e47c)
+
+ pop3c: Ensure pop3c index directory is autocreated
+
+ Otherwise we might think that the box has been unexpectedly autodeleted and
+ pop3_migration will fail.
+
+ Broken by 91ee70ed04d33fecd7fc94621f236013d520d7b3
+
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2018-05-25 14:44:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2311ab9b89)
+
+ lib-dict-backend: Fix building --with-cdb --without-shared-libs
+
+
+M src/lib-dict-backend/Makefile.am
+
+2018-05-27 15:42:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bd08690711)
+
+ lib: Fix filtering by event name in log_core_filter
+
+ event->sending_name was already cleared by the time it was checked, so any
+ event:* filters never matched.
+
+M src/lib/event-log.c
+
+2018-05-24 21:43:42 -0600 Michael Slusarz <michael.slusarz@dovecot.fi> (d3d19ed683)
+
+ push-notification: Add SSL support for OX driver
+
+
+M src/plugins/push-notification/Makefile.am
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2018-05-27 15:48:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (646a917a1f)
+
+ imap: Log unhibernation debug message only with mail_debug=yes
+
+
+M src/imap/imap-state.c
+
+2018-05-26 14:49:01 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (84ed07bd39)
+
+ lib-smtp: client: Avoid sending an XCLIENT command longer than 512 bytes.
+
+ Send several separate XCLIENT commands instead. This way, it complies with
+ the base SMTP line length limit and with Postfix' original specification for
+ the XCLIENT command.
+
+ With the XCLIENT fields that Dovecot currently uses, this is very unlikely
+ to happen. Still, this needs to be fixed to make things reliable.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2018-05-27 11:30:06 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3912d6be16)
+
+ lib-smtp: client: Do not start authentication before initial XCLIENT gets
+ reply.
+
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-connection.h
+
+2018-05-26 15:44:43 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (aea7fd5073)
+
+ lib-smtp: server: Provide full proxy data to the conn_proxy_data_updated()
+ callback.
+
+ Before, it would only provide the fields that were updated, meaning that
+ some fields would remain unset, which caused problems for LMTP when more
+ than one XCLIENT command was sent or the ADDR field was not specified.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2018-05-25 19:13:30 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (45b709d5f8)
+
+ global: start relying on http_client_request_abort(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - http_client_request_abort(&E);
+ - }
+ + http_client_request_abort(&E);
+
+M src/auth/auth-policy.c
+M src/lib-http/http-client-connection.c
+M src/lib-oauth2/oauth2.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts/fts-parser-tika.c
+
+2018-05-25 19:11:35 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (4088fc7b3e)
+
+ lib-http: http_client_request_abort(NULL) should be a no-op
+
+
+M src/lib-http/http-client-request.c
+
+2018-05-26 13:12:26 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ccd65c0bce)
+
+ lda: Allow -f sender to omit domain.
+
+ Several people complained about the original enforcement of the presence of
+ a domain (added for v2.3.0) to be too restrictive. Apparently, this
+ legitimately happens with bounce messages on certain platforms.
+
+M src/lda/main.c
+
+2018-05-25 11:07:38 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (0e16bc79b1)
+
+ lib-fs: fs_unlock(NULL) should be a no-op
+
+
+M src/lib-fs/fs-api.c
+
+2018-05-25 11:03:25 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (0a4cf111cb)
+
+ global: start relying on fs_iter_deinit(NULL) being a no-op
+
+
+M src/lib-dict-extra/dict-fs.c
+
+2018-05-25 11:02:56 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (0d5ef33b8a)
+
+ lib-fs: fs_iter_deinit(NULL) should be a no-op
+
+
+M src/lib-fs/fs-api.c
+
+2018-05-25 10:53:54 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (fc9a7d9a65)
+
+ global: start relying on fs_deinit(NULL) and fs_unref(NULL) being no-ops
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - fs_unref(&E);
+ - }
+ + fs_unref(&E);
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - fs_deinit(&E);
+ - }
+ + fs_deinit(&E);
+
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+
+2018-05-25 10:48:29 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (cbf0354f94)
+
+ lib-fs: fs_unref(NULL) should be a no-op
+
+
+M src/lib-fs/fs-api.c
+
+2018-05-25 10:38:36 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (d8c10024f2)
+
+ global: start relying on fs_file_close(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - fs_file_close(E);
+ - }
+ + fs_file_close(E);
+
+M src/lib-fs/fs-metawrap.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+
+2018-05-25 10:35:35 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (b2de303857)
+
+ lib-fs: fs_file_close(NULL) should be a no-op
+
+
+M src/lib-fs/fs-api.c
+
+2018-05-25 10:31:27 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (7c37bf6d4e)
+
+ global: start relying on fs_file_deinit(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - fs_file_deinit(&E);
+ - }
+ + fs_file_deinit(&E);
+
+M src/doveadm/doveadm-fs.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-sis-queue.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+
+2018-05-25 10:18:34 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (f3e3f1f86a)
+
+ lib-fs: fs_file_deinit(NULL) should be a no-op
+
+
+M src/lib-fs/fs-api.c
+
+2018-03-18 00:57:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c2357a9b5e)
+
+ lib-smtp: Add test-smtp-payload, test-smtp-submit, test-smtp-client-errors,
+ and test-smtp-server-errors to `make check`.
+
+
+M src/lib-smtp/Makefile.am
+
+2018-03-18 00:53:14 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (019c794c98)
+
+ lib-http: Add test-http-payload, test-http-client-errors, and
+ test-http-server-errors to `make check`.
+
+
+M src/lib-http/Makefile.am
+
+2018-03-18 01:25:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1ef9d7265e)
+
+ lib-http: test-http-client-errors: Make the reconnect failure test less
+ time-sensitive.
+
+ Easily breaks in Valgrind.
+
+M src/lib-http/test-http-client-errors.c
+
+2018-03-18 00:46:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (148fca226a)
+
+ lib-smtp: test-smtp-payload: Terminate the test if it is hanging for some
+ reason.
+
+
+M src/lib-smtp/test-smtp-payload.c
+
+2018-03-18 00:34:22 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1a984e7457)
+
+ lib-smtp: test-smtp-client-errors: Terminate the test if it is hanging for
+ some reason.
+
+
+M src/lib-smtp/test-smtp-client-errors.c
+
+2017-12-28 16:33:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9dfa619d2e)
+
+ lib-http: test-http-client-errors: Terminate the test if it is hanging for
+ some reason.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2018-02-09 23:58:51 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d40fd528c7)
+
+ lib-http: test-http-payload: Add SSL tests.
+
+
+M src/lib-http/Makefile.am
+M src/lib-http/test-http-payload.c
+
+2018-02-09 22:09:27 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0c746fb6ee)
+
+ lib-smtp: test-smtp-payload: Add SSL tests.
+
+
+M src/lib-smtp/Makefile.am
+M src/lib-smtp/test-smtp-payload.c
+
+2018-02-10 00:00:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (92ee269b5e)
+
+ lib-http: test-http-payload: Ignore SIGPIPE.
+
+
+M src/lib-http/test-http-payload.c
+
+2018-02-09 22:09:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7f4e20f05b)
+
+ lib-smtp: test-smtp-payload: Ignore SIGPIPE.
+
+
+M src/lib-smtp/test-smtp-payload.c
+
+2018-02-09 22:27:00 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7bb571d450)
+
+ lib-http: server: Allow creating server with custom SSL settings.
+
+ Normally, the settings are obtained through lib-master, but that is not
+ really suitable for the test suite.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server.c
+M src/lib-http/http-server.h
+
+2018-02-09 22:06:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ee6288f22b)
+
+ lib-smtp: server: Allow creating server with custom SSL settings.
+
+ Normally, the settings are obtained through lib-master, but that is not
+ really suitable for the test suite.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server.c
+M src/lib-smtp/smtp-server.h
+
+2018-03-17 21:08:09 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (cf7416ec80)
+
+ lib-smtp: client: Amend connection debug message with source ip:port.
+
+ Helps matching debug logs between client and server.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-03-17 18:10:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f638d0016f)
+
+ lib-smtp: test-smtp-payload: Keep the number of pending transactions
+ constant.
+
+ Before, a window was used.
+
+M src/lib-smtp/test-smtp-payload.c
+
+2018-03-17 18:05:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f6f4c7124d)
+
+ lib-smtp: test-smtp-payload: Make proper definition for the maximum number
+ of parallel transactions.
+
+
+M src/lib-smtp/test-smtp-payload.c
+
+2018-02-10 02:20:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (477eb3d5a0)
+
+ lib-http: test-http-payload: Add test for exchanging payload with unknown
+ size.
+
+ This will force using the chunked transfer encoding.
+
+M src/lib-http/test-http-payload.c
+
+2018-03-17 21:34:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (584c3619e7)
+
+ lib-http: test-http-payload: server: Fix asynchronous listening.
+
+ The listening socket was blocking and the io handler only accepted one
+ connection per run.
+
+M src/lib-http/test-http-payload.c
+
+2018-03-17 14:14:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6a8b634111)
+
+ lib-smtp: test-smtp-payload: server: Fix asynchronous listening.
+
+ The listening socket was blocking and the io handler only accepted one
+ connection per run.
+
+M src/lib-smtp/test-smtp-payload.c
+
+2018-02-09 22:04:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5761e88743)
+
+ lib-ssl-iostream: Add support for creating server and client test SSL
+ settings.
+
+ This is useful for building test cases with SSL support.
+
+M src/lib-ssl-iostream/Makefile.am
+A src/lib-ssl-iostream/iostream-ssl-test.c
+A src/lib-ssl-iostream/iostream-ssl-test.h
+
+2018-05-23 15:14:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4be03fcbfc)
+
+ lib-master: If stats process wants no events, send nothing to it
+
+ Instead of sending everything to it..
+
+M src/lib-master/stats-client.c
+
+2018-05-22 00:22:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7ba6d78e6d)
+
+ lib-charset: test-charset can now be used to convert input file
+
+ Usage: test-charset <charset> [<input path>]
+
+ If <input path> isn't specified, read input from stdin. The input is
+ converted to UTF-8 and written to stdout.
+
+M src/lib-charset/test-charset.c
+
+2018-05-23 17:13:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3e50b78055)
+
+ doveadm director: Remove unnecessary extra newlines from output
+
+
+M src/doveadm/doveadm-director.c
+
+2018-05-24 14:55:59 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (124f6dcf14)
+
+ lib-master: Move const char *error declaration inside ifdef HAVE_SSL
+
+ This is so you can compile dovecot without ssl.
+
+M src/lib-master/master-service.c
+
+2018-05-22 22:45:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (720a6e0e67)
+
+ lib: io_loop_stop() should stop the ioloop immediately
+
+ Other timeouts or IOs shouldn't be called anymore.
+
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-kqueue.c
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+
+2018-05-24 00:40:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dd6aa56c60)
+
+ lib: test-multiplex - Make sure alt istream's final input is read
+
+ Previously the code trusted that the the alt istream's final IO callback was
+ called even after io_loop_stop().
+
+M src/lib/test-multiplex.c
+
+2018-05-24 01:32:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (373dcbdf5e)
+
+ cassandra: Fix empty binary parameters with prepared statements
+
+ Fixes: Panic: Trying to allocate 0 bytes
+
+M src/lib-sql/driver-cassandra.c
+
+2018-05-23 15:54:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ae6520a8b9)
+
+ lib-smtp: server: Fix the enforcement of the maximum DATA command message
+ size.
+
+ The global setting from the server object was used, rather than the
+ per-connection setting. The latter is usually the one that is properly set,
+ while the global server setting is left at zero. For LMTP this meant that
+ the 40 Mb implicit limit was still in force.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2018-03-17 18:00:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6118aec846)
+
+ lib-smtp: client: Increase the default BDAT chunk size.
+
+ Reduces the number of roundtrips and keeps the TCP window filled better. The
+ default is now based on the NET_BLOCK_SIZE definition.
+
+M src/lib-smtp/smtp-client.h
+
+2018-05-22 09:42:00 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0afc71435c)
+
+ lib: Define NET_BLOCK_SIZE.
+
+ This defines the default size for data blocks transferred over the network.
+ It should be large enough to guarantee filling up the TCP window (for
+ efficiency), while still preventing sending much data while the peer has
+ already rejected the rest of the transfer.
+
+M src/lib/compat.h
+
+2018-05-22 16:06:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2155f0b0f7)
+
+ fs-posix: Support FS_METADATA_WRITE_FNAME for fs_copy()
+
+
+M src/lib-fs/fs-posix.c
+M src/lib-fs/test-fs-posix.c
+
+2018-05-22 09:23:32 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (437ef43c4f)
+
+ auth: db-lua - Remove unnecessary pushnil usage
+
+ lua_pushstring is NULL-safe
+
+M src/auth/db-lua.c
+
+2018-05-22 10:24:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2ea6629633)
+
+ log: Fix the default prefix
+
+ "listen_fd(123): foo" is better than "listen_fd 14foo"
+
+M src/log/log-connection.c
+
+2018-05-22 10:59:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2e1cde1f82)
+
+ man: doveadm-mailbox.1.in - Fix doveadm-search-query(7) section
+
+
+M doc/man/doveadm-mailbox.1.in
+
+2018-05-21 19:38:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e2c94d24e6)
+
+ lib-storage: maildir - Remove unnecessary variable
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2018-05-21 14:31:58 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (86c6edea49)
+
+ lib-storage: maildir - Use index keywords only when saving mail
+
+ This fixes mail attachment keywords to work with maildir too.
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2018-05-21 14:28:03 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (233399a4fe)
+
+ lib-storage: maildir - Use array code for keywords when saving mail
+
+ This is safer alternative and makes following change easier.
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2018-05-20 18:20:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3792760648)
+
+ director: Make sure host's last_updown_change never shrinks.
+
+ Otherwise the ring might get into a loop where two HOST updates keep
+ fighting each others. This could probably happen if one update comes at
+ "desynced" state and other one in non-desynced state.
+
+ I'm not entirely sure if this is fixing such a loop or not, but it at least
+ shouldn't hurt.
+
+M src/director/director-connection.c
+
+2018-05-20 21:32:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (eb08f805f0)
+
+ auth: Fix assert-crash if auth client sends 0 as ID
+
+ This could be triggered by anyone having (local) write access to the auth
+ socket.
+
+M src/auth/auth-request-handler.c
+
+2018-05-21 01:30:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2d4b81b770)
+
+ lib-index: Remove #if'ed out code
+
+ Originally added by 0b2d4626c6fb4e40bc81c56d8227191f3c7e1ea3. Possibly
+ accidentally.
+
+M src/lib-index/mail-index-sync-ext.c
+
+2018-05-21 01:42:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8699605749)
+
+ lib: Fix ioloop-poll and ioloop-select to work with io_add_istream()
+
+
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-select.c
+
+2018-04-26 21:35:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d6ecc5090b)
+
+ example-config: Add log_debug and log_core_filter
+
+
+M doc/example-config/conf.d/10-logging.conf
+
+2018-04-16 15:00:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4ecff60b33)
+
+ lib-master: Add improved log filter parsing
+
+ It now supports parenthesis to perform ANDs within a query. For example:
+ "(ruleA1 ruleA2) ruleB (ruleC1 ruleC2 ruleC3)" has 3 ORed rules.
+
+ Rules can contain:
+
+ - event:<name>
+ - source:<filename>[:<line number>]
+ - field:<key>=<value> can be used multiple times
+ - cat[egory]:<value> can be used multiple times
+
+ For example:
+
+ event:http_request_finished (cat:error cat:storage)
+
+ This matches either the "http_request_finished" named event, or
+ alternatively any error event that belongs to "storage" category.
+
+M src/lib-master/master-service-settings.c
+
+2018-04-26 21:29:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b91c753c87)
+
+ lib: Event filter - Source line number 0 now means "any"
+
+
+M src/lib/event-filter.c
+
+2018-04-26 21:21:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0165d0e4cf)
+
+ lib: Event filter - Support wildcards in event names
+
+ This allows for example log_debug=event:*
+
+M src/lib/event-filter.c
+M src/lib/event-filter.h
+
+2018-04-29 12:17:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b072b9b3a0)
+
+ lib: event_add_str() - Ignore calls when value is NULL
+
+ Alternative could be to assert-crash instead. But perhaps this makes it
+ easier to use and avoids unnecessary assert-crashes?
+
+M src/lib/lib-event.c
+
+2018-04-29 13:45:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (29f222db74)
+
+ doveadm: Add mailbox cache compress
+
+
+M doc/man/doveadm-mailbox.1.in
+M src/doveadm/doveadm-mail-mailbox-cache.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2018-04-29 13:44:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (26d15b45b8)
+
+ lib-index: Add mail_cache_compress_forced()
+
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache.h
+
+2016-03-15 09:21:49 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (96206ddddd)
+
+ lib-iostream-ssl: Use default CA locations with client context
+
+ If no CA settings are provided, fall back to default CA settings from
+ openssl library.
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2018-05-20 15:56:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f04adc2f9b)
+
+ lib-index: fsck: Fix small log offsets to file's correct header size
+
+ Use the file's actual current header size, not
+ MAIL_TRANSACTION_LOG_HEADER_MIN_SIZE, which is nowadays smaller. This
+ resulted in unnecessary errors like:
+
+ Corrupted transaction log file ...: Invalid min_file_offset: ...,
+ min_file_offset (24) < hdr_size (40)
+
+M src/lib-index/mail-index-fsck.c
+
+2018-05-20 15:55:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (308048a191)
+
+ lib-index: fsck: Don't change log_file_tail_offset=0
+
+
+M src/lib-index/mail-index-fsck.c
+
+2018-05-11 09:19:21 +0300 Phil Carmody <phil@dovecot.fi> (5ea4e2c64a)
+
+ lib: bits - macros to simplify expressions when using -Wstrict-bool
+
+ To be strict-bool compliant, your expressions need to be a bit verbose,
+ these might simplify things.
+
+ There are presently over 400 instances matching HAS_NO_BITS(), and nearly
+ 1300 instances matching HAS_ANY_BITS(), so it's a very common pattern.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/bits.h
+M src/lib/test-bits.c
+
+2018-05-18 12:47:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (861d40b9ae)
+
+ lib: Fix potential crashes when writing to log fails with EAGAIN
+
+ The ioloop may nowadays call ioloop context switch callbacks. Since log
+ writing can happen just about anywhere, the callbacks may be confused and
+ cause crashes or other weird behavior.
+
+ Even if the callbacks aren't called, all the extra code in ioloop can cause
+ potential problems. Especially any error logging in it wouldn't work
+ properly since it would just recurse back. So replace the ioloop code with
+ just setting the log fd to be blocking until the write succeeds.
+
+ This commit also removes comments about writes to a blocking terminal fd
+ causing EAGAINs. This seems unlikely. Probably I was just somehow confused
+ when originally seeing it and writing the code. If it actually does happen
+ now, it's still not breaking anything, but it could get into a busy-loop of
+ write()s constantly returning EAGAIN until they succeed.
+
+M src/lib/failures.c
+
+2018-05-15 14:32:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (36199f6935)
+
+ auth: Fix passwd-file logging on missing passwd-file
+
+ This reduces log clutter in production systems that use per-domain password
+ files by logging the missing file information only when auth_verbose=yes.
+
+ Broken in daabad64d90d6008215e234287255a56312e7b72
+
+M src/auth/db-passwd-file.c
+
+2018-05-18 17:29:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ca4c2579f0)
+
+ lib: Linux, OSX, etc: Avoid race conditions showing \xAB chars in ps title
+
+ With bad luck "ps" reads the process title when it hasn't been fully
+ written. Since the trailing NULs are written last and the previous code kept
+ the ps title otherwise filled with \xAB chars, this could have caused ps to
+ sometimes show the process title filled with \xAB chars (visible as '?')
+
+M src/lib/process-title.c
+
+2018-05-18 17:04:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b2daefbbfe)
+
+ *-login: Fix non-global ssl=no configuration
+
+ For example local 127.0.0.2 { ssl=no } wasn't working.
+
+M src/login-common/client-common.c
+
+2018-05-18 15:56:15 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (6da6b8374d)
+
+ lib-http: client: Drop the ioloop switch callback before freeing the global
+ client context.
+
+ This removes the possibility of recursion when the client context object
+ somehow triggers an ioloop switch (e.g., when debug logging starts blocking
+ at that inopportune moment).
+
+M src/lib-http/http-client.c
+
+2018-05-18 10:24:46 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ede3c3be7f)
+
+ lib-smtp: client: Fix assertion panic occurring when DATA dot stream cannot
+ be finished immediately.
+
+ If o_stream_finish() returns 0, o_stream_send_istream() would be called
+ again later which causes the panic. Instead, it should only call
+ o_stream_finish() or o_stream_flush() again to finish the last bit of the
+ output.
+
+ Panic was:
+
+ Panic: file ostream.c: line 394 (o_stream_send_istream): assertion failed:
+ (!_outstream->finished)
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-private.h
+
+2018-05-17 16:29:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0963fb105e)
+
+ cassandra: Fix consistency=quorum to work
+
+ Previously it could have been used by setting "consistency=", but this was
+ an accident.
+
+M src/lib-sql/driver-cassandra.c
+
+2018-05-17 18:35:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2584e84583)
+
+ lib-master: postlogin: Don't unreference already closed login-connection
+
+ If the login-connection was already closed, this caused too many
+ unreferences.
+
+ Fixes: Panic: file master-login.c: line 544 (master_login_conn_unref):
+ assertion failed: (conn->clients == NULL)
+
+M src/lib-master/master-login.c
+
+2018-04-24 11:46:21 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (968da88f2f)
+
+ systemd: Indicate where changes should be made
+
+
+M dovecot.service.in
+
+2018-04-24 11:45:36 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d99151b4f5)
+
+ systemd: Increase file descriptors by default
+
+
+M dovecot.service.in
+
+2018-04-24 11:45:07 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (faa65a166e)
+
+ systemd: Allow writing to home by default
+
+
+M dovecot.service.in
+
+2018-04-24 11:44:33 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a66e595515)
+
+ systemd: Remove NoNewPrivileges and CAP_BOUNDING_SET
+
+ These break sieve by preventing SUID binary as sendmail_path.
+
+M dovecot.service.in
+
+2018-05-15 17:50:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0a814fb856)
+
+ fs-posix: Strip trailing "/" from filenames
+
+ This is mainly because "doveadm fs delete -R" adds it to indicate to the
+ fs-driver that the whole directory is wanted to be deleted. This change
+ fixes fs-posix to work with NFS, where otherwise unlink("symlink-to-dir/")
+ fails with ENOTDIR. Without NFS the same call succeeds.
+
+M src/lib-fs/fs-posix.c
+
+2018-05-14 21:33:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (93eacfbe1f)
+
+ doveadm force-resync: Add -f parameter to fsck index while opening it
+
+ This probably should be done by default, but for now keep it optional just
+ in case there are any bugs in the fsck implementation.
+
+M src/doveadm/doveadm-mail.c
+
+2018-05-14 21:31:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c47bbddde8)
+
+ lib-storage: Add MAILBOX_FLAG_FSCK to fsck index immediately after opening
+ it
+
+ This can be used to fix a broken index that is causing mailbox_open() to
+ fail.
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage.h
+
+2018-04-17 16:04:02 +0200 Bjørnar Ness <bjornar.ness@gmail.com> (908920aeef)
+
+ doveadm: fix who/kick out of order response
+
+ doveadm-who and kick did not properly flush protocol output after
+ doveadm_print(), this caused out-of-order response to clients, example:
+
+ C: <tab><tab>who<crlf> S: +<crlf> S: username<tab>[...]<missing_crlf>
+
+ correct response should have been S: <username><tab>[...]<crlf> S: +<crlf>
+
+ fixed by adding doveadm_print_flush() calls.
+
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-who.c
+
+2018-05-11 10:50:16 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (a1f899800b)
+
+ lib-storage: Return correct root path for PATH_TYPE_ALT_MAILBOX
+
+ mailbox_list_set_get_root_path(..., MAILBOX_LIST_PATH_TYPE_ALT_MAILBOX, ...)
+ must return one of three values:
+
+ 1. if there is no alt storage, return NULL 2. if there is alt storage and
+ MAILBOXDIR is set,
+ return ${alt_dir}/${mailbox_dir_name} 3. if there is alt storage but
+ MAILBOXDIR is not set, return ${alt_dir}
+
+ Case number 3 was broken, and it mistakenly returned ${root_dir} - in other
+ words, it behaved as MAILBOX_LIST_PATH_TYPE_MAILBOX.
+
+ This correction changes the behavior, but this shouldn't cause
+ incompatibilities since:
+
+ 1. it affects only storages that support alternate storage 2. it affects
+ only configurations that use empty MAILBOXDIR
+
+ The only storage that supports alternate storage setting is dbox but dbox
+ defaults to MAILBOXDIR=mailboxes. Additionally, it appears to be impossible
+ to override it to an empty string (setting it to an empty strings causes
+ dbox to override it with the default - "mailboxes"). Therefore, nobody
+ should be affected by this change.
+
+M src/lib-storage/mailbox-list.c
+
+2018-05-12 13:11:59 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (786bbdbabf)
+
+ submission: Perform variable substitution for the
+ submission_relay_rawlog_dir setting.
+
+
+M src/submission/submission-settings.c
+
+2018-05-12 12:20:08 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ca7e02367b)
+
+ submission: Add support for making server rawlogs using the rawlog_dir
+ setting.
+
+ Similar services like pop3 and imap already support this setting, but for
+ submission this was omitted.
+
+M src/submission/submission-client.c
+M src/submission/submission-settings.c
+M src/submission/submission-settings.h
+
+2018-05-12 13:33:20 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f9b9acdfc5)
+
+ submission: Substitute variables in settings.
+
+
+M src/submission/main.c
+
+2018-05-14 22:41:29 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (c664653fc8)
+
+ submission: Move assignment of verbose_proctitle.
+
+ Makes it more consistent with other services like imap.
+
+M src/submission/main.c
+
+2018-05-14 23:56:21 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (847790d5aa)
+
+ lmtp: Fix segfault occurring when a user turns out to be over quota at DATA
+ transfer.
+
+ The LMTP recipient context was not updated with the final recipient address
+ when the RCPT command was accepted. This left a dangling struct smtp_address
+ pointer which triggered the segfault when used.
+
+M src/lmtp/lmtp-common.c
+
+2018-05-14 15:46:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (33f2a36a02)
+
+ fs-posix: Fix fs_iter_next() to return any kinds of files.
+
+ Only regular files and symlinks were returned. It should return everything
+ else as well (fifos, sockets, devices).
+
+M src/lib-fs/fs-posix.c
+
+2018-05-09 10:19:02 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c6d5ecc028)
+
+ config: Fix crash in doveconf -n when hiding sensitive information
+
+ Broken by fc02343f
+
+M src/config/doveconf.c
+
+2018-05-09 10:18:39 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (54429bfd5e)
+
+ lib: Add str_append_escaped and use it with str_escape
+
+
+M src/lib/strescape.c
+M src/lib/strescape.h
+
+2018-05-11 10:53:46 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (8b4dc4ed37)
+
+ lib-storage: Harden check for imapdir list name
+
+ Comparing char pointers to determine string equality is asking for trouble.
+ Use strcmp() instead.
+
+M src/lib-storage/list/mailbox-list-maildir.c
+
+2018-05-12 12:27:37 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d44defd5cd)
+
+ lmtp: proxy: Add support for making proxy client rawlogs using the
+ lmtp_proxy_rawlog_dir setting.
+
+
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2018-05-12 12:18:27 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (980d1a78e6)
+
+ lmtp: Add support for making server rawlogs using the lmtp_rawlog_dir
+ setting.
+
+
+M src/lmtp/client.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2018-05-12 12:15:07 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (af4df522f9)
+
+ lmtp: Properly apply the login_greeting setting.
+
+ It got ignored during migration of lmtp service to lib-smtp.
+
+M src/lmtp/client.c
+
+2018-04-07 01:09:12 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b022cf84c4)
+
+ submission: Truly enforce a configurable message size limit (default 40 MB).
+
+ Before, it was only checking a provided SIZE parameter to the MAIL command
+ and not the size of the actually submitted message.
+
+M src/submission/submission-client.c
+M src/submission/submission-settings.c
+
+2018-04-07 01:08:34 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e14d34fac6)
+
+ lmtp: Explicitly disable message size limit enforcement.
+
+
+M src/lmtp/client.c
+
+2018-04-07 01:08:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ad7d4f7cfe)
+
+ submission: Actively enforce message size limit while copying message data.
+
+
+M src/submission/cmd-data.c
+
+2018-04-07 01:06:13 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (94037678cc)
+
+ lmtp: Actively enforce message size limit while copying message data.
+
+ This is actually currently not relevant to LMTP, but for future
+ implementation this code is added here already.
+
+M src/lmtp/commands.c
+
+2018-04-07 01:05:15 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d006a41144)
+
+ lib-smtp: server: Implement enforcement of maximum message size.
+
+
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-cmd-helo.c
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server.c
+M src/lib-smtp/smtp-server.h
+
+2018-04-07 01:03:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (356f78b027)
+
+ lib-smtp: command parser: Provide more details in command data size limit
+ error.
+
+
+M src/lib-smtp/smtp-command-parser.c
+
+2018-04-07 01:00:46 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (c0be1a95fd)
+
+ configure: Create a definition for UOFF_T_MAX.
+
+
+M configure.ac
+A m4/uoff_t_max.m4
+
+2018-04-05 00:34:49 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (04296ea463)
+
+ lib-smtp: server: Fix error message logged for errors occurring in data
+ wrapper stream during DATA transfer.
+
+ Used the connection stream rather than the data stream to obtain the error.
+ Obviously, there is no error on the low-level connection when there is a
+ data istream (e.g. message size) error.
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2018-05-11 19:26:45 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (90f618171f)
+
+ lib-smtp: server: DATA command: Restore input handling upon failure.
+
+ Fixes command hanging upon failure during data transfer.
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2018-05-11 10:41:01 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (015ea532ca)
+
+ auth: Use PRIuUOFF_t to print process VSZ limit
+
+ This doesn't change the behavior, but it makes it more obviously correct.
+
+M src/auth/passdb-cache.c
+
+2018-05-11 10:38:32 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (070f904e3e)
+
+ auth: Avoid comparison of ints of different signs on FreeBSD
+
+ For legacy reasons, rlim_t on FreeBSD is defined as int64_t.
+
+M src/auth/passdb-cache.c
+
+2018-04-17 12:11:05 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (307ccd8676)
+
+ auth: test - make sure memory gets free'd
+
+
+M src/auth/test-auth.h
+M src/auth/test-lua.c
+M src/auth/test-main.c
+M src/auth/test-mock.c
+
+2018-04-17 10:55:53 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (81518ccf82)
+
+ auth: Add test for lua password verify
+
+
+M src/auth/test-lua.c
+M src/auth/test-main.c
+
+2018-04-12 13:39:58 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (89a921e570)
+
+ auth: db-lua - Add password_verify to auth request
+
+ Allows verifying passwords with dovecot when necessary
+
+M src/auth/db-lua.c
+
+2018-04-11 12:39:51 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7f1e1facce)
+
+ auth: db-lua - Expose some auth request members
+
+ These are particularly useful for finding out if user has already been
+ authenticated.
+
+M src/auth/db-lua.c
+
+2018-04-11 12:29:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2bd90d6e51)
+
+ auth: db-lua - Remove extra space from log_error
+
+ This makes it possible to use the log_error method.
+
+ Broken in 9698cd24
+
+M src/auth/db-lua.c
+
+2018-05-04 15:27:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0ff9d7d3f2)
+
+ auth: Improve auth-master connections' error logging
+
+ Include connect and handshake times in the error message.
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-master-connection.h
+M src/auth/auth-request-handler.c
+
+2018-05-04 14:14:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (74e4ec14e6)
+
+ lib-master: Add auth connect & handshake times to master_login_auth_request
+ errors
+
+
+M src/lib-master/master-login-auth.c
+
+2018-05-04 14:10:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1619c12053)
+
+ lib-master: Add request time also for internal failure error messages
+
+
+M src/lib-master/master-login-auth.c
+
+2018-05-04 14:03:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7108b2a3d0)
+
+ lib-master: Use more exact timestamp in master_login_auth_request failures
+
+
+M src/lib-master/master-login-auth.c
+
+2018-05-04 13:56:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8a1a338157)
+
+ lib-master: Improve error logging for master_auth_connection failures
+
+
+M src/lib-master/master-auth.c
+
+2018-05-04 13:42:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (85c63c5bd3)
+
+ lib-master: Improve error logging for post-login script failures
+
+
+M src/lib-master/master-login.c
+M src/lib-master/master-login.h
+
+2018-05-04 13:23:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (61fe4c4d0d)
+
+ lib-master: Improve error logging when master_login_connection gets
+ disconnected
+
+
+M src/lib-master/master-login.c
+M src/lib-master/master-login.h
+
+2018-05-04 13:07:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (934d1cbf65)
+
+ lib-master: Keep linked list of master_login_clients per connection
+
+ This allows improving logging on connection errors.
+
+M src/lib-master/master-login.c
+M src/lib-master/master-login.h
+
+2018-05-03 18:33:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1cdd1c5e46)
+
+ fts: When indexing virtual mailbox, index each real mailbox entirely
+
+ Index all the unindexed messages in them at once, instead of jumping between
+ real mailboxes and indexing them in small pieces.
+
+M src/plugins/fts/fts-storage.c
+
+2018-05-03 18:33:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b2a29fc6d0)
+
+ fts: Indexing virtual mailbox didn't always index the last mails
+
+
+M src/plugins/fts/fts-storage.c
+
+2018-05-03 18:30:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6c4060a4fe)
+
+ fts: Make sure indexing virtual mailbox doesn't recurse and index mail
+ multiple times
+
+
+M src/plugins/fts/fts-storage.c
+
+2018-05-03 17:06:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1552267d55)
+
+ cassandra: Use fallback_consistency on more types of errors
+
+ This could allow for example read_consistency=local-quorum with
+ read_fallback_consistency=quorum, so most of the time the reads are from
+ local datacenter, but in case it has problems you can switch to other
+ datacenters.
+
+M src/lib-sql/driver-cassandra.c
+
+2018-05-03 16:58:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f2dea18098)
+
+ cassandra: Cleanup - Move code to query_error_want_fallback()
+
+ This allows extending it more easily.
+
+M src/lib-sql/driver-cassandra.c
+
+2018-05-03 15:22:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (96df493d6f)
+
+ fs-posix: mkdir missing directory if it's changed by FS_METADATA_WRITE_FNAME
+
+ The temp file is created to the initial directory. If the directory is
+ changed by FS_METADATA_WRITE_FNAME, the new destination directory didn't
+ necessarily exist. If the link() or rename() fails with ENOENT, try to mkdir
+ the missing directories.
+
+M src/lib-fs/fs-posix.c
+
+2018-04-29 12:31:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d5e0547cd5)
+
+ lib-index: mail_index_sync_map() - Don't try to-resync extension updates
+
+ This was done to call extension record sync handlers, but the previous
+ commit removes them. Fixes a problem where obsolete cache offsets were used
+ in some situations:
+
+ - Some cache updates are from external transactions and some are from
+ non-external transactions. This is because cache offset updates are being
+ added by whatever the parent index transaction is.
+
+ - When mail_index_sync_map() is mapping MAIL_INDEX_SYNC_HANDLER_FILE, it
+ has already synced the map. But it's calling mail_index_sync_record() for
+ non-external transactions to call expunge handlers and extension update
+ handlers. It's calling the regular mail_index_sync_record() to do this work.
+
+ - But mail_index_sync_record() is actually still updating the map. So now
+ mail_index_sync_record() is called for all non-external cache updates, but
+ not for external cache updates! And since these are somewhat randomly either
+ external or non-external, the end result is that the cache offset may be
+ obsolete.
+
+M src/lib-index/mail-index-sync-update.c
+
+2018-04-29 12:23:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4db79f4f77)
+
+ lib-index: Remove extension record sync handlers
+
+ This is no longer used by anything, and it makes the fix in the following
+ commit much easier.
+
+ This was originally added in 6a19e109ee8c5a6f688da83a86a7f6abeb71abdd to
+ allow dovecot.index.cache updating to hook into updating cache offsets to
+ link cache records together. This was reimplemented in a different way in
+ 131b073bdc3650083b00616dc778dd3017c2bbb5
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index.c
+
+2018-03-20 18:14:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d0f3dde0ba)
+
+ lib-http: server: Properly handle corrupt payload while finishing a request.
+
+ The HTTP_REQUEST_PARSE_ERROR_BROKEN_REQUEST was not handled, causing an
+ assertion panic. This situation occurred when the chunked transfer encoding
+ was invalid.
+
+M src/lib-http/http-server-connection.c
+
+2018-03-20 18:10:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4eebf1f748)
+
+ lib-http: server: Properly handle payload stream errors while finishing a
+ request.
+
+ Errors from the (chunked) payload stream would cause assertion panics at
+ that point.
+
+M src/lib-http/http-server-connection.c
+
+2018-03-20 18:04:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5064ddd107)
+
+ lib-http: server: Allow resubmitting a response, as long as it is not sent
+ yet.
+
+
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+
+2018-04-26 21:07:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2a5cb451a0)
+
+ cassandra: Add proper log levels to logged messages
+
+ If logging to "internal handler", i.e. to log process, write the log prefix
+ that includes the log level. This way Cassandra's trace/debug/info messages
+ won't end up in error log.
+
+M src/lib-sql/driver-cassandra.c
+
+2018-04-26 21:07:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1b2edce5b0)
+
+ lib: Add i_failure_handler_is_internal()
+
+
+M src/lib/failures.c
+M src/lib/failures.h
+
+2018-04-26 19:38:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d0d7b0a1de)
+
+ lib-fs: fs-posix - Add accurate-mtime parameter
+
+ This is mainly useful for testing to find out whether one file was created
+ after another.
+
+M src/lib-fs/fs-posix.c
+
+2018-04-26 18:23:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (707a6e9147)
+
+ lib-fs: Update FS_METADATA_WRITE_FNAME comment
+
+
+M src/lib-fs/fs-api.h
+
+2018-04-26 18:14:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8b0052aef3)
+
+ lib-fs: fs-posix - FS_METADATA_WRITE_FNAME replaces the full path
+
+ This is how all the other fs drivers work, although the macro name is a bit
+ confusing.
+
+M src/lib-fs/fs-posix.c
+M src/lib-fs/test-fs-posix.c
+
+2018-04-26 18:14:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (534200e4bc)
+
+ lib-fs: fs-metawrap - Pass FS_METADATA_WRITE_FNAME through to parent fs
+
+ fs-metawrap in the middle pervented the renaming from working.
+
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-test.c
+M src/lib-fs/test-fs-metawrap.c
+
+2018-04-26 16:42:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (493d51f67a)
+
+ lib-storage: Remove mail_attachment_detection_options=add-flags-on-fetch
+ parsing
+
+ It wasn't actually used yet.
+
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2018-04-26 16:41:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f090f49f55)
+
+ lib-storage: Fail if mail_attachment_detection_options has invalid options
+
+
+M src/lib-storage/mail-storage-settings.c
+
+2018-04-19 16:38:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2ca525efa4)
+
+ lib-storage: Set $Has[No]Attachment earlier among other cached data
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/mail-storage.c
+
+2018-04-27 02:39:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8275060614)
+
+ lib: Fix returning error from unlink_directory()
+
+ On non-ENOENT errors it was returning 1 instead of -1.
+
+M src/lib/unlink-directory.c
+
+2018-04-26 23:05:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dc26c62d7b)
+
+ lib-storage: Fix event leak when failing to create storage
+
+
+M src/lib-storage/mail-storage.c
+
+2018-04-23 18:15:51 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (c336bb0c48)
+
+ mdbox: Assume that empty uid maps found during sync are harmless
+
+ Instead of failing the sync and causing index rebuild, just skip over the
+ empty uid maps. Chances are that they these records came from various
+ plugins that create fake mails.
+
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+
+2018-04-25 10:56:04 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (aa2eb418d9)
+
+ man: Document doveadm mailbox cache commands
+
+
+M doc/man/doveadm-mailbox.1.in
+
+2018-04-26 09:48:39 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (6ebb039c2b)
+
+ plugins/old-stats: Remove restrict_access_set_dumpable calls from
+ process_io_open().
+
+ proc_io_fd is opened in preinit(), while process have root access, so
+ restrict_access_set_dumpable() calls are not needed.
+
+M src/plugins/old-stats/mail-stats-fill.c
+
+2018-04-26 13:18:01 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (36ec7f349c)
+
+ .gitignore: Ignore doc/man/doveadm-rebuild.1
+
+
+M .gitignore
+
+2018-01-11 15:35:42 +0200 Phil Carmody <phil@dovecot.fi> (5cef037a24)
+
+ global - migrate more complicated strncmp expressions to str_begins
+
+ Simplify a bunch of verbose var=strlen(); strncmp(,,var) calls. Fortunately,
+ all of these examples use the length variable, so no
+ "unused value" warnings occur.
+
+ --- 8< --- strncmp2.cocci ---
+ @@ expression e1, e2; identifier i2;
+ @@
+
+ i2 = strlen(e2)
+ ...
+ - strncmp(e1, e2, i2) == 0
+ + str_begins(e1, e2)
+
+ @@ expression e1, e2; identifier i2;
+ @@
+
+ i2 = strlen(e2)
+ ...
+ - strncmp(e1, e2, i2) != 0
+ + !str_begins(e1, e2)
+
+ @@ expression e1, e2; identifier i1;
+ @@
+
+ i1 = strlen(e1)
+ ...
+ - strncmp(e1, e2, i1) == 0
+ + str_begins(e2, e1)
+
+ @@ expression e1, e2; identifier i1;
+ @@
+
+ i1 = strlen(e1)
+ ...
+ - strncmp(e1, e2, i1) != 0
+ + !str_begins(e2, e1)
+
+ --- 8< ---------------------
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/auth/auth-cache.c
+M src/config/old-set-parser.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/imap/cmd-notify.c
+M src/imap/cmd-rename.c
+M src/imap/imap-notify.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-search-mime.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/mailbox-list.c
+
+2018-01-11 15:20:09 +0200 Phil Carmody <phil@dovecot.fi> (c059767294)
+
+ global - migrate from strncmp to str_begins
+
+ Simplify a bunch of verbose strncmp(,,strlen()) calls.
+
+ --- 8< --- strncmp.cocci ---
+ @@ expression e1, e2;
+ @@
+
+ - strncmp(e1, e2, strlen(e2)) == 0
+ + str_begins(e1, e2)
+
+ @@ expression e1, e2;
+ @@
+
+ - strncmp(e1, e2, strlen(e2)) != 0
+ + !str_begins(e1, e2)
+
+ @@ expression e1, e2;
+ @@
+
+ - strncmp(e1, e2, strlen(e1)) == 0
+ + str_begins(e2, e1)
+
+ @@ expression e1, e2;
+ @@
+
+ - strncmp(e1, e2, strlen(e1)) != 0
+ + !str_begins(e2, e1)
+
+ --- 8< ---------------------
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/doveadm/doveadm-dict.c
+M src/imap-hibernate/imap-client.c
+M src/imap-login/imap-proxy.c
+M src/lib-dict-backend/dict-cdb.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-imap-storage/imap-metadata.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/index-search-mime.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-attribute.h
+M src/lib-storage/mailbox-list.c
+M src/lib/mempool-alloconly.c
+M src/lib/test-strfuncs.c
+M src/master/main.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-attributes.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2018-01-11 15:03:36 +0200 Phil Carmody <phil@dovecot.fi> (e4c57ac2d2)
+
+ global - migrate strncmp literals to str_begins
+
+ Simplify a bunch of strncmp(,,number) calls.
+
+ git ls-files \*.[ch] | xargs perl -p -i -e 's/strncmp\((.*?), ?(\".*?\"),
+ ?(\d+)\) == 0/str_begins($1, $2)/g' git ls-files \*.[ch] | xargs perl -p -i
+ -e 's/strncmp\((.*?), ?(\".*?\"), ?(\d+)\) != 0/!str_begins($1, $2)/g'
+
+ I ran a longer script to verify that all of the string literals and the
+ length matched. They didn't:
+
+ $ git grep strncmp | perl -ne 'print
+ if(m/strncmp\([^,]*,\s*"(.*?)",\s*(\d+)/ and
+ ($s=$1,$t=$2,$s=~s/\\[tn]/#/g,length($s)) != $t)' src/auth/db-oauth2.c:
+ if (strncmp(field, "oauth2:", 8) == 0 &&
+
+ With the new functions, that kind of typo is impossible.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/auth/auth-client-connection.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-request.c
+M src/auth/auth-worker-server.c
+M src/auth/db-ldap.c
+M src/auth/db-oauth2.c
+M src/auth/main.c
+M src/auth/mech-oauth2.c
+M src/auth/mech-otp.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-checkpassword.c
+M src/auth/passdb-lua.c
+M src/auth/passdb-pam.c
+M src/auth/passdb-vpopmail.c
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-checkpassword.c
+M src/auth/userdb-lua.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-vpopmail.c
+M src/config/config-connection.c
+M src/config/doveconf.c
+M src/config/old-set-parser.c
+M src/config/sysinfo-get.c
+M src/director/login-connection.c
+M src/dns/dns-client.c
+M src/doveadm/client-connection-tcp.c
+M src/doveadm/doveadm-auth-server.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-oldstats.c
+M src/doveadm/doveadm-proxy.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-zlib.c
+M src/doveadm/server-connection.c
+M src/imap-hibernate/imap-client.c
+M src/imap-login/imap-proxy.c
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/cmd-notify.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-sync.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dict-backend/dict-sql-settings.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-dns/dns-lookup.c
+M src/lib-fs/fs-posix.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap/imap-base-subject.c
+M src/lib-index/mail-index.c
+M src/lib-mail/test-message-header-encode.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+M src/lib-program-client/program-client.c
+M src/lib-settings/settings-parser.c
+M src/lib-smtp/test-smtp-client-errors.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/test-mail-storage.c
+M src/lib/iostream-rawlog.c
+M src/lib/module-dir.c
+M src/lib/test-str-sanitize.c
+M src/lib/unlink-directory.c
+M src/log/log-connection.c
+M src/login-common/client-common-auth.c
+M src/login-common/sasl-server.c
+M src/master/main.c
+M src/old-stats/client-export.c
+M src/old-stats/mail-session.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/old-stats/mail-stats-fill.c
+M src/plugins/quota/quota-status.c
+M src/plugins/quota/quota-util.c
+M src/plugins/quota/quota.c
+M src/pop3-login/pop3-proxy.c
+M src/util/script.c
+
+2017-02-02 14:27:58 +0200 Phil Carmody <phil@dovecot.fi> (dff3bf002d)
+
+ lib: strfuncs - string match length and prefix checking helpers
+
+ strncmp(input, "literal", 7) is an idiom used everywhere, but leaves room
+ for human error in calculating the length.
+
+ strncmp(input, "literal", strlen("literal")) is an idiom also used
+ everywhere, but is both verbose and might be inefficient on some legacy or
+ ultralightweight compilers.
+
+ The old techniques are presumed to be optimal code-wise, but are verbose
+ (and, containing redundancy, they leave room for human error), so make the
+ macro fall back onto this operation, simply avoiding the
+ redundancy/verbosity.
+
+ The macro expansion does not multiply evaluate any of its parameters, so
+ should be safe even in the strangest of situations.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/lib/test-strfuncs.c
+
+2018-04-25 15:23:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1359356719)
+
+ lib: uni_utf8_get_valid_data() - Add ATTR_WARN_UNUSED_RESULT
+
+ Ignoring the return value most likely leads to buggy code, so make sure it's
+ checked.
+
+M src/lib/unichar.h
+
+2018-04-25 15:22:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3916381693)
+
+ lib-storage: Don't ignore uni_utf8_get_valid_data() return value
+
+ It's not supposed to happen, so call i_unreached()
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+
+2018-04-25 15:20:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dd1efd7353)
+
+ lib-fts: Minor fix to randomness test in test-fts-tokenizer
+
+ If the random input was entirely valid UTF-8, the input was truncated to
+ empty.
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2018-04-25 15:17:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (013680e738)
+
+ fts: Fix indexing input that contains NULs
+
+ Any message_block that contained NULs, but otherwise was valid UTF-8, was
+ simply dropped.
+
+M src/plugins/fts/fts-parser.c
+
+2018-04-16 10:38:21 -0600 Michael Slusarz <michael.slusarz@dovecot.fi> (4bda91b764)
+
+ last-login: Remove superfluous semicolon
+
+
+M src/plugins/last-login/last-login-plugin.c
+
+2018-04-16 10:37:32 -0600 Michael Slusarz <michael.slusarz@dovecot.fi> (7d61c481e9)
+
+ last-login: Username is already output as part of log prefix
+
+
+M src/plugins/last-login/last-login-plugin.c
+
+2018-03-28 09:11:55 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ed6b01ce15)
+
+ lib-http: test-http-client - Only load existing CAs
+
+ Otherwise the SSL tests do not properly work.
+
+ Fixes Error: HTTP Request failed: Couldn't initialize SSL context: Can't
+ load CA certs from directory /etc/ssl/certs: error:02001002:system
+ library:fopen:No such file or directory: fopen('/etc/pki/tls/cert.pem','r'),
+ error:2006D080:BIO routines:BIO_new_file:no such file, error:0B084002:x509
+ certificate routines:X509_load_cert_crl_file:system lib
+
+M src/lib-http/test-http-client.c
+
+2018-03-27 10:31:53 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (78d6bd63bc)
+
+ lib-http: test-http-client - Test against missing SAN name
+
+ Add test to make sure http client validates and ignores missing
+ subjectAltName in cert, when not validating names.
+
+M src/lib-http/test-http-client.c
+
+2018-03-27 10:20:54 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c383e997be)
+
+ lib-ssl-iostream: Do not skip cert name check if invalid cert is allowed
+
+ Caller should be responsible for ignoring this error, not us. All the
+ locations calling here are dealing this correctly.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2018-03-27 10:29:49 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cea45a4507)
+
+ lib-ssl-iostream: Fix missing altName handling in openssl_cert_match_name
+
+ If name is not found in subjectAltNames, report it as error.
+
+ Fixes Panic: file iostream-openssl-common.c: line 177
+ (openssl_cert_match_name): assertion failed: (*reason_r != NULL)
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+
+2018-04-25 14:19:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (99d9e710d6)
+
+ lib-mail: Remove MESSAGE_HEADER_REPLACE_NULS_WITH_0x80 flag
+
+ As mentioned in previous commit, 0x80 isn't valid UTF-8 and we shouldn't
+ encourage using it. This implementation also can't be easily changed to use
+ unicode replacement character without larger changes to istream-nonuls.
+
+ Reverts 95fba2c295bb84639dc64ca5c9f2ccb9edc00ba7.
+
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-header-parser.h
+
+2018-04-25 14:17:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5581f6337b)
+
+ lib-mail: Change NUL -> 0x80 replacement to use unicode replacement char
+ instead
+
+ Using 0x80 produces invalid UTF-8 output, which we should avoid. Some places
+ in Dovecot code already requires that input is valid UTF-8, so it's also
+ safer and easier to use the unicode replacement character.
+
+ Fixes: Panic: file fts-tokenizer-generic.c: line 210
+ (fts_tokenizer_generic_simple_next): assertion failed: (char_size > 0)
+
+M src/lib-mail/message-part-data.c
+M src/lib-mail/rfc2231-parser.h
+M src/lib-mail/rfc822-parser.h
+M src/lib-mail/test-message-address.c
+M src/lib-mail/test-rfc2231-parser.c
+
+2018-04-25 14:11:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b6c683c63e)
+
+ lib-mail: Change rfc822_parser_context.nul_replacement_char to string
+
+
+M src/lib-mail/message-address.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/rfc822-parser.h
+M src/lib-mail/test-rfc822-parser.c
+
+2018-04-18 13:30:50 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (42ac347496)
+
+ lib: Call module's preinit function, when loading
+
+
+M src/lib/module-dir.c
+
+2018-03-09 15:17:29 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (9b4b8b61cb)
+
+ plugins/old-stats: Add old-stats preinit() which opens mail stats io.
+
+
+M src/plugins/old-stats/mail-stats-fill.c
+M src/plugins/old-stats/mail-stats.h
+M src/plugins/old-stats/stats-plugin.c
+M src/plugins/old-stats/stats-plugin.h
+
+2018-04-12 14:09:10 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (121902643b)
+
+ doveadm: Add rebuild attachments command
+
+ Goes thru given mails and resets the attachment indicator.
+
+M doc/man/Makefile.am
+A doc/man/doveadm-rebuild.1.in
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-mail-rebuild.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2018-04-12 14:07:54 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d8d9e56e05)
+
+ lib-storage: Parse mail parts in mail_set_attachment_keywords if not present
+
+
+M src/lib-storage/mail.c
+
+2018-04-19 10:19:15 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e90478b9f7)
+
+ lib-storage: Add error reporting to mail_set_attachment_keywords
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail.c
+
+2018-04-25 11:04:08 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (85500a3914)
+
+ doveadm: mailbox cache decisions - Fatally fail if fields are missing
+
+
+M src/doveadm/doveadm-mail-mailbox-cache.c
+
+2018-04-24 17:22:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2eef03d2b0)
+
+ doveadm stats dump: Add stddev field
+
+ Include it in default output as well.
+
+M src/doveadm/Makefile.am
+M src/doveadm/doveadm-stats.c
+
+2018-04-24 16:29:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (766ba10151)
+
+ doveadm stats dump: Add -f <fields> parameter
+
+ This allows specifying which fields are wanted to be dumped.
+
+M src/doveadm/doveadm-stats.c
+
+2018-04-24 17:32:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (13f3f8e4db)
+
+ stats: Support dumping any given percentile
+
+
+M src/stats/client-reader.c
+
+2018-04-24 09:52:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7bef878b14)
+
+ stats: Support dumping variance
+
+
+M src/stats/client-reader.c
+
+2018-04-24 18:01:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9e24b13631)
+
+ lib-mail: message_part_*_parse_from_header() - Replace NULs with 0x80
+
+ This avoids truncation of Content-*, Subject, Message-ID, In-Reply-To and
+ Date headers in IMAP ENVELOPE, BODY and BODYSTRUCTURE replies. Of course,
+ NULs in headers are violating RFCs already, so the previous behavior wasn't
+ really wrong either.
+
+M src/lib-mail/message-part-data.c
+
+2018-04-24 18:50:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8077d714e1)
+
+ dsync: If lock file can't be created because home is missing, mkdir the home
+
+
+M src/doveadm/dsync/dsync-brain.c
+
+2018-04-24 18:47:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (59cd19919b)
+
+ lib-storage: Add mail_user_home_mkdir()
+
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2018-04-13 13:28:47 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1b5ced2e4a)
+
+ doveadm: Add mailbox cache manipulation commands
+
+ This allows changing cache decisions and dropping cache pointer for wanted
+ mails.
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-mail-mailbox-cache.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2018-04-14 14:31:44 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fa174bb950)
+
+ doveadm-mail: Handle field conversion to short opt better
+
+ Convert non-string types as well
+
+M src/doveadm/doveadm-mail.c
+
+2018-04-23 15:05:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (affded869c)
+
+ doveadm save: Fix using <file without panic
+
+ When getting input with <file with Linux/epoll, it crashed with:
+
+ Panic: epoll_ctl(add, 0) failed: Operation not permitted (fd doesn't support
+ epoll - instead of '<file', try 'cat file|')
+
+M src/doveadm/doveadm-mail.c
+
+2018-03-25 19:54:48 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (99e7753e0b)
+
+ lib: Add test for rng
+
+
+M src/lib/Makefile.am
+M src/lib/test-lib.inc
+A src/lib/test-random.c
+
+2018-03-25 21:04:49 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (21ad1a5871)
+
+ lib: stats-dist - Add accessor for samples
+
+
+M src/lib/stats-dist.c
+M src/lib/stats-dist.h
+
+2018-03-25 19:59:15 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cf17062a36)
+
+ lib: stats-dist - Add variance
+
+
+M src/lib/stats-dist.c
+M src/lib/stats-dist.h
+
+2018-03-25 19:49:13 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c9a39a92c8)
+
+ lib: rand - Fix potential modulo bias
+
+
+M src/lib/rand.c
+
+2018-04-22 13:11:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f26d7874ab)
+
+ imap-hibernate: Log error when connect(imap-master) fails
+
+ It was previously logged only with info-level.
+
+M src/imap-hibernate/imap-client.c
+
+2018-04-23 13:39:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (955384f916)
+
+ lib-storage: Don't add trailing NUL to strings in dovecot.index.cache
+
+ They are unnecessary and just unnecessarily consume disk space. The existing
+ reading code works even if they don't exist, so this change won't break
+ backwards compatibility.
+
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+
+2018-04-21 16:21:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d8449ed1b2)
+
+ lib: Mark str_append_n() deprecated
+
+ It was almost always used wrongly. Most of the time str_append_data() should
+ have been used instead. str_append_max() has the old functionality.
+
+M src/lib/str.h
+
+2018-04-21 16:19:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dd477f8722)
+
+ lib: Add ATTR_DEPRECATED macro
+
+
+M src/lib/compat.h
+M src/lib/macros.h
+
+2018-04-21 16:17:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b50b90941f)
+
+ global: Replace str_append_n() with str_append_max()
+
+
+M src/config/doveconf.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/lib/failures.c
+M src/lib/var-expand.c
+
+2018-04-21 16:07:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c68782f4b1)
+
+ lib-fts: fts-tokenizer-address - Cleanup NUL handling in parent_data
+
+ The end result is anyway that the token will be truncated at the first NUL.
+ This change just makes the code a bit more understandable on where the
+ truncation will happen.
+
+M src/lib-fts/fts-tokenizer-address.c
+
+2018-04-21 15:44:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b8b0e5660b)
+
+ lib: str_append_[tab]unescaped(): Don't truncate input at NULs
+
+ For str_append_tabunescaped() the input is supposed to have NULs already
+ escaped though, so it was truncating only with invalid input.
+
+M src/lib/strescape.c
+
+2018-04-21 15:24:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (07cbb7b116)
+
+ global: Replace str_append_n() with str_append_data() wherever possible
+
+ It shouldn't be possible for input to have NULs in any of these places. This
+ makes the extra NUL-check in str_append_n() unnecessary.
+
+M src/auth/auth-cache.c
+M src/auth/db-dict-cache-key.c
+M src/auth/db-ldap.c
+M src/auth/password-scheme-md5crypt.c
+M src/config/config-parser.c
+M src/config/doveconf.c
+M src/lib-dict-backend/dict-ldap.c
+M src/lib-dict/dict.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis.c
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-http/http-auth.c
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-parser.c
+M src/lib-http/http-url.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-utf7.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-snippet.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-mail/test-istream-qp-encoder.c
+M src/lib-mail/test-message-header-parser.c
+M src/lib-mail/test-message-parser.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/smtp-parser.c
+M src/lib-smtp/smtp-reply-parser.c
+M src/lib-smtp/smtp-server-reply.c
+M src/lib-smtp/smtp-syntax.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-tree.c
+M src/lib/failures.c
+M src/lib/file-dotlock.c
+M src/lib/istream.c
+M src/lib/str-sanitize.c
+M src/lib/strescape.c
+M src/lib/test-path-util.c
+M src/lib/uri-util.c
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2018-04-21 16:11:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (495c324e4d)
+
+ lib: Add str_append_max()
+
+ It's otherwise the same as str_append_n(), except it takes const char* as
+ input instead of const void*. This, as well as its name, should make it less
+ likely to be used wrong when the input may legitimately have NULs.
+
+ The unit test is changed from str_append_n() to str_append_max(), because
+ str_append_n() will be deprecated.
+
+M src/lib/str.c
+M src/lib/str.h
+M src/lib/test-str.c
+
+2018-04-21 16:10:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ab32237ffd)
+
+ lib: Improve str_append_n() comment
+
+
+M src/lib/str.h
+
+2018-04-11 14:41:45 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (95fba2c295)
+
+ lib-mail: Add MESSAGE_HEADER_REPLACE_NULS_WITH_0x80 flag
+
+ The flag signals that input stream for message_parse_header() should replace
+ 0x0 symbols with 0x80.
+
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-header-parser.h
+
+2018-04-21 16:47:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (621cd6da69)
+
+ lib-mail: rfc2231_parse() - Replace NULs with 0x80
+
+ Instead of truncating the strings at NULs.
+
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc2231-parser.h
+M src/lib-mail/test-rfc2231-parser.c
+
+2018-04-21 16:34:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (39323a4666)
+
+ lib-mail: message_address_parse*() - Replace NULs with 0x80
+
+ Instead of truncating the strings at NULs.
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2018-04-21 16:27:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8d2ad317fc)
+
+ lib-mail: rfc822-parser: Add nul_replacement_char
+
+
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/rfc822-parser.h
+M src/lib-mail/test-rfc822-parser.c
+
+2018-04-21 13:46:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8bdf274e70)
+
+ lib-mail: rfc822-parser: Strip away folding whitespace from comments
+
+
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-rfc822-parser.c
+
+2018-04-21 13:28:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (39f9e4d3db)
+
+ lib-mail: rfc822-parser: Improve domain-literal parsing
+
+ Strip away folding whitespace. Treat any extra '[' as an error.
+
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-rfc822-parser.c
+
+2018-04-21 13:05:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ee12030394)
+
+ lib-mail: rfc822-parser: Don't allow preserving escaped [CR]LF
+
+ It's not valid to have "\<CR>" or "\<LF>", so the old behavior isn't really
+ wrong either. However, rfc822_parse_quoted_string() callers are more likely
+ to expect that the output won't contain any [CR]LF so this new behavior is a
+ bit better.
+
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-rfc822-parser.c
+
+2018-04-21 12:47:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b60044d481)
+
+ lib-mail: Change rfc822_parse_content_param() API to allow NULs in value
+
+ This was the only function in rfc822-parser.h that wasn't NUL-safe. This
+ won't fix anything, but it makes the rfc822-parser.h API fully consistent
+ with the NUL handling.
+
+ Normally rfc2231_parse() should be called instead of calling
+ rfc822_parse_content_param() directly, so this shouldn't break any plugins.
+
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/rfc822-parser.h
+M src/lib-mail/test-rfc822-parser.c
+
+2018-04-21 16:05:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fc92bc3d11)
+
+ fts-squat: Fix truncating headers at NULs while indexing
+
+
+M src/plugins/fts-squat/fts-backend-squat.c
+
+2018-04-21 16:03:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (46aa1c4ce1)
+
+ login-common: Consistently truncate client SASL input at first NUL
+
+ The input is supposed to be base64-encoded, so there's no need to support
+ actual NUL characters. The previous code truncated at NULs, but could have
+ kept appending more data to the value. This could have produced somewhat
+ random results.
+
+M src/login-common/client-common-auth.c
+
+2018-04-21 15:58:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0f9bbf2201)
+
+ lib-master, util: Consistently truncate tabescaped input at the first NUL
+
+ The NULs are supposed to come tab-escaped, so there's no need to support
+ actual NUL characters. The previous code truncated at NULs, but could have
+ kept appending more data to the value. This could have produced somewhat
+ random results.
+
+M src/lib-master/master-login.c
+M src/util/script-login.c
+
+2018-04-21 15:53:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3821df49f6)
+
+ config: Consistently truncate value at the first NUL in value input file
+
+ When value contained "<file", the file was added as a value. The setting
+ values don't currently support NULs, so the value gets truncated at the
+ first NUL. However, the previous code could have appended more data to the
+ value. This could have produced somewhat confusing results.
+
+M src/config/config-parser.c
+
+2018-04-21 15:50:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (302708ee9a)
+
+ dict-fs/memcached-ascii/redis: Consistently truncate value at NULs
+
+ The dict API currently doesn't support NULs in values, so they have to be
+ truncated. However, previously they were truncated at NULs, but more data
+ may have still been appended to the value. This could have produced somewhat
+ random results.
+
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-redis.c
+
+2018-04-21 15:47:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a60deaa8cc)
+
+ auth: checkpassword - Fail if input from script contains NULs
+
+ Previously the input was just silently truncated at NULs.
+
+M src/auth/db-checkpassword.c
+
+2018-04-21 15:42:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1bb4e53ea6)
+
+ doveadm: Fix table printer to not truncate output at NULs
+
+
+M src/doveadm/doveadm-print-table.c
+
+2018-04-21 15:41:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6f456ea32a)
+
+ doveadm dump: Don't truncate dovecot.index.cache values at NULs
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2018-04-21 14:56:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (980dc2b45e)
+
+ lib-mail: rfc822-parser: Don't truncate comment/quoted-string/domain-literal
+ at NUL
+
+ The other tokens couldn't have contained NULs in the first place.
+
+M src/lib-mail/rfc822-parser.c
+
+2018-04-21 14:53:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9abd4cb55a)
+
+ lib-mail: message_snippet_generate() - Ignore NULs without shrinking snippet
+ size
+
+ Previously the NULs also weren't in the snippet content, but they were
+ included in the snippet size.
+
+M src/lib-mail/message-snippet.c
+M src/lib-mail/test-message-snippet.c
+
+2018-04-21 14:31:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d0dc63004b)
+
+ lib-storage: Fix truncating header values at NUL when adding to cache
+
+ For example FETCH BODY.PEEK[HEADER.FIELDS (Subject)] could have returned the
+ NUL on the first fetch when the mail wasn't in dovecot.index.cache, but the
+ second FETCH would have returned it truncated at the NUL.
+
+M src/lib-storage/index/index-mail-headers.c
+
+2018-04-12 16:13:08 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (5c62b6eebe)
+
+ lib-mail: message-address: Make the parser allow paths that omit `<' and
+ `>'.
+
+ This is a syntax violation, but we allow it to account for a rather wide
+ selection of software that does not follow the standards.
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2018-04-12 21:27:32 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (8580f2e7a5)
+
+ lib-mail: message-address: Make parser properly reject paths with spurious
+ trailing characters.
+
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2018-04-12 22:16:54 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f2b3bfec9f)
+
+ lib-mail: message-address: Make sure incomplete paths are rejected by
+ parser.
+
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2018-04-12 21:59:40 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4b734da489)
+
+ lib-mail: message-address: Require paths with an invalid source route to
+ have at least a proper `:'.
+
+ Otherwise, the parser would allow a bare domain.
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2018-04-12 20:29:36 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3aa6ec1707)
+
+ lib-mail: message-address: Properly deinit RFC822 parser in
+ message_address_parse_path().
+
+
+M src/lib-mail/message-address.c
+
+2018-04-12 20:54:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (31c0370175)
+
+ lib-mail: test-message-address: Add test for parsing empty path.
+
+
+M src/lib-mail/test-message-address.c
+
+2018-04-12 23:01:03 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (dbc81a495b)
+
+ lib-mail: test-message-address: Use i_memdup() rather than explicit
+ malloc(), memcpy().
+
+
+M src/lib-mail/test-message-address.c
+
+2018-04-12 22:58:16 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d3928f47e4)
+
+ lib: Added i_memdup().
+
+
+M src/lib/imem.c
+M src/lib/imem.h
+
+2018-04-17 12:20:26 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fa1e9061c6)
+
+ lib-ssl-iostream: Fix boolean misuse in SSL_CTX_set_ecdh_auto usage
+
+ f8aaa6e63a56085f61f128838ad7a3aa080d9d5b introduced warnings on gcc
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2018-04-17 15:58:58 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9d0640616c)
+
+ lib-ssl-iostream: Do not handshake further if we are destroying
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+
+2018-04-14 02:05:51 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a2de39bad6)
+
+ lib: Implement str_sanitize_utf8().
+
+ Unlike str_sanitize(), this function truncates strings based on a UTF8 code
+ point limit rather than a maximum size in bytes. Also, the Unicode
+ replacement character is used to mark invalid/control characters and an
+ ellipsis character is used to indicate the string truncation. For the normal
+ str_sanitize() this is done using a question mark and triple dots
+ respectively.
+
+M src/lib/str-sanitize.c
+M src/lib/str-sanitize.h
+M src/lib/test-str-sanitize.c
+
+2018-04-17 21:31:38 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0ec60a15b1)
+
+ lib: unichar: Add Horizontal Ellipsis character.
+
+
+M src/lib/unichar.h
+
+2018-04-17 15:46:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (381d900a2d)
+
+ imapc: Fix expunges+appends in same session with
+ imapc_features=no-msn-updates
+
+ Since the EXPUNGEs were ignored, the sequence numbers weren't updated. When
+ a new mail arrived, the sequence number sent by the remote IMAP server
+ pointed to existing mails in imapc's mapping. Fix this by changing the
+ sequence number if the returned UID is >= next_uid.
+
+ Fixes "FETCH UID mismatch" errors.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2018-04-16 16:29:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5d02c01074)
+
+ lib-ssl-iostream: Make ssl_iostream_unref() private
+
+
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2018-04-16 16:28:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (27d2155b2d)
+
+ global: Replace ssl_iostream_unref() with ssl_iostream_destroy()
+
+ Destroying performs cleanups correctly.
+
+M src/doveadm/server-connection.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-server-connection.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2018-04-16 14:01:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6fbf1c3b8d)
+
+ lib-master: Add log_core_filter setting to core dump on matching filter
+
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+
+2018-04-16 14:00:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c4dbd77eb6)
+
+ lib: Add global core filter, which allows core dumping on matching events
+
+
+M src/lib/event-log.c
+M src/lib/event-log.h
+
+2018-04-16 13:48:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6e8d031716)
+
+ lib: Add log types as event categories
+
+ This allows using debug, info, warning, error, fatal and panic as
+ categories.
+
+M src/lib-master/stats-client.c
+M src/lib/event-filter.c
+M src/lib/event-filter.h
+M src/lib/event-log.c
+M src/stats/client-writer.c
+M src/stats/stats-metrics.c
+M src/stats/stats-metrics.h
+
+2018-04-16 13:39:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (813364a061)
+
+ lib-master, stats: Send event's log_type to stats process
+
+ This makes the internal stats protocol incompatible with the previous
+ version, so major protocol version is increased.
+
+M src/lib-master/stats-client.c
+M src/stats/client-writer.c
+
+2018-04-16 13:32:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1abb05348f)
+
+ lib-master: If log_debug is empty, don't set global debug log filter at all
+
+ global_debug_log_filter==NULL check is a bit faster.
+
+M src/lib-master/master-service-settings.c
+
+2018-04-16 13:32:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (383826abc1)
+
+ lib-master: Cleanup - Add new helper function for parsing log filter
+ settings
+
+
+M src/lib-master/master-service-settings.c
+
+2018-04-16 13:31:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f3dbbab674)
+
+ lib-master: Rename master_service_log_debug_parse() to
+ master_service_log_filter_parse()
+
+ This function will be used for parsing other settings besides just
+ log_debug.
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service.c
+
+2018-04-13 16:14:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (33ec49d825)
+
+ lib-master: If connect() to backend UNIX socket is retried, log a warning
+
+ For example if imap-login process needs to retry before it successfully
+ connects to imap process's socket, a warning is logged. This warning is
+ important because it means that the imap-login process may have been
+ sleeping up to 0.5 seconds and causing all the other connections to hang
+ during it.
+
+ It would be better to make this retrying asynchronous, but before spending
+ time on doing that, lets see if this warning is ever even being logged.
+
+M src/lib-master/master-auth.c
+
+2018-04-13 16:12:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (798d51eeaa)
+
+ lib-master: Add how long request took for "Internal auth failure" errors
+
+
+M src/lib-master/master-login-auth.c
+
+2018-04-16 15:27:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2cd16e24fb)
+
+ lib-storage: Add cydir/mdbox/sdbox/imapc/maildir/mbox/pop3c event categories
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2018-04-16 15:27:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (100065a3dd)
+
+ lib-storage: Add mail_storage.event_category
+
+ If set, this category is added to mail_storage.event.
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2018-04-16 15:22:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b8aa6b07f6)
+
+ lib-storage: Add mail_storage.event and use it wherever possible
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/test-mail-storage.c
+
+2018-04-12 13:19:02 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f8aaa6e63a)
+
+ lib-ssl-iostream: Fix boolean misuse in SSL_CTX_set_ecdh_auto usage
+
+ Fixes compiler nit on clang
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2018-03-20 12:21:33 +0200 Kadlecsik József <kadlecsik.jozsef@wigner.mta.hu> (28ab11a38a)
+
+ lib-ssl-iostream: Fix openssl compatibility issue introduced in OpenSSL
+ 1.0.2f
+
+ Fixes dovecot: imap-login: Debug: SSL error: SSL_read() failed:
+ error:140E0197:SSL routines:SSL_shutdown:shutdown while in init
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2018-04-13 13:33:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (76cb31b0d1)
+
+ po3pc: Handle unexpected server disconnections without assert-crash
+
+ Fixes: Panic: file pop3c-client.c: line 308 (pop3c_client_wait_one):
+ assertion failed: (client->fd != -1 || client->state ==
+ POP3C_CLIENT_STATE_CONNECTING)
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2018-04-12 16:07:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (83f776721e)
+
+ doveconf: Fix infinite loop when hiding sensitive information
+
+ For example with "nopassword=y". Broken in
+ fc02343fd81a6fab272ac0366b15fc60ec44a8b6
+
+M src/config/doveconf.c
+
+2018-04-12 14:27:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (483940da2d)
+
+ lib-smtp: Fix empty address parsing
+
+ sret wasn't initialized, which could have randomly caused "Path only
+ consists of source route" error with empty addresses. Broken by
+ 81c8955e3d1475c6ab1892b1d3edf91126683fda
+
+M src/lib-smtp/smtp-address.c
+
+2018-04-08 15:53:37 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b639f53300)
+
+ submission: Add workarounds for well-known MAIL and RCPT command syntax
+ deviations.
+
+ This adds a new `submission_client_workarounds' setting that works analogous
+ to the `imap_client_workarounds' setting.
+
+ Workarounds:
+
+ - whitespace-before-path: Allow one or more spaces or tabs between `MAIL
+ FROM:'
+ and path and between `RCPT TO:' and path.
+ - mailbox-for-path: Allow using bare Mailbox syntax (i.e., without
+ <...>)
+ instead of full path syntax.
+
+M doc/example-config/conf.d/20-submission.conf
+M src/submission/submission-client.c
+M src/submission/submission-settings.c
+M src/submission/submission-settings.h
+
+2018-04-08 15:03:00 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (698d821ac8)
+
+ lib-smtp: test-smtp-server-errors: Add tests for RCPT command workarounds.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2018-04-08 14:59:17 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cd019aedf2)
+
+ lib-smtp: test-smtp-server-errors: Add tests for MAIL command workarounds.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2018-04-08 14:40:12 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1f1deb95b7)
+
+ lib-smtp: test-smtp-server-errors: Add tests for bad RCPT command syntax.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2018-04-08 14:07:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (531fddd53f)
+
+ lib-smtp: test-smtp-server-errors: Add tests for bad MAIL command syntax.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2018-04-08 15:31:37 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (be82b9f8fe)
+
+ lib-smtp: test-smtp-server-errors: Implicitly stop server when all expected
+ client connections are closed.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2018-04-08 15:28:59 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (fe0d54c255)
+
+ lib-smtp: test-smtp-server-errors: Add more debug messages for the server.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2018-04-08 15:20:22 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (dcde0acb1a)
+
+ lib-smtp: test-smtp-server-errors: Make detection of early termination of
+ child processes part of each test.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2018-04-08 15:24:02 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0185e80ba6)
+
+ lib-smtp: test-smtp-server-errors: Add log prefixes for client and server.
+
+ Makes it easier to distinguish which process is sending a log message while
+ debugging.
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2018-04-08 15:16:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a690a5a435)
+
+ lib-smtp: test-smtp-server-errors: Add support for client-side connection
+ context data.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2018-04-10 03:12:41 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e52c7366cf)
+
+ lib-smtp: test-smtp-server-errors: Use o_stream_nsend*() rather than
+ o_stream_send*().
+
+ The result is not checked anyway.
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2018-04-08 12:25:49 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (6b16d3e04e)
+
+ lib-smtp: server: Add workarounds for well-known MAIL and RCPT command
+ syntax deviations.
+
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server.c
+M src/lib-smtp/smtp-server.h
+
+2018-04-08 12:13:16 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (81c8955e3d)
+
+ lib-smtp: address parser: Do not allow source route for path with omitted
+ brackets.
+
+ Parse it strictly as a Mailbox, which makes more sense.
+
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/test-smtp-address.c
+
+2018-03-06 23:11:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bb249b86d5)
+
+ lib-storage: mail-storage-settings: Pre-parse postmaster_address as an SMTP
+ address.
+
+ The pre-parsed address is not currently used anywhere, but this does check
+ that the postmaster address can successfully be converted to an SMTP
+ address, which is important for Pigeonhole.
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2018-03-06 21:43:22 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6719b6c3ba)
+
+ lib-smtp: address: Add source syntax check for conversion from RFC5322
+ addresses.
+
+ The message-address parser (for RFC 5322) allows UTF-8 characters in the
+ localpart, which is not acceptable for SMTP addresses. This change adds a
+ check that determines whether the source RFC5222 address can be converted
+ into a SMTP address.
+
+M src/lib-lda/mail-deliver.c
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/smtp-address.h
+M src/lib-smtp/smtp-params.c
+
+2018-04-11 15:27:42 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (78345c62b8)
+
+ lib-master: Add own boolean for SSL module loading
+
+ want_ssl_settings isn't reliable enough.
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+
+2018-04-10 16:00:38 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (38f49a3474)
+
+ lib-master: Do not attempt to load SSL module if no SSL support is compiled
+ in
+
+ Fixes imap-login: Error: imap-login(init): Fatal: Cannot load SSL module:
+ SSL support not compiled in
+
+ Broken in 754896551f0422cda5d78500b26700eec5343c5b
+
+ Found by bjornar
+
+M src/lib-master/master-service.c
+
+2018-04-11 15:11:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a5d55cae6a)
+
+ lib-program-client: Wait longer in test-program-client-local
+
+ Sometiems it can take longer than 1 second to execute, if the test
+ environment is loaded.
+
+M src/lib-program-client/test-program-client-local.c
+
+2018-04-11 14:19:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4815eb29ba)
+
+ imapc: If SELECT INBOX fails with NO, treat it as temporary failure
+
+ If it's treated as "mailbox doesn't exist", the INBOX autocreation code will
+ attempt to CREATE INBOX. This is very unlikely to work.
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2018-04-09 16:41:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7a1c3ec371)
+
+ imapc: Fix crash when handling empty mailboxes.
+
+ Broken by c05b4ac76c4c6012958f1cc37e2fccf7a7d31c33
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2018-04-10 02:41:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1c87a0e958)
+
+ lib-mail: message-address: Fix address parser to properly reject angle-addr
+ without `>'.
+
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2018-04-10 02:36:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (fbed9168dc)
+
+ lib-mail: message-address: Fix assert panic occurring in
+ message_address_parse_path() when no opening `<' is found.
+
+ Panic was:
+
+ Panic: file message-address.c: line 147 (parse_angle_addr): assertion
+ failed: (*ctx->parser.data == '<')
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2018-03-29 14:24:11 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (c4739c54ea)
+
+ fs-posix: Fix iterating nonexistent symlinks when readdir() returns
+ DT_UNKNOWN
+
+ This especially broke "doveadm fs delete -R" when the symlink destination
+ was deleted before the symlink.
+
+M src/lib-fs/fs-posix.c
+
+2018-03-26 00:01:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (443f670008)
+
+ imapc: Ignore fetch-msn-workarounds/no-msn-updates during initial FETCH
+
+ Otherwise duplicate UIDs aren't detected and it causes an assert-crash:
+
+ Panic: file imapc-mailbox.c: line 533 (imapc_untagged_fetch): assertion
+ failed: (lseq == mbox->sync_next_lseq)
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2018-04-08 11:28:19 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (6553f20bb3)
+
+ lda: Allow empty envelope sender.
+
+ Fix by Martin Waschbüsch.
+
+M src/lda/main.c
+
+2018-04-08 11:19:18 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (fa4abf206a)
+
+ lda: Reformatted main.c.
+
+
+M src/lda/main.c
+
+2018-04-06 17:57:30 +0200 Fabian Freyer <fabian.freyer@physik.tu-berlin.de> (bf277f9410)
+
+ lib-storage: reintroduce mail_index_set_fsync_mode
+
+ This patch fixes a regression introduced in
+ 638600575ee95f2513c683ef09cb188f76eacd22 where mail_fsync=always would not
+ be honoured, leading to fatal "nfs flush requires mail_fsync=always" errors.
+
+M src/lib-storage/index/index-storage.c
+
+2018-04-06 15:48:02 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (26b297dfc7)
+
+ lib-mail: Fix include guards for istream-nonuls.h
+
+
+M src/lib-mail/istream-nonuls.h
+
+2018-03-26 10:58:15 +0200 manuel <manuel@mausz.at> (a6d18519be)
+
+ dict-fs: iterate: make sure the key is returned as full path
+
+ Fixes the following assert on iterating:
+ > Panic: file userdb-dict.c: line 123 (userdb_dict_get_user):
+ > assertion failed: (strncmp(key, ctx->key_prefix, ctx->key_prefix_len) ==
+ 0)
+
+ Configuration:
+ > uri = fs:posix:prefix=/tmp/dict
+ > iterate_prefix = userdb/
+ > key userdb {
+ > key = userdb/%u
+ > format = json
+ > }
+
+M src/lib-dict-extra/dict-fs.c
+
+2018-03-26 00:52:06 -0400 Bill Cole <github-20160324@billmail.scconsult.com> (f2e3e00d97)
+
+ Fix arc4random build checks
+
+ The configure script checks for arc4random() but the actual code uses
+ arc4random_buf(). This breaks for FreeBSD <8.0 and MacOS X <10.7, which have
+ the former but not the latter. This change (and an autoreconf run) solves
+ the problem at the cost of not using the available ARC4 implementation.
+
+M m4/arc4random.m4
+
+2018-03-25 23:15:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c05b4ac76c)
+
+ imapc: Fix local state if mailbox is empty after reconnection
+
+ If local indexes had more than 0 mails, but after reconnection the remote
+ IMAP server replied with "* 0 EXISTS", the mails in local index weren't
+ expunged. This could have resulted in:
+
+ Panic: file imapc-sync.c: line 328 (imapc_initial_sync_check): assertion
+ failed: (mail_index_is_expunged(view, lseq) ||
+ seq_range_exists(&ctx->mbox->delayed_expunged_uids, luid))
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2018-03-26 11:27:45 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (5522b8b3d3)
+
+ lib: Simplify murmurhash3 LP64 vs. IPL32 test vectors
+
+
+M src/lib/test-murmurhash3.c
+
+2018-03-26 10:34:25 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (35497604d8)
+
+ lib: murmurhash3 produces bytes (not uint32_t's)
+
+
+M src/lib/murmurhash3.c
+M src/lib/test-murmurhash3.c
+
+2018-03-27 16:12:46 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (58ae09c4b2)
+
+ login-common: Indicate TLS secured transport on proxied TLS too
+
+
+M src/login-common/sasl-server.c
+
+2018-03-12 09:11:53 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fc02343fd8)
+
+ config: Hide more sensitive information
+
+ Hide parts of values where we can see a key that has word key, secret or
+ pass as prefix and is a key-value pair separated by =.
+
+M src/config/doveconf.c
+
+2018-03-12 09:11:14 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1518e085d8)
+
+ config: Move sensitive value hiding to own function
+
+ Simplifies next change
+
+M src/config/doveconf.c
+
+2018-03-10 18:20:32 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9b40bf3a6a)
+
+ lib: Add str_nescape
+
+ For partial escaping
+
+M src/lib/strescape.c
+M src/lib/strescape.h
+M src/lib/test-strescape.c
+
+2018-03-10 17:56:33 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (aa02a6e616)
+
+ lib: Add i_strstr_arr for searching string for multiple needles
+
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+
+2018-03-09 17:09:28 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8c031232b2)
+
+ man: doveconf - Document -P flag
+
+
+M doc/man/doveconf.1.in
+
+2018-03-21 11:29:26 +0200 Arkadiusz Miśkiewicz <arekm@maven.pl> (061acb56a1)
+
+ lib-master: Fix dns_wildcard_match usage
+
+ Broken by 446c0b02a7802b676e893ccc4934fc7318d950ea
+
+M src/lib-master/master-service-settings-cache.c
+
+2018-03-20 10:59:34 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (64eb3f1d98)
+
+ NEWS: Add v2.3.1
+
+
+M NEWS
+
+2018-03-19 11:34:49 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6a2d8d10f5)
+
+ NEWS: Update to 2.3.0.1
+
+
+M NEWS
+
+2018-02-17 21:51:00 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bd3df76a59)
+
+ lib-dcrypt: Reformatted test-stream.c.
+
+
+M src/lib-dcrypt/test-stream.c
+
+2018-02-17 21:43:06 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (03ec33fb01)
+
+ lib-dcrypt: Reformatted test-crypto.c.
+
+
+M src/lib-dcrypt/test-crypto.c
+
+2018-02-17 21:10:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0b2f84593f)
+
+ lib-dcrypt: Reformatted ostream-encrypt.h.
+
+
+M src/lib-dcrypt/ostream-encrypt.h
+
+2018-02-17 21:09:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1f712a1f0d)
+
+ lib-dcryp: Reformatted ostream-encrypt.c.
+
+
+M src/lib-dcrypt/ostream-encrypt.c
+
+2018-02-17 20:49:14 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (51c3910e5f)
+
+ lib-dcrypt: Reformatted istream-decrypt.h.
+
+
+M src/lib-dcrypt/istream-decrypt.h
+
+2018-02-17 20:47:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f2d3caf3e1)
+
+ lib-dcrypt: Reformatted istream-decrypt.c.
+
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2018-02-17 20:24:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f50597f6bd)
+
+ lib-dcrypt: Reformatted dcrypt-private.h.
+
+
+M src/lib-dcrypt/dcrypt-private.h
+
+2018-02-17 20:15:24 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a03d476c22)
+
+ lib-dcrypt: Reformatted dcrypt-openssl.c.
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2018-02-17 19:19:22 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a942cc03ad)
+
+ lib-dcrypt: Reformatted dcrypt-iostream.h.
+
+
+M src/lib-dcrypt/dcrypt-iostream.h
+
+2018-02-17 19:18:28 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1b517bc928)
+
+ lib-dcrypt: Reformatted dcrypt-gnutls.c.
+
+
+M src/lib-dcrypt/dcrypt-gnutls.c
+
+2018-02-17 19:01:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e91c9116ad)
+
+ lib-dcrypt: Reformatted dcrypt.h.
+
+
+M src/lib-dcrypt/dcrypt.h
+
+2018-02-17 18:53:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1d1c5f6ae7)
+
+ lib-drypt: Reformatted dcrypt.c.
+
+
+M src/lib-dcrypt/dcrypt.c
+
+2018-02-26 23:12:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (557d4e6b20)
+
+ lib-program-client: Add more detailed debug logging.
+
+
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+
+2018-02-26 22:27:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (23cfbf2451)
+
+ lib-program-client: Use event logging.
+
+ This also makes the overall log messages better match similar messages
+ produced by other parts of Dovecot.
+
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+M src/lib-program-client/program-client.h
+
+2018-03-16 00:08:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b89cf6b959)
+
+ lib-program-client: Use i_close_fd() rather than close() when error is not
+ supposed to happen.
+
+
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+
+2018-02-26 23:26:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1f5a761af2)
+
+ lib-program-client: Make debug mode for test suite optional.
+
+ It is now disabled by default.
+
+M src/lib-program-client/test-program-client-local.c
+M src/lib-program-client/test-program-client-net.c
+M src/lib-program-client/test-program-client-unix.c
+
+2018-02-26 18:58:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (88c23d1ab7)
+
+ lib-program-client: local: Cleanup any kill timeout while program client is
+ destroyed.
+
+
+M src/lib-program-client/program-client-local.c
+
+2018-02-26 18:32:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (745177592c)
+
+ lib-program-client: local: Make sure the child is dead once the program
+ client is destroyed.
+
+
+M src/lib-program-client/program-client-local.c
+
+2018-02-26 18:01:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a2e3a3515d)
+
+ lib-program-client: Simplify disconnect handling.
+
+ Perform all of the cleanups in a separate shared function. Always close all
+ fds, since there is nothing left to be read or written at disconnect.
+
+M src/lib-program-client/program-client.c
+
+2018-02-26 18:21:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (95885b1eb6)
+
+ lib-program-client: remote: Don't try to read remaining input at disconnect.
+
+ This code is no longer relevant. At disconnect, there is nothing left to be
+ read by definition.
+
+M src/lib-program-client/program-client-remote.c
+
+2018-02-26 00:07:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (33065ed599)
+
+ lib-program-client: Use iostream-pump for streaming data from program.
+
+
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client.c
+
+2018-02-26 17:16:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fc83bcaa8b)
+
+ lib-program-client: Destroy timeout once client is passively disconnected.
+
+
+M src/lib-program-client/program-client.c
+
+2018-02-26 17:15:13 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b51abde99b)
+
+ lib-program-client: remote: Initialize program_client_istream with parent
+ FD.
+
+ This way, io_add_istream() works as expected.
+
+M src/lib-program-client/program-client-remote.c
+
+2018-02-26 17:12:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2de592609e)
+
+ lib-program-client: local: Stop immediately when child program without I/O
+ ends.
+
+ Particularly, don't perform this by calling the input handler.
+
+M src/lib-program-client/program-client-local.c
+
+2018-02-26 16:52:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f5ceca9f6c)
+
+ lib-program-client: Change return type of program_client_connected() to
+ void.
+
+ Returning an int status code is no longer useful.
+
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+
+2018-02-25 17:21:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (82fc7bdfc5)
+
+ lib-program-client: Use iostream-pump for streaming data towards program.
+
+
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client.c
+
+2018-02-25 11:43:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6acc2464b0)
+
+ lib-program-client: Initialize dot streams right after the connection is
+ established.
+
+ This avoids creating the dot streams in the input/output handlers, which
+ makes the code cleaner and easier to port to using iostream-pump.
+
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+
+2018-02-25 09:55:00 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8760bc0692)
+
+ lib-program-client: Use iostream-temp rather than istream-seekable for
+ seekable output.
+
+ This considerably simplifies the code.
+
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+
+2018-02-25 17:31:51 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (19711ad047)
+
+ lib-program-client: test-program-client-net: Read the client input stream to
+ EOF after the dot stream is closed.
+
+ The low-level file stream is not necessarily read to EOF when the body dot
+ stream sees EOF.
+
+M src/lib-program-client/test-program-client-net.c
+
+2018-02-25 18:38:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (81f430edc6)
+
+ lib-program-client: test-program-client-unix: Properly recognize the noreply
+ script protocol option.
+
+ Somehow the equivalent test-program-client-net code does not have this
+ problem. And somehow this test did not fail before.
+
+M src/lib-program-client/test-program-client-unix.c
+
+2018-02-25 18:31:14 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2d9b387f2d)
+
+ lib-program-client: test-program-client-net: Destroy test client upon error.
+
+ This prevents infinite input event loop when something goes wrong.
+
+M src/lib-program-client/test-program-client-net.c
+
+2018-02-25 18:30:12 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fe1de26fdb)
+
+ lib-program-client: test-program-client-unix: Destroy test client upon
+ error.
+
+ This prevents infinite input event loop when something goes wrong.
+
+M src/lib-program-client/test-program-client-unix.c
+
+2018-02-25 18:03:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7b56efa93a)
+
+ lib-program-client: test-program-client-net: Handle test client connections
+ non-blocking.
+
+
+M src/lib-program-client/test-program-client-net.c
+
+2018-02-25 18:03:51 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d5a55c5151)
+
+ lib-program-client: test-program-client-unix: Handle test client connections
+ non-blocking.
+
+
+M src/lib-program-client/test-program-client-unix.c
+
+2018-02-25 17:57:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ffbff24665)
+
+ lib-program-client: test-program-client-net: Create body streams only once
+ in test_program_input_handle().
+
+
+M src/lib-program-client/test-program-client-net.c
+
+2018-02-25 17:56:15 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (42d2755b32)
+
+ lib-program-client: test-program-client-unix: Create body stream only once
+ in test_program_input_handle().
+
+
+M src/lib-program-client/test-program-client-unix.c
+
+2018-02-25 18:15:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4712d0a1e0)
+
+ lib-program-client: test-program-client-net: Match client input handling
+ code with test-program-client-unix.
+
+
+M src/lib-program-client/test-program-client-net.c
+
+2018-03-18 03:32:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e5abc312ec)
+
+ lib-program-client: test-program-client-unix: Further fix error handling in
+ test_program_input().
+
+
+M src/lib-program-client/test-program-client-unix.c
+
+2018-02-25 17:46:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9799593989)
+
+ lib-program-client: remote: Always shut down the output when all is written.
+
+ Before, this step was omitted when dot streams were used. However, shutting
+ down the output is necessary no matter what. Otherwise, the receiving end
+ will not see that no more input will follow, causing deadlock.
+
+M src/lib-program-client/program-client-remote.c
+
+2018-02-25 20:21:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c1d11effcc)
+
+ lib-program-client: Make sure program client callback is called only once.
+
+
+M src/lib-program-client/program-client.c
+
+2018-02-27 00:13:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (36e44c0f0b)
+
+ lib-program-client: remote: Use struct program_client_remote as parameter
+ where possible.
+
+ Avoids the need to cast it everywhere.
+
+M src/lib-program-client/program-client-remote.c
+
+2018-02-26 23:57:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (156d6d2089)
+
+ lib-program-client: remote: Call program client variable "prclient"
+ consistently.
+
+
+M src/lib-program-client/program-client-remote.c
+
+2018-02-26 23:53:22 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0cabc0863f)
+
+ lib-program-client: local: Call program client variable "plclient"
+ consistently.
+
+
+M src/lib-program-client/program-client-local.c
+
+2018-02-25 10:39:15 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (71835db78e)
+
+ lib-program-client: Reformat test-program-client-unix.c.
+
+
+M src/lib-program-client/test-program-client-unix.c
+
+2018-02-25 10:34:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b1531d935a)
+
+ lib-program-client: Reformat test-program-client-net.c.
+
+
+M src/lib-program-client/test-program-client-net.c
+
+2018-02-25 18:54:46 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8f0db728e7)
+
+ lib-program-client: Reformat program-client-private.h.
+
+
+M src/lib-program-client/program-client-private.h
+
+2018-02-25 10:21:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (807ed22361)
+
+ lib-program-client: Reformat test-program-client-local.c.
+
+
+M src/lib-program-client/test-program-client-local.c
+
+2018-02-25 10:20:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e2128b1556)
+
+ lib-program-client: Reformat program-client-remote.c.
+
+
+M src/lib-program-client/program-client-remote.c
+
+2018-02-25 10:10:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f28eeb83d3)
+
+ lib-program-client: Reformat program-client-local.c.
+
+
+M src/lib-program-client/program-client-local.c
+
+2018-02-25 10:06:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (aad7b112e9)
+
+ lib-program-client: Reformat program-client.h.
+
+
+M src/lib-program-client/program-client.h
+
+2018-02-25 10:05:33 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9cf850fbca)
+
+ lib-program-client: Reformat program-client.c.
+
+
+M src/lib-program-client/program-client.c
+
+2018-02-25 21:45:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (57b574c5c7)
+
+ lib: iostream-pump: Properly implement running a pump with one of the
+ streams blocking.
+
+ Having both streams blocking is not useful and that is now explicitly
+ forbidden.
+
+M src/lib/iostream-pump.c
+M src/lib/test-iostream-pump.c
+
+2018-02-25 19:24:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e1f514ef2c)
+
+ lib: iostream-pump: Add iostream_pump_destroy().
+
+ This functions always stops the pump and dereferences the streams before
+ dereferencing the pump itself.
+
+M src/lib/iostream-pump.c
+M src/lib/iostream-pump.h
+
+2018-02-25 19:13:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b37d0e1004)
+
+ lib: iostream-pump: Make iostream_pump_unref() implementation match other
+ similar code.
+
+ This also means that iostream_pump_unref(NULL) is now a no-op.
+
+M src/lib/iostream-pump.c
+M src/lib/iostream-pump.h
+
+2018-02-25 19:18:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (003dbc09fc)
+
+ lib: iostream-pump: Use refcount as name and int as type for reference count
+ field.
+
+ This is what the rest of Dovecot uses.
+
+M src/lib/iostream-pump.c
+
+2018-02-25 21:56:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (64bd49bb81)
+
+ lib: Reformat test-iostream-pump.c.
+
+
+M src/lib/test-iostream-pump.c
+
+2018-02-25 19:04:14 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b056116e1b)
+
+ lib: Reformat iostream-pump.c.
+
+
+M src/lib/iostream-pump.c
+
+2018-02-25 19:03:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9f67382489)
+
+ lib: Reformat iostream-pump.h.
+
+
+M src/lib/iostream-pump.h
+
+2018-03-15 22:36:45 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (807112358d)
+
+ lib-smtp: test-smtp-server-errors: Add test for DATA command erroneously
+ used with BODY=BINARYMIME.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2018-03-15 22:34:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (12bb756589)
+
+ lib-smtp: test-smtp-server-errors: Add tests for missing MAIL and RCPT
+ commands before DATA command.
+
+
+M src/lib-smtp/test-smtp-server-errors.c
+
+2018-03-15 22:36:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2558c826a1)
+
+ lib-smtp: server: Check that BINARYMIME is not used without CHUNKING.
+
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2018-03-14 01:54:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ee55726aef)
+
+ submission: Add 8BITMIME and BINARYMIME back to supported capabilities.
+
+ These are supported when the backend provides support. These were
+ erroneously disabled earlier by 3bf0c0e211ba1e4ee9977a9dfea32e14ebc50aab.
+
+M src/submission/submission-common.h
+
+2018-03-16 13:40:26 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (68efac63dc)
+
+ istream-seekable: Record stream size in stat
+
+ Otherwise the size is shown 0
+
+M src/lib/istream-seekable.c
+
+2018-03-16 13:39:40 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ba1a411211)
+
+ istream-mail: Move pos back when bailing out on error
+
+ Fixes Panic: file istream.c: line 276 (i_stream_read): assertion failed:
+ ((_stream->pos - _stream->skip) == (prev_pos - prev_skip))
+
+M src/lib-storage/index/istream-mail.c
+
+2018-03-13 16:36:44 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (e89bb85615)
+
+ lib-mail: html2text: do not parse entity when quote_level > 0.
+
+ &entities inside blockquotes are added to text, while other text is not,
+ this leads to strange results.
+
+M src/lib-mail/mail-html2text.c
+
+2018-03-15 13:19:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0db349921b)
+
+ imapc: Update mail size also when RFC822.SIZE is smaller than fetched header
+ size
+
+ If this isn't done, istream-mail will detect that the fetched header is
+ larger than RFC822.SIZE and fail with "Cached message size smaller than
+ expected"
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2018-03-15 12:20:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6f466048f1)
+
+ imapc: Update mail size also when istream_opened() hook is called
+
+ When fetching a message body the cached message size was set. However, if
+ istream_opened() hook was used this wasn't done. If a client had fetched
+ both (RFC822.SIZE BODY.PEEK[]) and the server sent a wrong RFC822.SIZE, that
+ size was used for the message body size, which resulted in "Cached message
+ size larger than expected" errors.
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2018-03-10 17:06:03 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (98794428c6)
+
+ lib-ssl-iostream: Correctly build certificate chains
+
+ Prevents sending extraneous certificates when using alternative certs.
+
+ Reported by John Fawcett <john@voipsupport.it> and Peter Linss
+ <peter@linss.com>.
+
+M m4/ssl.m4
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2018-03-06 15:15:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a118a3eb3c)
+
+ lib-master: Correctly match when local_name has multiple names
+
+ Reported by J. Nick Koston <nick@cpanel.net>
+
+M src/lib-master/master-service-settings-cache.c
+
+2018-03-06 10:33:27 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (dc67a88562)
+
+ lib-master: Reply from config process is tabescaped
+
+ Found by J. Nick Koston <nick@cpanel.net>
+
+M src/lib-master/master-service-settings-cache.c
+
+2018-03-10 19:43:27 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d14694c8cf)
+
+ config: tabescape local name and service
+
+
+M src/config/config-connection.c
+
+2018-03-06 10:31:51 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (cecfc4e9df)
+
+ config: Make local_name comparison faster
+
+ Based on patch by J. Nick Koston <nick@cpanel.net>
+
+M src/config/config-filter.c
+
+2018-03-04 20:09:21 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d5614ea5ec)
+
+ lib-lua: Remove script from linked list on destroy
+
+ Otherwise it might cause a crash
+
+M src/lib-lua/dlua-script.c
+
+2018-02-28 19:16:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4002c09f71)
+
+ lmtp: proxy: Use proxy_not_trusted field if returned from passdb.
+
+ Before, this field was ignored. Now, if this field is set, no XCLIENT
+ command is ever sent to the remote proxy.
+
+M src/lmtp/lmtp-proxy.c
+
+2018-02-28 10:22:33 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (092172df71)
+
+ lmtp: proxy: Use ssl/starttls fields if returned from passdb.
+
+ Before, these fields were ignored. Now, these are used to determine whether
+ the proxy connection to the backend should be secured by SSL and how.
+
+M src/lmtp/lmtp-proxy.c
+
+2018-02-28 18:58:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (29320452d5)
+
+ login-common: Use client SSL certificate and key settings from lib-master.
+
+
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+
+2018-02-28 18:14:33 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (150a79304d)
+
+ lib-master: Initialize key and certificate for client SSL settings.
+
+ This uses the ssl_client_cert and ssl_client_key settings.
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+
+2018-02-28 19:01:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (79cfb0d8b1)
+
+ login-common: Remove unused ssl_require_crl setting.
+
+
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+
+2018-03-10 19:13:24 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (66c162cc80)
+
+ lib-smtp: client: Add smtp_client_connection_create_ip().
+
+ This allows making SMTP client connections without performing a DNS lookup.
+ The optional hostname parameter is used to verify the hostname in the SSL
+ certificate from the server, if any.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-connection.h
+
+2018-03-10 19:07:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9d581973df)
+
+ lib-smtp: client: smtp_client_connection_create(): ATTR_NULL() pointed to
+ wrong parameter.
+
+
+M src/lib-smtp/smtp-client-connection.h
+
+2018-03-10 19:05:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fc3a8f6209)
+
+ lib-smtp: client: connection: Perform IP lookup in a separate function.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-03-10 19:22:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7b8354fc05)
+
+ lib: net: Avoid comparing the content of unassigned IPs in net_ip_cmp().
+
+
+M src/lib/net.c
+
+2018-03-12 13:58:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (050b6ae063)
+
+ lib-ssl-iostream: Fix potential crash if istream is destroyed before ostream
+
+ This happened if o_stream_destroy() triggered flush, which attempted to read
+ from the ssl_io->ssl_input. If the istream-ssl was already destroyed, it was
+ NULL and that caused a crash.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2018-03-12 15:29:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2a67790b54)
+
+ imapc: Fix errors when handling UIDVALIDITY change
+
+ This mainly happened when imapc was used with index files and the backend
+ IMAP server recreated the mailbox. This caused errors like: Expunged message
+ uid=1 reappeared - reconnecting
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2018-03-12 15:06:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (687b901e95)
+
+ imapc: Don't try to add mails to index if they already exist there
+
+ Broken by 259a4ca5943123915a019799623d2e4a4ef7fd15 when imapc was used with
+ (not in-memory) index files.
+
+ This caused errors like "Append with UID 200, but next_uid = 201"
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2018-03-12 14:50:32 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c1f57eab85)
+
+ lib-dcrypt: test-stream - Ensure more is read when buffer becomes empty
+
+
+M src/lib-dcrypt/test-stream.c
+
+2018-03-12 14:48:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8c8d530a17)
+
+ lib-dcrypt: istream-decrypt - Read more if buffer is empty
+
+ If there is no more buffered data, try to decrypt more.
+
+ - Fixes Panic: file istream.c: line 192 (i_stream_read): assertion failed:
+ (!stream->blocking)
+ - Fixes infinite loop when stream is not blocking
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2018-03-06 22:11:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (79a877bb2b)
+
+ lib-lda: Do not convert "From:" message address to STMP address, just to
+ make a string for logging.
+
+ This leads to problems when the message address (RFC5322) has UTF-8 code
+ points in the local part, which is (currently) allowed for message
+ addresses, but not for SMTP addresses (RFC5321).
+
+M src/lib-lda/mail-deliver.c
+
+2018-03-07 11:24:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (27eea209c2)
+
+ notify: Fix crash if NO_NOTIFY transaction is rolled back during commit
+
+ Fixes: Panic: no notify_mail_txn found
+
+M src/plugins/notify/notify-storage.c
+
+2018-03-09 16:09:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (eeef28ca20)
+
+ lmtp: Provide hidden support for ORCPT RCPT parameter.
+
+ This is normally only available with the DSN capability, but we use it to
+ forward the original recipient in proxy setups.
+
+ This feature was available in the original Dovecot v2.2 LMTP, but it got
+ lost in the new lib-smtp implementation.
+
+M src/lmtp/client.c
+M src/lmtp/lmtp-proxy.c
+
+2018-03-09 16:03:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2eb2121761)
+
+ lib-smtp: client: Add support for forcibly enabling support for a
+ capability.
+
+ Then it is enabled even when the server does not list it in the EHLO
+ response.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client.c
+M src/lib-smtp/smtp-client.h
+
+2018-03-09 16:01:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fb756bb9a9)
+
+ lib-smtp: params: Make ORCPT parameter available separately if hidden
+ capability is enabled.
+
+
+M src/lib-smtp/smtp-common.h
+M src/lib-smtp/smtp-params.c
+
+2018-03-09 15:47:06 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2b03e47da3)
+
+ lib-smtp: common: Use the BIT() macro for defining the capability flags.
+
+
+M src/lib-smtp/smtp-common.h
+
+2018-03-08 14:10:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f7ad42f80d)
+
+ lib: Remove ostream.get_used_size()
+
+ Removes backwards compatibility.
+
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+
+2018-03-08 14:08:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e29a2b316e)
+
+ lib-test: test-ostream - Implement the new ostream.get_buffer_used_size()
+ API
+
+ It's implemented the same way as the old get_used_size(). The default
+ implementation for get_buffer_avail_size() also works with this.
+
+M src/lib-test/test-ostream.c
+
+2018-03-08 14:08:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (eafc8d8d6a)
+
+ lib: ostream-buffer - Implement the new ostream.get_buffer_used_size() API
+
+ It's implemented the same way as the old get_used_size(). The default
+ implementation for get_buffer_avail_size() also works with this.
+
+M src/lib/ostream-buffer.c
+
+2018-03-08 14:07:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4e7e97b0a0)
+
+ lib: ostream-file - Implement the new ostream.get_buffer_used_size() API
+
+ It's implemented the same way as the old get_used_size(). The default
+ implementation for get_buffer_avail_size() also works with this.
+
+M src/lib/ostream-file.c
+
+2018-02-24 22:04:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (265c88f96d)
+
+ lib-compression: Implement the new ostream.get_buffer_used/avail_size() APIs
+
+ The avail_size() implementation isn't fully correct for bzlib/zlib/lzma.
+ Fixing it requires larger changes though.
+
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-lz4.c
+M src/lib-compression/ostream-lzma.c
+M src/lib-compression/ostream-zlib.c
+
+2018-02-24 22:04:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2b7ee96bdb)
+
+ lib-ssl-iostream: Implement the new ostream.get_buffer_used/avail_size()
+ APIs
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2018-02-24 22:04:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e82807fd7d)
+
+ lib: ostream-multiplex - Implement the new get_buffer_used/avail_size() APIs
+
+
+M src/lib/ostream-multiplex.c
+
+2018-02-26 15:17:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8feb56fd35)
+
+ lib: Remove ostream-escaped
+
+ It can't implement o_stream_get_buffer_avail_size() correctly with its
+ current API. Nothing uses it currently, so easier to just remove it
+ entirely.
+
+M src/lib/Makefile.am
+D src/lib/ostream-escaped.c
+D src/lib/ostream-escaped.h
+M src/lib/test-lib.inc
+D src/lib/test-ostream-escaped.c
+
+2018-02-24 22:03:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e282d7767b)
+
+ lib: Change/clarify o_stream_get_buffer_used/avail_size() APIs
+
+ ostream.get_used_size() is deprecated and replaced by get_buffer_used_size()
+ and get_buffer_avail_size().
+
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2018-03-06 12:14:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8762b54cbf)
+
+ lib-mail: message_address_write() - don't crash with NULL address
+
+ message_address_parse() can return NULL on empty address, so writing it
+ should produce empty address as well. Broken by
+ 15581297511b658a29c707c6031a258bab7bf1a5
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2018-03-07 15:14:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (38530e3e9e)
+
+ submission-login: Only send HELO domain to post-login service when it is
+ valid.
+
+
+M src/submission-login/client-authenticate.c
+
+2018-03-07 15:03:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b11777379e)
+
+ lib-smtp: server: Fix application of pre-login HELO domain when no
+ post-login HELO is issued.
+
+ The substituted domain was not marked as valid, which caused the HELO field
+ of the produced received line to be set to 'unknown'.
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+
+2018-03-07 18:56:00 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (baad502499)
+
+ lda: Fix error message for invalid -r parameter to mention `-r' rather than
+ `-a'.
+
+
+M src/lda/main.c
+
+2018-03-07 18:54:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ef983baa5f)
+
+ lda: Add -r parameter to usage help message.
+
+
+M src/lda/main.c
+
+2018-03-06 13:27:17 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (3350a030ae)
+
+ master: Strip '\n' from suid_dumpable read buffer before str_to_uint()
+
+
+M src/master/service-process.c
+
+2017-12-22 18:58:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d603818f75)
+
+ global: Call rfc822_parser_deinit() wherever possible
+
+
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/message-address.c
+M src/lib-mail/message-date.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-id.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part-data.c
+M src/lib-mail/message-search.c
+M src/lib-mail/test-rfc2231-parser.c
+M src/lib-mail/test-rfc822-parser.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-parser-script.c
+
+2018-01-09 11:33:59 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (6f685c30a4)
+
+ lib-mail: Refactor code to make the next commit smaller
+
+
+M src/lib-mail/message-address.c
+M src/lib-mail/message-id.c
+M src/lib-mail/message-parser.c
+
+2017-12-22 18:56:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (57f850f7af)
+
+ lib-mail: Add rfc822_parser_deinit()
+
+ It's not a strict requirement to call this, but it assert-crashes if the
+ state isn't valid.
+
+M src/lib-mail/rfc822-parser.h
+
+2017-12-22 18:42:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1b93f7362b)
+
+ lib-mail: Make sure parsers don't accidentally go much beyond end pointer
+
+
+M src/lib-mail/message-address.c
+M src/lib-mail/message-date.c
+M src/lib-mail/message-part-data.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc822-parser.c
+
+2017-12-22 18:36:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d949689911)
+
+ lib-mail: Fix out-of-bounds read when parsing an invalid email address
+
+ The included unit test doesn't fail, but running it with valgrind shows
+ "Invalid read of size 1" error.
+
+ Broken in d6737a17a27402e7a262f7ba8a2ed588d576f23c
+
+ Discovered by Aleksandar Nikolic of Cisco Talos
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2017-12-22 18:36:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (260c2d9e6c)
+
+ lib-mail: test-message-address - Add TEST_MESSAGE_ADDRESS_FLAG_SKIP_LIST
+ flag
+
+ This commit just adds the flag and sets it to 0 for all existing tests.
+
+M src/lib-mail/test-message-address.c
+
+2017-12-22 18:31:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (238899c225)
+
+ lib-mail: rfc822-parser - Add asserts to make sure parser state is correct
+
+
+M src/lib-mail/rfc822-parser.c
+
+2018-02-19 14:19:08 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (dc0e678314)
+
+ lib-dns: Move before lib-master
+
+
+M src/Makefile.am
+
+2018-02-26 12:53:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (0d723dde10)
+
+ lib-master: Fix dns_match_wildcard result value check
+
+ It returns 0, not TRUE.
+
+M src/lib-master/master-service-settings-cache.c
+
+2018-02-23 15:31:11 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (05d2b80265)
+
+ lib-master: Check local_name only if both filter and input have it
+
+ Broken in cedc777a1acf830af4cf0b6e9b0f343c81e20adc
+
+M src/lib-master/master-service-settings-cache.c
+
+2017-11-30 20:52:11 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b40cc4c335)
+
+ login-common: Enable config filtering by local name
+
+ Prevents servername misuse.
+
+M src/login-common/login-settings.c
+
+2017-11-30 15:47:25 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7c6c224fdf)
+
+ lib-master: Support validating config filters against requests
+
+ Validation will sanitize the input request and drop any fields that have no
+ filter in config. E.g. if you have a local block with name, and nothing
+ else, then lip/rip will be dropped from the request.
+
+M src/lib-master/Makefile.am
+M src/lib-master/master-service-settings-cache.c
+M src/lib-master/master-service-settings-cache.h
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/test-master-service-settings-cache.c
+
+2017-11-30 15:46:52 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6b104244a5)
+
+ config: Add command to request all filters
+
+
+M src/config/config-connection.c
+
+2017-11-30 15:46:40 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5614f98711)
+
+ config: Add config_filter_get_all
+
+ Returns all filters
+
+M src/config/config-filter.c
+M src/config/config-filter.h
+
+2018-03-01 12:17:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (948ee5b9ff)
+
+ sdbox: Delete .temp* files on when save/copy transaction is rolled back
+
+ For example when copying was aborted due to user being over quota, temp
+ files were left behind.
+
+M src/lib-storage/index/dbox-single/sdbox-save.c
+
+2018-03-01 18:38:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9225b51511)
+
+ master: Improve "core not dumped" error messages with Linux
+
+ Recommend setting /proc/fs/suid_dumpable to 2 and
+ /proc/sys/kernel/core_pattern to absolute path, if they already aren't.
+
+M src/master/common.h
+M src/master/main.c
+M src/master/service-process.c
+
+2018-03-01 18:37:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9fd384e584)
+
+ master: Add explanation URL to "core dumps disabled" and "core not dumped"
+ errors
+
+
+M src/master/service-process.c
+
+2018-03-05 21:02:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3bf0c0e211)
+
+ submission: Limit the set of capabilities to those that are actually
+ supported.
+
+ Particularly, the XCLIENT capability was inappropriately enabled when the
+ backend MTA announced support. XCLIENT is not supported by Dovecot
+ post-login.
+
+M src/submission/submission-client.c
+M src/submission/submission-common.h
+
+2018-03-05 14:55:04 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (fe6f591af4)
+
+ charset-alias: Don't return value from void functions
+
+
+M src/plugins/charset-alias/charset-alias-plugin.c
+
+2018-03-04 23:43:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2f5379a863)
+
+ lib-smtp: server: RCPT command: Make sure conn->state.pending_rcpt_cmds
+ cannot decrement through zero.
+
+ Added assertion.
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+
+2018-03-04 23:42:45 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e678a94e6d)
+
+ lib-smtp: server: MAIL command: Make sure conn->state.pending_mail_cmds
+ cannot decrement through zero.
+
+ Added assertion.
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+
+2018-03-04 23:35:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8f3829ce99)
+
+ lib-smtp: server: Fix double decrement of RCPT pending counter upon error.
+
+ The pending counter was sometimes decremented twice in specific error
+ conditions, leading to an assert panic in the DATA command. This was caused
+ by some dead code. If the MAIL command failed in a pipeline before the RCPT
+ command, the assert was triggered.
+
+ Panic was:
+
+ Panic: file smtp-server-cmd-data.c: line 354 (cmd_data_start): assertion
+ failed: (conn->state.pending_mail_cmds == 0 && conn->state.pending_rcpt_cmds
+ == 0)
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+
+2018-03-01 17:59:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (293f69e28b)
+
+ lib-storage: Fix memory leak when search accessed headers but found no mails
+
+ For example fetching headers with UID FETCH for a nonexistent UID.
+
+M src/lib-storage/index/index-mail.c
+
+2018-03-01 17:55:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (caf4c4b963)
+
+ lib-storage: Code cleanup - remove unnecessary temporary variable
+
+
+M src/lib-storage/index/index-mail.c
+
+2018-03-01 20:12:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c415d35f8f)
+
+ lib-storage: test-mail-storage - add check for mailbox_create() return value
+
+
+M src/lib-storage/test-mail-storage.c
+
+2018-03-01 14:53:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e1f52248b0)
+
+ lib-smtp: server: Only accept XCLIENT command when the XCLIENT capability is
+ active.
+
+ Report "502 Unsupported command" otherwise. Before, it would complain about
+ the client not being trusted, which is confusing.
+
+M src/lib-smtp/smtp-server-cmd-xclient.c
+M src/lmtp/client.c
+M src/submission-login/client.c
+
+2018-03-01 14:52:06 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fbd0a83db9)
+
+ lib-smtp: client: Make clear that XCLIENT is not sent if the server has no
+ support.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2016-07-21 08:32:52 -0600 Timo Sirainen <timo.sirainen@dovecot.fi> (c52e5e6da5)
+
+ lib-storage: Deduplicate headers in struct mailbox_header_lookup_ctx
+
+ This might slightly improve performance.
+
+M src/lib-storage/mailbox-header.c
+
+2017-11-29 11:51:57 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (66fa646212)
+
+ lib-storage: Add tests for mailbox_verify_name
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/test-mail-storage.c
+
+2017-11-29 11:42:39 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e3fd3e1a6a)
+
+ lib-storage: test-mail-storage - Add framework for doing storage tests
+
+
+M src/lib-storage/test-mail-storage.c
+
+2018-02-17 23:33:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4b7cc6ef2e)
+
+ cydir: Fix crash when using mailbox_get_metadata()
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+
+2018-02-17 23:26:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (53a5b5d228)
+
+ mbox: Fix creating mailbox when mailbox_update struct is given without
+ uidvalidity
+
+ This especially fixes a crash when creating mboxes with LAYOUT=index:
+
+ Panic: file mbox-sync.c: line 1241 (mbox_write_pseudo): assertion failed:
+ (uid_validity != 0)
+
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2018-02-17 23:19:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c85316993d)
+
+ mbox: Default INBOX=<root path>/inbox only with LAYOUT=fs
+
+ It's likely not a valid path with other layouts.
+
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2018-02-17 23:16:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0c53ce6cb7)
+
+ LAYOUT=index: Don't mkdir index root directory at init
+
+ It's not really needed, since anything that needs it will automatically
+ mkdir it later as well. This also breaks using LAYOUT=index with mbox,
+ because the mbox code hasn't yet had a chance to override the index root
+ path so it was mkdired without the .imap/ suffix.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2018-02-17 22:59:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f2646a16aa)
+
+ mbox: Enable .imap/ index directories with all layouts
+
+ LAYOUT=fs isn't any special here. The mboxes are created as files just the
+ same for LAYOUT=Maildir++ and for LAYOUT=index and it's not possible to
+ create index files under them.
+
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2018-02-17 22:28:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bfaf911d4e)
+
+ LAYOUT=index: Don't prevent using internal mailbox names
+
+ For example with Maildir it wasn't possible to create mailboxes named "new",
+ "cur" or "tmp".
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2018-02-17 22:25:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2a86a88fb4)
+
+ lib-storage: Add and use MAILBOX_LIST_PROP_NO_INTERNAL_NAMES
+
+ Use it to replace Maildir++ check to see if mailbox_list.is_internal_name()
+ is wanted to be used.
+
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2018-02-17 22:04:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a3bab1712f)
+
+ lib-storage: mailbox_verify_name() - Deduplicate error handling
+
+
+M src/lib-storage/mail-storage.c
+
+2018-02-17 22:02:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (90c2995737)
+
+ lib-storage: mailbox_verify_name() - Move prefix check to its own function
+
+ No functional changes.
+
+M src/lib-storage/mail-storage.c
+
+2018-02-17 21:50:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d27fd02d50)
+
+ lib-storage: mailbox_verify_name() - Add comments for separator checks
+
+
+M src/lib-storage/mail-storage.c
+
+2018-02-28 15:09:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b658fd6c2b)
+
+ example-config: Add mail_attachment_detection_options
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2018-02-21 17:04:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (24cc64c148)
+
+ imapc: Fix assert-crash after detecting that multiple expunged mail reappear
+
+ The first imapc_mailbox_set_corrupted() call started a reconnect. The second
+ call crashed with:
+
+ Panic: file imapc-client.c: line 414 (imapc_client_mailbox_reconnect):
+ assertion failed: (!box->reconnecting)
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2018-02-25 09:35:43 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (bc2c2ef8fc)
+
+ m4: Use -U and -D in cc_fortify
+
+ Not just -D. This is to test the same thing that gets used.
+
+M m4/cc_fortify.m4
+
+2018-02-25 09:35:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7e86d6308f)
+
+ m4: Remove pthread from tests
+
+
+M m4/cc_fortify.m4
+M m4/cc_pie.m4
+M m4/cc_stack_protector.m4
+
+2018-02-27 22:56:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4bec789c78)
+
+ lmtp: proxy: Use source_ip proxy field if it is returned from passdb.
+
+ Before, it was ignored. Now, it is used as the source IP for the outgoing
+ LMTP client connection.
+
+M src/lmtp/lmtp-proxy.c
+
+2018-02-27 23:13:33 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (418c3da5ea)
+
+ lmtp: proxy: Use per-connection SMTP client settings.
+
+ This is needed for setting source IP in later change. The peer_trusted
+ setting must me moved, since this setting is overriden by per-connection
+ settings, rather than merged.
+
+M src/lmtp/lmtp-proxy.c
+
+2018-02-27 21:58:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b136a381ac)
+
+ lib-smtp: client: Add support for connecting from an explicit source IP.
+
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client.c
+M src/lib-smtp/smtp-client.h
+
+2018-02-27 21:56:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (54c6a8135c)
+
+ lib: connection: Added support for connecting from an explicit source IP.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2018-02-27 12:26:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d4d69bc760)
+
+ imapc: Fix crash when untagged FETCH reply doesn't have key-value pairs
+
+ The last key with the missing value is just silently ignored.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2018-02-27 10:45:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (eaf49d968f)
+
+ lib-http: client: Fix request statistics text to properly report send
+ attempts.
+
+ If the request was first sent in the same ioloop cycle in which the text is
+ generated, the text would claim it was not sent at all yet.
+
+ With this commit the text now explicitly makes the distinction between
+ request attempts and actual send attempts. The number of attempts is
+ increased at each retry, while the send attempts are increased each time the
+ request is actually being sent to a server.
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2018-02-26 18:20:30 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5441373137)
+
+ notify: Ignore flag and keywords update during saving
+
+ They are part of the saving event
+
+M src/plugins/notify/notify-plugin.c
+
+2018-02-17 14:28:48 -0500 codarrenvelvindron <codarren@hackers.mu> (60b67403d7)
+
+ configure: Add spectre variant 2 mitigations
+
+ --enable-hardening adds -mfunction-return=thunk and -mindirect-branch=thunk
+ compiler options if supported.
+
+M configure.ac
+A m4/cc_retpoline.m4
+
+2018-02-19 13:27:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (026b8778de)
+
+ lib-http: client: Add event fields for the number of bytes sent and received
+ for each request in the last attempt.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2018-02-19 13:24:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (be90d5399e)
+
+ lib-http: response parser: Record input stream offset for the start of the
+ last parsed response.
+
+
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-response-parser.h
+
+2018-02-19 13:20:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8f985b8241)
+
+ lib-http: message parsers: Record beginning of parsed data.
+
+
+M src/lib-http/http-message-parser.h
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-response-parser.c
+
+2018-01-21 15:46:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (924b2252e6)
+
+ lib-http: client: Trigger special events when a request is finished, retried
+ or redirected.
+
+
+M src/lib-http/http-client-request.c
+
+2018-01-21 16:19:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (27521d4fae)
+
+ lib-http: client: Record last status code in the request object.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2018-01-21 16:08:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3707535458)
+
+ lib-http: client: Reset redirect counter when the request is retried.
+
+ The absence of this reset caused problems when there was a redirect limit
+ and the request was retried, in which case the limit is reached too soon.
+
+M src/lib-http/http-client-request.c
+
+2018-01-21 16:06:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1eb1b5b429)
+
+ lib-http: client: Add "host" and "port" fields to request event.
+
+
+M src/lib-http/http-client-request.c
+
+2018-01-21 16:00:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (eb580abe11)
+
+ lib-http: client: Use the new http_url_get_port*() functions.
+
+
+M src/lib-http/http-client-request.c
+
+2018-01-21 15:54:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (777776de35)
+
+ lib-http: url: Add functions that obtain the effective port for the URL.
+
+ When no port is set for the URL, it is set to 0. These functions substitute
+ the applicable default.
+
+M src/lib-http/http-url.h
+
+2018-01-21 15:50:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fab1c263d6)
+
+ lib-http: Create http-common.h, which contains global definitions shared by
+ client and server.
+
+ Currently contains only the default HTTP port definitions that used to be
+ private to the client.
+
+M src/lib-http/Makefile.am
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+A src/lib-http/http-common.h
+M src/lib-http/http-server.h
+
+2018-02-23 21:09:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (006a3950c7)
+
+ lmtp: proxy: Do not forward 421 reply (server shutdown) from backend.
+
+ This closes the LMTP connection implicitly. Instead, translate it into a 451
+ 4.4.0 response, just like all the other connection-related failures.
+
+M src/lmtp/lmtp-proxy.c
+
+2018-02-23 20:49:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b60769f0d2)
+
+ lib-smtp: client: transaction: Better document the failure handling for
+ incomplete transactions.
+
+
+M src/lib-smtp/smtp-client-transaction.h
+
+2018-02-23 20:43:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (85a18b9917)
+
+ lib-smtp: client: transaction: Don't call the DATA callbacks upon failure
+ until the transaction is complete.
+
+ The transaction is not complete until smtp_client_transaction_send() is
+ called.
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-02-23 18:21:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5bda257196)
+
+ lib-smtp: client: transaction: Properly advance the transaction to the DATA
+ state once the DATA command is to be sent.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2018-02-23 18:16:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4a29c50159)
+
+ lib-smtp: client: transaction: Use the correct callback for finish timeout.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2017-12-16 18:16:10 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (655fc45da6)
+
+ lib-storage: Add NO-FS-VALIDATION flag
+
+
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2018-02-17 22:10:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (20856c63a2)
+
+ lib-storage: Never prevent using '/' in mailbox names with
+ mail_full_filesystem_access=yes
+
+ It was already allowed with LAYOUT=fs, but not with e.g. LAYOUT=Maildir++.
+ Now it's possible to use e.g. SELECT /home/shareduser/Maildir/test.box
+
+M src/lib-storage/mailbox-list.c
+
+2018-02-22 15:55:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fdabb36505)
+
+ imapc: Avoid duplicate FETCH BODY.PEEK[] when mail is already expunged
+
+ When the first FETCH (e.g. as part of mail_prefetch()) indicated that the
+ mail is already expunged, there's no need to do it again.
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2018-02-20 12:04:13 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (cc2b3aefaa)
+
+ lib: Fix buffer code to satisfy static analyzers
+
+
+M src/lib/buffer.c
+
+2018-02-08 11:56:08 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5541f5c02b)
+
+ lib: randgen - Init seed to 0
+
+ Satisfies static analyzer, the seed is guaranteed to get filled with random
+ data.
+
+M src/lib/randgen.c
+
+2018-02-08 11:45:20 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (32b9cd0a98)
+
+ trash: Use TRASH_USER_CONTEXT_REQUIRE
+
+ Satisfies static analyzer
+
+M src/plugins/trash/trash-plugin.c
+
+2018-02-19 13:21:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (41482f3838)
+
+ lib-storage: Assert unique_root_dir is set with
+ MAIL_STORAGE_CLASS_FLAG_UNIQUE_ROOT
+
+
+M src/lib-storage/mail-storage.c
+
+2018-02-19 13:22:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0116003edc)
+
+ lib-storage: shared driver - Remove copying the child storage's class_flags
+
+ The shared storage root itself doesn't have any storage, so it shouldn't
+ need to copy the child storage's class_flags either.
+
+ This fixes a crash when shared namespace was created with mdbox storage, and
+ another mdbox namespace was created afterwards. This had
+ MAIL_STORAGE_CLASS_FLAG_UNIQUE_ROOT set, but its unique_root_dir is NULL,
+ which caused a crash in mail_storage_match_class().
+
+M src/lib-storage/index/shared/shared-storage.c
+
+2018-02-19 19:22:42 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5d60e31a1d)
+
+ global: Use unix_socket capability in connection.c
+
+ This is more reliably way to correctly create input stream with unix socket
+ capability for passing fd's around
+
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap/imap-master-client.c
+
+2018-02-19 19:09:46 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (36e5cd9ab4)
+
+ lib: connection - only switch created iostreams
+
+ Fixes imap-hibernate: Fatal: master: service(imap-hibernate): child killed
+ with signal 11 (core dumps disabled)
+
+ Broken in 086b73efd1a5812a64acc951366a499d325509a6
+
+M src/lib/connection.c
+
+2018-02-19 14:44:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c125b40d59)
+
+ lib-storage: Unless LAYOUT=index, don't rebuild list index on missing INBOX
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2018-02-19 12:54:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ccfccd9aae)
+
+ lib-storage: mailbox_list_index_handle_corruption() - Lock mailbox list
+ while rebuilding
+
+ This guards against simultaneous mailbox create/delete/rename.
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2018-02-19 12:53:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (98a0236638)
+
+ lib-storage: mailbox_list_index_handle_corruption() - Move actual handling
+ to its own function
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2018-02-18 18:07:16 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (e78c6f8ecf)
+
+ lib-storage: Generate snippet while saving new mails
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2018-02-19 15:43:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2c4349f25a)
+
+ lib-storage: Make index_mail_want_cache() global
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2018-02-18 18:06:48 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (eb34def880)
+
+ lib-storage: move snippet generation to mail-save-finish
+
+ This is necessary because some storage backends (most notably sdbox) do not
+ allow getting the mail stream before the mail is fully written out.
+ (See written_to_disk in sdbox-file.h.)
+
+ If we could avoid getting the stream to generate a snippet we could leave
+ this where it is.
+
+M src/lib-storage/index/index-mail.c
+
+2018-02-19 15:38:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9733a2040a)
+
+ doveadm dump: Show body.snippet in human-readable form
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2018-02-19 09:57:17 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (cfb3e01ade)
+
+ lib-ssl-iostream: Use SSL_CTX_set_ecdh_auto macro
+
+ This macro is same for 1.0.2 and 1.1.0 and libressl.
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2018-02-18 18:11:18 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (280f1a0ab1)
+
+ imap: If snippet is not available return NIL
+
+
+M src/imap/imap-fetch-body.c
+
+2018-02-18 00:53:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d26d742019)
+
+ imap: Fix FETCH SNIPPET
+
+ 1) _BUFFERED flag wasn't set, which caused a missing space before the
+ "SNIPPET". 2) It caused \Seen flag to be added to the mail
+
+M src/imap/imap-fetch-body.c
+
+2018-02-16 16:03:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f45f472bcb)
+
+ doveadm sync/backup: Don't override BROKENCHAR if it's already set
+
+ This allows migrating invalid mailbox names by specifying BROKENCHAR.
+ Previously it would always try to use \003 control character, which isn't
+ valid character in mailbox names so the mailbox creation would fail.
+
+M src/doveadm/doveadm-dsync.c
+
+2018-02-16 16:59:35 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (5addf4e0ac)
+
+ charset-alias: Fix keyvalues iteration
+
+ charset-alias-plugin.c:113:27: error: comparison between pointer and zero
+ character constant [-Werror=pointer-compare]
+ for (i = 0; keyvalues[i] != '\0'; i++) {
+ ^~ charset-alias-plugin.c:113:14: note: did you
+ mean to dereference the pointer?
+ for (i = 0; keyvalues[i] != '\0'; i++) {
+
+M src/plugins/charset-alias/charset-alias-plugin.c
+
+2018-02-16 16:53:04 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (acbcc27092)
+
+ charset-alias: Cleanup whitespace
+
+ Remove \r from end of lines and remove trailing whitespace.
+
+M src/plugins/Makefile.am
+M src/plugins/charset-alias/Makefile.am
+M src/plugins/charset-alias/charset-alias-plugin.c
+M src/plugins/charset-alias/charset-alias-plugin.h
+
+2018-02-17 15:02:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7707704ce6)
+
+ lib-http: client: Simplified return code handling in
+ http_client_request_send_real().
+
+
+M src/lib-http/http-client-request.c
+
+2018-02-17 14:54:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (94281d6c41)
+
+ lib-http: client: Make sure output is used only when valid in
+ http_client_request_send_real().
+
+
+M src/lib-http/http-client-request.c
+
+2018-02-17 12:03:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (daf2f019f8)
+
+ lib-http: client: Uncork and flush the output stream explicitly after
+ continuing request payload.
+
+ This allows detecting any output stream errors.
+
+M src/lib-http/http-client-connection.c
+
+2018-02-17 15:17:06 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c80afa7573)
+
+ lib-http: client: Hold reference to the connection while continuing request
+ payload.
+
+ Subsequent changes may cause the connection to be destroyed while sending.
+
+M src/lib-http/http-client-connection.c
+
+2018-02-17 12:01:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (82bff47d07)
+
+ lib-http: client: Continue sending request payload in a separate function.
+
+
+M src/lib-http/http-client-connection.c
+
+2018-02-17 15:08:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6cb2469058)
+
+ lib-http: client: Hold reference to the connection while sending the next
+ request.
+
+ Subsequent changes may cause the connection to be destroyed while sending.
+
+M src/lib-http/http-client-connection.c
+
+2018-02-17 11:32:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5bde522a44)
+
+ lib-http: client: Perform output stream error handling in one place.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2018-02-17 11:10:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7691bf6c1c)
+
+ lib-http: client: Make http_client_connection_lost() available outside
+ http-client-connection.c.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2018-02-17 11:08:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (753c652341)
+
+ lib-http: client: Handle output stream errors in a separate function.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2018-02-17 01:25:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0753b82010)
+
+ lib-http: client: Flush and check output for errors after uncorking.
+
+ Otherwise, a disconnection event may be missed.
+
+M src/lib-http/http-client-request.c
+
+2018-02-17 15:37:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e8f4337671)
+
+ lib-http: server: Simplified return code handling in
+ http_server_response_send_real().
+
+
+M src/lib-http/http-server-response.c
+
+2018-02-17 15:29:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2d5e28978d)
+
+ lib-http: server: Make sure output is used only when valid in
+ http_server_response_send_real().
+
+ This avoids the need to hold a reference to it.
+
+M src/lib-http/http-server-response.c
+
+2018-02-17 01:26:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3cda61e4cc)
+
+ lib-http: server: Perform output stream error handling in one place.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-response.c
+
+2018-02-17 14:44:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e3666a5d68)
+
+ lib-http: server: Flush and check output for errors after uncorking.
+
+ Otherwise, a disconnection event may be missed.
+
+M src/lib-http/http-server-response.c
+
+2018-02-17 14:28:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e4b70fb422)
+
+ lib-http: server: Handle output stream errors in a separate function.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+
+2018-02-17 10:26:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ce19176ce2)
+
+ lib-smtp: client: Uncork and flush the output stream explicitly after
+ sending commands.
+
+ This allows detecting any output stream errors.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-02-17 01:46:15 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (52cb7a947c)
+
+ lib-smtp: client: Perform output stream error handling in one place.
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2018-02-16 23:49:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (326301f0d4)
+
+ lib-smtp: client: Flush and check output for errors after uncorking.
+
+ Otherwise, a disconnection event may be missed.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-02-16 23:40:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a02b8d9eed)
+
+ lib-smtp: client: Handle output stream errors in a separate function.
+
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2018-02-17 01:46:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2f07c9a5d8)
+
+ lib-smtp: server: Perform output stream error handling in one place.
+
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-reply.c
+
+2018-02-17 10:37:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0f445eb69b)
+
+ lib-smtp: server: Remove undefined smtp_server_reply_send_more() from
+ smtp-server-private.h.
+
+
+M src/lib-smtp/smtp-server-private.h
+
+2018-02-16 10:05:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (be6741282b)
+
+ lib-smtp: server: Flush and check output for errors after uncorking.
+
+ Otherwise, a disconnection event may be missed.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2018-02-16 10:13:35 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (95a139b8f9)
+
+ lib-smtp: server: STARTTLS command: Properly handle output stream flush
+ error.
+
+
+M src/lib-smtp/smtp-server-cmd-starttls.c
+
+2018-02-16 10:11:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1e3de3981e)
+
+ lib-smtp: server: Handle output stream errors in a separate function.
+
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2018-02-16 09:34:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5c7683699c)
+
+ lib-smtp: server: Use the stream_errno to evaluate output stream errors.
+
+ Code was using global errno.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-reply.c
+
+2018-02-16 00:44:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8c2d916c7c)
+
+ lib-smtp: server: Remove inappropriate assert from MAIL command.
+
+ When the MAIL command is next to reply, it is possible to have RCPT commands
+ that are still pending.
+
+M src/lib-smtp/smtp-server-cmd-mail.c
+
+2018-02-16 14:49:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (02c6a06e5f)
+
+ imap: Don't enforce sending SNIPPET reply as literal
+
+ Also change it to use "cur_str" since the reply is never very long.
+
+M src/imap/imap-fetch-body.c
+
+2018-02-16 14:46:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1fc112d7f3)
+
+ imap: Add parenthesis to FETCH SNIPPET (FUZZY text) response
+
+ Otherwise it violates the RFC 3501 text about FETCH responses.
+
+M src/imap/imap-fetch-body.c
+
+2018-02-15 18:16:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1b38fca665)
+
+ imap: Don't set storage callbacks before namespaces are created
+
+ This fixes sending untagged OK/NO notifications from storage (e.g. lock
+ waits/override notifications). It was broken by
+ e031d9aaae59a9f79710dc1138b76b69272615a3
+
+M src/imap/imap-client.c
+
+2018-02-15 18:15:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (700f5298a2)
+
+ imap: Add client_create_finish() to finish namespace creation.
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-master-client.c
+M src/imap/main.c
+
+2018-02-15 18:13:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a73052375a)
+
+ imap: When running standalone, delay initializing namespaces until PREAUTH
+ is sent
+
+ Most importantly this makes the code paths similar for standalone and
+ non-standalone clients, which is needed by the following commits.
+
+M src/imap/main.c
+
+2018-02-16 14:33:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (400d8aabe7)
+
+ lib: Fix compiler warning when arc4random_buf() is used for random_fill()
+
+
+M src/lib/randgen.c
+
+2018-02-16 14:26:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b56679429b)
+
+ lib: Add o_stream_uncork_flush() to both uncork and flush
+
+
+M src/lib/ostream.h
+
+2018-01-24 19:36:22 -0500 Hideo Yoshizane <hideo.yoshizane@open-xchange.com> (2fe26ac222)
+
+ charset-alias-plugin
+
+
+M configure.ac
+M src/plugins/Makefile.am
+A src/plugins/charset-alias/Makefile.am
+A src/plugins/charset-alias/charset-alias-plugin.c
+A src/plugins/charset-alias/charset-alias-plugin.h
+
+2018-02-15 23:41:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5cccb4af85)
+
+ lib-mail: message-parser: Fixed Clang 6.0 compiler warning.
+
+ Warning was:
+
+ index-mail.c:1182:3: warning: arithmetic on a null pointer treated as a cast
+ from integer to pointer is a GNU extension [-Wnull-pointer-arithmetic]
+ message_parser_parse_body(data->parser_ctx,
+ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ../../../src/lib-mail/message-parser.h:95:28: note: expanded from macro
+ 'message_parser_parse_body'
+ (void *)((char *)context + CALLBACK_TYPECHECK(callback, \
+ ~~~~~~~~~~~~~~~ ^
+
+M src/lib-mail/message-parser.h
+
+2018-02-15 17:50:43 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (a814eff9aa)
+
+ lib-master: Don't dup errors to service->set_pool in
+ master_service_settings_read
+
+ Use t_strdup() instead.
+
+M src/lib-master/master-service-settings.c
+
+2018-02-09 23:57:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ef45e8bfe4)
+
+ lib-http: server: Recreate connection IO after streams change.
+
+
+M src/lib-http/http-server-connection.c
+
+2018-02-09 23:56:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (47c89f8a25)
+
+ lib-http: client: Recreate connection IO after streams change.
+
+
+M src/lib-http/http-client-connection.c
+
+2018-02-10 00:07:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bca3d380d0)
+
+ lib-smtp: server: Recreate connection IO after streams change.
+
+
+M src/lib-smtp/smtp-server-connection.c
+
+2018-02-10 10:29:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1449300da8)
+
+ lib-http: server: Use the new connection_input_halt/resume() functions.
+
+
+M src/lib-http/http-server-connection.c
+
+2018-02-10 10:27:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (aaf5d12795)
+
+ lib-http: client: Use the new connection_input_halt/resume() functions.
+
+
+M src/lib-http/http-client-connection.c
+
+2018-02-10 10:07:28 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a103512f10)
+
+ lib-smtp: server: Use the new connection_input_halt/resume() functions.
+
+
+M src/lib-smtp/smtp-server-connection.c
+
+2018-02-10 10:01:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b2feec5644)
+
+ lib-smtp: client: Use the new connection_input_halt/resume() functions.
+
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-02-09 17:24:28 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (092762029d)
+
+ lib-ssl-iostream: ostream-openssl: Fix behavior of o_stream_flush() so that
+ 1 is only returned when buffer is empty.
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2018-02-15 15:47:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (16d3a93967)
+
+ lib-ssl-iostream: ostream-openssl: Create local variable for
+ sstream->ssl_io->plain_output in o_stream_ssl_flush().
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2018-02-10 09:55:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c85f67cfb8)
+
+ lib: connection: Add connection_input_halt() and connection_input_resume().
+
+ These are convenience functions that remove and add conn->io respectively.
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2018-02-10 09:37:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (419c831557)
+
+ lib-smtp: client: Moved smtp_client_init_ssl_ctx() from smtp-client.h to
+ smtp-client-private.h.
+
+
+M src/lib-smtp/smtp-client-private.h
+M src/lib-smtp/smtp-client.h
+
+2018-02-10 10:46:45 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7d3a967fb4)
+
+ lib-http: client: Use conn->conn.ioloop rather than cctx->ioloop in
+ connection.
+
+ This leads to somewhat simpler code, and makes having connections on
+ different ioloops easier in the future.
+
+M src/lib-http/http-client-connection.c
+
+2018-02-10 10:20:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (086b73efd1)
+
+ lib: connection: Record the ioloop the connection was last switched to.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2018-02-10 10:53:00 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c68926bf1d)
+
+ lib-http: client: Move connection to shared context's ioloop, rather than
+ the current_ioloop.
+
+ This is an omission.
+
+M src/lib-http/http-client-connection.c
+
+2018-02-14 22:20:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8366c177e4)
+
+ lib-smtp: server: Fix segfault occurring when XCLIENT command is handled.
+
+ Occurs only when the application (in this case LMTP) has a
+ conn_proxy_data_updated() callback. The context parameter was the struct
+ smtp_server_connection object itself, rather than the application context.
+ This caused the connection object to be overwritten.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2018-02-13 20:42:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2a33e0253a)
+
+ lib-smtp: server: Fix segfault occurring during XCLIENT when no extension
+ fields are configured.
+
+
+M src/lib-smtp/smtp-server-cmd-xclient.c
+
+2018-02-13 21:19:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (18b24aaee2)
+
+ lib-imap-storage: imap-msgpart-url: Perform the check for a proper
+ messagepart URL in imap_msgpart_url_create().
+
+ Before, this was an assert in imap_msgpart_url_create(). The actual check
+ was performed only in imap_msgpart_url_parse(), meaning that
+ imap_msgpart_url_create() would fail with an assertion when provided with an
+ inappropriate URL.
+
+ This surfaced as a problem for the submission BURL command.
+
+M src/lib-imap-storage/imap-msgpart-url.c
+
+2018-02-14 01:30:14 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (dfd522dbc9)
+
+ lib-smtp: server: Fix reporting of XCLIENT capability in EHLO response.
+
+ The trusted connection check logic was inverted.
+
+M src/lib-smtp/smtp-server-reply.c
+
+2018-02-08 17:19:24 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3a2098a987)
+
+ replication: Don't trigger replication on changes not visible to dsync
+
+ For example if there's a write to .cache file, it doesn't require
+ replication.
+
+M src/plugins/replication/replication-plugin.c
+
+2018-02-08 17:17:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8828d7a1e7)
+
+ lib-storage: Replace mail_transaction_commit_changes.changed with
+ changes_mask
+
+ This allows better finding out what changed in the transaction.
+
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/mail-storage.h
+M src/plugins/replication/replication-plugin.c
+
+2018-02-08 17:14:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (701a11e110)
+
+ lib-storage: Include mail-index.h from mail-storage.h
+
+ This makes it a bit more acceptable to use mail-index.h API, without having
+ to go through the lib-storage layer. This is also needed by the next patch
+ to avoid duplicating the same enum in both lib-index and lib-storage layer.
+
+M src/imap-urlauth/Makefile.am
+M src/lib-imap-urlauth/Makefile.am
+M src/lib-storage/mail-storage.h
+M src/plugins/imap-quota/Makefile.am
+M src/pop3/Makefile.am
+
+2018-02-08 17:00:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (08495095af)
+
+ lib-storage: Remove mailbox_transaction_context.nontransactional_changes
+
+ Nothing cares about them. It was only set for POP3 UIDL change with Maildir.
+ In theory dsync replication would want to replicate such a change, but it
+ doesn't actually support changing UIDLs for existing mails. Other mailbox
+ formats don't support it anyway.
+
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/mail-storage-private.h
+
+2018-02-08 16:53:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6a0855a04d)
+
+ lib-index: Add mail_index_transaction_commit_result.changes_mask
+
+ This can be used to determine what type of changes were committed in a
+ transaction.
+
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index.h
+
+2018-02-08 16:50:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4fbf718a46)
+
+ lib-index: Cleanup - return bool in log_append_keyword_updates()
+
+ Simplifies the next commit.
+
+M src/lib-index/mail-index-transaction-export.c
+
+2018-02-13 09:14:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d600de916f)
+
+ lib: Fix usec comparison in timeout_update_next
+
+ When tv_usec is exactly 1000000, call to kevent() will fail because tv_sec
+ does not get incremented.
+
+ Found by Adrian Gonzalez <adrianglz@globalpc.net>
+
+M src/lib/ioloop.c
+
+2017-12-13 19:05:30 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e0dae5d76e)
+
+ global: Flip MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT to ..._ALLOW_ROOT
+
+
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/main.c
+M src/indexer/indexer-worker.c
+M src/lda/main.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+M src/lmtp/main.c
+M src/plugins/quota/quota-status.c
+M src/pop3/main.c
+M src/submission/main.c
+M src/util/script-login.c
+
+2017-09-29 14:16:52 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (57316ab705)
+
+ lib-storage: Flip disallow_root in service_drop_privileges()
+
+
+M src/lib-storage/mail-storage-service.c
+
+2017-09-29 13:47:22 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (2047bbce87)
+
+ master: Flip disallow_root in drop_privileges()
+
+
+M src/master/service-process.c
+
+2017-09-29 13:40:12 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (816d20be0c)
+
+ lib: Add restrict_access_flags enum to use with restrict_access[_by_env]()
+
+ Swap parameter locations in the functions to make sure plugins are updated
+ to use the new api.
+
+M src/anvil/main.c
+M src/auth/main.c
+M src/config/main.c
+M src/dict/main.c
+M src/director/main.c
+M src/dns/dns-client.c
+M src/doveadm/main.c
+M src/imap-hibernate/main.c
+M src/indexer/indexer-worker.c
+M src/indexer/indexer.c
+M src/ipc/main.c
+M src/lib-program-client/program-client-local.c
+M src/lib-storage/mail-storage-service.c
+M src/lib/restrict-access.c
+M src/lib/restrict-access.h
+M src/lmtp/main.c
+M src/log/main.c
+M src/login-common/main.c
+M src/master/service-process.c
+M src/old-stats/main.c
+M src/plugins/quota/quota-status.c
+M src/replication/aggregator/aggregator.c
+M src/replication/replicator/replicator.c
+M src/stats/main.c
+M src/util/rawlog.c
+M src/util/script-login.c
+M src/util/script.c
+M src/util/tcpwrap.c
+
+2017-12-18 11:35:27 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (de0034cc6b)
+
+ lib: Flip drop_setuid_root in restrict_access_settings
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib/restrict-access.c
+M src/lib/restrict-access.h
+
+2017-12-18 12:44:14 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (2e30827b83)
+
+ lib-program-client: Remove extra drop_setuid_root flag copy
+
+
+M src/lib-program-client/program-client-local.c
+
+2018-02-02 18:35:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2e5c593f63)
+
+ lib-program-client: Run local client tests with valgrind
+ --trace-children=no.
+
+ Before, valgrind was omitted entirely.
+
+M src/lib-program-client/Makefile.am
+
+2018-02-02 18:33:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (745d731554)
+
+ Add support for running valgrind tests with --trace-children=no.
+
+
+M m4/dovecot.m4
+
+2018-02-02 18:37:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d117b74f38)
+
+ lib-program-client: test-program-client-local: Properly deallocate all
+ streams for big I/O test.
+
+
+M src/lib-program-client/test-program-client-local.c
+
+2018-02-12 12:28:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2c875b7fd8)
+
+ auth: Set correct context type when bypassing reporting in auth_success
+
+ Broken in 41ff6e6a4a085786d4c15a58c7c50a28e2110c3f
+
+M src/auth/auth-request.c
+
+2018-02-07 16:31:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d795262166)
+
+ global: Set extra_groups=$default_internal_group for various services
+
+ Services with user=$default_internal_user are expected to already set the
+ group properly. This change is adding the group for mail processes.
+
+M src/doveadm/doveadm-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap/imap-settings.c
+M src/indexer/indexer-worker-settings.c
+M src/lmtp/lmtp-settings.c
+M src/pop3/pop3-settings.c
+M src/submission/submission-settings.c
+
+2018-02-07 16:00:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c3d001b0dc)
+
+ lib: restrict_access_by_env() - Preserve RESTRICT_SETEXTRAGROUPS if root
+ isn't dropped
+
+ This way service { extra_groups } is preserved for the whole duration of the
+ process lifetime (e.g. lmtp, doveadm)
+
+M src/lib/restrict-access.c
+
+2018-02-07 13:06:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d522857ef0)
+
+ imap-hibernate: Change imap-hibernate default socket permissions to allow
+ default_internal_group
+
+ It would be enough to allow only imap processes access to it, but it
+ shouldn't really harm to allow other processes access to it also.
+
+M src/imap-hibernate/imap-hibernate-settings.c
+
+2018-02-07 13:05:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (49568744a8)
+
+ stats: Change stats-writer default socket permissions to allow
+ default_internal_group
+
+ It's important that all dovecot processes can send statistics to the stats
+ process.
+
+M src/stats/stats-settings.c
+
+2018-02-07 13:04:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (473da735fa)
+
+ dict: Change dict and dict-async default socket permissions to allow
+ default_internal_group
+
+ Many mail processes need to talk to dict. This makes it easier to enable
+ dict without having to configure permissions.
+
+M src/dict/dict-settings.c
+
+2018-02-07 13:03:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (36681376ff)
+
+ master: Add default_internal_group setting, defaulting to "dovecot"
+
+ It's expected that this is the primary group of the default_internal_user.
+
+ This group will be used to provide access to sockets that are generally
+ required by all Dovecot processes, but aren't safe enough to be allowed
+ completely open access from untrusted processes.
+
+M src/master/master-settings.c
+M src/master/master-settings.h
+
+2018-02-08 15:45:55 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c8177e49ca)
+
+ auth: Support standard auth variables in LDAP subqueries
+
+
+M src/auth/db-ldap.c
+
+2018-02-08 13:04:48 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8c533d1c49)
+
+ old-stats: Set process dumpable during stats gathering
+
+ /proc/self/io is not accessible otherwise
+
+M src/plugins/old-stats/mail-stats-fill.c
+
+2018-02-08 13:03:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ba05e19999)
+
+ lib: Add restrict_access_get/set_dumpable
+
+
+M src/lib/restrict-access.c
+M src/lib/restrict-access.h
+
+2018-02-08 13:01:50 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9eeaf4a8bb)
+
+ lib: Clarify restrict_access_allow_coredumps
+
+
+M src/lib/restrict-access.h
+
+2018-02-08 15:34:53 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (392616c228)
+
+ config: Fix ssl_params.dat conversion warning
+
+ The command is dhparam, not dh.
+
+M src/config/old-set-parser.c
+
+2018-02-08 13:27:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ca400a499c)
+
+ lib-http: client: Fix using non-context SSL settings
+
+ The SSL settings were used for the SSL context, but they weren't used for
+ individual SSL streams. This broke stream-only settings, like
+ allow_invalid_cert=TRUE.
+
+M src/lib-http/http-client-connection.c
+
+2018-02-07 16:48:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b66fc6ecce)
+
+ ipc: Change ipc socket's owner to $default_internal_user
+
+ This is mainly used by director process, which runs as
+ $default_internal_user. This setting change is always required for director
+ installations. Also the ipc process itself is already running as
+ $default_internal_user so this should be a rather safe change.
+
+M src/ipc/ipc-settings.c
+
+2018-02-08 02:26:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d3ce8bae67)
+
+ lib-ssl-iostream: Assert-crash if input stream has IO already set
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2018-02-08 02:22:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5a9bbcb13b)
+
+ lib: Add i_stream_get_root_io() and use it to deduplicate code
+
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2018-02-08 10:53:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1a145e6ad4)
+
+ lib-smtp: Recreate connection IO after streams change
+
+ This fixes hangs after STARTTLS.
+
+ Originally by Stephan Bosch
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-02-08 10:52:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ed567dac7e)
+
+ lib: Add connection_streams_changed()
+
+ Originally by Stephan Bosch
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2018-02-08 02:38:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (14995d3b1e)
+
+ doveadm: client: Set IO only after enabling SSL
+
+ io_add_istream() needs to be used with the SSL istream, otherwise it can
+ cause hangs.
+
+M src/doveadm/server-connection.c
+
+2018-02-08 02:28:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (330041c14a)
+
+ lib-imap-client: Fix IO after enabling SSL
+
+ io_add_istream() needs to be used with the SSL istream, otherwise it can
+ cause hangs.
+
+M src/lib-imap-client/imapc-connection.c
+
+2018-02-01 23:04:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2da20ac5a4)
+
+ dsync: Log a warning if copying a mail fails unexpectedly
+
+ Don't log a warning if it happens because the source message was expunged.
+ That's an expected failure.
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2018-01-09 15:37:25 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (2477c8689f)
+
+ lib-storage: Lock mailbox_list for mailbox create/delete/rename
+
+ This is only required for mailbox creation to fix a race condition with
+ LAYOUT=index: If INBOX doesn't exist it will rescan the mailboxes to find
+ out if there are any missing ones. If INBOX creation isn't locked, it's
+ possible that the first process hasn't finished creating INBOX before the
+ second process find it and attempts to open it.
+
+ The delete and rename locking are probably useful to guard against race
+ conditions when clients intentionally issues create/delete/rename commands
+ concurrently.
+
+M src/lib-storage/mail-storage.c
+
+2018-01-09 15:36:58 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (847caf605d)
+
+ lib-storage: Add mailbox_list_[un]lock()
+
+
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+
+2018-01-09 15:35:13 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (1a8872ce4e)
+
+ lib-storage: mailbox_delete() - Fix cleanup in error handling
+
+ If removing index deletion mark failed, box->deleting wasn't set to FALSE
+ and the mailbox was left opened.
+
+M src/lib-storage/mail-storage.c
+
+2018-01-09 15:33:26 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (a0169b23c3)
+
+ lib-storage: mailbox_rename() - Use source storage for errors
+
+ It was documented to use source storage for errors, but some of the errors
+ were set to destination storage.
+
+M src/lib-storage/mail-storage.c
+
+2018-02-02 18:07:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (12c51b0039)
+
+ lib-storage: Fix mailbox rename checking child mailbox name lengths
+
+ It was supposed to prevent allowing renames that would cause any child
+ mailbox name to be too long. However, the check wasn't working.
+
+M src/lib-storage/mail-storage.c
+
+2018-02-06 12:37:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b757d62e11)
+
+ fs-posix: Fix iterating directories when readdir() returns DT_UNKNOWN
+
+ Files were iterated correctly, but directories weren't. This mainly broke
+ directory iteration with NFS when nordirplus mount option was used.
+
+M src/lib-fs/fs-posix.c
+
+2018-02-06 15:12:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (72d64b868b)
+
+ replication: Don't send notification for changes done by dsync transactions
+
+
+M src/plugins/replication/replication-plugin.c
+
+2018-02-06 15:10:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6c2e7ad9c4)
+
+ lib-storage: Set mailbox_transaction_context.flags earlier
+
+ Set it in index_transaction_init() so plugins' transaction_begin() methods
+ see it after calling super.transaction_begin().
+
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/mail-storage.c
+
+2018-02-07 15:28:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fa649b1fa9)
+
+ cassandra: Make sure timestamp is always logged (if set) with
+ debug_queries=y
+
+ It wasn't logged in some code paths.
+
+M src/lib-sql/driver-cassandra.c
+
+2018-02-07 15:27:07 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (af619a2595)
+
+ cassandra: Fix setting timestamp for transaction queries with v3 protocol
+
+ It was working for prepared statements, but not for non-prepared statements.
+
+M src/lib-sql/driver-cassandra.c
+
+2018-02-07 16:17:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bdcd91c28c)
+
+ lib-index: Fix assert-crash with lock_method=dotlock
+
+ The dotlock wasn't deleted in all code paths. Fix this by simplifying the
+ unlocking to be done the same way with and without dotlock.
+
+ Fixes: Panic: file mail-cache.c: line 624 (mail_cache_lock_file): assertion
+ failed: (cache->dotlock == NULL)
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+
+2018-02-06 09:48:11 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (41ff6e6a4a)
+
+ auth: Add policy check configuration options
+
+ Allows disabling before/after auth checks, or reporting.
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+
+2018-02-05 14:26:15 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (31cc294896)
+
+ auth: Use correct username is auth policy requests
+
+ When doing master authentication as first, use the username of the user, not
+ master user, for policy lookup.
+
+M src/auth/auth-policy.c
+M src/auth/auth-settings.c
+
+2018-02-06 18:01:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (74943466e5)
+
+ lib-storage: mail_storage_lock_create() - add support for dotlocks
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-user.c
+
+2018-02-06 17:49:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9eb5adf5cc)
+
+ lib-storage: Change mail_user_lock_file_create() to use
+ mail_storage_lock_create()
+
+
+M src/lib-storage/mail-user.c
+
+2018-02-06 17:47:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2039bdca26)
+
+ lib-storage: Add mail_storage_lock_create()
+
+ This is split off of mailbox_lock_file_create().
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2018-02-06 17:35:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f27a51cd9a)
+
+ lib: Add file_lock_from_dotlock()
+
+ The dotlock creation requires various settings, so the file-lock.h API can't
+ easily be used to create it. But once created, it's simpler to keep all lock
+ types in the same struct file_lock, which can be unlocked/freed once
+ finished.
+
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+
+2018-02-06 15:50:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f0f2cc0a29)
+
+ lib: time-util: Fix timeval_cmp_margin() to correctly handle a margin
+ crossing the second boundary.
+
+ The timeval_cmp_margin() function incorrectly assumed that the margin is
+ irrelevent when the tv_sec values are different.
+
+M src/lib/test-time-util.c
+M src/lib/time-util.c
+
+2018-02-06 16:51:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (45729acb14)
+
+ lib: test-time-util: Put all test data for timeval_cmp() test in a single
+ struct array.
+
+
+M src/lib/test-time-util.c
+
+2018-02-05 22:21:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f5a00a8bc6)
+
+ fts: Don't reindex FTS mails if .cache file is deleted
+
+ This means that if fts is enabled, "doveadm index" no longer adds mails to
+ dovecot.index.cache if it's deleted. However, it was rarely used for that
+ purpose. More likely due to a corrupted cache file all the mails were
+ unnecessarily being opened and reindexed.
+
+M src/plugins/fts/fts-storage.c
+
+2018-02-05 23:54:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f5e3576391)
+
+ fts: Fix searching headers with TEXT/BODY
+
+ TEXT is searching headers and BODY is searching MIME headers. Those headers
+ were indexed with data language, so search must also include data language
+ when looking up words. We'll just include the data language for all searches
+ now, so it should always work correctly.
+
+M src/plugins/fts/fts-user.c
+
+2018-02-05 23:51:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4a3584d6ab)
+
+ fts: Fix searching SEARCH_HEADER_ADDRESS/COMPRESS_LWSP
+
+ These are "non-language" headers that are being searched, so they need to be
+ searched using data language.
+
+M src/plugins/fts/fts-search-args.c
+
+2017-12-14 11:44:52 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (39914d983f)
+
+ quota: Warn when quota check is blocked by background quota calculation
+
+ This was previously double logged as "Quota transaction has failed earlier"
+ error.
+
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2018-01-10 15:45:51 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (a921274624)
+
+ quota: Remove "Failed to set quota transaction limits" error
+
+ This error adds nothing that helps the user to debug a problem.
+
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2017-12-14 12:47:00 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (de338ef277)
+
+ quota-count: Remove extra "quota-count failed:" from error_r
+
+
+M src/plugins/quota/quota-count.c
+
+2018-02-01 00:14:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9d606eb501)
+
+ lib-lda: Parse Return-Path header using RFC5322 (IMF) "path" syntax, rather
+ than RFC5321 (SMTP) "Path" syntax.
+
+ SMTP does not allow white space, which causes all kinds of trouble when the
+ address is parsed from a header field.
+
+M src/lib-lda/mail-deliver.c
+
+2018-02-01 00:08:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1558129751)
+
+ lib-mail: message-address: Add support for parsing RFC5322 "path" syntax.
+
+ This is either a single angle-addr or just <>. This path syntax differs from
+ the RFC5321 "Path" syntax in that it allows whitespace, which is very
+ important when it is parsed from a header.
+
+M src/lib-mail/message-address.c
+M src/lib-mail/message-address.h
+M src/lib-mail/test-message-address.c
+
+2018-02-01 09:19:10 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (421e784f23)
+
+ lib-ssl-iostream: Fix premature NULL deref
+
+ Broken in 4836d541b1c1354073e068aabe5cd92aa67fe61d
+
+ Found by coverity
+
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2018-01-31 19:48:49 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (78f03b6c6a)
+
+ lib-imap: imap_match_deinit(NULL) should be a no-op
+
+
+M src/lib-imap/imap-match.c
+
+2018-01-31 22:14:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8c1202f6cf)
+
+ lib-imap-urlauth: Fix segfault occurring when userid part is missing for
+ "user+" or "submit+" URLAUTH access.
+
+
+M src/lib-imap-urlauth/imap-urlauth.c
+
+2018-01-31 10:27:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f8d9e6c977)
+
+ lmtp: local: Use recipient index in lmtp_local_rcpt_reply_overquota().
+
+ When used during the DATA command, it should send a reply for the correct
+ recipient. During the RCPT command there is only one reply due. Added assert
+ that checks this.
+
+M src/lmtp/lmtp-local.c
+
+2018-01-31 10:34:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c23717da4a)
+
+ lmtp: local: Add explicit cmd parameter to
+ lmtp_local_rcpt_reply_overquota().
+
+ Using the RCPT cmd is only valid for the RCPT command and not when quota
+ excess is detected during DATA. That would cause a segmentation fault, since
+ rcpt->rcpt.rcpt_cmd == NULL.
+
+M src/lmtp/lmtp-local.c
+
+2018-01-31 10:30:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (cdbcc8db8e)
+
+ lmtp: local: Make local variable for rcpt->rcpt.rcpt_cmd in
+ lmtp_local_rcpt_check_quota().
+
+
+M src/lmtp/lmtp-local.c
+
+2018-01-29 09:55:51 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (f9911b2301)
+
+ imap: Iterate over ns settings when deciding to add SPECIAL-USE capability
+
+ To determine whether we should add the SPECIAL-USE capability to the OK
+ response to LOGIN, we have to iterate over namespace and mailbox
+ *settings* since the namespaces haven't been set up yet.
+
+M src/imap/imap-client.c
+
+2018-01-27 23:20:08 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3f64825cfa)
+
+ submission: Add settings that configure the connect and command reply
+ timeouts.
+
+
+M src/submission/submission-client.c
+M src/submission/submission-settings.c
+M src/submission/submission-settings.h
+
+2018-01-29 08:43:05 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (5109f00ce0)
+
+ global: start relying on file_lock_free(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - file_lock_free(&E);
+ - }
+ + file_lock_free(&E);
+
+M src/lib-index/mail-cache.c
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/mail-autoexpunge.c
+M src/lib/file-lock.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+
+2018-01-29 08:41:03 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (ceb8c97c6c)
+
+ global: start relying on mailbox_header_lookup_unref(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - mailbox_header_lookup_unref(&E);
+ - }
+ + mailbox_header_lookup_unref(&E);
+
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/imap/imap-fetch.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/plugins/mail-log/mail-log-plugin.c
+M src/plugins/virtual/virtual-mail.c
+
+2018-01-29 08:40:27 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (cdc472f6e6)
+
+ lib-storage: mailbox_header_lookup_unref(NULL) should be a no-op
+
+
+M src/lib-storage/mailbox-header.c
+
+2018-01-29 08:38:45 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (a2e1929a26)
+
+ lib-mail: start relying on mail_html2text_deinit(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - mail_html2text_deinit(&E);
+ - }
+ + mail_html2text_deinit(&E);
+
+M src/lib-mail/message-snippet.c
+
+2018-01-29 08:38:16 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (86174ed145)
+
+ lib-mail: mail_html2text_deinit(NULL) should be a no-op
+
+
+M src/lib-mail/mail-html2text.c
+
+2017-11-09 10:37:34 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (ac581db9a4)
+
+ global: start relying on ssl_iostream_destroy(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - ssl_iostream_destroy(&E);
+ - }
+ + ssl_iostream_destroy(&E);
+
+M src/doveadm/client-connection-tcp.c
+M src/doveadm/doveadm-dsync.c
+M src/lib-smtp/smtp-server-connection.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+
+2017-11-09 10:39:25 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (4836d541b1)
+
+ ssl-iostream: ssl_iostream_destroy(NULL) should be a no-op
+
+
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2017-11-09 10:34:21 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (cff2942962)
+
+ global: start relying on iostream_proxy_unref(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - iostream_proxy_unref(&E);
+ - }
+ + iostream_proxy_unref(&E);
+
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+
+2017-11-09 10:36:02 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (ba4cff3145)
+
+ lib: iostream_proxy_unref(NULL) should be a no-op
+
+
+M src/lib/iostream-proxy.c
+
+2017-11-09 10:30:51 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (e9fbe5e18b)
+
+ global: start relying on str_free(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - str_free(&E);
+ - }
+ + str_free(&E);
+
+M src/imap-login/imap-login-cmd-id.c
+M src/imap/imap-fetch.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fts/fts-filter.c
+M src/lib-http/http-client-request.c
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/index-search-mime.c
+M src/lib/istream.c
+M src/login-common/client-common.c
+M src/plugins/acl/acl-attributes.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2017-11-09 10:32:32 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (a419baa1f4)
+
+ lib: str_free(NULL) should be a no-op
+
+
+M src/lib/str.c
+
+2018-01-30 14:14:42 +0200 Phil Carmody <phil@dovecot.fi> (806fd09a50)
+
+ lib/randgen - warn when DOVECOT_SRAND is not able to be used
+
+ As suggested by Jeff, it's friendly to warn if we're unable to act upon the
+ request for reproduceable random numbers because we're not built for that.
+
+ Note, this deliberately permits a blank string, so that you can silence the
+ warning by prefixing a command with an empty
+ DOVECOT_SRAND= which is taken as an explicit attempt to disable use of the
+ feature.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/randgen.c
+
+2018-01-30 13:47:18 +0200 Phil Carmody <phil@dovecot.fi> (57f2dd5927)
+
+ lib/randgen - always print the DOVECOT_SRAND seed, not just on fatals
+
+ Devs might want to reproduce "working" pathways that show slight
+ misbehaviour, not just crashing ones. The later print upon a crash/ fatal is
+ left in, as the heads of logs can become separated from the tails of logs
+ quite easily, it's only one extra line per run.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/randgen.c
+
+2018-01-30 18:48:51 +0200 Phil Carmody <phil@dovecot.fi> (605b1a5e46)
+
+ lib/randgen - use KISS as intended, not as originally posted to sci.crypt
+
+ The original KISS, as posted to sci.crypt, had a SHR3 component with short
+ cycles. The buggy version contradicted Marsaglia's original cycle length
+ claim, and it had already been fixed in KISS11, so it's fair to assume this
+ was always the intended implementation.
+
+ For details see G. Rose "KISS: A Bit Too Simple".
+
+ Whilst dealing with that issue, fix seeding so w and z can't both be short
+ (length 2) cycles, as also pointed out in the Rose paper.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/randgen.c
+
+2018-01-29 19:10:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bfa8b471b3)
+
+ doveadm: dsync: Switch ioloop for input/output streams while making TCP
+ connection.
+
+ This task is performed in a sub-ioloop, and when returning from that ioloop,
+ the output stream would sometimes still have an object on the sub-ioloop
+ that was just destroyed.
+
+M src/doveadm/doveadm-dsync.c
+
+2018-01-29 18:28:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (df12456ea9)
+
+ lib-ssl-iostream: openssl: Make verbose logging robust against i_debug()
+ writing to stream itself.
+
+ In dsync, i_debug() is overridden to write to the SSL stream itself through
+ a multiplexed data stream. So, during the i_debug() call all kinds of things
+ can happen to the persisted error string in the stream, which caused
+ problems.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2018-01-16 02:02:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a68aaff537)
+
+ lib-http: client: Make sure all ioloop objects are created on the ioloop
+ that the client/context is switched to.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+
+2018-01-17 00:37:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8836c374dc)
+
+ lib-dns: Allow setting the ioloop that the dns_lookup/dns_client is started
+ on.
+
+
+M src/lib-dns/dns-lookup.c
+M src/lib-dns/dns-lookup.h
+
+2018-01-17 02:50:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ddaf416216)
+
+ lib: connection: Allow switching to a specific ioloop.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2018-01-17 02:49:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8aa8399893)
+
+ lib: ostream: Allow switching to a specific ioloop.
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib/ostream-file.c
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2018-01-17 02:48:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (038c283144)
+
+ lib: istream: Allow switching to a specific ioloop.
+
+
+M src/lib-http/http-server-request.c
+M src/lib/istream-multiplex.c
+M src/lib/istream-private.h
+M src/lib/istream-timeout.c
+M src/lib/istream.c
+M src/lib/istream.h
+
+2018-01-24 23:02:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b3b813a647)
+
+ lib: iostream: Record the ioloop that the iostream was last switched to.
+
+
+M src/lib/iostream-private.h
+M src/lib/iostream.c
+M src/lib/istream.c
+M src/lib/ostream.c
+
+2018-01-16 19:37:46 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2f2c523b08)
+
+ lib: ioloop: Add functions for adding/moving timeouts and ios to a specific
+ ioloop.
+
+
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2018-01-29 22:17:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2435290e44)
+
+ imap-login: Fix copyright notice in imap-login-cmd-id.c.
+
+
+M src/imap-login/imap-login-cmd-id.c
+
+2018-01-26 10:55:54 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a9b135760a)
+
+ lib-auth: Remove request after abort
+
+ Otherwise the request will still stay in hash table and get dereferenced
+ when all requests are aborted causing an attempt to access free'd memory.
+
+ Found by Apollon Oikonomopoulos <apoikos@debian.org>
+
+ Broken in 1a29ed2f96da1be22fa5a4d96c7583aa81b8b060
+
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-auth/auth-server-connection.h
+
+2018-01-28 00:14:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b5d61c3f6e)
+
+ submission: Properly handle omission of required authentication for relay
+ connection.
+
+ Particularly, do not forward the 530 error to the client. Instead, log the
+ problem and close the client connection with an internal error.
+
+M src/submission/submission-commands.c
+
+2018-01-28 00:10:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (def7173e3b)
+
+ lib-smtp: server: Fix overwriting a previously submitted reply.
+
+ The submitted flag was not reset, nor was the replies_submitted counter
+ decreased. This caused assertion failures.
+
+M src/lib-smtp/smtp-server-reply.c
+
+2018-01-28 21:39:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6e1bc1f4a0)
+
+ lib-http: client: Assert that req->client != NULL in
+ http_client_request_send_error().
+
+ Applies when blocking payload output API is being used. Addresses a report
+ by scan-build.
+
+M src/lib-http/http-client-request.c
+
+2018-01-28 11:44:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a56840e419)
+
+ lib-smtp: client: Fix timeout leak sometimes occurring at unexpected remote
+ disconnect.
+
+ While disconnected, newly submitted commands are queued, yet scheduled for
+ immediate failure. The timeout used for that was not cleaned up.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-01-26 20:37:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d9683a6493)
+
+ lib-program-client: Make an explicit enum for the exit code.
+
+ Before, the meaning of the code was confusing, since the actual program
+ returns a different set of values.
+
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+
+2018-01-20 21:32:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (71a4fc61f9)
+
+ lib-program-client: local: Add test for big data I/O.
+
+
+M src/lib-program-client/test-program-client-local.c
+
+2018-01-24 01:17:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e9853e8d86)
+
+ lib-program-client: Document the purpose of the use_dotstream setting.
+
+
+M src/lib-program-client/program-client.h
+
+2018-01-23 21:14:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4427c6add0)
+
+ lib-program-client: Add comments to program_input/program_output functions.
+
+
+M src/lib-program-client/program-client.c
+
+2018-01-22 23:43:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (824ca2373b)
+
+ lib-program-client: Flush/finish the output stream after
+ o_stream_send_istream().
+
+ There may still be data in the output stream buffer. Failing to flush this
+ leads to truncated output. For the output towards the program
+ o_stream_finish() is used, since there may be an ostream_dot in between (or
+ something else for future features).
+
+M src/lib-program-client/program-client.c
+
+2018-01-24 01:09:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3e1b133686)
+
+ lib-program-client: remote: Don't change exit_code in
+ program_client_remote_disconnect() when program_input is already NULL.
+
+ When the program_input is NULL, the stream is finished, meaning that the
+ exit_code is set based on the return code. There can be a program_input for
+ remote streams, even when the program produces no output.
+
+M src/lib-program-client/program-client-remote.c
+
+2018-01-23 21:38:27 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b99e1062d1)
+
+ lib-program-client: Simplify cleanup of dot input stream in
+ program_client_program_input().
+
+
+M src/lib-program-client/program-client.c
+
+2018-01-23 21:24:35 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d9b6d24bfa)
+
+ lib-program-client: Restructure reading input from program to simplify
+ handling of dot input stream.
+
+
+M src/lib-program-client/program-client.c
+
+2018-01-22 23:25:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (23a7a07d4d)
+
+ lib-program-client: Use reliable means of checking for input stream EOF.
+
+
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+
+2018-01-24 21:48:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e4d05b8c5d)
+
+ lib-program-client: Remove check for -2 returned from i_stream_read_more().
+
+ The stream must have space for at least 1 byte.
+
+M src/lib-program-client/program-client.c
+
+2018-01-23 22:16:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (364ba9bc3d)
+
+ lib-program-client: Remove useless stream eof check.
+
+ It also looks to be problematic.
+
+M src/lib-program-client/program-client.c
+
+2018-01-08 11:38:37 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (c211cfd6ad)
+
+ lib-imap-client: continue imapc operation on parsing errors.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2018-01-25 22:24:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1dd30824d3)
+
+ lib-smtp: client: Fix ignoring invalid certificate from server.
+
+ Although it initially allowed the invalid certificate, it would still fail
+ later on while reading/writing the SSL streams.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-01-25 12:27:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (54d0a5a308)
+
+ lib-storage: Fix adding body.snippet to cache
+
+ Unless body.snippet was in mail_always_cache_fields, it didn't get added to
+ the cache file.
+
+M src/lib-storage/index/index-mail.c
+
+2018-01-25 12:35:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f22e0ce9bb)
+
+ lib-storage: Add comment to how mail_cache_field_can/want_add() is used
+
+
+M src/lib-storage/index/index-mail.c
+
+2018-01-25 12:35:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (69a43b024f)
+
+ lib-index: Update comments for mail_cache_decision_*()
+
+
+M src/lib-index/mail-cache-private.h
+
+2017-12-18 16:50:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1a29ed2f96)
+
+ lib-auth: Fix memory leak in auth_client_request_abort()
+
+ This caused memory leaks when authentication was aborted. For example with
+ IMAP:
+
+ a AUTHENTICATE PLAIN
+ *
+
+ Broken by 9137c55411aa39d41c1e705ddc34d5bd26c65021
+
+M src/lib-auth/auth-client-request.c
+
+2018-01-24 13:47:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (50977ed689)
+
+ lib: i_stream_read_more() - assert it can't return -2
+
+
+M src/lib/istream.h
+
+2018-01-24 18:01:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0ee986fe3d)
+
+ lib-index: Write forced cache decision changes immediately to cache file
+
+ When mail_always/never_cache_fields doesn't match the current caching
+ decisions in the cache file, write the updated decisions to the file.
+
+M src/lib-index/mail-cache-fields.c
+
+2018-01-24 18:01:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8841d0b8b4)
+
+ lib-index: Code cleanup for reading caching decisions
+
+ No functional changes.
+
+M src/lib-index/mail-cache-fields.c
+
+2018-01-24 17:58:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9dba6a3234)
+
+ lib-index: Finish fixing removal of forced cache decisions from existing
+ cache files
+
+ 6ef2504d020461b0f480766c41596595a4300023 didn't fix it for already known
+ fields.
+
+M src/lib-index/mail-cache-fields.c
+
+2018-01-24 14:48:36 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9cc53ac30c)
+
+ lib-storage: Rename .vsize.lock file to dovecot-vsize.lock
+
+ .vsize.lock can break maildir++ because it looks like a maildir folder, so
+ rename it to dovecot-vsize.lock.
+
+ Introduced in 9963bef6
+
+M src/lib-storage/index/index-mailbox-size.c
+M src/plugins/quota/quota-storage.c
+
+2018-01-23 10:51:26 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d567cc2791)
+
+ push-notification: PUSH_NOTIFICATION_USER_CONTEXT is now required
+
+ Satisfies static analyzers
+
+M src/plugins/push-notification/push-notification-plugin.c
+
+2018-01-23 10:49:40 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a220c655b1)
+
+ fts-lucene: Add and use FTS_LUCENE_USER_CONTEXT_REQUIRE
+
+ Satisfies static analyzers
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/fts-lucene-plugin.h
+
+2018-01-23 10:47:49 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (769cf5a48f)
+
+ welcome: WELCOME_CONTEXT is now required
+
+ Satisfies static analyzers
+
+M src/plugins/welcome/welcome-plugin.c
+
+2018-01-23 10:46:30 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ef332139cd)
+
+ expire: DOVEADM_EXPIRE_MAIL_CMD_CONTEXT is now required
+
+ Satisfied static analyzers
+
+M src/plugins/expire/doveadm-expire.c
+
+2018-01-23 10:44:02 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (109c39ab66)
+
+ virtual: Contexts are now required or checked
+
+ Satisfies static analyzers
+
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+
+2018-01-23 10:41:35 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9390fe0c1b)
+
+ quota: Add and use QUOTA_USER_CONTEXT_REQUIRE
+
+ Satisfies static analyzers
+
+M src/plugins/quota/quota-plugin.h
+M src/plugins/quota/quota-storage.c
+
+2018-01-23 10:40:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d355b7da3f)
+
+ imap-zlib: Context is now required
+
+ Satisfies static analyzers
+
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+
+2018-01-23 10:39:30 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d14fd32eff)
+
+ lazy-expunge: Fix context checking
+
+ Was not done properly in 462a3d92adcde4bfa9a575875bd8ae740b89ce9e
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2018-01-22 14:04:47 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3747362a78)
+
+ mail-crypt: Add and use MAIL_CRYPT_USER_CONTEXT_REQUIRE
+
+ Satisfies static analyzers
+
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+
+2018-01-22 14:02:39 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (bae41e95e9)
+
+ fts-solr: Add and use FTS_SOLR_USER_CONTEXT_REQUIRE
+
+ Satisfies static analyzers
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/fts-solr-plugin.h
+
+2018-01-23 11:37:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b8a3be58d2)
+
+ acl: Fix ACL_CONTEXT check
+
+ Was incorrect in 3131b3878de3245db7552234e66d437e8fde9351
+
+M src/plugins/acl/acl-mailbox.c
+
+2018-01-23 10:38:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (88a4bd48b0)
+
+ acl: Add and use ACL_USER_CONTEXT_REQUIRE
+
+ Satisfies static analyzers
+
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-plugin.h
+M src/plugins/acl/doveadm-acl.c
+
+2018-01-22 14:00:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5e10e813a3)
+
+ acl: Add and use ACL_LIST_CONTEXT_REQUIRE
+
+ Satisfies static analyzers
+
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-plugin.h
+
+2018-01-22 13:57:12 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d2f059e65b)
+
+ lib-storage: imapc - Ensure search ctx is not NULL
+
+ Satisfies static analyzers
+
+M src/lib-storage/index/imapc/imapc-search.c
+
+2018-01-22 13:54:58 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c51390c3ae)
+
+ lib-storage: Add and use MAIL_STORAGE_CONTEXT_REQUIRE
+
+ Satisfies static analyzers
+
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/mail-storage-private.h
+
+2018-01-22 13:52:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (01959a28a1)
+
+ lib-storage: Add and use MAIL_THREAD_CONTEXT_REQUIRE
+
+ Satisfies static analyzers
+
+M src/lib-storage/index/index-thread.c
+
+2018-01-22 13:50:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c04adbeb0f)
+
+ lib-index: Add and use CACHE_TRANS_CONTEXT_REQUIRE
+
+ Satisfies static analyzers
+
+M src/lib-index/mail-cache-transaction.c
+
+2018-01-22 09:38:26 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (43ce61b1d7)
+
+ lib-storage: Add and use INDEX_LIST_CONTEXT_REQUIRE
+
+ Satisfies static analyzers
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/list/mailbox-list-notify-tree.c
+
+2018-01-20 20:42:02 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6deb39ab91)
+
+ mail-log: Contexts are now required or checked
+
+ Satisfies static analyzers
+
+M src/plugins/mail-log/mail-log-plugin.c
+
+2018-01-20 15:44:56 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b1407b9891)
+
+ auth: db-lua - Do not assert-crash if given parameter was not auth_request
+
+ Use luaL_error instead that will back out more gracefully.
+
+ Fixes Panic: file db-lua.c: line 279 (auth_lua_check_auth_request):
+ assertion failed: (lua_istable(script->L, arg))
+
+M src/auth/db-lua.c
+
+2018-01-20 20:33:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (852804fa63)
+
+ auth: db-lua - Use luaL_error correctly
+
+
+M src/auth/db-lua.c
+
+2018-01-23 00:04:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6ef2504d02)
+
+ lib-index: Fix removal of forced cache decisions from existing cache files
+
+ The forced-flags are written to the cache file when the file is created.
+ They were also read back, and the force-flag was preserved even when the
+ configuration was removed.
+
+M src/lib-index/mail-cache-fields.c
+
+2018-01-22 17:38:32 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (de3018a274)
+
+ lib-index: Fix adding forced cache decisions to existing cache files
+
+ If a field already existed in the cache file, the cache decision from the
+ file was always used. This caused force-decisions to be ignored.
+
+M src/lib-index/mail-cache-fields.c
+
+2018-01-22 18:51:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3a862c8c9e)
+
+ submission: Enable verbose reporting of relay server certificate problems.
+
+
+M src/submission/submission-client.c
+
+2018-01-22 15:58:51 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (e3440f3861)
+
+ lib: cast {,CONST_}PTR_OFFSET's offset argument to size_t
+
+ This fixes build on 32-bit systems where the addition may cause integer
+ promotion to an integer type larger than uintptr_t.
+
+ gcc 6.3.0 warning:
+
+ file-cache.c: In function 'file_cache_write': macros.h:25:3: warning: cast
+ to pointer from integer of different size [-Wint-to-pointer-cast]
+ ((void *) (((uintptr_t) (ptr)) + (offset)))
+
+M src/lib/macros.h
+
+2018-01-19 23:32:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c26c060e41)
+
+ lib-smtp: client: Assign only connection settings during connection
+ initialization.
+
+ Due to some copy-paste mistake, some global client settings were assigned
+ instead.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-01-19 23:31:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7501ff318c)
+
+ lib-smtp: client: Always use per-connection settings in connection.
+
+ Some part of the connection code referred to global client settings.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-01-19 16:05:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5db9891a9d)
+
+ lib-smtp: client: Properly allow per-connection SSL configuration.
+
+ Although this was already partially possible, the connection was still
+ always using the global client SSL context.
+
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2018-01-19 14:44:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (68d5107868)
+
+ lib-smtp: client: Fix segfault occurring in connection when SSL certificate
+ is invalid.
+
+ The connection is using its own local SSL settings to determine whether an
+ invalid certificate is allowed. However, these local settings were not
+ properly initialized.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2018-01-22 13:33:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fe2a62737d)
+
+ imapc: Fix deleting mailbox
+
+ Broken by f8f30bd27e41e1041a8de0b97f35d7d75e0a412e
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2018-01-20 18:48:00 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (711f19747d)
+
+ lib-http: test-http-payload: Initialize http_context in
+ test_client_create_clients().
+
+ Fixes complaint from scan-build.
+
+M src/lib-http/test-http-payload.c
+
+2018-01-20 16:48:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (db926ebb4a)
+
+ lib-smtp: address: Remove useless local variable initialization in
+ smtp_address_clone().
+
+ Fixes complaint from scan-build.
+
+M src/lib-smtp/smtp-address.c
+
+2018-01-04 12:44:16 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (c1f8d7ab0d)
+
+ imap: support for FETCH SNIPPET
+
+
+M configure.ac
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+
+2018-01-19 10:27:09 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (0c2eb905a8)
+
+ old-stats-plugin: Fix context requirements
+
+ Fixes Panic: Module context stats_storage_module missing
+
+ Broken by 6afdf0b6fce26c5492d5e56f6f16fb8a4d869566
+
+M src/plugins/old-stats/stats-plugin.c
+
+2018-01-18 15:29:42 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (615b4468c0)
+
+ pop3-migration-plugin: Fix context requirements
+
+ Fixes Panic: Module context pop3_migration_storage_module missing
+
+ Broken by a8703ce24540b7efaa51a8c7d3c72e72727f9789
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2018-01-04 12:41:23 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (677b75f90d)
+
+ global: don't cast NULL to void *
+
+ NULL is guaranteed to be a void * thanks to
+ dd6043c05e32a8e8db1233ed711a2c74d1477a89.
+
+M src/anvil/main.c
+M src/auth/auth-request-handler.c
+M src/auth/userdb-passwd.c
+M src/director/director-test.c
+M src/director/main.c
+M src/imap/imap-fetch-body.c
+M src/lib-http/test-http-client-errors.c
+M src/lib-http/test-http-payload.c
+M src/lib-http/test-http-server-errors.c
+M src/lib-http/test-http-server.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-lda/mail-send.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-smtp/test-smtp-client-errors.c
+M src/lib-smtp/test-smtp-payload.c
+M src/lib-smtp/test-smtp-server-errors.c
+M src/lib-smtp/test-smtp-submit.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib/lib-signals.c
+M src/lib/test-ioloop.c
+M src/replication/replicator/replicator.c
+
+2018-01-08 15:08:10 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e42b74025f)
+
+ auth: passdb-cache - Verify credentials with worker when enabled
+
+
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+M src/auth/passdb-cache.c
+
+2018-01-08 15:00:17 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (af1a6345ab)
+
+ auth: Expose auth_request_verify_plain_callback_finish
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2018-01-08 15:09:28 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (dc3ee76ef7)
+
+ auth-worker: Support PASSW request
+
+ This will attempt to verify given credentials.
+
+M src/auth/auth-worker-client.c
+
+2018-01-08 14:52:10 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (50168536f8)
+
+ auth-worker: Add auth_worker_auth_request_new
+
+ Replaces worker_auth_request_new, moves in check for username and service.
+ Simplifies code.
+
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-client.h
+
+2018-01-02 12:33:50 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (85a68e861c)
+
+ auth: passdb-blocking - Expose passdb_blocking_auth_worker_reply_parse
+
+ Enables sharing code with passdb cache
+
+M src/auth/passdb-blocking.c
+M src/auth/passdb-blocking.h
+
+2018-01-17 12:15:16 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2b1a3f0eb7)
+
+ last-login: Contexts are now required or checked
+
+ Satisfies static analyzers
+
+M src/plugins/last-login/last-login-plugin.c
+
+2018-01-17 12:14:22 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5b8e42f398)
+
+ mail-crypt: Contexts are now required or checked
+
+ Satisfies static analyzers
+
+M src/plugins/mail-crypt/mail-crypt-acl-plugin.c
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+
+2018-01-17 10:28:48 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6afdf0b6fc)
+
+ old-stats: Contexts are now required or checked
+
+ Satisfies static analyzers
+
+M src/plugins/old-stats/mail-stats-connection.c
+M src/plugins/old-stats/stats-plugin.c
+M src/plugins/old-stats/stats-plugin.h
+
+2018-01-17 10:23:05 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7f7e7c16d9)
+
+ quota-clone: Contexts are now required or checked
+
+ Satisfies static analyzers
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+
+2018-01-17 10:21:52 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fd9247dda1)
+
+ zlib: Contexts are now required or checked
+
+ Satisfies static analyzers
+
+M src/plugins/zlib/zlib-plugin.c
+
+2018-01-17 10:10:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (26650f5552)
+
+ mailbox-alias: Contexts are now required or checked
+
+ Satisfies static analyzers
+
+M src/plugins/mailbox-alias/mailbox-alias-plugin.c
+
+2018-01-17 10:07:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fb4a6c6d37)
+
+ mail-filter: Contexts are now required or checked
+
+ Satisfies static analyzers
+
+M src/plugins/mail-filter/mail-filter-plugin.c
+
+2018-01-17 10:06:25 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fc7e60de50)
+
+ notify: Contexts are now required or checked
+
+ Satisfied static analyzers
+
+M src/plugins/notify/notify-storage.c
+
+2018-01-17 09:31:44 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a8703ce245)
+
+ pop3-migration: Contexts are now required or checked
+
+ Satisfies static analyzers
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2018-01-14 20:40:11 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fe6356ecbb)
+
+ quota: Contexts are now required or checked
+
+ Satisfied static analyzers
+
+M src/plugins/quota/quota-storage.c
+
+2018-01-14 20:33:48 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4798db4e4e)
+
+ apparmor: Ensure auser is not NULL
+
+ Satisfies static analyzers
+
+M src/plugins/apparmor/apparmor-plugin.c
+
+2018-01-14 20:25:16 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (462a3d92ad)
+
+ lazy-expunge: Contexts are now required or checked
+
+ Satisfied static analyzers
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2018-01-14 20:18:45 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (084431105a)
+
+ fts: Contexts are now required or checked
+
+ Satisfied static analyzer
+
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-user.c
+
+2018-01-14 20:08:11 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (040b26a365)
+
+ snarf: If sstorage is NULL, do not allocate box
+
+ Old code would continue if sstorage was NULL.
+
+ Found by static analyzer
+
+M src/plugins/snarf/snarf-plugin.c
+
+2018-01-14 20:07:31 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ff9fabd3e3)
+
+ snarf: Contexts are now required or checked
+
+ Satisfies static analyzers
+
+M src/plugins/snarf/snarf-plugin.c
+
+2018-01-14 20:00:04 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (de9dea4ff8)
+
+ expire: Contexts are now required or checked
+
+ Satisfied static analyzers
+
+M src/plugins/expire/expire-plugin.c
+
+2018-01-14 19:57:16 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b4c683463b)
+
+ trash: Ensure quser is not NULL
+
+ Satisfies static analyzers
+
+M src/plugins/trash/trash-plugin.c
+
+2018-01-14 19:56:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3131b3878d)
+
+ acl: Contexts are now required or checked
+
+ Satisfies static analyzers
+
+M src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-plugin.h
+M src/plugins/acl/acl-shared-storage.c
+M src/plugins/acl/acl-storage.c
+
+2018-01-14 19:46:13 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e71c6db592)
+
+ replication: Check ruser for NULL
+
+ Satisfies static analyzers
+
+M src/plugins/replication/replication-plugin.c
+
+2018-01-14 19:43:39 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (46d7260c4f)
+
+ imap-old-stats-plugins: Check suser for NULL
+
+ Satisfies static analyzers
+
+M src/plugins/imap-old-stats/imap-stats-plugin.c
+
+2018-01-17 12:25:18 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (883da299d0)
+
+ lib-sql: SQL_DB_CACHE_CONTEXT now requires context
+
+ Satisfies static analyzers
+
+M src/lib-sql/sql-db-cache.c
+
+2018-01-17 09:29:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8fa8ebfb77)
+
+ lib-storage: MBOX_LIST_CONTEXT now requires context
+
+ Satisfies static analyzers
+
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2018-01-17 09:29:53 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e081e906f1)
+
+ lib-storage: INDEX_LIST_STORAGE_CONTEXT now requires context
+
+ Satisfies static analyzers
+
+M src/lib-storage/list/mailbox-list-index-storage.h
+
+2018-01-17 09:25:26 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (688cd58360)
+
+ lib-storage: INDEX_STORAGE_CONTEXT now requires context
+
+ Satisfies static analyzers
+
+M src/lib-storage/index/index-storage.h
+
+2018-01-17 12:24:21 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (79c7e80627)
+
+ lib-lda: Require context in mail-deliver
+
+ Satisfies static analyzers
+
+M src/lib-lda/mail-deliver.c
+
+2018-01-12 15:10:48 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a813184174)
+
+ lib: Add MODULE_CONTEXT_REQUIRE
+
+ This will panic instead of return NULL. Should satisfy static analyzers when
+ used.
+
+M src/lib/module-context.h
+
+2017-12-25 16:11:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f8f30bd27e)
+
+ imapc: Fix sending initial FETCH after reconnection SELECTs mailbox
+
+ Move sending the FETCH when the SELECT returns tagged OK reply instead of
+ delaying it until mailbox is next synced. Most importantly this allows
+ sending the FETCH before any retried commands that are also sent after
+ SELECT receives tagged reply.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/imapc/imapc-sync.h
+
+2017-12-25 22:48:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (989d4299cb)
+
+ imapc: gmail-migration: Fetch X-GM-MSGID for new mails as well
+
+ I'm not sure why it was originally restricted only for the initial FETCH.
+ Fetching GUIDs for new mails can be just as useful.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2017-12-25 20:21:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (04f1db1a0d)
+
+ imapc: Move imapc_mailbox_fetch_state*() to imapc-mailbox.c
+
+ Mainly to make the next commit smaller.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2017-12-25 19:19:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (468830ef7d)
+
+ imapc: Handle untagged UIDVALIDITY immediately
+
+ This is part of the changes to fix mailbox resyncing after reconnect.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2017-12-25 19:34:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (315dcc5eb0)
+
+ imapc: If mailbox select fails, rollback any changes done to it
+
+ Required by the following changes that start adding changes immediately
+ after SELECT. If the initial syncing doesn't finish successfully, these
+ changes need to be reverted.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2017-12-25 19:33:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2352ce293b)
+
+ imapc: Keep "selected" state TRUE only while mailbox is successfully
+ SELECTed
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2018-01-17 15:05:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3d709b4208)
+
+ imapc: Fix leaking mail_index_view on delayed expunge handling
+
+ Fixes: Panic: Leaked view for index (in-memory index): Opened in
+ imapc-mailbox.c:47
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2018-01-17 15:03:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f46e346cd4)
+
+ lib-imap-client: Avoid "Unknown tag" errors for aborted commands
+
+ If mailbox is closed before all command replies were received, the commands
+ were aborted but they'll still receive the replies from server. Remember the
+ aborted commands' tag numbers so they can be ignored.
+
+M src/lib-imap-client/imapc-connection.c
+
+2018-01-17 15:02:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f01978eb0a)
+
+ lib-imap-client: Fix reason text when unselecting mailbox aborts commands
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-12-25 21:31:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a2c50587dd)
+
+ lib-imap-client: Add asserts for reconnect_command_count
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-12-25 21:29:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3a1c410a29)
+
+ lib-imap-client: Delay sending more commands while SELECT is running
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-12-25 18:49:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a62edde9ab)
+
+ lib-imap-client: After reconnection send retried commands last
+
+ Previously only SELECT was sent before others. This allows sending more
+ commands on reconnection before the retried commands.
+
+M src/lib-imap-client/imapc-connection.c
+
+2018-01-13 11:53:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (80f5e1ea61)
+
+ lmtp: local: Don't deliver more than once to the same recipient.
+
+ Duplicate RCPT TO commands for local recipients are now mostly ignored, by
+ repeating the reply for the first instance of that RCPT TO command.
+
+M src/lmtp/lmtp-common.c
+M src/lmtp/lmtp-common.h
+M src/lmtp/lmtp-local.c
+
+2018-01-13 13:34:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (11c80f4643)
+
+ lmtp: Add recipient type to struct lmtp_recipient.
+
+
+M src/lmtp/lmtp-common.c
+M src/lmtp/lmtp-common.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+
+2018-01-13 13:25:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c116e58918)
+
+ lmtp: Move common recipient handling code to separate file.
+
+
+M src/lmtp/Makefile.am
+M src/lmtp/client.h
+A src/lmtp/lmtp-common.c
+A src/lmtp/lmtp-common.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+
+2018-01-13 13:10:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e6f0804cc3)
+
+ lib-smtp: server: Use smtp_server_reply_submit_duplicate() in
+ smtp_server_reply_allv().
+
+ This is more efficient, since it doesn't need to compose new content for
+ each reply.
+
+M src/lib-smtp/smtp-server-reply.c
+
+2018-01-13 13:08:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3aabd70db5)
+
+ lib-smtp: server: Add function that allows submitting duplicate replies.
+
+ The smtp_server_reply_submit_duplicate() function submits a new reply at the
+ specified index with content duplicated from an existing earlier reply.
+
+M src/lib-smtp/smtp-server-reply.c
+M src/lib-smtp/smtp-server.h
+
+2018-01-13 13:03:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8e9853ae2f)
+
+ lib-smtp: server: Move allocation of command replies to a separate function.
+
+
+M src/lib-smtp/smtp-server-reply.c
+
+2018-01-13 12:43:08 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1d4c412880)
+
+ lib-smtp: server: Put reply content in a separate struct.
+
+ This allows duplicate replies to share content for a multi-reply command.
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-reply.c
+
+2018-01-13 12:56:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (20b78f502f)
+
+ lib-smtp: server: Allow part of the replies to be already sent in
+ smtp_server_reply_allv().
+
+ This is not something observed to happen in existing code, but it is best to
+ deal with this properly, as it could happen in the future.
+
+M src/lib-smtp/smtp-server-reply.c
+
+2018-01-13 12:26:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (499ca6dc5d)
+
+ lib-smtp: server: transaction: Add function that finds duplicate recipients.
+
+ Duplicate means that both the path and parameters are equal.
+
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/smtp-server.h
+
+2018-01-13 12:20:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5d5ad796fc)
+
+ lib-smtp: server: Add RCPT parameters directly in
+ smtp_server_transaction_add_rcpt().
+
+ This makes more sense. Before, these were added to the recipient in
+ smtp-server-cmd-rcpt.c, after the recipient was added.
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-transaction.c
+
+2018-01-13 11:52:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3afa83c450)
+
+ lib-smtp: params: Add function that allows checking whether RCPT parameters
+ are equal.
+
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+
+2018-01-13 12:07:46 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7c99fd4ea2)
+
+ lib-smtp: params: Add functions to evaluate any extra (non-standard) MAIL
+ and RCPT parameters.
+
+ These allow looking up the parameter based on its name.
+
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-params.h
+
+2018-01-13 11:51:24 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (aba05d93fe)
+
+ lib-smtp: address: Consistently allow address values to be NULL.
+
+ If the address pointer is NULL or the localpart field is NULL or empty, it
+ signifies that it is the NULL address "<>".
+
+ In the case of smtp_address_equals(), this also likely fixes crashes at
+ places where it may be used to compare "<>".
+
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/smtp-address.h
+M src/lib-smtp/test-smtp-address.c
+
+2018-01-13 11:59:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (89d6bbbe49)
+
+ lib-smtp: address: Rename 'poo' to 'pool' in declaration of
+ smtp_address_detail_parse().
+
+
+M src/lib-smtp/smtp-address.h
+
+2018-01-17 21:26:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2bf9197865)
+
+ lmtp: local: Fix segfault occurring when quota is exceeded.
+
+
+M src/lmtp/lmtp-local.c
+
+2018-01-13 16:15:47 -0500 Martin Cyr <martin.cyr@metalogique.com> (2d316e272f)
+
+ Always link krb5 when gssapi is requested
+
+ Since krb5_free_context is defined in libkrb5, not libgssapi, it must be
+ linked, even when gssapi is found. krb5-config --libs gssapi alone will not
+ provide -lkrb5. Also, krb5-config --version ANYTHING will always return 0
+ (at least with Heimdal).
+
+M m4/want_gssapi.m4
+
+2018-01-14 19:21:36 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ac7aa955db)
+
+ lib: Use uintptr_t in PTR_OFFSET and POINTER_CAST
+
+ Use uintptr_t instead of pointers.
+
+ Fixes clang 6.0 warning: arithmetic on a null pointer treated as a cast from
+ integer to pointer is a GNU extension
+
+M src/lib/macros.h
+
+2017-11-11 10:07:42 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (722c012cca)
+
+ lib-storage: Set keyword based on attachment presence when saving
+
+ If attachment is detected, use $HasAttachment, if not use $HasNoAttachment
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+
+2017-11-20 10:09:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8855d5f5d9)
+
+ lib-storage: Add attachment detection settings
+
+
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2017-11-10 14:32:44 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (bc41d81180)
+
+ lib-mail: Add message_part_has_attachment
+
+
+M src/lib-mail/message-part-data.c
+M src/lib-mail/message-part-data.h
+
+2018-01-16 18:17:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6303446550)
+
+ imapc: Fix imap_features=no-msn-updates to not fail on SELECT
+
+ The initial EXISTS reply shouldn't be ignored, only the following ones.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2018-01-12 15:28:52 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (dd3ab584e1)
+
+ lib-master: Copy settings_parser_get_error() string so it's usable as
+ error_r
+
+ Also convert t_strdup()s in master_service_settings_read() into p_strdup()s
+ using service->set_pool.
+
+M src/lib-master/master-service-settings.c
+
+2018-01-12 21:03:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (49e66f665b)
+
+ lib-http: queue: Update the correct timout while dropping a request from the
+ delay queue.
+
+ The absolute request timeout rather than the delay timeout was updated for
+ the removal of the request from the delay queue.
+
+M src/lib-http/http-client-queue.c
+
+2018-01-11 13:38:14 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (935febe5d1)
+
+ *-login: Fix clients linked list corruption with SSL connections
+
+ This could have resulted in infinite loops or some of the clients being
+ skipped for some operations.
+
+M src/login-common/client-common.c
+
+2018-01-11 16:10:48 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c6d1318ff2)
+
+ auth: Ensure crypt schemes match with samples
+
+
+M src/auth/password-scheme-crypt.c
+
+2018-01-11 15:22:30 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b0b349d5a5)
+
+ auth: Fix crypt scheme detection
+
+ Broken by 1ebb6094e5105ba7ef521a0177c42d3ea81243f0
+
+M src/auth/password-scheme-crypt.c
+
+2018-01-09 16:01:42 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (5329bb264c)
+
+ imap-login: Simplify ID handling code
+
+
+M src/imap-login/imap-login-cmd-id.c
+
+2017-06-14 10:46:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6f213bf43f)
+
+ imap-login: Rewrite ID parameter handling to be less fragile
+
+ There's no longer two places that need to be kept in sync.
+
+M src/imap-login/imap-login-cmd-id.c
+
+2017-06-14 10:34:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5233c86a95)
+
+ imap-login: Move ID command handling to its own file.
+
+
+M src/imap-login/Makefile.am
+M src/imap-login/imap-login-client.c
+M src/imap-login/imap-login-client.h
+A src/imap-login/imap-login-cmd-id.c
+
+2018-01-05 09:51:00 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5c1837529e)
+
+ lib-mail: mail-html2text - Validate UCS4 codepoint
+
+ Fixes: Panic: file unichar.c: line 160 (uni_ucs4_to_utf8_c): assertion
+ failed: (uni_is_valid_ucs4(chr))
+
+M src/lib-mail/mail-html2text.c
+M src/lib-mail/test-mail-html2text.c
+
+2018-01-06 22:11:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (43a6cdb356)
+
+ doveadm dump: Fix imapzlib to handle input traffic
+
+ This has been broken with newer Dovecot versions for a while now.
+
+M src/doveadm/doveadm-zlib.c
+
+2018-01-06 21:22:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (23da0fa1b3)
+
+ ostream-zlib: Ignore missing finish if parent stream is ignoring errors
+
+ This fixes panic with imap_zlib plugin when client enables the IMAP COMPRESS
+ extension and disconnects:
+
+ Panic: file ostream-zlib.c: line 36 (o_stream_zlib_close): assertion failed:
+ (zstream->ostream.finished || zstream->ostream.ostream.stream_errno != 0)
+
+M src/lib-compression/ostream-zlib.c
+
+2017-12-27 14:08:13 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7f0dcac994)
+
+ doveadm: Add NOREPLICATE error when "noreplicate" user flag is used
+
+ It will be only understood if -U flag has been used
+
+M src/doveadm/client-connection-tcp.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm.h
+
+2017-12-27 14:07:30 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c62d29c66b)
+
+ replicator: Remove user from replication if NOREPLICATE error is returned
+
+
+M src/replication/replicator/dsync-client.c
+M src/replication/replicator/dsync-client.h
+M src/replication/replicator/replicator-brain.c
+
+2017-12-11 14:03:13 +0200 Phil Carmody <phil@dovecot.fi> (607e7f6147)
+
+ lib/lib-test: restore DOVECOT_SRAND feature in DEBUG builds
+
+ Add a deterministic PRNG, an ability to force its use, and an ability to
+ re-use the same sequence later.
+
+ Since proper random numbers have been forced into use, making reproducable
+ tests isn't quite as easy as it used to be, it's 3 steps rather than 2. When
+ seeing an intermittent test failure:
+ - rerun the tests with environmental variable DOVECOT_SRAND=kiss
+ - upon seeing a new failure case, note the seed logged at the failure
+ - debug using DOVECOT_SRAND=<that number>
+
+ In non-DEBUG builds, there's no trace of this code, and the randomisation
+ that is an inherent part of many tests remains non-reproduceable.
+
+ Works with all of the RNG preferences, getrandom/urandom/arc4.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+M src/lib/randgen.c
+M src/lib/randgen.h
+
+2018-01-03 19:46:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8de6351e4f)
+
+ auth: client protocol: Recognize empty initial response field as an absent
+ initial response for older clients.
+
+ Particularly, Exim sends an empty initial response field in the AUTH request
+ for an authentication command that has no initial response. Originally,
+ Dovecot allowed this, but this was recently changed so that the EXTERNAL
+ SASL mechanism works properly from ManageSieve. This commit makes it allowed
+ again for older authentication clients to send an empty initial response
+ field for an authentication command that has no initial response part.
+ Sending '=' for an empty initial response is still allowed in general.
+
+M src/auth/auth-request-handler.c
+
+2018-01-03 19:26:33 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bf5315c557)
+
+ auth: client protocol: Record minor version for authentication client
+ connection.
+
+
+M src/auth/auth-client-connection.c
+M src/auth/auth-client-connection.h
+
+2018-01-03 02:11:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b0fb6815ce)
+
+ lib-http: test-http-client: Free the ssl_iostream_context cache.
+
+
+M src/lib-http/test-http-client.c
+
+2017-12-29 03:19:34 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (47baf5f9fe)
+
+ lib-http: test-http-payload: Added test with clients using shared global
+ context.
+
+
+M src/lib-http/test-http-payload.c
+
+2017-12-29 01:17:15 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e0990933b4)
+
+ lib-http: client: Implicitly switch ioloop for global shared client context.
+
+ If the new ioloop is NULL, close the shared client context. In that case all
+ shared hosts, peers and idle connetions are closed and destroyed. The
+ context just remains as a container for settings and shared context. This is
+ only allowed when there are no clients left.
+
+M src/lib-http/http-client.c
+
+2017-12-29 02:15:06 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ee90a96c4f)
+
+ lib-http: client: Use merged DNS settings from all clients connected to a
+ shared context for DNS lookups.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.c
+
+2017-12-29 01:47:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (473f30e2d1)
+
+ lib-http: client: Base forcing shared context debug logging on the settings
+ of the context itself and each associated client.
+
+
+M src/lib-http/http-client.c
+
+2017-12-29 00:48:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4977156a49)
+
+ lib-http: client: Register client objects in the associated client shared
+ context.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.c
+
+2017-12-29 00:30:27 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ac58ae8fb5)
+
+ lib-http: client: Call switching ioloop for shared peer from shared client
+ context.
+
+ Before, it was called from the client peer.
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client.c
+
+2017-12-29 01:05:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fda72a49ea)
+
+ lib-http: client: Set req->client to NULL once the request is destroyed.
+
+ The http_client_request_destroy() function does not free the request
+ immediately, as long as it is still referenced. It can still be referenced
+ by a connection that has sent it and is waiting for a reply (payload). In
+ the mean time the actual client can be gone, so we want to make sure nothing
+ is pointing to that anymore.
+
+ This change adds a few extra assertions to make sure nothing tries to use a
+ NULL client later on. Some direct references to req->client are replaced
+ with a local client variable if there is one.
+
+M src/lib-http/http-client-request.c
+
+2017-12-29 00:21:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a00f5a4cf1)
+
+ lib-http: client: Merge socket buffer size settings with settings from
+ shared context.
+
+ While using the default global context, per-client socket buffer size
+ settings were ignored.
+
+M src/lib-http/http-client.c
+
+2017-12-29 00:16:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fcb3882db1)
+
+ lib-http: client: Merge max_idle_time_msecs setting with setting from shared
+ context.
+
+ While using the default global context, per-client max_idle_time_msecs
+ setting was ignored.
+
+M src/lib-http/http-client.c
+
+2018-01-03 15:54:15 +0200 Phil Carmody <phil@dovecot.fi> (9bf221d642)
+
+ lib/printf-format-fix: fix rejection of "%.0f" as a valid string
+
+ Sometimes you want to calculate in floats, but don't want the decimals
+ printed.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/printf-format-fix.c
+M src/lib/test-printf-format-fix.c
+
+2018-01-02 09:49:40 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a4ec27bfd5)
+
+ log: Prevent LOG_TYPE_COUNT in client_log_ctx
+
+ Makes static analyzers happy
+
+M src/log/log-connection.c
+
+2018-01-02 13:57:45 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b62495f818)
+
+ dsync: Set brain->failed to TRUE when UIDVALIDITY changes
+
+ This happens if UIDVALIDITY changes during stateful sync.
+
+ Fixes Panic: doveadm: file dsync-brain-mailbox.c: line 377
+ (dsync_brain_sync_mailbox_deinit): assertion failed: (brain->failed)
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+
+2018-01-01 20:04:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bcb4e51a40)
+
+ Updated copyright notices to include the year 2018.
+
+
+M doc/man/doveadm-acl.1.in
+M doc/man/doveadm-altmove.1.in
+M doc/man/doveadm-auth.1.in
+M doc/man/doveadm-batch.1.in
+M doc/man/doveadm-deduplicate.1.in
+M doc/man/doveadm-director.1.in
+M doc/man/doveadm-dump.1.in
+M doc/man/doveadm-exec.1.in
+M doc/man/doveadm-expunge.1.in
+M doc/man/doveadm-fetch.1.in
+M doc/man/doveadm-flags.1.in
+M doc/man/doveadm-force-resync.1.in
+M doc/man/doveadm-fs.1.in
+M doc/man/doveadm-fts.1.in
+M doc/man/doveadm-help.1.in
+M doc/man/doveadm-import.1.in
+M doc/man/doveadm-index.1.in
+M doc/man/doveadm-instance.1.in
+M doc/man/doveadm-kick.1.in
+M doc/man/doveadm-log.1.in
+M doc/man/doveadm-mailbox-cryptokey.1.in
+M doc/man/doveadm-mailbox.1.in
+M doc/man/doveadm-move.1.in
+M doc/man/doveadm-penalty.1.in
+M doc/man/doveadm-proxy.1.in
+M doc/man/doveadm-purge.1.in
+M doc/man/doveadm-pw.1.in
+M doc/man/doveadm-quota.1.in
+M doc/man/doveadm-replicator.1.in
+M doc/man/doveadm-save.1.in
+M doc/man/doveadm-search-query.7
+M doc/man/doveadm-search.1.in
+M doc/man/doveadm-stats.1.in
+M doc/man/doveadm-sync.1.in
+M doc/man/doveadm-user.1.in
+M doc/man/doveadm-who.1.in
+M doc/man/doveadm.1.in
+M doc/man/doveconf.1.in
+M doc/man/dovecot-lda.1.in
+M doc/man/dovecot.1.in
+M src/anvil/anvil-connection.c
+M src/anvil/anvil-settings.c
+M src/anvil/connect-limit.c
+M src/anvil/main.c
+M src/anvil/penalty.c
+M src/anvil/test-penalty.c
+M src/auth/auth-cache.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-fields.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-penalty.c
+M src/auth/auth-policy.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request-stats.c
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-stats.c
+M src/auth/auth-token.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/auth.c
+M src/auth/db-checkpassword.c
+M src/auth/db-dict-cache-key.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-lua.c
+M src/auth/db-oauth2.c
+M src/auth/db-passwd-file.c
+M src/auth/db-sql.c
+M src/auth/main.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-dovecot-token.c
+M src/auth/mech-external.c
+M src/auth/mech-oauth2.c
+M src/auth/mech-plain-common.c
+M src/auth/mech-plain.c
+M src/auth/mech.c
+M src/auth/mycrypt.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-checkpassword.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-imap.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-lua.c
+M src/auth/passdb-oauth2.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb-template.c
+M src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme-pbkdf2.c
+M src/auth/password-scheme-rpa.c
+M src/auth/password-scheme-sodium.c
+M src/auth/password-scheme.c
+M src/auth/test-auth-cache.c
+M src/auth/test-auth-request-var-expand.c
+M src/auth/test-auth.h
+M src/auth/test-db-dict.c
+M src/auth/test-libpassword.c
+M src/auth/test-lua.c
+M src/auth/test-main.c
+M src/auth/test-mock.c
+M src/auth/test-username-filter.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-checkpassword.c
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-lua.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-prefetch.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb-template.c
+M src/auth/userdb-vpopmail.c
+M src/auth/userdb.c
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/config-request.c
+M src/config/config-settings.c
+M src/config/doveconf.c
+M src/config/main.c
+M src/config/old-set-parser.c
+M src/config/sysinfo-get.c
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/dict/dict-settings.c
+M src/dict/main.c
+M src/director/auth-connection.c
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director-request.c
+M src/director/director-settings.c
+M src/director/director-test.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/mail-host.c
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+M src/dns/dns-client-settings.c
+M src/dns/dns-client.c
+M src/doveadm/client-connection-http.c
+M src/doveadm/client-connection-tcp.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-auth-server.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-dict.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-dump-dcrypt-file.c
+M src/doveadm/doveadm-dump-dcrypt-key.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/doveadm-dump-thread.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-fs.c
+M src/doveadm/doveadm-instance.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-batch.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-deduplicate.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-flags.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-save.c
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/doveadm-master.c
+M src/doveadm/doveadm-mutf7.c
+M src/doveadm/doveadm-oldstats.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-print-flow.c
+M src/doveadm/doveadm-print-formatted.c
+M src/doveadm/doveadm-print-json.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/doveadm-print-tab.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-proxy.c
+M src/doveadm/doveadm-pw.c
+M src/doveadm/doveadm-replicator.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-sis.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm-zlib.c
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-deserializer.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-state.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox.c
+M src/doveadm/dsync/dsync-serializer.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+M src/doveadm/main.c
+M src/doveadm/server-connection.c
+M src/doveadm/test-doveadm-util.c
+M src/imap-hibernate/imap-client.c
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap-hibernate/imap-hibernate-settings.c
+M src/imap-hibernate/imap-master-connection.c
+M src/imap-hibernate/main.c
+M src/imap-login/client-authenticate.c
+M src/imap-login/imap-login-client.c
+M src/imap-login/imap-login-commands.c
+M src/imap-login/imap-login-settings.c
+M src/imap-login/imap-proxy.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-login-settings.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/imap-urlauth/imap-urlauth-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/cmd-append.c
+M src/imap/cmd-cancelupdate.c
+M src/imap/cmd-capability.c
+M src/imap/cmd-check.c
+M src/imap/cmd-close.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-enable.c
+M src/imap/cmd-examine.c
+M src/imap/cmd-expunge.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-genurlauth.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-id.c
+M src/imap/cmd-idle.c
+M src/imap/cmd-list.c
+M src/imap/cmd-logout.c
+M src/imap/cmd-lsub.c
+M src/imap/cmd-namespace.c
+M src/imap/cmd-noop.c
+M src/imap/cmd-notify.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-resetkey.c
+M src/imap/cmd-search.c
+M src/imap/cmd-select.c
+M src/imap/cmd-setmetadata.c
+M src/imap/cmd-sort.c
+M src/imap/cmd-status.c
+M src/imap/cmd-store.c
+M src/imap/cmd-subscribe.c
+M src/imap/cmd-thread.c
+M src/imap/cmd-unselect.c
+M src/imap/cmd-unsubscribe.c
+M src/imap/cmd-urlfetch.c
+M src/imap/cmd-x-cancel.c
+M src/imap/cmd-x-state.c
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands.c
+M src/imap/imap-expunge.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-list.c
+M src/imap/imap-master-client.c
+M src/imap/imap-notify.c
+M src/imap/imap-search-args.c
+M src/imap/imap-search.c
+M src/imap/imap-settings.c
+M src/imap/imap-state.c
+M src/imap/imap-status.c
+M src/imap/imap-sync.c
+M src/imap/mail-storage-callbacks.c
+M src/imap/main.c
+M src/indexer/indexer-client.c
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-settings.c
+M src/indexer/indexer-worker-settings.c
+M src/indexer/indexer-worker.c
+M src/indexer/indexer.c
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-pool.c
+M src/ipc/client.c
+M src/ipc/ipc-connection.c
+M src/ipc/ipc-group.c
+M src/ipc/ipc-settings.c
+M src/ipc/main.c
+M src/lda/main.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/charset-utf8-only.c
+M src/lib-charset/charset-utf8.c
+M src/lib-charset/test-charset.c
+M src/lib-compression/compression.c
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-lz4.c
+M src/lib-compression/ostream-lzma.c
+M src/lib-compression/ostream-zlib.c
+M src/lib-compression/test-compression.c
+M src/lib-dcrypt/dcrypt-gnutls.c
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dcrypt/test-stream.c
+M src/lib-dict-backend/dict-cdb.c
+M src/lib-dict-backend/dict-db.c
+M src/lib-dict-backend/dict-ldap-settings.c
+M src/lib-dict-backend/dict-ldap.c
+M src/lib-dict-backend/dict-sql-settings.c
+M src/lib-dict-backend/dict-sql.c
+M src/lib-dict-backend/test-dict-sql.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict-extra/dict-register.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-fail.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-transaction-memory.c
+M src/lib-dict/dict.c
+M src/lib-dict/test-dict-client.c
+M src/lib-dict/test-dict.c
+M src/lib-dns/dns-lookup.c
+M src/lib-dns/dns-util.c
+M src/lib-dns/test-dns-util.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test-async.c
+M src/lib-fs/fs-test.c
+M src/lib-fs/fs-wrapper.c
+M src/lib-fs/istream-fs-file.c
+M src/lib-fs/istream-fs-stats.c
+M src/lib-fs/istream-metawrap.c
+M src/lib-fs/ostream-cmp.c
+M src/lib-fs/ostream-metawrap.c
+M src/lib-fs/test-fs-metawrap.c
+M src/lib-fs/test-fs-posix.c
+M src/lib-fts/fts-filter-common.c
+M src/lib-fts/fts-filter-contractions.c
+M src/lib-fts/fts-filter-english-possessive.c
+M src/lib-fts/fts-filter-lowercase.c
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-filter-stemmer-snowball.c
+M src/lib-fts/fts-filter-stopwords.c
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-icu.c
+M src/lib-fts/fts-language.c
+M src/lib-fts/fts-library.c
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/fts-tokenizer-common.c
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/fts-tokenizer.c
+M src/lib-fts/test-fts-filter.c
+M src/lib-fts/test-fts-icu.c
+M src/lib-fts/test-fts-language.c
+M src/lib-fts/test-fts-tokenizer.c
+M src/lib-http/http-auth.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-date.c
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-header.c
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-parser.c
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-response.c
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/http-url.c
+M src/lib-http/test-http-auth.c
+M src/lib-http/test-http-client-errors.c
+M src/lib-http/test-http-client.c
+M src/lib-http/test-http-date.c
+M src/lib-http/test-http-header-parser.c
+M src/lib-http/test-http-payload.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-response-parser.c
+M src/lib-http/test-http-server-errors.c
+M src/lib-http/test-http-server.c
+M src/lib-http/test-http-transfer.c
+M src/lib-http/test-http-url.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-msgmap.c
+M src/lib-imap-client/test-imapc-client.c
+M src/lib-imap-storage/imap-metadata.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap-urlauth/imap-urlauth.c
+M src/lib-imap/imap-arg.c
+M src/lib-imap/imap-base-subject.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-id.c
+M src/lib-imap/imap-keepalive.c
+M src/lib-imap/imap-match.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-seqset.c
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-utf7.c
+M src/lib-imap/imap-util.c
+M src/lib-imap/test-imap-bodystructure.c
+M src/lib-imap/test-imap-envelope.c
+M src/lib-imap/test-imap-match.c
+M src/lib-imap/test-imap-parser.c
+M src/lib-imap/test-imap-quote.c
+M src/lib-imap/test-imap-url.c
+M src/lib-imap/test-imap-utf7.c
+M src/lib-imap/test-imap-util.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-dummy-view.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-util.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mailbox-log.c
+M src/lib-index/test-mail-index-map.c
+M src/lib-index/test-mail-index-modseq.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-index/test-mail-transaction-log-file.c
+M src/lib-index/test-mail-transaction-log-view.c
+M src/lib-lda/lda-settings.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-send.c
+M src/lib-ldap/ldap-client.c
+M src/lib-ldap/ldap-compare.c
+M src/lib-ldap/ldap-connection-pool.c
+M src/lib-ldap/ldap-connection.c
+M src/lib-ldap/ldap-entry.c
+M src/lib-ldap/ldap-iterator.c
+M src/lib-ldap/ldap-search.c
+M src/lib-lua/dlua-compat.c
+M src/lib-lua/dlua-dovecot.c
+M src/lib-lua/dlua-script.c
+M src/lib-lua/test-lua.c
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/istream-nonuls.c
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/istream-qp-encoder.c
+M src/lib-mail/mail-html2text.c
+M src/lib-mail/mail-user-hash.c
+M src/lib-mail/mbox-from.c
+M src/lib-mail/message-address.c
+M src/lib-mail/message-binary-part.c
+M src/lib-mail/message-date.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-hash.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-id.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part-data.c
+M src/lib-mail/message-part-serialize.c
+M src/lib-mail/message-part.c
+M src/lib-mail/message-search.c
+M src/lib-mail/message-size.c
+M src/lib-mail/message-snippet.c
+M src/lib-mail/ostream-dot.c
+M src/lib-mail/qp-decoder.c
+M src/lib-mail/qp-encoder.c
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-mail/test-istream-binary-converter.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-mail/test-istream-qp-encoder.c
+M src/lib-mail/test-mail-html2text.c
+M src/lib-mail/test-mbox-from.c
+M src/lib-mail/test-message-address.c
+M src/lib-mail/test-message-date.c
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-encode.c
+M src/lib-mail/test-message-header-hash.c
+M src/lib-mail/test-message-header-parser.c
+M src/lib-mail/test-message-id.c
+M src/lib-mail/test-message-parser.c
+M src/lib-mail/test-message-part.c
+M src/lib-mail/test-message-search.c
+M src/lib-mail/test-message-snippet.c
+M src/lib-mail/test-ostream-dot.c
+M src/lib-mail/test-qp-decoder.c
+M src/lib-mail/test-qp-encoder.c
+M src/lib-mail/test-quoted-printable.c
+M src/lib-mail/test-rfc2231-parser.c
+M src/lib-mail/test-rfc822-parser.c
+M src/lib-master/anvil-client.c
+M src/lib-master/ipc-client.c
+M src/lib-master/ipc-server.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-haproxy.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl.c
+M src/lib-master/master-service.c
+M src/lib-master/stats-client.c
+M src/lib-master/syslog-util.c
+M src/lib-master/test-master-service-settings-cache.c
+M src/lib-oauth2/oauth2-introspect.c
+M src/lib-oauth2/oauth2-private.h
+M src/lib-oauth2/oauth2-refresh.c
+M src/lib-oauth2/oauth2-token-validate.c
+M src/lib-oauth2/oauth2.c
+M src/lib-oauth2/oauth2.h
+M src/lib-old-stats/stats-connection.c
+M src/lib-old-stats/stats-parser.c
+M src/lib-old-stats/stats.c
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+M src/lib-program-client/program-client.h
+M src/lib-program-client/test-program-client-local.c
+M src/lib-program-client/test-program-client-net.c
+M src/lib-program-client/test-program-client-unix.c
+M src/lib-sasl/dsasl-client.c
+M src/lib-sasl/mech-external.c
+M src/lib-sasl/mech-login.c
+M src/lib-sasl/mech-oauthbearer.c
+M src/lib-sasl/mech-plain.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-settings/test-settings-parser.c
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-transaction.c
+M src/lib-smtp/smtp-client.c
+M src/lib-smtp/smtp-command-parser.c
+M src/lib-smtp/smtp-common.c
+M src/lib-smtp/smtp-params.c
+M src/lib-smtp/smtp-parser.c
+M src/lib-smtp/smtp-reply-parser.c
+M src/lib-smtp/smtp-reply.c
+M src/lib-smtp/smtp-server-cmd-auth.c
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/smtp-server-cmd-helo.c
+M src/lib-smtp/smtp-server-cmd-mail.c
+M src/lib-smtp/smtp-server-cmd-noop.c
+M src/lib-smtp/smtp-server-cmd-quit.c
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-cmd-rset.c
+M src/lib-smtp/smtp-server-cmd-starttls.c
+M src/lib-smtp/smtp-server-cmd-vrfy.c
+M src/lib-smtp/smtp-server-cmd-xclient.c
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-reply.c
+M src/lib-smtp/smtp-server-transaction.c
+M src/lib-smtp/smtp-server.c
+M src/lib-smtp/smtp-submit-settings.c
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/smtp-syntax.c
+M src/lib-smtp/test-smtp-address.c
+M src/lib-smtp/test-smtp-client-errors.c
+M src/lib-smtp/test-smtp-command-parser.c
+M src/lib-smtp/test-smtp-params.c
+M src/lib-smtp/test-smtp-payload.c
+M src/lib-smtp/test-smtp-reply-parser.c
+M src/lib-smtp/test-smtp-server-errors.c
+M src/lib-smtp/test-smtp-submit.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/driver-test.c
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-db-cache.c
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl-context-cache.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib-storage/fail-mail-storage.c
+M src/lib-storage/fail-mail.c
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-deleted-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/index/index-pop3-uidl.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-search-mime.c
+M src/lib-storage/index/index-search-result.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync-search.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread-links.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/istream-mail.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-filename.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-settings.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-md5-all.c
+M src/lib-storage/index/mbox/mbox-md5-apop3d.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-settings.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync-list-index.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync-update.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/raw/raw-sync.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-notify-tree.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-autoexpunge.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-duplicate.c
+M src/lib-storage/mail-error.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-search-args-cmdline.c
+M src/lib-storage/mail-search-args-imap.c
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-mime-build.c
+M src/lib-storage/mail-search-mime-register.c
+M src/lib-storage/mail-search-mime.c
+M src/lib-storage/mail-search-parser-cmdline.c
+M src/lib-storage/mail-search-parser-imap.c
+M src/lib-storage/mail-search-parser.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search-register.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-register.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-thread.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail.c
+M src/lib-storage/mailbox-attribute-internal.c
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-header.c
+M src/lib-storage/mailbox-keywords.c
+M src/lib-storage/mailbox-list-notify.c
+M src/lib-storage/mailbox-list-register.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-recent-flags.c
+M src/lib-storage/mailbox-search-result.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib-storage/mailbox-watch.c
+M src/lib-storage/test-mail-search-args-imap.c
+M src/lib-storage/test-mail-search-args-simplify.c
+M src/lib-storage/test-mail-storage.c
+M src/lib-storage/test-mailbox-get.c
+M src/lib-test/test-common.c
+M src/lib-test/test-istream.c
+M src/lib-test/test-ostream.c
+M src/lib/aqueue.c
+M src/lib/array.c
+M src/lib/askpass.c
+M src/lib/backtrace-string.c
+M src/lib/base32.c
+M src/lib/base64.c
+M src/lib/bits.c
+M src/lib/bloomfilter.c
+M src/lib/bsearch-insert-pos.c
+M src/lib/buffer.c
+M src/lib/child-wait.c
+M src/lib/compat.c
+M src/lib/connection.c
+M src/lib/crc32.c
+M src/lib/data-stack.c
+M src/lib/eacces-error.c
+M src/lib/env-util.c
+M src/lib/event-filter.c
+M src/lib/event-log.c
+M src/lib/execv-const.c
+M src/lib/failures.c
+M src/lib/fd-util.c
+M src/lib/fdatasync-path.c
+M src/lib/fdpass.c
+M src/lib/file-cache.c
+M src/lib/file-copy.c
+M src/lib/file-create-locked.c
+M src/lib/file-dotlock.c
+M src/lib/file-lock.c
+M src/lib/file-set-size.c
+M src/lib/guid.c
+M src/lib/hash-format.c
+M src/lib/hash-method.c
+M src/lib/hash.c
+M src/lib/hash2.c
+M src/lib/hex-binary.c
+M src/lib/hex-dec.c
+M src/lib/home-expand.c
+M src/lib/hook-build.c
+M src/lib/hook-build.h
+M src/lib/hostpid.c
+M src/lib/imem.c
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-notify-fd.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-none.c
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+M src/lib/iostream-proxy.c
+M src/lib/iostream-proxy.h
+M src/lib/iostream-pump.c
+M src/lib/iostream-pump.h
+M src/lib/iostream-rawlog.c
+M src/lib/iostream-temp.c
+M src/lib/iostream.c
+M src/lib/ipwd.c
+M src/lib/iso8601-date.c
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-callback.c
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-data.c
+M src/lib/istream-failure-at.c
+M src/lib/istream-file.c
+M src/lib/istream-hash.c
+M src/lib/istream-jsonstr.c
+M src/lib/istream-limit.c
+M src/lib/istream-mmap.c
+M src/lib/istream-multiplex.c
+M src/lib/istream-rawlog.c
+M src/lib/istream-seekable.c
+M src/lib/istream-sized.c
+M src/lib/istream-tee.c
+M src/lib/istream-timeout.c
+M src/lib/istream-try.c
+M src/lib/istream-unix.c
+M src/lib/istream.c
+M src/lib/json-parser.c
+M src/lib/json-tree.c
+M src/lib/lib-event.c
+M src/lib/lib-signals.c
+M src/lib/lib.c
+M src/lib/log-throttle.c
+M src/lib/memarea.c
+M src/lib/mempool-allocfree.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-system.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/mempool.c
+M src/lib/mkdir-parents.c
+M src/lib/mmap-anon.c
+M src/lib/mmap-util.c
+M src/lib/module-dir.c
+M src/lib/mountpoint.c
+M src/lib/net.c
+M src/lib/nfs-workarounds.c
+M src/lib/numpack.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-escaped.c
+M src/lib/ostream-failure-at.c
+M src/lib/ostream-file.c
+M src/lib/ostream-hash.c
+M src/lib/ostream-multiplex.c
+M src/lib/ostream-null.c
+M src/lib/ostream-rawlog.c
+M src/lib/ostream-unix.c
+M src/lib/ostream.c
+M src/lib/path-util.c
+M src/lib/pkcs5.c
+M src/lib/primes.c
+M src/lib/printf-format-fix.c
+M src/lib/priorityq.c
+M src/lib/process-title.c
+M src/lib/rand.c
+M src/lib/randgen.c
+M src/lib/read-full.c
+M src/lib/restrict-access.c
+M src/lib/restrict-process-size.c
+M src/lib/safe-memset.c
+M src/lib/safe-mkdir.c
+M src/lib/safe-mkstemp.c
+M src/lib/sendfile-util.c
+M src/lib/seq-range-array.c
+M src/lib/sort.c
+M src/lib/stats-dist.c
+M src/lib/str-find.c
+M src/lib/str-sanitize.c
+M src/lib/str-table.c
+M src/lib/str.c
+M src/lib/strescape.c
+M src/lib/strfuncs.c
+M src/lib/strnum.c
+M src/lib/test-aqueue.c
+M src/lib/test-array.c
+M src/lib/test-base32.c
+M src/lib/test-base64.c
+M src/lib/test-bits.c
+M src/lib/test-bloomfilter.c
+M src/lib/test-bsearch-insert-pos.c
+M src/lib/test-buffer.c
+M src/lib/test-crc32.c
+M src/lib/test-data-stack.c
+M src/lib/test-failures.c
+M src/lib/test-file-create-locked.c
+M src/lib/test-guid.c
+M src/lib/test-hash-format.c
+M src/lib/test-hash-method.c
+M src/lib/test-hash.c
+M src/lib/test-hex-binary.c
+M src/lib/test-hmac.c
+M src/lib/test-imem.c
+M src/lib/test-ioloop.c
+M src/lib/test-iostream-proxy.c
+M src/lib/test-iostream-pump.c
+M src/lib/test-iostream-temp.c
+M src/lib/test-iso8601-date.c
+M src/lib/test-istream-base64-decoder.c
+M src/lib/test-istream-base64-encoder.c
+M src/lib/test-istream-chain.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-crlf.c
+M src/lib/test-istream-failure-at.c
+M src/lib/test-istream-jsonstr.c
+M src/lib/test-istream-multiplex.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-istream-sized.c
+M src/lib/test-istream-tee.c
+M src/lib/test-istream-try.c
+M src/lib/test-istream-unix.c
+M src/lib/test-istream.c
+M src/lib/test-json-parser.c
+M src/lib/test-json-tree.c
+M src/lib/test-lib-signals.c
+M src/lib/test-lib.c
+M src/lib/test-llist.c
+M src/lib/test-log-throttle.c
+M src/lib/test-malloc-overflow.c
+M src/lib/test-memarea.c
+M src/lib/test-mempool-allocfree.c
+M src/lib/test-mempool-alloconly.c
+M src/lib/test-mempool.c
+M src/lib/test-multiplex.c
+M src/lib/test-murmurhash3.c
+M src/lib/test-net.c
+M src/lib/test-numpack.c
+M src/lib/test-ostream-buffer.c
+M src/lib/test-ostream-escaped.c
+M src/lib/test-ostream-failure-at.c
+M src/lib/test-ostream-file.c
+M src/lib/test-ostream-multiplex.c
+M src/lib/test-path-util.c
+M src/lib/test-pkcs5.c
+M src/lib/test-primes.c
+M src/lib/test-printf-format-fix.c
+M src/lib/test-priorityq.c
+M src/lib/test-seq-range-array.c
+M src/lib/test-stats-dist.c
+M src/lib/test-str-find.c
+M src/lib/test-str-sanitize.c
+M src/lib/test-str-table.c
+M src/lib/test-str.c
+M src/lib/test-strescape.c
+M src/lib/test-strfuncs.c
+M src/lib/test-strnum.c
+M src/lib/test-time-util.c
+M src/lib/test-unichar.c
+M src/lib/test-uri.c
+M src/lib/test-utc-mktime.c
+M src/lib/test-var-expand.c
+M src/lib/test-wildcard-match.c
+M src/lib/time-util.c
+M src/lib/unichar.c
+M src/lib/unix-socket-create.c
+M src/lib/unlink-directory.c
+M src/lib/unlink-old-files.c
+M src/lib/uri-util.c
+M src/lib/utc-mktime.c
+M src/lib/utc-offset.c
+M src/lib/var-expand-if.c
+M src/lib/var-expand.c
+M src/lib/write-full.c
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/main.c
+M src/log/doveadm-connection.c
+M src/log/log-connection.c
+M src/log/log-error-buffer.c
+M src/log/log-settings.c
+M src/log/main.c
+M src/login-common/access-lookup.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/main.c
+M src/login-common/sasl-server.c
+M src/master/capabilities-posix.c
+M src/master/dup2-array.c
+M src/master/main.c
+M src/master/master-client.c
+M src/master/master-settings.c
+M src/master/service-anvil.c
+M src/master/service-listen.c
+M src/master/service-log.c
+M src/master/service-monitor.c
+M src/master/service-process-notify.c
+M src/master/service-process.c
+M src/master/service.c
+M src/old-stats/client-export.c
+M src/old-stats/client-reset.c
+M src/old-stats/client.c
+M src/old-stats/fifo-input-connection.c
+M src/old-stats/global-memory.c
+M src/old-stats/mail-command.c
+M src/old-stats/mail-domain.c
+M src/old-stats/mail-ip.c
+M src/old-stats/mail-session.c
+M src/old-stats/mail-stats.c
+M src/old-stats/mail-user.c
+M src/old-stats/main.c
+M src/old-stats/stats-carbon.c
+M src/old-stats/stats-settings.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile-update.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/acl/acl-global-file.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-plugin.c
+M src/plugins/acl/acl-shared-storage.c
+M src/plugins/acl/acl-storage.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/apparmor/apparmor-plugin.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/expire/expire-set.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/fts-squat-plugin.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+M src/plugins/fts/doveadm-fts.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-parser-html.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-parser-tika.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-search-args.c
+M src/plugins/fts/fts-search-serialize.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-user.c
+M src/plugins/fts/xml2text.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-old-stats/imap-stats-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/listescape/listescape-plugin.c
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+M src/plugins/mail-crypt/fs-crypt-settings.c
+M src/plugins/mail-crypt/fs-crypt.c
+M src/plugins/mail-crypt/fs-mail-crypt.c
+M src/plugins/mail-crypt/mail-crypt-acl-plugin.c
+M src/plugins/mail-crypt/mail-crypt-global-key.c
+M src/plugins/mail-crypt/mail-crypt-key.c
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+M src/plugins/mail-crypt/mail-crypt-pluginenv.c
+M src/plugins/mail-crypt/mail-crypt-userenv.c
+M src/plugins/mail-crypt/test-mail-global-key.c
+M src/plugins/mail-crypt/test-mail-key.c
+M src/plugins/mail-filter/istream-ext-filter.c
+M src/plugins/mail-filter/mail-filter-plugin.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+M src/plugins/mail-log/mail-log-plugin.c
+M src/plugins/mailbox-alias/mailbox-alias-plugin.c
+M src/plugins/notify-status/notify-status-plugin.c
+M src/plugins/notify/notify-plugin.c
+M src/plugins/notify/notify-storage.c
+M src/plugins/old-stats/mail-stats-connection.c
+M src/plugins/old-stats/mail-stats-fill.c
+M src/plugins/old-stats/mail-stats.c
+M src/plugins/old-stats/stats-plugin.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/pop3-migration/test-pop3-migration-plugin.c
+M src/plugins/push-notification/push-notification-driver-dlog.c
+M src/plugins/push-notification/push-notification-driver-ox.c
+M src/plugins/push-notification/push-notification-drivers.c
+M src/plugins/push-notification/push-notification-drivers.h
+M src/plugins/push-notification/push-notification-event-flagsclear.c
+M src/plugins/push-notification/push-notification-event-flagsclear.h
+M src/plugins/push-notification/push-notification-event-flagsset.c
+M src/plugins/push-notification/push-notification-event-flagsset.h
+M src/plugins/push-notification/push-notification-event-mailboxcreate.c
+M src/plugins/push-notification/push-notification-event-mailboxcreate.h
+M src/plugins/push-notification/push-notification-event-mailboxdelete.c
+M src/plugins/push-notification/push-notification-event-mailboxdelete.h
+M src/plugins/push-notification/push-notification-event-mailboxrename.c
+M src/plugins/push-notification/push-notification-event-mailboxrename.h
+M src/plugins/push-notification/push-notification-event-mailboxsubscribe.c
+M src/plugins/push-notification/push-notification-event-mailboxsubscribe.h
+M src/plugins/push-notification/push-notification-event-mailboxunsubscribe.c
+M src/plugins/push-notification/push-notification-event-mailboxunsubscribe.h
+M src/plugins/push-notification/push-notification-event-message-common.h
+M src/plugins/push-notification/push-notification-event-messageappend.c
+M src/plugins/push-notification/push-notification-event-messageappend.h
+M src/plugins/push-notification/push-notification-event-messageexpunge.c
+M src/plugins/push-notification/push-notification-event-messageexpunge.h
+M src/plugins/push-notification/push-notification-event-messagenew.c
+M src/plugins/push-notification/push-notification-event-messagenew.h
+M src/plugins/push-notification/push-notification-event-messageread.c
+M src/plugins/push-notification/push-notification-event-messageread.h
+M src/plugins/push-notification/push-notification-event-messagetrash.c
+M src/plugins/push-notification/push-notification-event-messagetrash.h
+M src/plugins/push-notification/push-notification-events-rfc5423.c
+M src/plugins/push-notification/push-notification-events-rfc5423.h
+M src/plugins/push-notification/push-notification-events.c
+M src/plugins/push-notification/push-notification-events.h
+M src/plugins/push-notification/push-notification-plugin.c
+M src/plugins/push-notification/push-notification-plugin.h
+M src/plugins/push-notification/push-notification-triggers.c
+M src/plugins/push-notification/push-notification-triggers.h
+M src/plugins/push-notification/push-notification-txn-mbox.c
+M src/plugins/push-notification/push-notification-txn-mbox.h
+M src/plugins/push-notification/push-notification-txn-msg.c
+M src/plugins/push-notification/push-notification-txn-msg.h
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-imapc.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-plugin.c
+M src/plugins/quota/quota-status-settings.c
+M src/plugins/quota/quota-status.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota-util.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/test-quota-util.c
+M src/plugins/replication/replication-plugin.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/var-expand-crypt/test-var-expand-crypt.c
+M src/plugins/var-expand-crypt/var-expand-crypt-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-plugin.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/virtual/virtual-transaction.c
+M src/plugins/welcome/welcome-plugin.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client.c
+M src/pop3-login/pop3-login-settings.c
+M src/pop3-login/pop3-proxy.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-settings.c
+M src/replication/aggregator/aggregator-settings.c
+M src/replication/aggregator/aggregator.c
+M src/replication/aggregator/notify-connection.c
+M src/replication/aggregator/replicator-connection.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/dsync-client.c
+M src/replication/replicator/notify-connection.c
+M src/replication/replicator/replicator-brain.c
+M src/replication/replicator/replicator-queue-auth.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-settings.c
+M src/replication/replicator/replicator.c
+M src/stats/client-reader.c
+M src/stats/client-writer.c
+M src/stats/main.c
+M src/stats/stats-event-category.c
+M src/stats/stats-metrics.c
+M src/stats/stats-settings.c
+M src/submission-login/client-authenticate.c
+M src/submission-login/client.c
+M src/submission-login/submission-login-settings.c
+M src/submission-login/submission-proxy.c
+M src/submission/cmd-data.c
+M src/submission/cmd-helo.c
+M src/submission/cmd-mail.c
+M src/submission/cmd-noop.c
+M src/submission/cmd-quit.c
+M src/submission/cmd-rcpt.c
+M src/submission/cmd-rset.c
+M src/submission/cmd-vrfy.c
+M src/submission/main.c
+M src/submission/submission-client.c
+M src/submission/submission-commands.c
+M src/submission/submission-settings.c
+M src/util/gdbhelper.c
+M src/util/maildirlock.c
+M src/util/rawlog.c
+M src/util/script-login.c
+M src/util/script.c
+M src/util/tcpwrap-settings.c
+M src/util/tcpwrap.c
+
+2017-12-29 16:19:53 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4a1e2e8e85)
+
+ doveadm: Unref header search context after use
+
+ Fixes memory leak, found by valgrind
+
+M src/doveadm/doveadm-mail-iter.c
+
+2017-12-18 15:21:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5f08b03091)
+
+ global: Rename timing API to stats-dist API
+
+ The API wasn't really about timings specifically, but about statistics in
+ general. The new stats service was already using it for tracking statistics
+ for non-timing related numbers.
+
+M src/dict/dict-commands.c
+M src/dict/dict-commands.h
+M src/dict/main.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib/Makefile.am
+A src/lib/stats-dist.c
+A src/lib/stats-dist.h
+M src/lib/test-lib.inc
+A src/lib/test-stats-dist.c
+D src/lib/test-timing.c
+D src/lib/timing.c
+D src/lib/timing.h
+M src/stats/client-reader.c
+M src/stats/stats-metrics.c
+M src/stats/stats-metrics.h
+
+2017-12-27 14:38:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (53cb0fe737)
+
+ submission: EHLO command: Remove obsolete pending_ehlo handling.
+
+ This was used to wait with sending an EHLO reply until the proxy connection
+ to the relay server completes. The previous commit made this functionality
+ obsolete, since command input handling is blocked entirely until the proxy
+ connection is ready.
+
+M src/submission/cmd-helo.c
+M src/submission/submission-client.h
+
+2017-12-27 14:36:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d63fbcb367)
+
+ submission: Block server input handling until proxy connection to relay
+ server completes.
+
+ This makes sure we are aware of the full extent of the backend server's
+ capabilities, before we start handling commands. Before, only EHLO commands
+ were blocked this way, but this did not account for MAIL/RCPT parameters,
+ which are equally dependent. Fixes problems with clients that send no EHLO
+ after AUTH, like Thunderbird.
+
+M src/submission/submission-client.c
+
+2017-12-27 17:02:12 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (912e87d5be)
+
+ lib-smtp: server: Add APIs for halting and resuming connection command
+ handling.
+
+ Also adds function to start the connection in a pending (halted) state. This
+ way the greeting can already be sent (over SSL if needed), while deferring
+ command handling until some external activity is completed.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server.h
+
+2017-12-27 16:31:12 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3feb1ab039)
+
+ lib-smtp: server: Prevent calling smtp_server_connection_login() after
+ smtp_server_connection_start().
+
+ Added assertion.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2017-12-27 16:22:22 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f091dd12d1)
+
+ lib-smtp: server: Protect smpt_server_connection_start() from being called
+ multiple times.
+
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server-private.h
+
+2017-12-27 16:18:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9a3c4a10fd)
+
+ lib-smtp: server: Delay handling initial input (from login service) until
+ after smtp_server_connection_start().
+
+ Instead, it is now handled in normal io callback.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2017-12-27 15:56:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6b312949dc)
+
+ lib-smtp: server: Remove implicit smtp_server_connection_start() from
+ smtp_server_connection_login().
+
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server.h
+M src/submission/submission-client.c
+
+2017-12-27 15:59:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b85a1bcaa9)
+
+ lib-smtp: server: Moved smtp_server_connection_start() after
+ smtp_server_connection_login().
+
+ Also fixes an indent problem in the header comment implicitly.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server.h
+
+2017-12-27 15:52:13 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (40a926a1ae)
+
+ lib-smtp: server: Moved ssl_start argument from
+ smtp_server_connection_start() to smtp_server_connection_create().
+
+ This frees smtp_server_connection_start() for general use.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server.h
+M src/lib-smtp/test-smtp-payload.c
+M src/lib-smtp/test-smtp-server-errors.c
+M src/lmtp/client.c
+M src/submission-login/client.c
+M src/submission/submission-client.c
+
+2017-12-28 14:10:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c864fdd520)
+
+ dsync: Add per-mailbox sync lock that is always used.
+
+ Both importing and exporting gets the lock before they even sync the
+ mailbox. The lock is kept until the import/export finishes. This guarantees
+ that no matter how dsync is run, two dsyncs can't be working on the same
+ mailbox at the same time.
+
+ This lock is in addition to the optional per-user lock enabled by the -l
+ parameter. If the -l parameter is used, the same lock timeout is used for
+ the per-mailbox lock. Otherwise 30s timeout is used.
+
+ This should help to avoid email duplication when replication is enabled for
+ public namespaces, and maybe in some other rare situations as well.
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-mailbox.c
+M src/doveadm/dsync/dsync-mailbox.h
+
+2017-12-28 19:40:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (67654ca684)
+
+ lib: Make file_lock_free(NULL) no-op
+
+
+M src/lib/file-lock.c
+
+2017-12-28 13:53:14 +0200 Jarkko Mourujärvi <jarkko.mourujarvi@dovecot.fi> (e5a90184be)
+
+ doveconf: add hostname to output
+
+
+M src/config/doveconf.c
+
+2017-12-01 13:49:31 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (aef3284481)
+
+ auth: Use rip instead of real_rip in policy server attributes
+
+ real_rip contains proxy IP, not client IP
+
+M src/auth/auth-settings.c
+
+2017-12-01 13:46:10 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (bdaa18d4d5)
+
+ auth: Include tls=true/false in policy server request
+
+
+M src/auth/auth-policy.c
+
+2017-12-01 13:30:43 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1eedfce593)
+
+ auth: Support secured=tls
+
+
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/test-auth-request-var-expand.c
+
+2017-12-11 11:16:02 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fe93257546)
+
+ login-common: Pass SSL protocol details to auth
+
+
+M src/login-common/sasl-server.c
+
+2017-12-01 13:16:34 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3609e0b9b8)
+
+ login-common: Indicate TLS encryption if haproxy says it was
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2017-12-11 11:08:08 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8c79de417a)
+
+ lib-auth: Include ssl protocol details in request when present
+
+
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.h
+
+2017-12-01 13:16:07 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ff2f20bbc0)
+
+ lib-auth: Add AUTH_REQUEST_FLAG_TLS
+
+ Indicates whether connection is over TLS encryption.
+
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.h
+
+2017-12-11 11:00:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (33631b9b71)
+
+ lib-ssl-iostream: Add accessors for additional SSL protocol details
+
+ This is needed in order to send these details as fields to auth process
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-12-13 09:52:16 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8b0f52c573)
+
+ m4: Check for SSL_CIPHER_get_kx_nid
+
+
+M m4/ssl.m4
+
+2017-12-28 11:30:00 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (488a0d56bf)
+
+ lib-http: test-http-client - Make DNS client optional
+
+ Only use DNS client if present. Allows running the test-http-client
+ standalone.
+
+M src/lib-http/test-http-client.c
+
+2017-12-28 10:47:28 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (21680ee5e2)
+
+ lib-http: Only depend on iostream openssl lib if building with openssl
+
+ Fixes build without openssl
+
+M src/lib-http/Makefile.am
+
+2017-12-28 10:27:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6fd1a97ebe)
+
+ dsync: Add debug logging for .dovecot-sync.lock locking/unlocking
+
+
+M src/doveadm/dsync/dsync-brain.c
+
+2017-12-23 23:49:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (41336a1443)
+
+ submission-login: Fail CLIENT_AUTH_RESULT_MECH_SSL_REQUIRED authentication
+ result with 523 5.7.10 error.
+
+ Defined in RFC5248, Section 2.4.
+
+M src/submission-login/client-authenticate.c
+
+2017-12-27 15:18:14 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (00cdcc993d)
+
+ submission: BURL command: Return more appropriate 554 5.7.14 error when
+ BURL/URLAUTH is not configured.
+
+ Defined in RFC5248, Section 2.4.
+
+M src/submission/cmd-data.c
+
+2017-12-27 12:05:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (64ae798f3f)
+
+ dovecot-config: Update lib-stats directory to lib-old-stats
+
+
+M dovecot-config.in.in
+
+2017-12-26 00:38:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8794ac44a0)
+
+ lib-smtp: server: Fix assertion failure occurring for a second failed
+ BDAT/BURL command.
+
+ Assertion was:
+
+ Panic: file smtp-server-cmd-data.c: line 420
+ (smtp_server_connection_data_chunk_init): assertion failed:
+ (data_cmd->chunk_first)
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2017-12-12 15:21:17 +0200 Phil Carmody <phil@dovecot.fi> (51913d4b24)
+
+ lib/timing - helper for arbitrary percentiles
+
+ Replace fixed 95th %-ile helper with request for arbitrary percentiles, or
+ even arbitrary fractions of the range.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/timing.c
+M src/lib/timing.h
+
+2017-12-15 00:44:51 +0200 Phil Carmody <phil@dovecot.fi> (b0b9b292c7)
+
+ lib/data-stack - in panic scenarios, use the panic memory buffer
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2017-12-15 00:35:39 +0200 Phil Carmody <phil@dovecot.fi> (4c9989b49c)
+
+ lib/datastack - remove useless thing
+
+ It was useless.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2017-12-25 11:10:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7484b1b01b)
+
+ imapc: Add imapc_features=no-msn-updates
+
+ This is a stricter version of fetch-msn-workarounds. The MSNs aren't trusted
+ at all. This means any new untagged EXISTS and EXPUNGE replies are ignored,
+ as well as untagged FETCH replies that don't include UID.
+
+ A potential downside with this feature is that UID FETCH/STORE commands sent
+ to expunged messages will likely fail without the IMAP client being notified
+ of the EXPUNGEs. New mails are also not noticed, so this should be used only
+ when it's known that the clients don't keep the connection open for long.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+
+2017-12-25 18:24:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (efbed6ccb1)
+
+ lib-storage: mail_storage_set_index_error() - handle NULL index error
+
+ This avoids assert-crashing later on in mail*_get_last_internal_error().
+
+ This could potentially be an assert instead of setting it as "BUG", but it
+ looks like there are various code paths in lib-index that return -1 without
+ setting an error. (That's to avoid duplicate error logging, although it
+ could now be fixed with mail_index_set_error_nolog().)
+
+M src/lib-storage/mail-storage.c
+
+2017-12-25 18:18:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (103b44c67f)
+
+ lib-storage: Set index error on transaction commit() callback
+
+ The commit callback is setting errors to storage. However, it's being called
+ from mail_index_transaction_commit() whose callers are expecting the error
+ to be in index. If that index error was attempted to be used, it could have
+ been wrong or NULL. Fix this by setting the same storage error also to the
+ index.
+
+M src/lib-storage/index/index-transaction.c
+
+2017-12-25 18:17:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d808185fd6)
+
+ lib-index: Add mail_index_set_error_nolog()
+
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+
+2017-12-24 15:12:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (961a5c4724)
+
+ submission: Restructure handling of QUIT command.
+
+ - Avoid explicitly proxying QUIT command when the proxy connection is not
+ ready: in that case the SMTP client connection will just send QUIT if
+ appropriate, without waiting for reply.
+ - Add timeout for proxied QUIT command, so that there are no problems when
+ the relay server hangs after QUIT (addresses FIXME).
+
+M src/submission/cmd-quit.c
+M src/submission/submission-client.c
+M src/submission/submission-client.h
+M src/submission/submission-common.h
+
+2017-12-24 14:52:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (aa8e45365f)
+
+ submission: Dropped unused field from struct client.
+
+
+M src/submission/submission-client.h
+
+2017-12-24 12:17:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (922a260e6b)
+
+ submission-login: Fix pipelining of commands beyond AUTH.
+
+ The master_data_prefix was initialized wrong; it omitted the expected '\0'
+ byte after the helo field.
+
+M src/submission-login/client-authenticate.c
+
+2017-12-24 12:15:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a731e3b18f)
+
+ submission: Initialize proxy connection before starting the SMTP server
+ connection.
+
+ The smtp_server_connection_login() function gets pre-login connection data
+ from login service, which can contain commands. The execution of commands
+ expects the proxy connection object to be initialized.
+
+M src/submission/submission-client.c
+
+2017-12-24 14:35:15 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3da7cb6c60)
+
+ lib-smtp: client: Fix rawlog input stream inconsistency by updating streams
+ right after initializing TLS.
+
+ Restructured the code to call a new function called
+ smtp_client_connection_streams_changed() which performs all the necessary
+ updates. Before, enabling rawlog could break the TLS handshake.
+
+M src/lib-smtp/smtp-client-connection.c
+
+2017-12-23 22:51:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c37c4cc56b)
+
+ lib-smtp: client: Add assertion to smtp_client_command_write().
+
+ Makes sure it is not used after the command is submitted.
+
+M src/lib-smtp/smtp-client-command.c
+
+2017-12-23 22:49:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f2217546e5)
+
+ lib-smtp: client: Fix smtp_client_command_name_equals() to work properly
+ after the command is submitted.
+
+ At command submission, CRLF is appended to command data. This messed up the
+ name comparison. This in turn caused a spurious QUIT command to be sent to
+ the server at connection close.
+
+M src/lib-smtp/smtp-client-command.c
+
+2017-12-23 22:14:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2dd20833b8)
+
+ lib-smtp: client: Make smtp_client_connection_commands_abort() more reliable
+ by copying the command lists.
+
+ Copy the current lists of queued and waiting commands and reference each
+ command before calling smtp_client_command_abort(). Aborting one command can
+ cause other dependent commands to be aborted (in a transaction or from
+ submission service), which could have caused trouble in this function.
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2017-12-23 22:04:13 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bd06411e6f)
+
+ lib-smtp: client: Make smtp_client_connection_commands_fail_reply() more
+ reliable by copying the command lists.
+
+ Copy the current lists of queued and waiting commands and reference each
+ command before calling smtp_client_command_fail_reply(). Failing one command
+ can cause other dependent commands to be aborted (in a transaction or from
+ submission service), which could have caused trouble in this function.
+ Problems would likely occur at connection disconnect.
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-connection.c
+M src/lib-smtp/smtp-client-private.h
+
+2017-12-23 19:40:09 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (df957821a4)
+
+ submission-login: Fixed handling of ssl=required for trusted connections.
+
+ Normally, SSL is not required for trusted connections (e.g. localhost), but
+ submission-login did not follow this standard.
+
+M src/submission-login/client.c
+
+2017-12-22 15:12:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b712b80422)
+
+ doveadm dump: Add "multiplex" dump type
+
+ This allows dumping all channels from istream-multiplex stream.
+
+M src/doveadm/doveadm-dump.c
+
+2017-12-22 15:11:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8fe0b13a23)
+
+ doveadm dump: Allow doveadm_cmd_dump.test() to be NULL
+
+ This means that there's no auto-detection for the dump type.
+
+M src/doveadm/doveadm-dump.c
+
+2017-12-22 15:10:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (45ba3f8b55)
+
+ lib: istream-multiplex - Return error if the last packet wasn't fully read
+
+
+M src/lib/istream-multiplex.c
+
+2017-12-22 15:07:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (08853ba590)
+
+ doveadm: Fix potential crash or reading garbage from doveadm-server
+
+ The connection's input buffer may have been reallocated or otherwise moved
+ while checking for log input.
+
+M src/doveadm/server-connection.c
+
+2017-12-22 13:36:32 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d3c2ca49bb)
+
+ doveadm: Don't connect to stats-writer for the "quick init" commands
+
+
+M src/doveadm/doveadm.c
+
+2017-12-22 13:20:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f6f23086d0)
+
+ lib-master: Add master_service_init_stats_client()
+
+ This allows initializing the stats client after master_service_init() if
+ necessary.
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2017-12-22 13:27:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5343822b9b)
+
+ lib-master: Hide connect(stats-writer) errors when running via CLI
+
+ Only hide errors that occur if the stats process isn't running, i.e. when
+ socket isn't found or there's no listener. This way e.g. permission errors
+ are still logged, which points to a wrong configuration.
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/stats-client.c
+M src/lib-master/stats-client.h
+
+2017-12-22 13:34:45 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e5fb6b3b7d)
+
+ auth: Fix password and scheme handling in Lua db
+
+ This was only partially fixed in c86575ac9776d0995355d03719c82e7ceac802e6
+
+M src/auth/db-lua.c
+M src/auth/passdb-lua.c
+
+2017-12-22 09:42:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2f0784526c)
+
+ imap-old-stats plugin: Finish renaming the plugin
+
+ The init functions and dependency were named wrong, so it didn't work.
+
+M src/plugins/imap-old-stats/imap-stats-plugin.c
+M src/plugins/imap-old-stats/imap-stats-plugin.h
+
+2017-12-22 09:37:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (89074345d3)
+
+ m4: Fix detecting libsodium to use LIBS instead of LDFLAGS
+
+ Patch by Eray Aslan
+
+M m4/want_sodium.m4
+
+2017-12-22 09:36:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ed97ec6905)
+
+ m4: Avoid _FORTIFY_SOURCE redefinition warnings
+
+ Some source based distros like Gentoo already enable -D_FORTIFY_SOURCE=2 by
+ default resulting in the following warnings during build:
+
+ <command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined
+ <built-in>: note: this is the location of the previous definition
+
+ Patch by Eray Aslan
+
+M m4/cc_fortify.m4
+
+2017-12-22 09:59:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c358e15900)
+
+ example-config: Fix postmaster_address comment
+
+ The default value was wrong.
+
+M doc/example-config/conf.d/15-lda.conf
+
+2017-12-22 11:25:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (814e03ba3f)
+
+ doveadm-server: Fix potential hangs with SSL connections
+
+
+M src/doveadm/client-connection-tcp.c
+
+2017-12-18 21:58:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4206b81aef)
+
+ auth: Don't include LIBSODIUM_LIBS in dependencies
+
+ Put it into AUTH_LIBS among other libraries that are used by auth.
+
+M m4/want_sodium.m4
+M src/auth/Makefile.am
+
+2017-06-08 12:18:30 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (05a4fe6496)
+
+ lib-auth: Require being connected before adding requests
+
+
+M src/lib-auth/auth-server-connection.c
+M src/lib-auth/auth-server-connection.h
+
+2017-06-05 12:44:06 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d2b6189eb6)
+
+ lib-auth: Prevent double-disconnect
+
+ When disconnecting, it's possible that disconnect gets called twice by some
+ callback, so protect it with a boolean.
+
+ Fixes Panic: file hash.c: line 152 (hash_table_clear): assertion failed:
+ (table->frozen == 0)
+
+M src/lib-auth/auth-server-connection.c
+M src/lib-auth/auth-server-connection.h
+
+2017-12-21 23:09:13 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1171e5f92b)
+
+ lib-smtp: server: STARTTLS command: Call
+ smtp_server_connection_set_ssl_streams() after calling the conn_start_tls()
+ connection callback.
+
+ This is called instead smtp_server_connection_set_streams(), so that the
+ connection is now marked as SSL-secured. This fixes a submission-login bug
+ that prevented client login when ssl=required.
+
+M src/lib-smtp/smtp-server-cmd-starttls.c
+
+2017-12-21 23:07:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (55f1e5a6f2)
+
+ lib-smtp: server: Add smtp_server_connection_set_ssl_streams().
+
+ It wraps smtp_server_connection_set_streams() and additionally marks the
+ connection as SSL-secured.
+
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server.h
+
+2017-12-21 23:00:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9249c80276)
+
+ lib-smtp: server: Change conn_start_tls() connection callback to return a
+ success status.
+
+
+M src/lib-smtp/smtp-server-cmd-starttls.c
+M src/lib-smtp/smtp-server.h
+M src/submission-login/client.c
+
+2017-12-19 00:29:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (570f026984)
+
+ man: Update version number to v2.3
+
+
+M doc/man/doveadm-acl.1.in
+M doc/man/doveadm-altmove.1.in
+M doc/man/doveadm-auth.1.in
+M doc/man/doveadm-batch.1.in
+M doc/man/doveadm-deduplicate.1.in
+M doc/man/doveadm-director.1.in
+M doc/man/doveadm-dump.1.in
+M doc/man/doveadm-exec.1.in
+M doc/man/doveadm-expunge.1.in
+M doc/man/doveadm-fetch.1.in
+M doc/man/doveadm-flags.1.in
+M doc/man/doveadm-force-resync.1.in
+M doc/man/doveadm-fs.1.in
+M doc/man/doveadm-fts.1.in
+M doc/man/doveadm-help.1.in
+M doc/man/doveadm-import.1.in
+M doc/man/doveadm-index.1.in
+M doc/man/doveadm-instance.1.in
+M doc/man/doveadm-kick.1.in
+M doc/man/doveadm-log.1.in
+M doc/man/doveadm-mailbox-cryptokey.1.in
+M doc/man/doveadm-mailbox.1.in
+M doc/man/doveadm-move.1.in
+M doc/man/doveadm-penalty.1.in
+M doc/man/doveadm-proxy.1.in
+M doc/man/doveadm-purge.1.in
+M doc/man/doveadm-pw.1.in
+M doc/man/doveadm-quota.1.in
+M doc/man/doveadm-replicator.1.in
+M doc/man/doveadm-save.1.in
+M doc/man/doveadm-search-query.7
+M doc/man/doveadm-search.1.in
+M doc/man/doveadm-stats.1.in
+M doc/man/doveadm-sync.1.in
+M doc/man/doveadm-user.1.in
+M doc/man/doveadm-who.1.in
+M doc/man/doveadm.1.in
+M doc/man/doveconf.1.in
+M doc/man/dovecot-lda.1.in
+M doc/man/dovecot.1.in
+
+2017-12-18 16:45:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3bded60597)
+
+ lib-smtp: server: Fixed assertion in smtp_server_connection_next_reply()
+ checking whether command is fully replied.
+
+ It did not handle LMTP DATA/BDAT command correctly, for which there can be
+ multiple replies.
+
+ This fixes mixing local/remote recipients in LMTP, which used to crash:
+ Panic: file smtp-server-connection.c: line 610
+ (smtp_server_connection_next_reply): assertion failed: (cmd->state ==
+ SMTP_SERVER_COMMAND_STATE_READY_TO_REPLY &&
+ smtp_server_command_is_replied(cmd))
+
+M src/lib-smtp/smtp-server-connection.c
+
+2017-12-18 19:28:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ba6eb87170)
+
+ lib-smtp: server: Fix compile error in smtp-server-cmd-helo.c.
+
+ Error was:
+ "smtp-server-cmd-helo.c", line 140: void function cannot return value
+
+M src/lib-smtp/smtp-server-cmd-helo.c
+
+2017-12-18 15:20:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0ac0c93af1)
+
+ lib-smtp: command parser: Fix error recovery.
+
+ Input characters were not skipped upon error, meaning that error recovery
+ would encounter these again. This would make the parser parse the same data
+ over and over again, yielding the same error. This in turn caused the SMTP
+ server application to hang in an infinite input loop, submitting error
+ replies in the process, thereby filling up the process memory until
+ exhaustion. Problem seen in submission service, but LMTP is also affected.
+
+M src/lib-smtp/smtp-command-parser.c
+
+2017-12-18 14:08:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (64a087b8c2)
+
+ lib-smtp: server: Fix panic when disconnecting client aborting commands
+
+ This happened at least if the relay server simply disconnected without
+ sending any output.
+
+ Fixes: Panic: file submission-commands.c: line 39: unreached
+
+M src/submission/submission-commands.c
+
+2017-12-18 14:04:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5dfe0fedb0)
+
+ lib-smtp: smtp_server_connection_pending_command_data() - don't crash if
+ smtp_parser is NULL
+
+
+M src/lib-smtp/smtp-server-connection.c
+
+2017-12-18 13:16:09 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9166602da0)
+
+ doc: example-config: Properly document SSL configuration for submission
+ relay server.
+
+
+M doc/example-config/conf.d/20-submission.conf
+
+2017-12-18 12:08:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9cb0d95152)
+
+ submission: Fix memory leaks at deinit when submission_relay_host setting is
+ missing
+
+
+M src/submission/main.c
+
+2017-12-18 12:06:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ad9dc923a7)
+
+ lib-smtp: server: Fix panic when io_remove() is called too late
+
+ With submission-login the conn_disconnect() callback ends up in
+ login-common's client_disconnect(), which closes the file descriptor. The
+ io_remove() was done afterwards, which caused a crash:
+
+ submission-login: Panic: epoll_ctl(del, 18) failed: Bad file descriptor
+
+M src/lib-smtp/smtp-server-connection.c
+
+2017-12-18 12:05:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4e4b3ae48b)
+
+ lib-smtp: server: Fix infinite loop when client disconnects in initial state
+
+
+M src/lib-smtp/smtp-command-parser.c
+M src/lib-smtp/smtp-command-parser.h
+M src/lib-smtp/test-smtp-command-parser.c
+
+2017-12-18 12:48:07 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (60a85755d1)
+
+ old-stats plugin: Rename stats_* settings to old_stats_*
+
+
+M src/plugins/old-stats/stats-plugin.c
+
+2017-12-18 12:47:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7fd6fd01d4)
+
+ auth: Install stats plugin to old-stats/
+
+ Fixes using auth_stats=yes
+
+M src/auth/Makefile.am
+
+2017-12-17 20:41:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d1990f6fd7)
+
+ lib: Fix using appended log prefixes for events when full prefix isn't
+ replaced
+
+
+M src/lib/event-log.c
+
+2017-12-17 20:39:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3945430386)
+
+ lib: Fix using failure_context.log_prefix with internal log process
+ communication
+
+
+M src/lib/failures.c
+
+2017-12-17 20:38:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2f366ea272)
+
+ log: Add "disable log prefix" flag to log lines
+
+
+M src/lib/failures.c
+M src/lib/failures.h
+M src/log/log-connection.c
+
+2017-12-17 20:35:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ddd5a0932d)
+
+ lib: Add event_send()
+
+
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+
+2017-12-17 20:35:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (68f5234e8c)
+
+ lib: Rename event_send() to event_vsend()
+
+
+M src/lib/event-log.c
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+
+2017-12-15 23:28:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (89ec71829c)
+
+ lmtp: local: Properly handle a user being over quota.
+
+ Recent changes caused quota enforcement to be ineffective.
+
+M src/lmtp/lmtp-local.c
+
+2017-12-15 21:31:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (540ac35c2e)
+
+ lmtp: local: Make sure pending recipient is always destroyed.
+
+ Before, the recipient was not freed when the server/connection ended
+ prematurely.
+
+M src/lmtp/lmtp-local.c
+
+2017-12-15 19:05:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2b2f0de75e)
+
+ configure: Switched version number to 2.4.devel
+
+
+M configure.ac
+
+2017-12-14 23:00:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (885d23eea2)
+
+ login-proxy: Add back support for ssl_client_cert/key
+
+ Forgot to add these while rewriting login-proxy to use lib-ssl-iostream.
+
+M src/login-common/login-proxy.c
+
+2017-12-14 22:59:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bcb65da2be)
+
+ lib-ssl-iostream: If allow_invalid_cert=TRUE, skip verifying hostname
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2017-12-15 14:42:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (21f7563c2b)
+
+ lib-master: Fix master_service_ssl_settings_to_iostream_set() for client
+ settings
+
+ ssl_verify_client_cert setting applies only to server side. For client side
+ we always verify the SSL certificate validity.
+
+M src/lib-master/master-service-ssl-settings.c
+
+2017-12-15 14:11:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ff8a751fb9)
+
+ lib-http: Add http_client_init_private()
+
+ This allows creating a HTTP client without a shared context, in case it's
+ needed for some reason.
+
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2017-12-15 14:10:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e7bc4ce821)
+
+ lib-http: Change http_client_init() to use the global shared client context
+
+ This is most likely what is usually wanted.
+
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2017-12-15 14:08:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (788e61d347)
+
+ lib-http: Add http_client_get_global_context()
+
+
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2017-12-07 11:34:57 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (1d4e5de841)
+
+ lib: array_idx_modifiable changed not to allocate space.
+
+
+M src/lib/array.c
+M src/lib/array.h
+
+2017-12-07 11:00:50 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (139143f1b7)
+
+ global: Change calls to array_idx_modifiable to array_idx_get_space.
+
+ Only calls that require space allocation are to be changed.
+
+M src/auth/main.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread-links.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib/hash2.c
+M src/lib/ioloop-epoll.c
+M src/lib/module-context.h
+
+2017-12-07 10:51:27 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (0fd9c892b5)
+
+ lib: array_idx_get_space is defined as alias to array_idx_modifiable
+
+
+M src/lib/array.h
+
+2017-12-14 21:49:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (993b1b96f3)
+
+ fts: Code cleanup
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2017-12-14 21:42:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3813ebcae2)
+
+ fts: Don't try to retry parsing if indexing already fails
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2017-12-14 21:39:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d7c139d9a2)
+
+ fts: Use consistent naming for retriable_err_msg
+
+ It's only for retriable errors, not errors in general
+
+M src/plugins/fts/fts-build-mail.c
+
+2017-12-14 21:34:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d8ebe885f0)
+
+ fts: Make sure may_need_retry is reset between attempts.
+
+ It wasn't if the second attempt failed early.
+
+M src/plugins/fts/fts-build-mail.c
+
+2017-12-14 21:26:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f4c18fa75b)
+
+ fts: Add assert to make sure fts_parser.deinit() returns retriable_error_msg
+ when needed
+
+
+M src/plugins/fts/fts-parser.c
+
+2017-12-14 21:25:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fc2b89b110)
+
+ fts: fts-parser-tika - Add assert to make sure retriable_error_msg is set
+
+
+M src/plugins/fts/fts-parser-tika.c
+
+2017-12-14 21:25:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cbe118de87)
+
+ fts: fts-parser-script - Fix deinit return value
+
+
+M src/plugins/fts/fts-parser-script.c
+
+2017-12-14 21:23:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (07bfc948f8)
+
+ fts: fts-parser-html - Fix deinit return value
+
+
+M src/plugins/fts/fts-parser-html.c
+
+2017-12-14 21:53:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (76f255362c)
+
+ fts: fts_parser_deinit() - Fix default return value
+
+
+M src/plugins/fts/fts-parser.c
+
+2017-12-14 21:24:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8c93c82c97)
+
+ fts: Add comment to fts_parser_deinit() describing its API
+
+
+M src/plugins/fts/fts-parser.h
+
+2017-12-14 10:31:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ec61c407ca)
+
+ lib: Fix static analyzer warning about uninitialized va_list
+
+
+M src/lib/lib-event.c
+
+2017-12-14 12:01:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3b4d146372)
+
+ lib-storage: Delay error handing for invalid postmaster_address setting
+
+
+M src/lib-lda/mail-send.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2017-12-14 20:56:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (117ae14172)
+
+ cassandra: Fix crash when using prepared statements
+
+ Broken by cae3c6903c10682429f9849ab1a25093e3f538e4
+
+M src/lib-sql/driver-cassandra.c
+
+2017-12-14 23:10:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a074b1e401)
+
+ *-login: Avoid unnecessary "OK Waiting for authentication process to
+ respond"
+
+ These happened with SSL connections when the process was starting up. The
+ ssl-istream was triggering the IO callback, which was thinking that the
+ client was sending a command. If this happened early on before auth process
+ connection was finished, this caused several unnecessary notifications to
+ the client.
+
+M src/login-common/client-common.c
+
+2017-12-14 23:23:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (99a6ea3fc8)
+
+ global: Finish fixing oldstats plugin/service rename
+
+
+M src/old-stats/stats-settings.c
+M src/plugins/old-stats/mail-stats.c
+M src/plugins/old-stats/stats-plugin.h
+
+2017-12-14 21:50:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3c8a163545)
+
+ lib-http: client: Check whether client is running in a wait loop with the
+ correct condition.
+
+ This used to check client->ioloop != NULL, but now it should check
+ client->waiting. Previous commit (e8a1b62fe4a81b211dcccd1a58b44f254074eab6)
+ omitted a few instances where this should have been changed.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+
+2017-12-14 10:46:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (21bc261662)
+
+ lda: Do not replace the NULL sender with a default <MAILER-DAEMON> address.
+
+ Only do this substitution locally where a NULL sender would cause problems,
+ not everywhere else. This e.g. causes problems when determining whether to
+ send a rejection somewhere; attempts would be made to mail <MAILER-DAEMON>.
+ Also other envelope-based (Sieve) tests would get confused.
+
+M src/lda/main.c
+
+2017-12-14 10:42:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a1f1ff107e)
+
+ lib-lda: Properly check whether MAIL FROM is the NULL sender <>.
+
+ There's a function for that, since comparison with NULL pointer is not
+ sufficient.
+
+M src/lib-lda/mail-deliver.c
+
+2017-12-13 20:53:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e36634029b)
+
+ lib-master: stats-client - Fix reconnection if handshake wait fails
+
+ Fixes: Warning: Timeout leak: 0x5555556ac8d0 (stats-client.c:132)
+
+M src/lib-master/stats-client.c
+
+2017-12-14 13:02:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a46221f25b)
+
+ submission-login: Fix another NULL dereference occurring at an invalid reply
+ from the backend server.
+
+ The text variable was still being used when it could be NULL. Made the
+ offending code dependent on the reply validity check.
+
+ Problem found by Coverity.
+
+M src/submission-login/submission-proxy.c
+
+2017-12-14 14:13:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7a80631424)
+
+ oldstats plugin: Fix init/deinit function names
+
+
+M src/plugins/old-stats/stats-plugin.c
+
+2017-12-14 02:11:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (75aaa1aba3)
+
+ lib-storage: mailbox_list_index - Don't overwrite INBOX's flags with
+ prefix/INBOX's
+
+ This made the real INBOX appear as if it was \NoSelect
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+
+2017-12-14 02:10:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6081f6a511)
+
+ lib-storage: mailbox_list_index - indentation cleanup
+
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+
+2017-12-14 01:39:32 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (65492363f4)
+
+ lib-storage: mailbox_list_index - List prefix/INBOX if it necessary
+
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2017-12-14 01:36:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (874dc84086)
+
+ LAYOUT=fs: Fix listing prefix/INBOX
+
+ Removed some confusing special case code that didn't seem to work very well.
+ Implemented this now properly so that prefix/INBOX is listed as \NoSelect
+ mailbox whenever it has children.
+
+ It's not actually possible to differentiate between INBOX and prefix/INBOX
+ in the storage for a inbox=yes namespace, because they both are converted
+ into the same storage_name=INBOX.
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2017-12-14 01:34:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (141aa0e60c)
+
+ LAYOUT=fs: List INBOX as \NoInferiors when necessary
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2017-12-14 01:31:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f7dd04ec9a)
+
+ LAYOUT=index: List INBOX as \NoInferiors when necessary
+
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+
+2017-12-14 01:23:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (38e6026833)
+
+ LAYOUT=Maildir++: List INBOX as \NoInferiors when necessary
+
+
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+
+2017-12-14 01:23:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9a2149cccf)
+
+ lib-storage: Add mail_namespace_is_inbox_noinferiors()
+
+
+M src/lib-storage/mail-namespace.h
+
+2017-12-08 16:14:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (50ba09cd2e)
+
+ imapc: Don't skip listing "INBOX" when INBOX/ namespace prefix is used.
+
+ The INBOX was still listed as part of the autocreated mailboxes, unless
+ MAILBOX_LIST_ITER_NO_AUTO_BOXES was used.
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2017-12-13 19:11:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (673ee24d15)
+
+ lib: mempool-allocfree - make static analyzer happier with pool clearing
+
+ It was thinking that already freed memory was being accessed.
+
+M src/lib/mempool-allocfree.c
+
+2017-12-13 20:55:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (11d4b189a3)
+
+ dbox: Fix creating dbox-alt-root symlink when mail root directory doesn't
+ exist
+
+ Broken by 74664ac6dcf88cfc2ae6378c87c20ba694385a23
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2017-12-13 21:52:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (af7956fbd1)
+
+ lib-http: client: peer: Properly handle claiming an existing connection.
+
+ If no other connections were being created, request handling was not
+ restarted. This problem sometimes caused the client to hang. Fixed by
+ calling http_client_peer_connection_success() upon claiming an existing
+ connection.
+
+M src/lib-http/http-client-peer.c
+
+2017-12-13 18:16:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (20138b8f1e)
+
+ lib-http: test-http-payload: Terminate the test if it is hanging for some
+ reason.
+
+
+M src/lib-http/test-http-payload.c
+
+2017-12-13 17:27:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b7f1ebf921)
+
+ lib-http: test-http-payload: Amend shared client tests to do both download
+ and echo tests.
+
+ Also, the original download tests were named wrong.
+
+M src/lib-http/test-http-payload.c
+
+2017-12-13 17:29:09 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c9f7a211d2)
+
+ lib-http: test-http-payload: Fixed indent problems.
+
+
+M src/lib-http/test-http-payload.c
+
+2017-12-13 14:44:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f46a703b29)
+
+ doveadm stats dump: Add -r parameter to reset stats after dumping
+
+
+M src/doveadm/doveadm-stats.c
+
+2017-12-13 14:43:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9c675f5e25)
+
+ stats: Add DUMP-RESET command to reset stats after dumping them
+
+
+M src/stats/client-reader.c
+M src/stats/stats-metrics.c
+M src/stats/stats-metrics.h
+
+2017-12-12 21:38:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (74664ac6dc)
+
+ lib-storage: Delay creating mail root directory until it's necessary
+
+
+M src/lib-storage/mail-storage.c
+
+2017-12-12 21:36:07 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d95773f272)
+
+ lib-storage: Make sure index root is created when it's the same as root
+ directory
+
+ This is required by the following commit.
+
+M src/lib-storage/mailbox-list.c
+
+2017-08-09 20:06:00 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e8a1b62fe4)
+
+ lib-http: client: Made http_client record the current ioloop it is switched
+ to.
+
+ This prevents http_client_wait() from switching the client to an ioloop it
+ was never explicitly switched to.
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2017-12-13 14:19:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (481992bfe2)
+
+ imap: Fix o_stream_is_corked() assert check
+
+ All the callers cork the stream, so this can only mean that the corking
+ failed because the connection was already closed. Continue handling the
+ input anyway.
+
+ Fixes: Panic: file imap-client.c: line 1236 (client_handle_input): assertion
+ failed: (o_stream_is_corked(client->output))
+
+M src/imap/imap-client.c
+
+2017-12-13 15:48:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a8200366c3)
+
+ LAYOUT=index: Fix crash in doveadm force-resync if storage doesn't implement
+ list_index_rebuild()
+
+ Broken by recent changes.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2017-12-12 18:10:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f544706841)
+
+ LAYOUT=index: Fix updating STATUS changes in mailbox list index
+
+ Mailbox list index backend code was overriding sync_init and sync_deinit
+ methods, which STATUS handling had already already overridden. They both
+ used the same super struct, so STATUS's sync_* were never called.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-storage.h
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2017-12-13 15:54:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (583c5314e4)
+
+ lib-master: Fix logging "Expected FILTER" error
+
+
+M src/lib-master/stats-client.c
+
+2017-12-13 15:54:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (db2d8dff7f)
+
+ stats: Fix logging unknown client command error
+
+
+M src/stats/client-writer.c
+
+2017-12-13 14:37:59 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (0e8ff50d2f)
+
+ .gitignore: Ignore src/old-stats/old-stats
+
+
+M .gitignore
+
+2017-12-04 23:39:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (324f41beb3)
+
+ lib-http: Add named event: http_request_finished
+
+
+M src/lib-http/http-client-request.c
+
+2017-12-04 21:56:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (285f3c4cf8)
+
+ doveadm: Add new "stats dump" command
+
+
+M src/doveadm/Makefile.am
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+A src/doveadm/doveadm-stats.c
+
+2017-12-04 21:23:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (838d6a4751)
+
+ global: Enable MASTER_SERVICE_FLAG_SEND_STATS for mail processes
+
+
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+M src/imap/main.c
+M src/indexer/indexer-worker.c
+M src/lmtp/main.c
+M src/pop3/main.c
+
+2017-12-04 20:39:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (15dd18994a)
+
+ lib: connection - When receiving invalid VERSION line, log the line contents
+
+
+M src/lib/connection.c
+
+2017-12-04 20:33:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2fb27941fb)
+
+ log: Fix restoring global log prefix
+
+ It was allocated from data stack, which was freed by
+ master_service_init_finish(). This may have caused wrong prefix to be used
+ for log's internal error messages, or restoring the global log prefix could
+ have crashed:
+
+ Panic: file strfuncs.c: line 147 (t_noalloc_strdup_vprintf): assertion
+ failed: ((unsigned int)ret == *size_r-1)
+
+M src/log/log-connection.h
+M src/log/main.c
+
+2017-12-08 00:15:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (36409af77b)
+
+ lib-http: client: Replace http_*_debug() with e_debug()
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+
+2017-12-04 12:58:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (39018a6017)
+
+ lib-http: client: Remove redundant debug logging checks
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+
+2017-12-04 12:35:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2d1ad5742d)
+
+ lib-http: client: Add support for event API
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2017-12-04 12:27:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a79ae29fa9)
+
+ lib-http: Cleanup - Add name parameter to http_client_host_create()
+
+
+M src/lib-http/http-client-host.c
+
+2017-12-03 19:31:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b254b8ec1e)
+
+ lib-fs: Replace i_error() calls with e_error()
+
+
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+
+2017-12-03 19:26:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fc59aba4be)
+
+ lib-fs: Add fs_file/iter_init_with_event()
+
+ Use the event for logging critical errors
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-sis-common.c
+
+2017-12-04 15:06:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6d1218e68c)
+
+ lib-fs: Add fs_file/iter_init_parent()
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-wrapper.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+
+2017-12-04 14:55:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4110f968c9)
+
+ lib-fs: Set fs_iter.flags immediately in fs_iter_init()
+
+ This way backends don't need to set it.
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-test.c
+M src/lib-fs/fs-wrapper.c
+
+2017-12-04 14:53:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4d71d712b4)
+
+ lib-fs: Split allocation from fs.iter_init() to a separate fs.iter_alloc()
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test.c
+M src/lib-fs/fs-wrapper.c
+M src/lib-fs/fs-wrapper.h
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt.c
+M src/plugins/mail-crypt/fs-mail-crypt.c
+
+2017-12-04 14:43:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (86ad48a2e7)
+
+ lib-fs: Split allocation from fs.file_init() to a separate fs.file_alloc()
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+M src/plugins/mail-crypt/fs-crypt.c
+M src/plugins/mail-crypt/fs-mail-crypt.c
+
+2017-11-23 17:46:23 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (b63e20ea9b)
+
+ lib-master: Add stats-client
+
+ Enable it if MASTER_SERVICE_FLAG_SEND_STATS is set
+
+M src/lib-master/Makefile.am
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+A src/lib-master/stats-client.c
+A src/lib-master/stats-client.h
+M src/lib/lib-event-private.h
+
+2017-11-22 17:36:09 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (e9068f1c33)
+
+ stats: Add new stats service
+
+
+M configure.ac
+M src/Makefile.am
+A src/stats/Makefile.am
+A src/stats/client-reader.c
+A src/stats/client-reader.h
+A src/stats/client-writer.c
+A src/stats/client-writer.h
+A src/stats/main.c
+A src/stats/stats-event-category.c
+A src/stats/stats-event-category.h
+A src/stats/stats-metrics.c
+A src/stats/stats-metrics.h
+A src/stats/stats-settings.c
+A src/stats/stats-settings.h
+
+2017-11-21 18:22:38 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (9c9d842131)
+
+ imap: Add imap_command_finished event.
+
+ This can be used to get per-command statistics.
+
+M src/imap/imap-client.c
+
+2017-11-21 16:05:30 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (1c02804cdc)
+
+ imap: Add client_command_context.event and use it as global event while
+ running
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands.c
+M src/imap/imap-notify.c
+M src/imap/imap-state.c
+
+2017-11-21 15:33:59 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (fcad7b5f89)
+
+ imap: Add client.event and use it as mail_*user's parent event
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-common.h
+M src/imap/main.c
+
+2017-11-21 13:13:49 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (ceac664d4d)
+
+ lib-index: mail_index_set_error() - log error using index's event
+
+
+M src/lib-index/mail-index.c
+
+2017-11-21 13:13:40 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (82d158d37d)
+
+ lib-index: Add mail_index.event
+
+
+M src/doveadm/doveadm-dump-index.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-alloc-cache.h
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+M src/lib-index/test-mail-index-modseq.c
+M src/lib-index/test-mail-transaction-log-file.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2017-11-21 13:03:03 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (6610dc505a)
+
+ lib-storage: mail_storage_set_critical() - log error using user's event
+
+ Fix test-storage unit test to also initialize mail_user.event so it won't
+ crash.
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/test-mail-storage.c
+
+2017-11-21 12:59:40 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (c499c40caf)
+
+ lib-storage: Add mail.event
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2017-11-21 12:51:10 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (b644a77b00)
+
+ lib-storage: Add mailbox.event
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2017-11-20 19:33:40 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (677cc0d62b)
+
+ lib-storage: Add mail_user.event and give parent event in mail_user_alloc*()
+
+
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2017-11-20 17:26:42 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (d2729522f8)
+
+ lib-storage: Add mail_storage_service_user.event and use it as the global
+ event
+
+ The event is set in the same place as where the user's default logging
+ prefix is changed.
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2017-11-22 15:41:51 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (1fd856f117)
+
+ lib-master: Add log_debug setting
+
+ lib-master understands only the global log_debug setting, which is passed to
+ it via environment from master process, or alternatively via doveconf when
+ executing standalone programs. Any per-user log_debug settings need to be
+ handled explicitly elsewhere.
+
+M src/lib-master/master-interface.h
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service.c
+M src/master/service-process.c
+
+2017-11-22 14:51:47 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (c6ab223669)
+
+ lib: Add event filtering to debug logging
+
+
+M src/lib/event-log.c
+M src/lib/event-log.h
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+
+2017-11-22 13:55:51 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (918384d458)
+
+ lib: Add event filter
+
+ This currently supports matching events by:
+
+ * name
+ * source file:line
+ * categories
+ * key=value fields
+
+M src/lib/Makefile.am
+A src/lib/event-filter.c
+A src/lib/event-filter.h
+M src/lib/lib-event.c
+M src/lib/lib.c
+
+2017-12-04 21:20:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (53ea4ad7b3)
+
+ lib: Add event_import() and event_export()
+
+
+M src/lib/lib-event-private.h
+M src/lib/lib-event.c
+
+2017-10-23 11:18:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b8a1347a9e)
+
+ lib: Add event API
+
+ The events are hierarchical and the child events inherit the parents'
+ fields. The events will be attached to "objects", which gives them some
+ context. For example each mail user, mailbox and mail will have its own
+ event. The events can also have a log prefix, so logging events to e.g. mail
+ will always log a consistent prefix that identifies which mail is being
+ logged about.
+
+ The events will also be used for statistics. Typically this is done by
+ logging a debug event, which contains fields that are interesting for
+ statistics. The interesting events will have a name, which can be used to
+ identify them when configuring which statistics are wanted to be tracked.
+ It's possible to also track events that have no name, but that requires
+ using the source code's filename:line as the event name. That of course may
+ change between releases, so it's not very reliable.
+
+M src/lib/Makefile.am
+A src/lib/event-log.c
+A src/lib/event-log.h
+A src/lib/lib-event-private.h
+A src/lib/lib-event.c
+A src/lib/lib-event.h
+M src/lib/lib.c
+M src/lib/lib.h
+
+2017-11-17 12:37:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (982c30abd0)
+
+ lib: Add failure_context.log_prefix to override the default
+
+
+M src/lib/failures.c
+M src/lib/failures.h
+
+2017-11-13 16:08:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8009758e97)
+
+ lib: Add i_log_typev()
+
+
+M src/lib/failures.c
+M src/lib/failures.h
+
+2017-12-12 01:04:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4b51ecbac8)
+
+ lib: ioloop.h - improve ioloop context comments
+
+
+M src/lib/ioloop.h
+
+2017-12-12 01:20:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c4995cea83)
+
+ lib-storage: Remove mail_storage_service_io_deactivate()
+
+ We now require that ioloop context is always properly deactivated, so
+ there's no need for the function.
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2017-12-12 01:19:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (64c7bca60b)
+
+ imap, pop3: Remove unnecessary call to mail_storage_service_io_deactivate()
+
+ The context is automatically deactivated when service user is freed.
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/main.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+
+2017-12-12 01:17:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cafe72dae0)
+
+ lib-storage: mail_storage_service_io_[de]activate_user() - [de]activate the
+ whole ioloop context
+
+
+M src/lib-storage/mail-storage-service.c
+
+2017-12-12 01:33:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b758c60275)
+
+ lib-storage: mail_storage_service_user_unref() - deactivate user before
+ removing callbacks
+
+ Otherwise the next commit won't work correctly.
+
+M src/lib-storage/mail-storage-service.c
+
+2017-12-12 01:12:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0f8663fcdb)
+
+ lib-storage: Create ioloop context regardless of logging settings
+
+ This will be needed by the following commits.
+
+M src/lib-storage/mail-storage-service.c
+
+2017-12-12 01:04:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (391fa11260)
+
+ lib: io_loop_context_deactivate() - Assert that given context is currently
+ active
+
+
+M src/lib/ioloop.c
+
+2017-12-12 01:02:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (76da9d5991)
+
+ lib: io_loop_context_new() - deactivate old context
+
+ Since it changes the current context, it needs to deactivate the old one.
+
+M src/lib/ioloop.c
+
+2017-12-12 01:01:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1da9355e64)
+
+ lib: io_loop_destroy() - Assert-crash if ioloop contet is still set
+
+ It may be too late to try to deactivate it at that point, so it points to a
+ bug.
+
+M src/lib/ioloop.c
+
+2017-12-12 00:50:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7446aaf9cf)
+
+ lib: Move io_loop_context_[de]activate() to be public
+
+
+M src/lib/ioloop-private.h
+M src/lib/ioloop.h
+
+2017-12-08 00:54:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (92fc2c856d)
+
+ lib: timing - Allow changing sample buffer size
+
+
+M src/lib/timing.c
+M src/lib/timing.h
+
+2017-11-21 14:46:30 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (6ef83bcdc4)
+
+ global: Renamed stats plugin and service to old-stats
+
+
+M configure.ac
+M src/Makefile.am
+M src/auth/Makefile.am
+M src/auth/auth-request-stats.c
+M src/doveadm/Makefile.am
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+R096 src/doveadm/doveadm-stats.c src/doveadm/doveadm-oldstats.c
+M src/doveadm/doveadm.c
+R079 src/lib-stats/Makefile.am src/lib-old-stats/Makefile.am
+R100 src/lib-stats/stats-connection.c src/lib-old-stats/stats-connection.c
+R100 src/lib-stats/stats-connection.h src/lib-old-stats/stats-connection.h
+R100 src/lib-stats/stats-parser.c src/lib-old-stats/stats-parser.c
+R100 src/lib-stats/stats-parser.h src/lib-old-stats/stats-parser.h
+R100 src/lib-stats/stats.c src/lib-old-stats/stats.c
+R100 src/lib-stats/stats.h src/lib-old-stats/stats.h
+R071 src/stats/Makefile.am src/old-stats/Makefile.am
+R100 src/stats/client-export.c src/old-stats/client-export.c
+R100 src/stats/client-export.h src/old-stats/client-export.h
+R100 src/stats/client-reset.c src/old-stats/client-reset.c
+R100 src/stats/client-reset.h src/old-stats/client-reset.h
+R100 src/stats/client.c src/old-stats/client.c
+R100 src/stats/client.h src/old-stats/client.h
+R100 src/stats/fifo-input-connection.c src/old-stats/fifo-input-connection.c
+R100 src/stats/fifo-input-connection.h src/old-stats/fifo-input-connection.h
+R100 src/stats/global-memory.c src/old-stats/global-memory.c
+R100 src/stats/global-memory.h src/old-stats/global-memory.h
+R100 src/stats/mail-command.c src/old-stats/mail-command.c
+R100 src/stats/mail-command.h src/old-stats/mail-command.h
+R100 src/stats/mail-domain.c src/old-stats/mail-domain.c
+R100 src/stats/mail-domain.h src/old-stats/mail-domain.h
+R100 src/stats/mail-ip.c src/old-stats/mail-ip.c
+R100 src/stats/mail-ip.h src/old-stats/mail-ip.h
+R100 src/stats/mail-session.c src/old-stats/mail-session.c
+R100 src/stats/mail-session.h src/old-stats/mail-session.h
+R100 src/stats/mail-stats.c src/old-stats/mail-stats.c
+R100 src/stats/mail-stats.h src/old-stats/mail-stats.h
+R100 src/stats/mail-user.c src/old-stats/mail-user.c
+R100 src/stats/mail-user.h src/old-stats/mail-user.h
+R098 src/stats/main.c src/old-stats/main.c
+R100 src/stats/stats-carbon.c src/old-stats/stats-carbon.c
+R100 src/stats/stats-carbon.h src/old-stats/stats-carbon.h
+R050 src/stats/stats-settings.c src/old-stats/stats-settings.c
+R067 src/stats/stats-settings.h src/old-stats/stats-settings.h
+M src/plugins/Makefile.am
+R055 src/plugins/imap-stats/Makefile.am src/plugins/imap-old-stats/Makefile.am
+R100 src/plugins/imap-stats/imap-stats-plugin.c src/plugins/imap-old-stats/imap-stats-plugin.c
+R100 src/plugins/imap-stats/imap-stats-plugin.h src/plugins/imap-old-stats/imap-stats-plugin.h
+A src/plugins/old-stats/Makefile.am
+R100 src/plugins/stats/mail-stats-connection.c src/plugins/old-stats/mail-stats-connection.c
+R100 src/plugins/stats/mail-stats-connection.h src/plugins/old-stats/mail-stats-connection.h
+R100 src/plugins/stats/mail-stats-fill.c src/plugins/old-stats/mail-stats-fill.c
+R100 src/plugins/stats/mail-stats.c src/plugins/old-stats/mail-stats.c
+R100 src/plugins/stats/mail-stats.h src/plugins/old-stats/mail-stats.h
+R099 src/plugins/stats/stats-plugin.c src/plugins/old-stats/stats-plugin.c
+R100 src/plugins/stats/stats-plugin.h src/plugins/old-stats/stats-plugin.h
+D src/plugins/stats/Makefile.am
+
+2017-12-12 12:41:29 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (0cce673561)
+
+ submission: remove unnecessary casts
+
+ Casting from a void * to any pointer type is automatic and doesn't require
+ an explicit cast.
+
+M src/submission/cmd-data.c
+M src/submission/cmd-helo.c
+M src/submission/cmd-mail.c
+M src/submission/cmd-noop.c
+M src/submission/cmd-quit.c
+M src/submission/cmd-rcpt.c
+M src/submission/cmd-rset.c
+M src/submission/cmd-vrfy.c
+M src/submission/submission-client.c
+
+2017-12-12 11:55:15 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (c4588e66e8)
+
+ submission-login: use container_of instead of casts
+
+
+M src/submission-login/client-authenticate.c
+M src/submission-login/client.c
+M src/submission-login/submission-proxy.c
+
+2017-12-12 11:26:21 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (0afd9a9aca)
+
+ submission-login: remove unnecessary casts
+
+ Casting from a void * to any pointer type is automatic and doesn't require
+ an explicit cast.
+
+M src/submission-login/client-authenticate.c
+M src/submission-login/client.c
+M src/submission-login/submission-proxy.c
+
+2017-12-12 11:18:10 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (c5e46dba17)
+
+ global: drop unnecessary parens in &(foo)
+
+ This makes the code more consistent since most of the repo uses the
+ no-parens style. These inconsistencies were found using
+ `git grep '(&([^*]'` and any use of the parens in macros was ignored for
+ safety reasons.
+
+M src/auth/auth-policy.c
+M src/doveadm/doveadm-cmd.c
+M src/lib-dcrypt/dcrypt-gnutls.c
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/ostream-encrypt.c
+M src/lib-dict-backend/dict-ldap.c
+M src/lib-ldap/ldap-connection.c
+M src/lib-ldap/ldap-entry.c
+M src/lib-ldap/ldap-iterator.c
+M src/lib-ldap/ldap-search.c
+
+2017-12-12 11:10:15 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (4afd5b6567)
+
+ global: io_remove*(NULL) is a no-op
+
+
+M src/lib-ldap/ldap-connection.c
+M src/lib-master/master-service.c
+
+2017-11-27 14:11:40 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (d90a924480)
+
+ global: timeout_remove(NULL) is a no-op
+
+
+M src/dict/dict-connection.c
+M src/director/user-directory.c
+M src/imap/imap-notify.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-queue.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-ldap/ldap-connection.c
+M src/lib-master/anvil-client.c
+M src/lib-master/master-service.c
+M src/lib-sql/driver-pgsql.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2017-12-13 10:50:38 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (47758f9335)
+
+ m4: Fix sodium checks
+
+ Make sure it actually has password checking function
+
+M m4/want_sodium.m4
+
+2017-12-12 21:53:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (82bddf8363)
+
+ submission-login: Added default listener for secure submission on port 465
+ (submissions).
+
+ This is analogous to pop3s and imaps. Efforts to standardize the use of this
+ port are almost finished:
+ https://datatracker.ietf.org/doc/draft-ietf-uta-email-deep/
+
+M src/submission-login/submission-login-settings.c
+
+2017-12-12 21:46:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4a1af46c8e)
+
+ submission-login: Fix NULL dereference occurring at an invalid reply from
+ the backend server.
+
+ Problem found by Coverity.
+
+M src/submission-login/submission-proxy.c
+
+2017-12-12 12:18:06 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (836ed7eb3d)
+
+ lib-smtp: fix uoff_t vs. size_t confusion
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-server-cmd-data.c
+M src/lib-smtp/test-smtp-payload.c
+
+2017-12-12 16:07:52 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (e7e3f40551)
+
+ plugins/fts: Return back comment about Server Error.
+
+
+M src/plugins/fts/fts-parser-tika.c
+
+2017-12-12 16:06:14 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (71b43772aa)
+
+ plugins/fts: Retry all 5xx tika http statuses, not only 500
+
+
+M src/plugins/fts/fts-parser-tika.c
+
+2017-12-12 08:56:31 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (70a88f28ad)
+
+ director: avoid comparison between signed and unsigned ints
+
+
+M src/director/director-connection.c
+
+2017-12-12 08:55:58 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (2e758d1616)
+
+ submission: use correct format string for printing uoff_t
+
+
+M src/submission/cmd-helo.c
+
+2017-12-11 14:18:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5af1ff01b6)
+
+ Update README regarding supported RFCs.
+
+ Some were missing and new ones are added by the recent lib-smtp and
+ submission service changes.
+
+M README.md
+
+2017-12-11 18:07:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f2cd173a08)
+
+ config: Add a warning comment to the generated all-settings.c
+
+
+M src/config/settings-get.pl
+
+2017-12-11 20:29:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0a6796cacb)
+
+ doc: example-config: Fix installation of the example configuration for the
+ submission service.
+
+ Forgot to add it to Makefile.am.
+
+M doc/example-config/conf.d/Makefile.am
+
+2017-12-11 15:55:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b1aac3a1d5)
+
+ lmtp: Fix segfault occurring in client_read_settings().
+
+ This problem is caused by recent changes. The code attempts to access
+ client->conn to obtain connection security info, which is not yet assigned
+ at that point. It is doubtful whether assigning those security flags is
+ useful at that stage, but it now uses the ssl flag from the
+ master_service_connection instead.
+
+M src/lmtp/client.c
+
+2017-12-11 15:53:45 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (823802b00e)
+
+ lmtp: Removed useless ssl_start parameter for client_create().
+
+ The same information is already contained in the conn parameter.
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/main.c
+
+2017-11-11 14:20:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2cbbe9b482)
+
+ Implemented SMTP submission proxy service.
+
+
+M .gitignore
+M TODO
+M configure.ac
+M doc/example-config/conf.d/10-director.conf
+M doc/example-config/conf.d/10-master.conf
+M doc/example-config/conf.d/10-ssl.conf
+A doc/example-config/conf.d/20-submission.conf
+M doc/example-config/dovecot.conf
+M src/Makefile.am
+A src/submission-login/Makefile.am
+A src/submission-login/client-authenticate.c
+A src/submission-login/client-authenticate.h
+A src/submission-login/client.c
+A src/submission-login/client.h
+A src/submission-login/submission-login-settings.c
+A src/submission-login/submission-login-settings.h
+A src/submission-login/submission-proxy.c
+A src/submission-login/submission-proxy.h
+A src/submission/Makefile.am
+A src/submission/cmd-data.c
+A src/submission/cmd-helo.c
+A src/submission/cmd-mail.c
+A src/submission/cmd-noop.c
+A src/submission/cmd-quit.c
+A src/submission/cmd-rcpt.c
+A src/submission/cmd-rset.c
+A src/submission/cmd-vrfy.c
+A src/submission/main.c
+A src/submission/submission-client.c
+A src/submission/submission-client.h
+A src/submission/submission-commands.c
+A src/submission/submission-commands.h
+A src/submission/submission-common.h
+A src/submission/submission-settings.c
+A src/submission/submission-settings.h
+
+2017-12-09 02:09:35 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (211caf3c23)
+
+ lib-storage: mail-user: Added more information about the client connection.
+
+ Submission service will need it to pass to the backend MTA in XCLIENT and
+ for creating the "Received:" header.
+
+M src/imap/main.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+M src/lib-storage/mail-user.h
+M src/lmtp/client.c
+M src/lmtp/lmtp-local.c
+M src/pop3/main.c
+
+2017-12-09 02:34:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e213fe0f40)
+
+ lib-master: master-auth: Pass more information about the user connection to
+ the backend in struct master_auth_request.
+
+ Adds remote and local ports and security information about the connection.
+ This changes the master-auth protocol incompatibly, so the major version is
+ updated.
+
+M src/lib-master/master-auth.h
+M src/login-common/sasl-server.c
+
+2017-12-09 02:33:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9666d130b6)
+
+ login-common: Added flag to client that indicates whether connection is
+ secured using SSL specifically.
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2017-12-09 01:52:28 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ff4ba036fc)
+
+ lib-storage: mail-user: Changed mail_user_set_vars() to accept struct
+ mail_user_connection_data, rather than individual fields.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2017-12-09 01:29:06 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (60670187b0)
+
+ lib-storage: Moved connection information in struct mail_user into separate
+ struct mail_user_connection_data.
+
+
+M src/imap/cmd-idle.c
+M src/imap/imap-client-hibernate.c
+M src/imap/main.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+M src/plugins/stats/mail-stats-connection.c
+M src/pop3/main.c
+
+2017-12-09 01:11:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2ded32b165)
+
+ imap: cmd-idle: Created local variable for client in
+ idle_add_keepalive_timeout().
+
+
+M src/imap/cmd-idle.c
+
+2017-12-09 01:04:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8c1199cac7)
+
+ imap: imap-client-hibernate: Created local variable for mail_user in
+ imap_hibernate_write_cmd().
+
+
+M src/imap/imap-client-hibernate.c
+
+2016-09-26 09:25:32 +0200 Stephan Bosch <stephan@rename-it.nl> (f1edf7f206)
+
+ imap-urlauth: Allow connections from services other than IMAP.
+
+ The imap-urlauth service detects the new submission service and assigns the
+ appropriate privileges. The dovecot-token authentication mechanism provides
+ information on which service connected to it.
+
+M src/auth/mech-dovecot-token.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-client.h
+M src/imap-urlauth/imap-urlauth-login.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/imap-client.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap-urlauth/imap-urlauth-connection.h
+M src/lib-imap-urlauth/imap-urlauth-private.h
+M src/lib-imap-urlauth/imap-urlauth.c
+M src/lib-imap-urlauth/imap-urlauth.h
+
+2017-11-10 17:18:28 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (dfafc4ac89)
+
+ login-common: Added client_disconnect(), which allows explicitly
+ disconnecting the client before it is destroyed.
+
+ This is sometimes needed to make sure the SSL layer is closed properly
+ before destroying the underlying connection.
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2016-09-26 19:12:19 +0200 Stephan Bosch <stephan@rename-it.nl> (a1852ab4cf)
+
+ login-common: Added support for login services that handle their own input
+ io.
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2017-12-10 11:28:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4dd460cf19)
+
+ lib-smtp: server: Added max_recipients setting, which enforces a recipient
+ limit per-transaction.
+
+
+M src/lib-smtp/smtp-server-cmd-rcpt.c
+M src/lib-smtp/smtp-server-connection.c
+M src/lib-smtp/smtp-server.c
+M src/lib-smtp/smtp-server.h
+M src/lib-smtp/test-smtp-server-errors.c
+
+2017-12-10 11:26:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6d76b99eb6)
+
+ lib-smtp: server: transaction: Added smtp_server_transaction_rcpt_count().
+
+
+M src/lib-smtp/smtp-server-private.h
+M src/lib-smtp/smtp-server-transaction.c
+
+2017-12-11 02:19:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1f4f829f89)
+
+ lib-smtp: server: DATA/BDAT command: Make sure chunk stream is dereferenced
+ early.
+
+ The submission BURL command - which uses part of the same code - runs into
+ trouble otherwise. This could also be an actual istream reference leak
+ outside BURL, but that is not confirmed.
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2017-12-10 11:32:28 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (090abb1975)
+
+ lib-smtp: server: DATA command: Continue processing connection input once
+ DATA reply is submitted.
+
+ Fixes a potential connection hang.
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2017-12-10 11:31:24 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e69ac57b1a)
+
+ lib-smtp: server: command: Added smtp_server_command_input_unlock().
+
+ Allows unlock input for a command that was earlier locked with
+ smtp_server_command_input_lock().
+
+M src/lib-smtp/smtp-server-command.c
+M src/lib-smtp/smtp-server.h
+
+2017-12-11 10:33:09 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (237ff492da)
+
+ lib-smtp: server: DATA command: Make sure there is a transaction in
+ smtp_server_connection_data_check_state() before using it.
+
+ This fixes a potential NULL dereference. Found by Coverity.
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2017-12-11 10:37:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (eda1c4f68f)
+
+ lib-smtp: server: DATA command: Fixed check for valid recipients in
+ smtp_server_connection_data_check_state().
+
+ Can only decide whether we have valid recipients once there are no more
+ pending RCPT commands.
+
+M src/lib-smtp/smtp-server-cmd-data.c
+
+2017-12-11 04:18:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (479f238c94)
+
+ lib-smtp: server: Removed inappropriate NULL check in
+ smtp_server_connection_send_replies().
+
+ Caller holds a reference, so it can never be NULL. Found by Coverity.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2017-12-11 10:41:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c13d3128fd)
+
+ lib-smtp: server: Remove useless o_stream_flush() in
+ smtp_server_connection_disconnect().
+
+ This is already performed implicitly by o_stream_uncork(). Fixes a problem
+ found by Coverity.
+
+M src/lib-smtp/smtp-server-connection.c
+
+2017-12-10 20:00:21 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (21138be498)
+
+ lib-test: istream-test - Don't modify existing snapshots' memareas
+
+ At least with --enable-devel-checks this caused istream-sized unit test to
+ randomly panic:
+
+ Panic: file istream.c: line 279 (i_stream_read): assertion failed:
+ (memcmp(prev_buf, prev_data + prev_skip, prev_pos - prev_skip) == 0)
+
+M src/lib-test/test-istream.c
+
+2017-12-11 12:59:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ea4a85f588)
+
+ lib-http: client: Cleaned up initialization of client settings.
+
+ There were checks for the client context not being NULL, which makes no
+ sense anymore, since a private context is always created when none is
+ provided. Problem reported by Coverity.
+
+M src/lib-http/http-client.c
+
+2017-12-05 17:05:27 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (66bdf53dbb)
+
+ lib: test-var-expand - Ensure var_get_key_range_full handles nested ifs
+ correctly
+
+
+M src/lib/test-var-expand.c
+
+2017-12-01 19:46:58 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f5d1cfca50)
+
+ lib: var-expand - handle \{ and \} correctly
+
+ Do not treat these as embedded braces
+
+M src/lib/var-expand.c
+
+2017-12-01 14:53:46 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (20a8a12657)
+
+ lib: Support nested keys in var_get_key_range_full
+
+ Fixes problems with %{if...}
+
+ failed: if: requires four or five parameters, got 1
+
+M src/lib/var-expand.c
+
+2017-12-11 12:52:38 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (53e4a0d5cb)
+
+ auth: Debug log an LDAP request result only once
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+
+2017-12-11 12:47:32 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (5ced9eb9ef)
+
+ auth: Have ldap_request instead of auth_request in
+ db_ldap_result_iterate_context
+
+ This makes it easier to access ldap_request where needed later.
+
+M src/auth/db-ldap.c
+
+2017-10-09 13:57:12 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (dc1e69cd9e)
+
+ fts: fts_parser_tika replace empty path with "/"
+
+ indexing doesn't crash if fts_tika = http://host:port setting is missing
+ trailing '/'
+
+M src/plugins/fts/fts-parser-tika.c
+
+2017-10-09 13:53:42 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (8e1eaf849c)
+
+ fts: Retry indexing for tika backend in case of internal server error
+
+
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-parser-tika.c
+M src/plugins/fts/fts-parser.h
+
+2017-10-09 13:13:05 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (72d301f575)
+
+ fts: Extend parser's deinit function interface with retriable_err_msg_r
+ parameter
+
+ the new parameter will be set to a error string in case indexing may need
+ retrying, so it will be logged later when decision about retry will be made.
+
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-parser-html.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-parser-tika.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-parser.h
+
+2017-10-09 11:23:54 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (43f4e550ef)
+
+ fts: Parser move try_init arguments to a single structure parser_context.
+
+
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-parser-html.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-parser-tika.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-parser.h
+M src/plugins/fts/xml2text.c
+
+2017-11-27 14:19:34 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (d4002fe1f6)
+
+ global: Use mail_set_critical() and mailbox_set_critical() if possible
+
+ Replace calls to mail_storage_set_critical() with mail_set_critical() or
+ mailbox_set_critical() in places where mailbox or mail are easily available.
+
+M src/imap/cmd-append.c
+M src/imap/imap-fetch-body.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync-list-index.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-recent-flags.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/mailbox-alias/mailbox-alias-plugin.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/zlib/zlib-plugin.c
+
+2017-11-27 14:09:21 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (1260d509fa)
+
+ lib-storage: Take mail_save_context parameter in save_check_write_error()
+
+ This is in order to use mail_set_critical() in the function later.
+
+M src/lib-storage/index/index-attachment.c
+
+2017-11-27 13:52:07 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (0060557e01)
+
+ quota: Take mailbox as parameter in quota_set_storage_error()
+
+ This is to start using mailbox_set_critical() later.
+
+M src/plugins/quota/quota-storage.c
+
+2017-11-29 15:46:34 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (804bca734d)
+
+ lib-ssl-iostream: Use SSL_CTX_set_min_proto_version if available
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2017-11-07 14:47:01 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (a3a483da7f)
+
+ m4: Add SSL_CTX_set_min_proto_version detection
+
+
+M m4/ssl.m4
+
+2017-11-28 12:02:08 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (976dee5384)
+
+ Replace ssl_protocols config option with ssl_min_protocol
+
+ Default to TLSv1.
+
+M doc/example-config/conf.d/10-ssl.conf
+M src/config/old-set-parser.c
+M src/lib-ldap/ldap-connection.c
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+M src/lib-master/master-service-ssl.c
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-11-20 13:40:03 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e4f8e7a2f3)
+
+ lib-storage: mailbox-list-iter - Refresh subscriptions before setting flags
+
+ This happens when list patterns match the namespace prefix, but
+ mailbox_list_ns_match_patterns() returns FALSE. And one of the ways for that
+ to happen is if namespace has alias_for set.
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2017-11-20 10:40:52 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a612b56dac)
+
+ lib-storage: mailbox-tree - Ensure tree is not NULL
+
+
+M src/lib-storage/mailbox-tree.c
+
+2017-11-06 21:54:00 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b8b2cc4e58)
+
+ lmtp: Changed message data handling to use iostream-temp.
+
+ The existing code predates iostream-temp.
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2017-10-10 01:04:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1aae941faa)
+
+ lmtp: Removed structural comments that are now useless.
+
+
+M src/lmtp/client.c
+M src/lmtp/commands.c
+
+2017-10-10 01:03:02 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (88201d8446)
+
+ lmtp: client: Made client_remote_id() static.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+
+2016-11-23 10:43:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b73539ef2d)
+
+ lmtp: Ported to use lib-smtp/server.
+
+ Implicitly fixes handling of multi-line replies from proxy backend.
+ Implicitly adds support for mixing local and proxy recipients. Implicitly
+ adds support for SMTP CHUNKING. RCPT failures are reported back to the
+ client immediately, rather than waiting for the DATA command.
+
+M TODO
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+M src/lmtp/commands.h
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+M src/lmtp/main.c
+M src/lmtp/main.h
+
+2017-11-11 10:20:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b85d7b8561)
+
+ lib-smtp: Created test-smtp-server-errors, which tests the server's error
+ handling.
+
+
+M src/lib-smtp/Makefile.am
+A src/lib-smtp/test-smtp-server-errors.c
+
+2017-11-11 10:30:14 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8620dc7938)
+
+ lib-smtp: Created test-smtp-payload, which tests client<->server payload
+ exchange.
+
+
+M src/lib-smtp/Makefile.am
+A src/lib-smtp/test-smtp-payload.c
+
+2016-11-06 22:46:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (56dd928c16)
+
+ lib-smtp: Implemented SMTP server.
+
+
+M src/lib-smtp/Makefile.am
+A src/lib-smtp/smtp-server-cmd-auth.c
+A src/lib-smtp/smtp-server-cmd-data.c
+A src/lib-smtp/smtp-server-cmd-helo.c
+A src/lib-smtp/smtp-server-cmd-mail.c
+A src/lib-smtp/smtp-server-cmd-noop.c
+A src/lib-smtp/smtp-server-cmd-quit.c
+A src/lib-smtp/smtp-server-cmd-rcpt.c
+A src/lib-smtp/smtp-server-cmd-rset.c
+A src/lib-smtp/smtp-server-cmd-starttls.c
+A src/lib-smtp/smtp-server-cmd-vrfy.c
+A src/lib-smtp/smtp-server-cmd-xclient.c
+A src/lib-smtp/smtp-server-command.c
+A src/lib-smtp/smtp-server-connection.c
+A src/lib-smtp/smtp-server-private.h
+A src/lib-smtp/smtp-server-reply.c
+A src/lib-smtp/smtp-server-transaction.c
+A src/lib-smtp/smtp-server.c
+A src/lib-smtp/smtp-server.h
+
+2016-11-06 22:36:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8141e65248)
+
+ lib-smtp: Implemented SMTP command parser.
+
+
+M src/lib-smtp/Makefile.am
+A src/lib-smtp/smtp-command-parser.c
+A src/lib-smtp/smtp-command-parser.h
+A src/lib-smtp/smtp-command.h
+A src/lib-smtp/test-smtp-command-parser.c
+
+2017-11-19 22:57:12 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a4985564b8)
+
+ lib: istream-failure-at: Allow setting the the stream_errno to something
+ other than EIO.
+
+
+M src/lib-fs/fs-randomfail.c
+M src/lib-smtp/test-smtp-client-errors.c
+M src/lib/istream-failure-at.c
+M src/lib/istream-failure-at.h
+M src/lib/test-iostream-pump.c
+M src/lib/test-istream-failure-at.c
+
+2017-10-31 01:12:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3f2f5e0353)
+
+ lmtp: proxy: Restructured proxy so that it has direct access to struct
+ client.
+
+ This avoids the hassle of initializing using struct lmtp_proxy_settings and
+ uselessly reallocating stuff that is already persisted in struct client.
+ Moved the proxy from alloconly pool to default pool in the process. The
+ amount of allocated stuff will diminish further in subsequent commits.
+
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2017-10-30 23:28:35 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8e32a7fe15)
+
+ lmtp: proxy: Renamed pool to auth_pool in lmtp_proxy_rcpt() for clarity.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2017-10-30 21:09:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (47af8777e5)
+
+ lmtp: proxy: Made struct lmtp_proxy_rcpt_settings private.
+
+
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2017-10-30 20:50:28 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0e0ce848d7)
+
+ lmtp: proxy: Merged lmtp_proxy_add_rcpt() into lmtp_proxy_rcpt().
+
+
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2017-10-30 20:44:09 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (11bb1153a6)
+
+ lmtp: proxy: Made lmtp_proxy_mail_from() private.
+
+
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2017-10-30 20:41:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (dd34d6bf5c)
+
+ lmtp: proxy: Made lmtp_proxy_init() private.
+
+
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2017-10-30 01:24:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f0a4f00d03)
+
+ lmtp: commands: Created local variable for client->dot_input in
+ client_input_data_handle().
+
+
+M src/lmtp/commands.c
+
+2017-10-30 01:19:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7bb8793544)
+
+ lmtp: commands: Renamed client_input_add() to cmd_data_input_add().
+
+
+M src/lmtp/commands.c
+
+2017-10-30 01:17:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d8720e4403)
+
+ lmtp: commands: Renamed client_input_add_file() to
+ cmd_data_input_add_file().
+
+
+M src/lmtp/commands.c
+
+2017-10-30 01:13:33 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d41037c2b3)
+
+ lmtp: commands: Renamed client_get_input() to cmd_data_get_input().
+
+
+M src/lmtp/commands.c
+
+2017-10-23 00:36:16 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (755372f8ed)
+
+ lmtp: local: Renamed error variables in lmtp_local_rcpt_check_quota() to
+ match other code.
+
+
+M src/lmtp/lmtp-local.c
+
+2017-10-30 02:00:38 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (252a2911d1)
+
+ lmtp: local: Allocate recipients on the default pool, rather than the client
+ state pool.
+
+ This prevents the pool from growing potentially indefinitely with failed
+ recipients.
+
+M src/lmtp/lmtp-local.c
+
+2017-10-22 23:29:21 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2b7d6fbaad)
+
+ lmtp: Split off local delivery in a struct separate from the client.
+
+ This mimics proxy delivery, making the implementation better structured.
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2017-11-26 21:29:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4bc2df9052)
+
+ lmtp: local: Renamed local variable "dest_user" to "rcpt_user" in
+ lmtp_local_deliver().
+
+ This matches the rcpt_user field in struct mail_deliver_context.
+
+M src/lmtp/lmtp-local.c
+
+2017-09-19 03:56:39 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (28585a4277)
+
+ lmtp: local: Created local variable for service_user in
+ lmtp_local_deliver().
+
+
+M src/lmtp/lmtp-local.c
+
+2017-09-19 03:53:45 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cfc330f2ca)
+
+ lmtp: local: Renamed trans variable in lmtp_local_open_raw_mail().
+
+ Preparation for new trans parameter.
+
+M src/lmtp/lmtp-local.c
+
+2017-09-19 03:33:12 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (dafe330691)
+
+ lmtp: local: Renamed client_deliver_to_rcpts() to
+ lmtp_local_deliver_to_rcpts().
+
+
+M src/lmtp/lmtp-local.c
+
+2017-09-19 02:07:22 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ce7a45d157)
+
+ lmtp: client: Dropped useless rcpt_idx state.
+
+ Recent refactoring made it obsolete.
+
+M src/lmtp/client.h
+M src/lmtp/lmtp-local.c
+
+2017-09-19 00:29:02 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (6fe14de903)
+
+ lmtp: local: Always handle sending of error replies inside
+ lmtp_rcpt_to_is_over_quota().
+
+ Code was confusing.
+
+M src/lmtp/lmtp-local.c
+
+2017-09-19 03:40:56 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d5ddc86fb0)
+
+ lmtp: local: Renamed cmd_rcpt_finish() to lmtp_local_rcpt_anvil_finish().
+
+
+M src/lmtp/lmtp-local.c
+
+2017-09-19 03:29:03 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (eb61a9ec46)
+
+ lmtp: local: Renamed rcpt_anvil_lookup_callback() to
+ lmtp_local_rcpt_anvil_cb().
+
+
+M src/lmtp/lmtp-local.c
+
+2017-09-18 23:16:21 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (bc1306f129)
+
+ lmtp: commands: Moved RCPT command handling relating to local recipients to
+ lmtp-local.c.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+
+2017-09-18 22:51:30 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (70dfae6db8)
+
+ lmtp: client: Moved recipient deinitialization to lmtp-local.c.
+
+
+M src/lmtp/client.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+
+2017-09-19 03:21:39 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (fd3bad1872)
+
+ lmtp: local: Renamed lmtp_rcpt_to_is_over_quota() to
+ lmtp_local_rcpt_check_quota().
+
+
+M src/lmtp/lmtp-local.c
+
+2017-09-19 01:33:28 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (8a68f5bb80)
+
+ lmtp: local: Renamed client_input_data_write_local() to lmtp_local_data().
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+
+2017-09-19 01:07:17 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d14a896310)
+
+ lmtp: local: Renamed client_open_raw_mail() to lmtp_local_open_raw_mail().
+
+
+M src/lmtp/lmtp-local.c
+
+2017-09-19 00:59:27 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e5f4eb1471)
+
+ lmtp: local: Renamed client_deliver() to lmtp_local_deliver().
+
+
+M src/lmtp/lmtp-local.c
+
+2017-09-18 22:40:41 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (95b2dd3055)
+
+ lmtp: local: Renamed client_rcpt_anvil_disconnect() to
+ lmtp_local_rcpt_anvil_disconnect().
+
+
+M src/lmtp/client.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+
+2017-10-30 23:06:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (652962cb60)
+
+ lmtp: proxy: Changed return type of lmtp_proxy_rcpt() from bool to int.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2017-09-18 22:32:43 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e4161404db)
+
+ lmtp: proxy: Renamed client_proxy_rcpt() to lmtp_proxy_rcpt().
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2017-09-18 22:29:29 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2f73bf1489)
+
+ lmtp: proxy: Renamed client_proxy_is_ourself() to lmtp_proxy_is_ourself().
+
+
+M src/lmtp/lmtp-proxy.c
+
+2017-09-18 22:27:41 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (582f781ce1)
+
+ lmtp: proxy: Renamed client_proxy_rcpt_parse_fields() to
+ lmtp_proxy_rcpt_parse_fields().
+
+
+M src/lmtp/lmtp-proxy.c
+
+2017-09-18 22:04:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (447ae13a88)
+
+ lmtp: Renamed struct mail_recipient to struct lmtp_recipient.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+
+2017-10-31 02:37:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bb0a27c17c)
+
+ lmtp: proxy: Added structural comments.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2017-09-18 21:14:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1c1396ed2f)
+
+ lmtp: local: Added structural comments.
+
+
+M src/lmtp/lmtp-local.c
+
+2017-09-17 14:28:33 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ebdfdb765f)
+
+ lmtp: commands: Added structural comments.
+
+
+M src/lmtp/commands.c
+
+2016-11-23 10:43:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (124a7f9f3f)
+
+ lmtp: proxy: Removed dns_client_socket_path from struct lmtp_proxy_settings.
+
+ It is globally accessible.
+
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2017-10-10 00:36:37 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3a1c078602)
+
+ lmtp: client: Moved soon-to-be-obsolete output handling functions to end of
+ the file.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+
+2017-09-17 19:03:06 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (eac03bb795)
+
+ lmtp: client: Moved soon-to-be-obsolete input handling functions to end of
+ the file.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+
+2017-09-17 18:39:08 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (27d5414234)
+
+ lmtp: client: Moved client_state_reset().
+
+
+M src/lmtp/client.c
+
+2017-10-31 02:20:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a33e180a60)
+
+ lmtp: proxy: Moved lmtp_proxy_connection_finish().
+
+
+M src/lmtp/lmtp-proxy.c
+
+2016-11-23 10:58:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1b8cec4048)
+
+ lmtp: proxy: Moved lmtp_proxy_rcpt_cb().
+
+
+M src/lmtp/lmtp-proxy.c
+
+2017-10-31 02:29:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b6e6966a2e)
+
+ lmtp: proxy: Moved lmtp_proxy_add_rcpt().
+
+
+M src/lmtp/lmtp-proxy.c
+
+2017-10-31 02:27:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (122323b8d5)
+
+ lmtp: proxy: Moved lmtp_proxy_data_cb().
+
+
+M src/lmtp/lmtp-proxy.c
+
+2017-10-31 02:26:12 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (65ff3f6ace)
+
+ lmtp: proxy: Moved lmtp_proxy_data_dummy_cb().
+
+
+M src/lmtp/lmtp-proxy.c
+
+2016-11-06 17:34:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5f2855fe62)
+
+ lmtp: Moved code relating to proxy from commands.c to lmtp-proxy.c.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2017-09-17 11:40:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cbd1d1a197)
+
+ lmtp: Moved client_input_data_write_local() from commands.c to lmtp-local.c.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+
+2017-09-17 11:13:17 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e3d554ca34)
+
+ lmtp: Moved client_open_raw_mail() from commands.c to lmtp-local.c.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+
+2017-09-18 23:48:51 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (420dc25a31)
+
+ lmtp: Moved client_rcpt_fail_all() from commands.c to lmtp-local.c.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+
+2017-09-17 10:52:43 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (fb2e20a30d)
+
+ lmtp: Moved client_deliver_to_rcpts() from commands.c to lmtp-local.c.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+
+2017-09-17 10:29:15 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4c10d203d1)
+
+ lmtp: Moved client_deliver() from commands.c to lmtp-local.c.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+
+2017-09-17 02:57:29 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a3259cc32f)
+
+ lmtp: Moved rcpt_anvil_lookup_callback() from commands.c to lmtp-local.c.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+
+2017-09-17 02:11:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1d2e367e19)
+
+ lmtp: Moved cmd_rcpt_finish() from commands.c to lmtp-local.c.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-local.c
+M src/lmtp/lmtp-local.h
+
+2017-09-17 00:07:34 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0029bf6067)
+
+ lmtp: Moved client_rcpt_anvil_disconnect() from client.c to lmtp-local.c.
+
+
+M src/lmtp/Makefile.am
+M src/lmtp/client.c
+M src/lmtp/client.h
+A src/lmtp/lmtp-local.c
+A src/lmtp/lmtp-local.h
+
+2016-11-23 10:22:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4df5abb025)
+
+ lmtp: Moved lmtp_anvil_init() from commands.c to main.c.
+
+ It fits better there.
+
+M src/lmtp/commands.c
+M src/lmtp/main.c
+M src/lmtp/main.h
+
+2017-10-10 02:53:56 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (24afb81b5e)
+
+ lmtp: client: Use client_remote_id() to construct proctitle.
+
+
+M src/lmtp/client.c
+
+2017-10-10 00:19:02 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0807987e82)
+
+ lmtp: client: Moved client_remote_id().
+
+
+M src/lmtp/client.c
+
+2017-10-10 02:36:34 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (942b4f4548)
+
+ lmtp: client: Restructured client_state_set() to match
+ imap_refresh_proctitle().
+
+
+M src/lmtp/client.c
+
+2017-10-10 02:21:34 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7affd5e5e1)
+
+ lmtp: client: Restructured handling of verbose_proctitle setting.
+
+
+M src/lmtp/client.c
+
+2017-12-05 14:49:17 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8b41f8f926)
+
+ lib-smtp: common: Added support for having custom fields in struct
+ smtp_proxy_data.
+
+
+M src/lib-smtp/smtp-common.h
+
+2017-12-04 11:01:31 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4a31bc0363)
+
+ pop3: Include mail user variables in logout format
+
+
+M src/pop3/pop3-client.c
+
+2017-12-04 11:01:05 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ee1950c7d0)
+
+ imap: Include mail user variables in logout format
+
+
+M src/imap/imap-client.c
+
+2017-12-05 23:49:27 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (857a9e1f1c)
+
+ lib: var-expand - Add table size and merge utility functions
+
+
+M src/lib/test-var-expand.c
+M src/lib/var-expand.c
+M src/lib/var-expand.h
+
+2017-12-07 01:44:56 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5644698fc6)
+
+ lib-http: test-http-payload: Added tests for running multiple clients in
+ parallel with shared context.
+
+
+M src/lib-http/test-http-payload.c
+
+2017-12-06 23:43:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (58e3ba7767)
+
+ lib-http: test-http-payload: Added support for running multiple parallel
+ clients.
+
+
+M src/lib-http/test-http-payload.c
+
+2016-12-18 19:45:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6776cc851a)
+
+ lib-http: client: Amended the top comment explaining the structure of the
+ HTTP client.
+
+
+M src/lib-http/http-client.c
+
+2016-12-04 21:54:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fd30e54bd5)
+
+ lib-http: client: Added identifier to client log messages.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+
+2017-09-27 19:21:40 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (faa4f87ec5)
+
+ lib-http: test-http-client: Run several clients simultaneously.
+
+
+M src/lib-http/test-http-client.c
+
+2017-09-27 19:21:24 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (27a2e59eaa)
+
+ lib-http: client: shared context: Allow sharing peer state between clients.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+
+2016-12-18 19:27:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0a3bccd23f)
+
+ lib-http: client: peer: Moved http_client_peer_reset_backoff_timer()
+ function.
+
+ This is a preparation for a subsequent change.
+
+M src/lib-http/http-client-peer.c
+
+2016-12-18 19:16:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (49088f457c)
+
+ lib-http: client: peer: Moved http_client_peer_increase_backoff_timer()
+ function.
+
+ This is a preparation for a subsequent change.
+
+M src/lib-http/http-client-peer.c
+
+2016-12-18 19:15:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (aa65356a06)
+
+ lib-http: client: peer: Moved http_client_peer_start_backoff_timer()
+ function.
+
+ This is a preparation for a subsequent change.
+
+M src/lib-http/http-client-peer.c
+
+2016-12-18 19:13:00 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4a9bd6a855)
+
+ lib-http: client: peer: Moved http_client_peer_connect_backoff() function.
+
+ This is a preparation for a subsequent change.
+
+M src/lib-http/http-client-peer.c
+
+2016-12-05 00:37:27 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (01cfa2ea0c)
+
+ lib-http: client: peer: Moved http_client_peer_get() function.
+
+ This is a preparation for a subsequent change.
+
+M src/lib-http/http-client-peer.c
+
+2016-12-18 18:50:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9e1f103069)
+
+ lib-http: client: peer: Moved http_client_peer_drop() function.
+
+ This is a preparation for a subsequent change.
+
+M src/lib-http/http-client-peer.c
+
+2016-12-18 18:46:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5a8d6f8db4)
+
+ lib-http: client: peer: Moved http_client_peer_close() function.
+
+ This is a preparation for a subsequent change.
+
+M src/lib-http/http-client-peer.c
+
+2016-12-18 18:44:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0dfe37d8e4)
+
+ lib-http: client: peer: Moved http_client_peer_unref() function.
+
+ This is a preparation for a subsequent change.
+
+M src/lib-http/http-client-peer.c
+
+2016-12-18 18:42:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1be73c463d)
+
+ lib-http: client: peer: Moved http_client_peer_ref() function.
+
+ This is a preparation for a subsequent change.
+
+M src/lib-http/http-client-peer.c
+
+2016-12-18 18:41:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4e629672bc)
+
+ lib-http: client: peer: Moved http_client_peer_disconnect() function.
+
+ This is a preparation for a subsequent change.
+
+M src/lib-http/http-client-peer.c
+
+2016-12-18 18:40:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (90fa7fd470)
+
+ lib-http: client: peer: Moved http_client_peer_create() function.
+
+ This is a preparation for a subsequent change.
+
+M src/lib-http/http-client-peer.c
+
+2016-12-04 00:11:46 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e48102389f)
+
+ lib-http: client: shared context: Allow sharing host lookups between
+ clients.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client.c
+
+2016-12-04 12:51:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2300bdf148)
+
+ lib-http: client: host: Moved http_client_host_submit_request() function.
+
+ This is a preparation for a subsequent change.
+
+M src/lib-http/http-client-host.c
+
+2016-12-04 12:40:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fbe111ce65)
+
+ lib-http: client: host: Moved http_client_host_check_idle() function.
+
+ This is a preparation for a subsequent change.
+
+M src/lib-http/http-client-host.c
+
+2016-11-30 02:04:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (23fe024e1d)
+
+ lib-http: client: Avoid direct access to host object members from queue.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+
+2016-11-29 19:29:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (20493a5433)
+
+ lib-http: client: Moved connection pool handling from peer to separate
+ object.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2016-11-29 18:13:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9fe6a55877)
+
+ lib-http: client: Moved connection list from client to shared context.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.c
+
+2016-11-29 16:17:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fab1a1c57f)
+
+ lib-http: client: Created basic shared context between clients.
+
+ In this basic form it only shares default settings.
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2016-12-04 19:35:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (63a1359e6e)
+
+ lib-http: client: Cosmetic changes to http-client-private.h.
+
+
+M src/lib-http/http-client-private.h
+
+2016-12-04 16:00:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3ad0a46f43)
+
+ lib-http: client: Simplified initiation of connection setup upon request
+ submission.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-queue.c
+
+2016-12-04 12:03:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8149ed57ae)
+
+ lib-http: client: Created separate http_client_queue_get() function.
+
+ Before, this was combined in http_client_queue_create() which caused a large
+ code block to be indentet. Separating creation and obtaining the current
+ instance makes the code cleaner.
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+
+2016-11-29 17:22:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d67f004ebf)
+
+ lib-http: client: Fixed whitespace in the top comment explaining the
+ structure of the HTTP client.
+
+
+M src/lib-http/http-client.c
+
+2017-12-07 09:48:51 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (cae3c6903c)
+
+ driver-cassandra: Free statement pool on update
+
+ Otherwise the pool memory will leak. This was happening with non-prepared
+ statements when version was older than 4.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-12-07 08:20:02 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7cc5fcc855)
+
+ lib-http: test-http-client - conditionally depend on openssl
+
+ Fixes compiling without openssl, broken by c45da70c
+
+M src/lib-http/test-http-client.c
+
+2017-12-06 17:41:14 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (80064363aa)
+
+ auth: passdb-ldap - Fix AUTH_LOG_MSG_PASSWORD_MISMATCH use in logging
+
+
+M src/auth/passdb-ldap.c
+
+2017-04-04 12:40:10 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ab5c28d097)
+
+ auth: Fix 'Password mismatch' casing consistency
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-scram-sha1.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-pam.c
+M src/auth/password-scheme.c
+M src/auth/password-scheme.h
+
+2017-11-28 11:39:52 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6699d5ab6a)
+
+ auth: Fix auth_request_is_disabled_master_user
+
+ I assumed that lack of passdb means master authentication, but e.g. gssapi
+ does not require a passdb. Instead, check that if requested_login_uset is
+ non-null then check passdb is non-null too.
+
+ Fixes auth: Panic: file auth-request.c: line 716
+ (auth_request_is_disabled_master_user): assertion failed:
+ (request->requested_login_user != NULL)
+
+M src/auth/auth-request.c
+
+2017-12-04 17:55:15 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (bfbd10067b)
+
+ doveadm-pw: Use CRYPT instead of CRAM-MD5 by default
+
+ This is when generating new passwords.
+
+M src/doveadm/doveadm-pw.c
+
+2017-12-04 18:39:24 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4bed0c5f99)
+
+ auth: Use bcrypt as default scheme for CRYPT scheme
+
+ Only changes the type of password which is generated by default, password
+ verification is not changed.
+
+M src/auth/password-scheme-crypt.c
+
+2017-12-04 18:38:36 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (cfb22f2f9b)
+
+ auth: Rename CRYPT scheme to DES-CRYPT
+
+
+M src/auth/password-scheme-crypt.c
+M src/auth/test-libpassword.c
+
+2017-11-29 15:20:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (12a1ee081f)
+
+ lib-storage: Log an error when mailbox list index is rebuilt due to header
+ fsck flag
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2017-11-29 15:14:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b42817ce16)
+
+ lib-storage: Rebuild list index when doing doveadm force-resync
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/mail-storage-private.h
+
+2017-11-29 14:51:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8049d57926)
+
+ LAYOUT=index: Rebuild list index if INBOX is missing on inbox=yes namespace
+
+ This avoids having to manually rebuild the list index afterwards if it
+ becomes lost.
+
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/mail-storage-private.h
+
+2017-11-29 14:36:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (82d1fe3d5d)
+
+ lib-storage: Rename mail_storage.list_index_corrupted() to
+ list_index_rebuild()
+
+ Also add a new parameter to it to specify the rebuild reason.
+
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/mail-storage-private.h
+
+2017-11-29 14:38:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2303cd3c6d)
+
+ lib-storage: Remove obsolete comment
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2017-11-30 12:52:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (05b5b75e78)
+
+ auth: passdb-lua - Fix mistake in nopassword handling
+
+ If nopassword is given, check that password is not set. Previous code did
+ the opposite.
+
+ Fixes Info: lua(): nopassword given and password is not empty
+
+M src/auth/passdb-lua.c
+
+2017-12-04 19:05:55 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (208b68bb91)
+
+ auth: Set cache key for lua auth database
+
+
+M src/auth/db-lua.h
+M src/auth/passdb-lua.c
+M src/auth/userdb-lua.c
+
+2017-12-01 20:51:44 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (c9a7c4d243)
+
+ lib: murmurhash3 - Fix Aki's email address
+
+
+M src/lib/murmurhash3.c
+
+2017-12-01 18:15:18 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (0351233834)
+
+ lib: Add fall through comments to murmurhash3.c to fix gcc-7 warnings
+
+
+M src/lib/murmurhash3.c
+
+2017-12-01 11:53:50 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (aa6cd0d62a)
+
+ lib: murmurhash3 - Fix 128 bit hash on 32 bit systems
+
+
+M src/lib/murmurhash3.c
+
+2017-11-27 18:26:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (aa39987186)
+
+ doveadm-server: Switch to TCP connection's ioloop while sending logs to
+ remote
+
+ Fixes: Warning: I/O leak: 0x558d7c074ed0 (ostream-file.c:349, fd 16) Panic:
+ file ioloop.c: line 127 (io_remove_full): assertion failed: (io->callback !=
+ NULL)
+
+M src/doveadm/client-connection-tcp.c
+
+2017-11-29 16:29:17 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a8cad12508)
+
+ lib: randgen - Fallback to /dev/urandom in case getrandom does not work
+
+ In some operating systems getrandom is defined, but not implemented, if this
+ happens, fallback into using /dev/urandom.
+
+M src/lib/randgen.c
+
+2017-11-27 13:46:40 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (44d29bbfa1)
+
+ lib: Add bloom filter support
+
+
+M src/lib/Makefile.am
+A src/lib/bloomfilter.c
+A src/lib/bloomfilter.h
+A src/lib/test-bloomfilter.c
+M src/lib/test-lib.inc
+
+2017-11-27 13:46:17 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f6de86ea29)
+
+ lib: Add murmurhash3 support
+
+ Needed for bloom filters
+
+M src/lib/Makefile.am
+A src/lib/murmurhash3.c
+A src/lib/murmurhash3.h
+M src/lib/test-lib.inc
+A src/lib/test-murmurhash3.c
+
+2017-11-27 13:45:56 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f1577719e3)
+
+ lib: bits - add circular rotation functions
+
+
+M src/lib/bits.h
+M src/lib/test-bits.c
+
+2017-11-21 13:27:18 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (df65573ad2)
+
+ lib: Call prctl(PR_SET_DUMPABLE) only when PR_SET_DUMPABLE env variable is
+ set
+
+
+M src/lib/restrict-access.c
+
+2017-11-22 11:34:47 +0200 Sergey Kitov <sergey.kitov@open-xchange.com> (f5cc540279)
+
+ lib: Add logging of prctl(PR_SET_DUMPABLE) failure.
+
+
+M src/lib/restrict-access.c
+
+2017-11-29 09:00:08 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (df0eef65a5)
+
+ auth: test-lua - fix memory leaks
+
+
+M src/auth/test-lua.c
+
+2017-11-28 01:04:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (80bd4f851d)
+
+ lib-smtp: client: Fixed sending payload with unknown size using the CHUNKING
+ capability.
+
+
+M src/lib-smtp/smtp-client-command.c
+
+2017-11-28 01:03:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (11142fd53e)
+
+ lib-smtp: client: command: Implemented callback that is called when command
+ is fully sent.
+
+
+M src/lib-smtp/smtp-client-command.c
+M src/lib-smtp/smtp-client-command.h
+M src/lib-smtp/smtp-client-private.h
+
+2017-11-27 21:03:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1fc55bfb54)
+
+ lib-smtp: client: transaction: Fix adding a recipient while the transaction
+ is already failed.
+
+ This did not always trigger an immediate callback.
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2017-11-28 21:15:17 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ecfca41e9d)
+
+ auth: test-lua - zero out auth settings in test
+
+ Otherwise valgrind complains
+
+M src/auth/test-lua.c
+
+2017-11-28 19:01:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4ccb618227)
+
+ director: Fix logging disconnection error reasons
+
+ The previous commit set errno=0, which weren't logged. If error string is
+ provided, it doesn't matter what the errno is set (as long as it's not 0),
+ so we'll just use EINVAL.
+
+M src/director/director-connection.c
+
+2017-11-28 13:45:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (acc6105bd5)
+
+ lib: mempool-alloconly - Make sure calloc() size isn't above SSIZE_T_MAX
+
+ This avoids valgrind warnings when running unit tests:
+
+ Argument 'nmemb' of function calloc has a fishy (possibly negative) value:
+ -9223372036854775808
+
+M src/lib/mempool-alloconly.c
+
+2017-11-28 16:51:46 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (04e49d6224)
+
+ auth: userdb-lua - Fix typo in logging
+
+
+M src/auth/userdb-lua.c
+
+2017-11-28 16:51:06 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e99ddf2f36)
+
+ auth: userdb-lua - Log error if lookup fails
+
+ Previously the error would just be discarded.
+
+M src/auth/userdb-lua.c
+
+2017-11-28 16:50:13 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c86575ac97)
+
+ auth: db-lua - Fix password scheme handling
+
+ It was left as NULL and had misleading name in some of the handler functions
+ causing assert-crash.
+
+M src/auth/db-lua.c
+
+2017-11-28 16:48:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c2cda3faeb)
+
+ auth: db-lua - fix auth request registration
+
+ It was registered in wrong manner so one could not easily extend it with
+ passdb and userdb subtables.
+
+ The change itself was to change the object to a table, and register the
+ actual pointer as light userdata under index 'item', and the passdb and
+ userdb tables similarly with 'item' in each holding the pointer to request.
+
+M src/auth/db-lua.c
+
+2017-11-28 13:44:06 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6dd6dac827)
+
+ auth: db-lua - Do not assume params is always present for passdb/userdb
+ field lookup
+
+
+M src/auth/db-lua.c
+
+2017-11-28 16:07:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c8d80ba718)
+
+ lib: Fix mempool unit tests to pass with 32bit OSes
+
+ malloc(SSIZE_T_MAX) actually succeeds there, so we can't test it.
+
+M src/lib/test-mempool-allocfree.c
+M src/lib/test-mempool-alloconly.c
+
+2017-11-17 11:37:45 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (08259c1f20)
+
+ lib: rename bswap_*() to i_bswap()
+
+
+M src/lib/byteorder.h
+M src/lib/test-byteorder.c
+
+2017-11-28 15:06:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1a85ac6b42)
+
+ director: Log connection stats for all types of disconnections
+
+
+M src/director/director-connection.c
+
+2017-11-28 14:57:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (43edd1078b)
+
+ director: Log whether connection is synced when it's being disconnected.
+
+
+M src/director/director-connection.c
+
+2017-11-28 13:10:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0bd3eb7c81)
+
+ director: Fix crash when handling expired USER timestamps.
+
+ The fix in 154f91726624265fce15097eb4bbbf6e55f8c477 wasn't complete.
+
+M src/director/director-connection.c
+
+2017-11-24 13:22:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a4fa5676ae)
+
+ password-scheme-sodium: ARGON2I - print errno on failure
+
+
+M src/auth/password-scheme-sodium.c
+
+2017-11-24 13:18:16 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (66db268d57)
+
+ password-scheme-sodium: Support ARGON2ID when available
+
+
+M src/auth/password-scheme-sodium.c
+M src/auth/test-libpassword.c
+
+2017-11-24 12:50:00 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2437015089)
+
+ password-scheme-sodium: rename ARGON2 to ARGON2I
+
+
+M src/auth/password-scheme-sodium.c
+M src/auth/test-libpassword.c
+
+2017-11-24 12:47:58 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1806d8fcb4)
+
+ password-scheme-sodium: Call sodium_init to improve performance
+
+
+M src/auth/password-scheme-sodium.c
+
+2017-10-28 20:58:58 +0200 Frank Denis <github@pureftpd.org> (b2c5e11c7e)
+
+ configure: --with-sodium doesn't add support for scrypt (for now, at least)
+
+
+M configure.ac
+
+2017-11-27 18:34:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3c1077b110)
+
+ doveadm-server: Fix potential dsync-server panic at deinit
+
+ If the ostream is still used (e.g. for logging) after dsync is finished, it
+ crashed with:
+
+ Panic: file ostream.c: line 276 (o_stream_sendv_int): assertion failed:
+ (!_stream->finished)
+
+M src/doveadm/doveadm-dsync.c
+
+2017-11-25 15:57:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (981f260cfa)
+
+ pop3-login: Properly recognize an empty SASL initial response.
+
+ Pass only the empty string to the auth service and not "=".
+
+M src/pop3-login/client-authenticate.c
+
+2017-11-25 15:55:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ad3e5fb085)
+
+ imap-login: Properly recognize an empty SASL initial response.
+
+ Pass only the empty string to the auth service and not "=".
+
+M src/imap-login/client-authenticate.c
+
+2017-11-25 15:28:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e4b72bd73b)
+
+ auth: Properly recognize an empty initial SASL response.
+
+ It was erroneously handled as an absent initial response. Restructured the
+ code for clarity and changed the comments: '=' should not be passed to SASL
+ layer at all.
+
+M src/auth/auth-request-handler.c
+
+2017-11-25 18:13:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (451698c60d)
+
+ lib: strfuncs: Fixed value of uchar_empty_ptr not to be NULL.
+
+
+M src/lib/strfuncs.c
+
+2017-11-27 21:11:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (76553b1646)
+
+ lmtp: proxy: Fix connection settings comparison in
+ lmtp_proxy_get_connection() when hostip field is set.
+
+ The IP in the hostip field overrides the host setting, which broke the
+ comparison.
+
+M src/lmtp/lmtp-proxy.c
+
+2017-11-27 15:17:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e4a7dbe5e0)
+
+ lib: mempool-alloconly - Cleanly fail allocations just below SSIZE_T_MAX
+
+ Previously it would have assert-crashed in nearest_power().
+
+M src/lib/mempool-alloconly.c
+
+2017-11-27 15:14:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ba1a5db879)
+
+ lib: Use test_expect_fatal_string() for all fatal unit tests
+
+
+M src/lib/test-array.c
+M src/lib/test-data-stack.c
+M src/lib/test-malloc-overflow.c
+M src/lib/test-mempool-allocfree.c
+M src/lib/test-mempool-alloconly.c
+M src/lib/test-mempool.c
+M src/lib/test-printf-format-fix.c
+
+2017-11-27 15:12:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a7d1bd5be6)
+
+ lib: Fix mempool-alloconly & mempool-allocfree unit tests
+
+ The "physically impossible size" test was supposed to test calloc()==NULL
+ failure, but in reality it was triggering asserts before that.
+
+M src/lib/test-mempool-allocfree.c
+M src/lib/test-mempool-alloconly.c
+
+2017-11-27 15:11:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ac72c147af)
+
+ lib: mempool-allocfree - If calloc() fails, include "Out of memory" in the
+ log line
+
+
+M src/lib/mempool-allocfree.c
+
+2017-11-27 14:48:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f2969642c7)
+
+ lib: Fix logging panic message if data stack canary corruption is detected
+
+ The previous code just recursed into the same canary corruption check and
+ didn't end up logging anything.
+
+M src/lib/data-stack.c
+
+2017-11-27 14:42:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (86ec225534)
+
+ lib: Make sure panics/fatals don't recurse into loops
+
+
+M src/lib/failures.c
+
+2017-11-27 14:24:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (37bf0a2059)
+
+ lib-test: Add test_expect_fatal_string()
+
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2017-11-27 14:23:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a9a4210351)
+
+ lib-test: Cleanup - Move expected_error_str check to its own function
+
+
+M src/lib-test/test-common.c
+
+2017-11-21 22:13:17 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (86ad487452)
+
+ lib-dcrypt: test-crypto and test-stream need lib-ssl-iostream.a fully
+
+ Otherwise the .so file cannot be loaded due to missing symbols
+
+M src/lib-dcrypt/Makefile.am
+
+2017-11-21 22:12:56 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a40a4775e5)
+
+ login-common: Do not link lib-ssl-iostream.la twice
+
+ It's already in libdovecot.la
+
+M src/login-common/Makefile.am
+
+2017-11-24 08:51:14 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (83b6900e51)
+
+ configure: Detect --whole-archive in linker
+
+
+M configure.ac
+A m4/ld_whole_archive.m4
+
+2017-11-24 09:00:24 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (dbb1816a7a)
+
+ m4: Use CC, not CXX in ld_relro
+
+
+M m4/ld_relro.m4
+
+2017-11-27 17:42:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (24ede7e56d)
+
+ replicator: Keep user referenced while dsync is running
+
+ Fixes a crash when user is removed with "doveadm replicator remove" while
+ dsync is still running.
+
+M src/replication/replicator/replicator-brain.c
+
+2017-11-27 17:42:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9b2129d5bd)
+
+ replicator: Add refcounting to user
+
+
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-queue.h
+
+2017-11-27 01:38:09 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e40c4caaf8)
+
+ lmtp: proxy: Fixed use of hostip field after changing the implementation to
+ use lib-smtp/client broke it.
+
+ Proxy was erroneously doing DNS queries while hostip field was returned from
+ passdb.
+
+M src/lmtp/lmtp-proxy.c
+
+2017-11-27 11:45:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (933602635d)
+
+ lmtp: proxy: Fixed proxying reply from backend server.
+
+ It contained an additional CRLF, which caused problems.
+
+M src/lmtp/lmtp-proxy.c
+
+2017-11-27 11:44:23 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (57b18ecb6f)
+
+ lib-smtp: Implemented function to write an SMTP reply as a single line.
+
+ Needed for proxying in current LMTP code.
+
+M src/lib-smtp/smtp-reply.c
+M src/lib-smtp/smtp-reply.h
+
+2017-11-27 14:57:09 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c0660f13a2)
+
+ configure: Fix Lua conditionals
+
+
+M configure.ac
+M m4/want_lua.m4
+M src/auth/Makefile.am
+M src/auth/test-lua.c
+M src/lib-lua/Makefile.am
+
+2017-11-27 14:56:07 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d5b03874cc)
+
+ configure: Drop LuaJIT support
+
+ Does not work with our custom allocator
+
+M configure.ac
+M m4/want_lua.m4
+
+2017-11-27 12:32:54 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6b98c595ae)
+
+ lib: mempool-allocfree - include overhead in size check
+
+ Found by valgrind
+
+M src/lib/mempool-allocfree.c
+
+2017-11-27 11:58:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b2117031bf)
+
+ director: Fix logging of uninitialized PONG buffer size
+
+ PONG always has 0 or 2 parameters. The easiest fix here is to just not even
+ try to support 1 parameter.
+
+M src/director/director-connection.c
+
+2017-11-27 00:54:56 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (606ce50a44)
+
+ lib-smtp: client: Fixed cleanup of untriggered transaction timeout.
+
+
+M src/lib-smtp/smtp-client-transaction.c
+
+2017-11-26 23:00:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (769f5c2d6f)
+
+ director: Fix delayed request count in ps title after request timeouts
+
+ The timeouts weren't shrinking the delayed request count. This didn't cause
+ any other problems.
+
+M src/director/director-request.c
+
+2017-11-25 01:59:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e4e8301f2b)
+
+ lib-program-client: Ignore ostream error handling
+
+
+M src/lib-program-client/program-client.c
+
+2017-10-29 18:36:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9051b704ca)
+
+ lib-smtp: Implemented test suite for client errors.
+
+
+M src/lib-smtp/Makefile.am
+A src/lib-smtp/test-smtp-client-errors.c
+
+2017-11-05 21:51:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6f0862951e)
+
+ lib-test: Reset expected errors state at each test.
+
+
+M src/lib-test/test-common.c
+
+2017-11-08 01:51:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9e33e0ae16)
+
+ lib-lda: Added support for message submission with SSL.
+
+
+M src/lib-lda/Makefile.am
+M src/lib-lda/mail-send.c
+
+2017-05-07 14:58:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ac8f4f30d6)
+
+ lib-smtp: smtp-submit: Added SSL support.
+
+
+M src/lib-lda/mail-send.c
+M src/lib-smtp/smtp-submit-settings.c
+M src/lib-smtp/smtp-submit-settings.h
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/smtp-submit.h
+M src/lib-smtp/test-smtp-submit.c
+
+2017-09-16 20:10:39 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (eea481b793)
+
+ lib-smtp: smtp-submit: Use mail_debug setting to enable debug logging.
+
+ When sendmail is used, this logs program_client debug messages. When SMTP is
+ used (submission_host), this logs smtp_client debug messages.
+
+M src/lib-smtp/smtp-submit-settings.c
+M src/lib-smtp/smtp-submit-settings.h
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/test-smtp-submit.c
+
+2017-09-16 20:09:22 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (bce4997c6d)
+
+ lib-smtp: Dropped old lmtp-client.
+
+ It is now unused.
+
+M src/lib-smtp/Makefile.am
+D src/lib-smtp/lmtp-client.c
+D src/lib-smtp/lmtp-client.h
+
+2017-01-22 15:27:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (09cd817096)
+
+ lmtp: proxy: Changed implemention to use lib-smtp/smtp-client.
+
+
+M src/lmtp/client.h
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2017-01-22 15:26:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7c8257bb06)
+
+ lib-smtp: smtp-submit: Changed submission_host implementation to use
+ lib-smtp/smtp-client.
+
+
+M src/lib-lda/mail-send.c
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/smtp-submit.h
+M src/lib-smtp/test-smtp-submit.c
+
+2017-11-20 23:30:37 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (70eaddb117)
+
+ lib-smtp: smtp-submit: Small whitespace fix.
+
+
+M src/lib-smtp/test-smtp-submit.c
+
+2017-11-04 14:38:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (211fdbe702)
+
+ lib-smtp: smtp-submit: Remove erroneously copy-pasted FIXMEs.
+
+
+M src/lib-smtp/test-smtp-submit.c
+
+2016-11-06 22:15:45 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b388894458)
+
+ lib-smtp: Implemented SMTP client.
+
+
+M src/lib-smtp/Makefile.am
+A src/lib-smtp/smtp-client-command.c
+A src/lib-smtp/smtp-client-command.h
+A src/lib-smtp/smtp-client-connection.c
+A src/lib-smtp/smtp-client-connection.h
+A src/lib-smtp/smtp-client-private.h
+A src/lib-smtp/smtp-client-transaction.c
+A src/lib-smtp/smtp-client-transaction.h
+A src/lib-smtp/smtp-client.c
+A src/lib-smtp/smtp-client.h
+M src/lib-smtp/smtp-common.h
+
+2016-11-06 22:00:08 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a8433392e8)
+
+ lib-smtp: Implemented SMTP command reply parser.
+
+
+M src/lib-smtp/Makefile.am
+A src/lib-smtp/smtp-reply-parser.c
+A src/lib-smtp/smtp-reply-parser.h
+A src/lib-smtp/smtp-reply.c
+A src/lib-smtp/smtp-reply.h
+A src/lib-smtp/test-smtp-reply-parser.c
+
+2017-10-18 01:03:03 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ad8d2060ac)
+
+ lmtp: commands: Grouped deliver context field assignments by topic in
+ client_deliver().
+
+
+M src/lmtp/commands.c
+
+2016-11-06 19:09:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (de0971aff3)
+
+ lib-lda: Added SMTP parameter fields to struct mail_deliver_context.
+
+ This moves the original recipient field inside the SMTP parameters. This
+ also affects both lda and lmtp. Changes are applied there accordingly.
+
+M src/lda/main.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2016-11-06 21:39:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (39bf54004e)
+
+ lib-smtp: Implemented parsing, manipulation, and encoding for SMTP command
+ parameters.
+
+
+M src/lib-smtp/Makefile.am
+A src/lib-smtp/smtp-common.c
+A src/lib-smtp/smtp-common.h
+A src/lib-smtp/smtp-params.c
+A src/lib-smtp/smtp-params.h
+A src/lib-smtp/test-smtp-params.c
+
+2016-11-06 21:29:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3e2f71514a)
+
+ lib-smtp: Implemented parsing and encoding for common SMTP syntax elements.
+
+
+M src/lib-smtp/Makefile.am
+A src/lib-smtp/smtp-syntax.c
+A src/lib-smtp/smtp-syntax.h
+
+2016-11-06 13:45:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c663687483)
+
+ lib-lda: mail-send: Changed recipient argument type of mail_send_rejection()
+ to struct smtp_address.
+
+
+M src/lda/main.c
+M src/lib-lda/mail-send.c
+M src/lib-lda/mail-send.h
+
+2017-10-29 23:39:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ca3aed470a)
+
+ lib-mail: message-address: Dropped message_detail_address_parse(), since it
+ is no longer used.
+
+
+M src/lib-mail/message-address.c
+M src/lib-mail/message-address.h
+M src/lib-mail/test-message-address.c
+
+2017-10-29 23:41:44 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (52f6112882)
+
+ plugins/quota: quota-status service: Changed recipient address parsing to
+ use lib-smtp.
+
+
+M src/plugins/quota/Makefile.am
+M src/plugins/quota/quota-status.c
+
+2016-11-05 14:47:53 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3d7828efd9)
+
+ lib-lda: Changed struct mail_deliver_context address fields to use the new
+ struct smtp_address type.
+
+
+M src/lda/Makefile.am
+M src/lda/main.c
+M src/lib-lda/Makefile.am
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+M src/lib-lda/mail-send.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2016-11-04 18:35:59 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (033c07cfd5)
+
+ lda: Renamed variables and parameters for consistency with lib-smtp.
+
+
+M src/lda/main.c
+
+2016-11-03 00:20:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a77f136d36)
+
+ lib-lda: Renamed struct mail_deliver_context fields for consistency with
+ lib-smtp.
+
+ New fields are added in subsequent commits.
+
+M src/lda/main.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+M src/lib-lda/mail-send.c
+M src/lmtp/commands.c
+
+2016-11-04 18:16:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d13bee3f3d)
+
+ lmtp: Removed lmtp_address_translate setting.
+
+ It is assumed not to be used.
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2017-11-05 02:00:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fbad2d1074)
+
+ lib-mail: message-address: Added convenience functions that convert (single)
+ addresses to string.
+
+
+M src/lib-mail/message-address.c
+M src/lib-mail/message-address.h
+
+2017-10-19 15:20:04 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cc77c1cfe8)
+
+ lib-mail: message-address: Added functions to initialize a struct
+ message_address.
+
+
+M src/lib-mail/Makefile.am
+M src/lib-mail/message-address.c
+M src/lib-mail/message-address.h
+
+2017-10-29 23:37:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (61ae3dd363)
+
+ lib-smtp: address: Created SMTP address detail parsing function from
+ message_detail_address_parse().
+
+
+M src/lib-smtp/smtp-address.c
+M src/lib-smtp/smtp-address.h
+M src/lib-smtp/test-smtp-address.c
+
+2016-11-06 21:15:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (03f08e4abe)
+
+ lib-smtp: Implemented parsing, manipulation and encoding of SMTP addresses.
+
+
+M src/lib-smtp/Makefile.am
+A src/lib-smtp/smtp-address.c
+A src/lib-smtp/smtp-address.h
+A src/lib-smtp/test-smtp-address.c
+
+2016-11-06 21:08:11 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (93bedc8559)
+
+ lib-smtp: Implemented generic parser for basic SMTP data items.
+
+
+M src/lib-smtp/Makefile.am
+A src/lib-smtp/smtp-parser.c
+A src/lib-smtp/smtp-parser.h
+
+2017-10-27 19:43:43 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4b9e7a8752)
+
+ lib: connection: Added means to initialize connection to just be added to
+ the connection list.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2017-10-19 14:04:20 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e98ba66a8e)
+
+ lib-storage: Make parsed postmaster_address available in
+ mail_storage_settings->parsed_postmaster_address.
+
+
+M src/config/Makefile.am
+M src/lib-lda/mail-send.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/plugins/mail-crypt/test-mail-key.c
+
+2017-10-21 13:13:00 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3c00329780)
+
+ lib-settings: Added support for running checks after variable expansion.
+
+
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings-parser.h
+
+2017-11-22 21:02:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6ee910623a)
+
+ lmtp: Accept XCLIENT ADDR field IPv6 address both with and without "IPV6:"
+ prefix.
+
+ This is the format that Postfix actually prescribes. The new lib-smtp will
+ add the prefix by default.
+
+M src/lmtp/commands.c
+
+2017-11-20 01:26:21 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9ab7221dac)
+
+ lib: llist: Fixed setting (after)->next->prev in DLLIST2_INSERT_AFTER_FULL.
+
+ This function was not yet used, so the problem did not affect existing code.
+
+M src/lib/llist.h
+
+2017-02-26 03:19:51 +0000 Josh Soref <jsoref@users.noreply.github.com> (29357a858c)
+
+ lib-settings: Fix spelling of 'expanded'
+
+
+M src/lib-master/master-service-settings.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings-parser.h
+
+2017-11-26 02:11:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (68953330a3)
+
+ imap: Make sure command handlers are called with ostream corked
+
+ This wasn't done when client input was continued. If COPY/MOVE was called
+ there, it crashed with:
+
+ Panic: file cmd-copy.c: line 50 (fetch_and_copy): assertion failed:
+ (o_stream_is_corked(client->output))
+
+M src/imap/imap-client.c
+
+2017-11-26 12:33:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f0a21708f7)
+
+ director: DIRECTOR-LIST - Return results sorted by host
+
+
+M src/director/doveadm-connection.c
+
+2017-11-26 12:26:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (27f553b28b)
+
+ director: DIRECTOR-LIST - Move connection/host output to their own functions
+
+
+M src/director/doveadm-connection.c
+
+2017-11-26 12:36:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6e54fd2bed)
+
+ director: Make director_host_cmp_p() public
+
+
+M src/director/director-host.c
+M src/director/director-host.h
+
+2017-11-24 18:46:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (91b0bd6e72)
+
+ director: Improve PING/PONG timeout errors and add new warnings
+
+ Log a warning if PING-PONG takes over 5 secs in total, or also if the
+ recipient notices that the PING took >= 5 seconds to receive.
+
+M src/director/director-connection.c
+
+2017-11-24 18:22:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2adcf55dd8)
+
+ director: Add director_ping_idle/max_timeout setting.
+
+ director_ping_idle_timeout is used when there's otherwise no input coming
+ from the connection. Changed its default from 10 secs to 30 secs.
+
+ director_ping_max_timeout is used when the other director keeps sending
+ input, but among it is no PONG reply.
+
+M src/director/director-connection.c
+M src/director/director-settings.c
+M src/director/director-settings.h
+
+2017-11-24 18:18:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8506e63fd9)
+
+ director: Log exactly how long PING was waited on before it timed out.
+
+
+M src/director/director-connection.c
+
+2017-11-26 12:20:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (193a587e51)
+
+ director: DIRECTOR-LIST - Add "ring " prefix to self's status
+
+ This is to make it a bit easier to understand the difference between a
+ connection's "handshaking" state vs. "ring handshaking" state.
+
+M src/director/doveadm-connection.c
+
+2017-11-26 12:19:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5cdaaf2ecf)
+
+ director: DIRECTOR-LIST - Show number of USERs sent/received in
+ "handshaking" state
+
+
+M src/director/director-connection.c
+M src/director/director-connection.h
+M src/director/doveadm-connection.c
+
+2017-11-26 12:13:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e5ef6fa616)
+
+ director: Include number of users sent in handshake in disconnection log
+ lines
+
+
+M src/director/director-connection.c
+
+2017-11-26 03:45:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (dd19de9b63)
+
+ director: Show number of incoming USERs/sec in ps title
+
+
+M src/director/director-connection.c
+M src/director/director.h
+M src/director/main.c
+
+2017-11-25 23:28:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (58a102564b)
+
+ director: Include number of USERs received in disconnection log lines
+
+ Separate handshake and refresh USERs.
+
+M src/director/director-connection.c
+
+2017-11-25 10:01:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (14660f677e)
+
+ director: Don't send USERs in handshake that were already sent between
+ handshake
+
+ If the user was refreshed since the handshake was started, it means that the
+ same user was already sent to the other side (added to the stream
+ immediately after it was received/handled). There's no need to send it
+ again.
+
+ This fixes a potentally infinite handshake when users are rapidly changing
+ and the handshake iterator never sees the end of the list. (Each refreshed
+ user is moved to the end of the list, so handshaking can keep sending the
+ same user over and over again.)
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+
+2017-11-25 10:05:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (efd72f0559)
+
+ director: Delay sorting users until there are no more user iterators
+
+ This shouldn't have normally happened. Only when an outgoing handshake was
+ going on at the same time as a) another outgoing handshake was going on, or
+ b) doveadm was doing HOST-RESET-USERS
+
+M src/director/user-directory.c
+
+2017-11-26 01:31:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (edaa9f5c32)
+
+ director: Avoid USER loops with >1s ring latency also with old directors
+
+ Do this by ignoring USER refreshes that were already updated recently. The
+ "recently" is calculated by director_user_expire/4 seconds ago, but with an
+ upper limit of 15 secs. This means that the USER loops can now only exist if
+ the director ring latency is above 15 seconds. (Once all directors in the
+ ring are running the new version, there's no looping at any latency.)
+
+M src/director/director-connection.c
+
+2017-11-26 01:19:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b3e36790ca)
+
+ director: Avoid USER loops when ring latency is over 1 second
+
+ Do this by adding a timestamp parameter to USER events. This way if it takes
+ over 1 second for the USER event to traverse the ring, it won't get into an
+ infinite loop getting the user updated over and over again.
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+M src/director/user-directory.h
+
+2017-11-26 01:14:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (05b7b8f144)
+
+ director: Replace USER command during handshake with "U"
+
+ This clearly differentiates the two commands and allows extending the USER
+ command with new parameters without mixing it up with the handshake-USER.
+
+M src/director/director-connection.c
+M src/director/director.h
+
+2017-11-26 01:06:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (154f917266)
+
+ director: Ignore refresh requests for already expired user timestamps
+
+
+M src/director/director-connection.c
+
+2017-11-17 13:24:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (94fb15fffc)
+
+ director: Keep users unsorted during handshake and sort them at the end
+
+ This is simpler and sometimes more efficient than the current way of
+ immediately inserting the users to the correct place in the linked list.
+ This is especially useful if handshaking is mixed with regular USER updates,
+ because each switch between them required walking the linked list backwards
+ to find the proper insert position.
+
+ It's not a big problem if the users list is temporarily unordered. It mainly
+ means that some of the users won't be expired as early as they should have.
+
+M src/director/director-connection.c
+M src/director/user-directory.c
+
+2017-11-17 18:53:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0e94f6c27b)
+
+ director: Make sure users are sorted after unfinished handshake
+
+ The users were sorted after the handshake was finished, but if the
+ connection was closed before that hapepned, the users were left unsorted.
+ This could have caused the users to not expire early enough.
+
+M src/director/director-connection.c
+
+2017-11-17 14:56:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (04c8a9554e)
+
+ director: Make sure user's timestamp isn't set to future
+
+ The sending director could have the system clock slightly in the future.
+
+M src/director/director-connection.c
+
+2017-11-21 23:07:56 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c147bff818)
+
+ global: Use t_buffer_create
+
+ sed -i -e 's/buffer_create_dynamic(pool_datastack_create(),
+ */t_buffer_create(/g'
+
+M src/auth/auth-policy.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request-stats.c
+M src/auth/db-checkpassword.c
+M src/auth/password-scheme-scram.c
+M src/auth/password-scheme.c
+M src/config/old-set-parser.c
+M src/doveadm/client-connection-tcp.c
+M src/doveadm/doveadm-fs.c
+M src/doveadm/dsync/dsync-mailbox-state.c
+M src/imap-login/client-authenticate.c
+M src/lib-compression/test-compression.c
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/ostream-encrypt.c
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dict-backend/dict-sql.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap/imap-url.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-mail/test-istream-binary-converter.c
+M src/lib-mail/test-ostream-dot.c
+M src/lib-mail/test-quoted-printable.c
+M src/lib-master/master-auth.c
+M src/lib-sql/driver-test.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/mail-search.c
+M src/lib/base32.c
+M src/lib/base64.c
+M src/lib/hash-method.c
+M src/lib/hmac.c
+M src/lib/pkcs5.h
+M src/lib/test-buffer.c
+M src/lib/test-hex-binary.c
+M src/lib/test-iostream-pump.c
+M src/lib/test-numpack.c
+M src/lib/test-ostream-failure-at.c
+M src/login-common/client-common.c
+M src/login-common/sasl-server.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/fts-lucene/Snowball.cc
+M src/plugins/imap-stats/imap-stats-plugin.c
+M src/plugins/mail-crypt/mail-crypt-global-key.c
+M src/plugins/mail-crypt/test-mail-global-key.c
+M src/plugins/mail-crypt/test-mail-key.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/stats/mail-stats-connection.c
+M src/plugins/virtual/virtual-sync.c
+M src/pop3-login/client-authenticate.c
+M src/stats/mail-command.c
+M src/stats/mail-session.c
+M src/stats/mail-user.c
+M src/util/script.c
+
+2017-11-21 22:57:30 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4d0200e205)
+
+ lib: buffer - Add t_buffer_create
+
+ Helper for making a datastack buffer
+
+M src/lib/buffer.h
+
+2017-11-24 12:31:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (06ff86fc92)
+
+ lib-storage: Fix sorting mails with the same primary sort key
+
+ The sorting order may have been wrong when there was a combination of:
+ * Messages were sorted by a string (e.g. Subject)
+ * Some messages had the same sort key (e.g. same base subject)
+ * Within the messages with the same sort key, some of the messages already
+ had the "sort-*" index number in Dovecot indexes, but some of them
+ didn't.
+
+ The result was that Dovecot found that the two messages had exactly the same
+ sort key. It should have continued with the secondary sort key (e.g. message
+ sequence number), but it didn't.
+
+M src/lib-storage/index/index-sort-string.c
+
+2017-11-08 15:42:32 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9698cd2435)
+
+ auth: Add lua passdb/userdb support
+
+
+M src/auth/Makefile.am
+M src/auth/auth-request-var-expand.h
+A src/auth/db-lua.c
+A src/auth/db-lua.h
+A src/auth/passdb-lua.c
+M src/auth/passdb.c
+M src/auth/test-auth.h
+A src/auth/test-lua.c
+M src/auth/test-main.c
+M src/auth/test-mock.c
+A src/auth/userdb-lua.c
+M src/auth/userdb.c
+M src/lib-lua/dlua-script-private.h
+
+2017-11-11 11:55:21 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e88e76e782)
+
+ lib-lua: Add lua helper library
+
+ Provides a base lua library for lua extensibility
+
+M configure.ac
+M src/Makefile.am
+A src/lib-lua/Makefile.am
+A src/lib-lua/dlua-compat.c
+A src/lib-lua/dlua-dovecot.c
+A src/lib-lua/dlua-script-private.h
+A src/lib-lua/dlua-script.c
+A src/lib-lua/dlua-script.h
+A src/lib-lua/test-lua.c
+
+2017-11-08 14:09:26 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (feaa7d3954)
+
+ configure: Detect lua
+
+
+M configure.ac
+A m4/want_lua.m4
+
+2017-11-15 19:13:39 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (38f53f9d3e)
+
+ auth: Add accessor for userdb-template fields
+
+ It's needed in lua
+
+M src/auth/userdb-template.c
+M src/auth/userdb-template.h
+
+2017-11-08 13:30:24 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8734467f39)
+
+ mempool-allocfree: Add linked-list malloc allocation
+
+ This is useful when you want to actually free memory from pool too
+
+M src/lib/Makefile.am
+A src/lib/mempool-allocfree.c
+M src/lib/mempool.h
+M src/lib/test-lib.inc
+A src/lib/test-mempool-allocfree.c
+
+2017-11-24 09:52:24 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2945c7c618)
+
+ stats: Do not log errors if /proc/self/io is not accessible
+
+ Some security options, used notably in docker, can prevent access to this
+ file even from root, so do not log errors if the error is EACCES.
+
+M src/plugins/stats/mail-stats-fill.c
+
+2017-11-20 09:46:48 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (4ee65ee399)
+
+ lib: test-path-util - whitespace & coding style cleanup in create_links()
+
+
+M src/lib/test-path-util.c
+
+2017-11-22 10:49:49 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2bd58dc6e7)
+
+ auth: Check that key is not empty in passdb or userdb template
+
+ Prevents nasty crash later on if template has 'key = value'
+
+ dovecot: auth: Panic: file auth-request.c: line 1746
+ (auth_request_set_field): assertion failed: (*name != '\0')
+
+M src/auth/passdb-template.c
+M src/auth/userdb-template.c
+
+2017-11-22 12:16:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4e3b79ac77)
+
+ lib-storage: Add mailbox_set_critical() and mail_set_critical()
+
+ These add the mailbox vname and mail UID to the log prefix and then call
+ mail_storage_set_critical().
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2017-11-22 12:02:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9f1038760c)
+
+ login-proxy: Fix hang in outgoing SSL connections
+
+ The handshaking needs to be started explicitly.
+
+M src/login-common/login-proxy.c
+
+2017-11-21 16:52:24 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5783df9136)
+
+ login-proxy: Log connection errors using IP, not hostname
+
+ The hostname can point to multiple IPs or there can be some other mismatch.
+ Logging the IP instead shows exactly what is happening.
+
+M src/login-common/login-proxy.c
+
+2017-11-20 21:17:24 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (89155c6638)
+
+ lib: path-util: Improved conditional expressions in path_normalize() to
+ match the earlier adjusted assertions.
+
+ Added some more assertions in the process to make sure subtractions are
+ always valid.
+
+M src/lib/path-util.c
+
+2017-11-20 15:53:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (71acd1d082)
+
+ lib: Improve test-path-util unit test to catch off-by-one memory allocation
+ errors
+
+
+M src/lib/test-path-util.c
+
+2017-11-20 16:01:25 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (569b5022db)
+
+ lib: path-util - Allocate more space earlier
+
+ Fixes assert crash in path_normalize when termination needs to happen at
+ asize boundary.
+
+ Panic: file path-util.c: line 93 (path_normalize): assertion failed:
+ ((size_t)((npath_pos - npath) + 1) < asize)
+
+M src/lib/path-util.c
+
+2017-11-20 17:56:52 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (82e7761750)
+
+ lib-storage: Add a fall through comment to fix gcc-7 warning
+
+
+M src/lib-storage/mailbox-list.c
+
+2017-11-20 17:03:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7f42dc9424)
+
+ mdbox: Fix rebuilding when dovecot.map.index is missing map/ref extension
+
+ The rebuild kept just repeatedly failing with: Error: mdbox map
+ .../dovecot.map.index corrupted: missing map extension
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2017-11-18 23:14:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (eaebd98a29)
+
+ lib-storage: Fix mailbox_create_missing_dir() with storages that have no
+ mail root dir
+
+ The mailbox still exists even if the mail root directory doesn't, so there's
+ no point in even trying to stat() it.
+
+M src/lib-storage/mail-storage.c
+
+2017-11-18 23:10:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3fdbff3685)
+
+ lib-storage: Make sure mailbox autocreation doesn't get into infinite loop
+
+ If mailbox_create() -> mailbox_open() fails with MAIL_ERROR_NOTFOUND, it
+ would have looped back to mailbox_create() and continued this until running
+ out of stack.
+
+M src/lib-storage/mail-storage.c
+
+2017-11-18 18:57:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (638600575e)
+
+ lib-storage: Add INDEXCACHE=<path> to mail_location
+
+ This allows configuring a different directory for dovecot.index.cache files
+ than the rest of the index files.
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2017-11-20 14:28:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (da613017f6)
+
+ lib-storage: mailbox_rename() - Improve debug logging when namespaces are
+ incompatible
+
+
+M src/lib-storage/mail-storage.c
+
+2017-11-18 18:12:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (72af6886cb)
+
+ lib-index: Add mail_index_set_cache_dir() to change .cache's directory
+
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+
+2017-11-18 18:03:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2608ab4495)
+
+ lib-index: Add mail_cache_open_or_create_path()
+
+ This allows moving cache file to another directory.
+
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-cache.h
+
+2017-11-18 00:44:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ca0cfbcd16)
+
+ virtual: Fix crash when saving to virtual mailbox whose physical box doesn't
+ exist
+
+ For example if using "!foo" in dovecot-virtual and "foo" doesn't exist, it
+ crashed. Now it gives a nice error message instead.
+
+M src/plugins/virtual/virtual-storage.c
+
+2017-11-18 19:06:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1c8b68cab1)
+
+ lib: path-util: Made assertions in path_normalize() more reliable and less
+ confusing to static analyzer.
+
+
+M src/lib/path-util.c
+
+2017-11-17 22:37:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d7a2f56cd0)
+
+ lib: path-util - Add more code paths to test in path_normalize()
+
+
+M src/lib/test-path-util.c
+
+2017-11-17 21:44:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (489af46c6c)
+
+ virtual: Wrap mail.get_binary_stream() to fix it
+
+ Fixes using FETCH BINARY[..] with virtual mailboxes crashing with:
+
+ Panic: file index-mail-binary.c: line 585 (index_mail_get_binary_stream):
+ assertion failed: (mail->data.stream != NULL)
+
+M src/plugins/virtual/virtual-mail.c
+
+2017-11-17 20:56:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (948dccd80c)
+
+ quota: Fix error handling if maildirsize rewrite fails after recalculation
+
+ error could have been left uninitialized, potentially causing a crash.
+
+M src/plugins/quota/quota-maildir.c
+
+2017-11-17 20:55:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1f8e934c62)
+
+ fts-lucene: Fix potential memory leak
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2017-11-17 20:53:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bcf23eed0f)
+
+ lib-dcrypt: test-stream - Make static analyzer happier
+
+ Without this clang thinks it's possible that siz>sizeof(payload).
+
+M src/lib-dcrypt/test-stream.c
+
+2017-11-15 14:29:59 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c560fa078c)
+
+ doveadm-auth-server: Further fix json problems
+
+ Remove excess comma from start, forgotten in
+ 3e06a782584ea2c4ae2a8cb0451e9952f05f9dc8
+
+M src/doveadm/doveadm-auth-server.c
+
+2017-11-09 15:33:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6d548041bb)
+
+ lib-charset: Compile charset-utf8-only code always
+
+ Mainly so that this code always gets compiled, so any bugs are found.
+
+M src/lib-charset/charset-utf8-only.c
+
+2017-11-09 15:18:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9c675d5e57)
+
+ lib-charset: Allow plugins to replace charset_* functions
+
+ They just need to point charset_utf8_vfuncs to their own implementation.
+
+M src/lib-charset/Makefile.am
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/charset-utf8-only.c
+A src/lib-charset/charset-utf8-private.h
+M src/lib-charset/charset-utf8.c
+
+2017-11-09 15:12:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5b9bacdb85)
+
+ lib-charset: Move non-iconv UTF-8 only translation code to its own file
+
+
+M src/lib-charset/Makefile.am
+A src/lib-charset/charset-utf8-only.c
+M src/lib-charset/charset-utf8.c
+
+2017-11-16 13:27:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (abd2ac9eb1)
+
+ mail-crypt: Do not free global keys if no error has occured
+
+
+M src/plugins/mail-crypt/mail-crypt-pluginenv.c
+
+2017-11-16 00:53:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d596739439)
+
+ director: Make sure a missing right-side connection is always reconnected
+
+ This code shouldn't be needed, but add it just to be sure.
+
+M src/director/director.c
+
+2017-11-16 00:44:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3a7a8b3685)
+
+ director: Reconnect after detecting a write failure to director
+
+ If disconnection is detected during write failure, or "Output buffer full"
+ occurs, the connection is disconnected. However, if this was the right side
+ connection, it wasn't automatically reconnected to. This left the ring
+ nonworking.
+
+M src/director/director-connection.c
+
+2017-11-15 12:57:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0a222deffd)
+
+ global: Replace o_stream_ignore_last_errors() with o_stream_abort() wherever
+ possible
+
+
+M src/lib-fs/fs-api.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/list/subscription-file.c
+M src/plugins/fts-squat/squat-uidlist.c
+
+2017-11-15 12:49:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7660a5183e)
+
+ lib: Add o_stream_abort()
+
+
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2017-11-15 12:51:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7112c5ac64)
+
+ lib-smtp: Remove unnecessary o_stream_ignore_last_errors() call
+
+ The stream is already marked with o_stream_set_no_error_handling(TRUE).
+
+M src/lib-smtp/smtp-submit.c
+
+2017-11-02 10:07:39 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (8528048c7b)
+
+ lib-storage: Fix MAILBOX_LIST_INDEX_HIERARHCY_SEP spelling
+
+ Original work by @jsoref
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2017-11-08 14:40:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b8f02c99e2)
+
+ doveadm: client - Cleanup: Simplify the input loop
+
+
+M src/doveadm/server-connection.c
+
+2017-11-08 14:39:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4a913ff77a)
+
+ doveadm: client - Cleanup: Remove unnecessary stream_errno check
+
+
+M src/doveadm/server-connection.c
+
+2017-11-09 16:17:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (73d5397417)
+
+ doveadm: client - Cleanup: Remove unnecessary code indentation
+
+
+M src/doveadm/server-connection.c
+
+2017-11-08 14:35:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9f869f9ab6)
+
+ doveadm: client - Cleanup: Handle input NULL first
+
+
+M src/doveadm/server-connection.c
+
+2017-11-09 16:18:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (20638158a9)
+
+ doveadm: client - Cleanup: Set authenticate_sent in a more proper location
+
+
+M src/doveadm/server-connection.c
+
+2017-11-08 14:32:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fd91d0e92e)
+
+ doveadm: client - Cleanup: Don't check authenticate_sent twice
+
+
+M src/doveadm/server-connection.c
+
+2017-11-08 14:20:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b52b16e9b2)
+
+ doveadm: client - Read any pipelined replies after authentication reply
+
+ This practically shouldn't happen.
+
+M src/doveadm/server-connection.c
+
+2017-11-08 14:17:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1a492d1e24)
+
+ doveadm: client - Cleanup: Read server input only once in the input handler
+
+
+M src/doveadm/server-connection.c
+
+2017-11-08 14:11:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8a6710d679)
+
+ doveadm: client - Fail if server sends more than one VERSION reply in
+ handshake
+
+
+M src/doveadm/server-connection.c
+
+2017-11-15 16:12:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (04d4432f5e)
+
+ *-login: Close SSL connections cleanly
+
+ Don't close the socket before SSL "close notify" is sent.
+
+M src/login-common/client-common.c
+
+2017-11-15 15:53:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4c5c19b3b5)
+
+ lib-imap: imap_envelope_parse() - remove unnecessary data stack frame
+
+ imap_envelope_parse_args() isn't using data stack at all, so this
+ unnecessarily complicates the code. It also prevents using datastack-pool as
+ the pool parameter.
+
+M src/lib-imap/imap-envelope.c
+
+2017-11-15 09:22:34 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (dc8dc2ec4f)
+
+ lib-storage: mailbox-list-index - disable if MAILBOX_LIST_PROP_NO_LIST_INDEX
+ set
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2017-11-13 15:28:08 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (18b3f47062)
+
+ lib-storage: imapc - use MAILBOX_LIST_PROP_NO_LIST_INDEX
+
+ mailbox list index does not work with imapc, so disable it.
+
+ Panic: file mail-storage.c: line 1858 (mailbox_get_metadata): assertion
+ failed: ((items & MAILBOX_METADATA_GUID) == 0 ||
+ !guid_128_is_empty(metadata_r->guid))
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2017-11-15 09:16:12 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9d41eb0dad)
+
+ lib-storage: mailbox-list-none - use MAILBOX_LIST_PROP_NO_LIST_INDEX flag
+
+
+M src/lib-storage/list/mailbox-list-none.c
+
+2017-11-13 15:27:07 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ba0b86cc4d)
+
+ lib-storage: Add MAILBOX_LIST_PROP_NO_LIST_INDEX
+
+ If set, disables mailbox list index for the given list.
+
+M src/lib-storage/mailbox-list.h
+
+2017-11-15 10:28:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3e06a78258)
+
+ doveadm-auth-server: Send comma only if we are sending field too
+
+ Fixes json output
+
+M src/doveadm/doveadm-auth-server.c
+
+2017-11-14 13:49:22 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (8b478435d7)
+
+ lib-master: Drop support for SSL_TXT_SSLV2 in master-service-ssl-settings.c
+
+ OpenSSL headers are not included in master-service-ssl-settings.c, so the
+ check for SSL_TXT_SSLV2 is broken at the moment, and the feature is not
+ worth supporting since SSLv2 is obsolete.
+
+M src/lib-master/master-service-ssl-settings.c
+
+2017-11-15 06:13:30 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (6f4c61d8ce)
+
+ m4: Refuse to build with OpenSSL version < 1.0.1
+
+
+M m4/ssl.m4
+
+2017-11-14 20:14:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a0876e2bef)
+
+ lib: Add unit test for dec2str_buf()
+
+
+M src/lib/test-strfuncs.c
+
+2017-11-14 16:51:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e1abe6d11a)
+
+ auth: Remove userdb nss
+
+ Its original purpose was because getpwnam() couldn't differentiate between
+ "user doesn't exist" and "temporary error", but this was solved by using
+ getpwnam_r() instead.
+
+ So all userdb nss users should be able to safely switch to userdb passwd.
+
+M src/auth/Makefile.am
+D src/auth/userdb-nss.c
+M src/auth/userdb.c
+
+2017-11-14 00:09:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d436926111)
+
+ imap: SELECT/EXAMINE - Send * OK [CLOSED] before tagged BAD parameters reply
+
+
+M src/imap/cmd-select.c
+
+2017-11-09 16:30:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (488bdf71bb)
+
+ man: doveadm proxy -a parameter doesn't support TCP sockets
+
+
+M doc/man/doveadm-proxy.1.in
+
+2017-11-09 07:08:24 +0100 Simon Frankenberger <simon@fraho.eu> (f987ef0632)
+
+ fts-solr: Explicitly ask for XML responses
+
+ With recent solr versions (7.0+) the default response writer changed from
+ XML to JSON. This commit sets the
+ "wt" query parameter for all requests, so that the right response type is
+ written.
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2017-11-09 10:52:12 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (2b55fff01e)
+
+ lib: fix illumos build issue
+
+ The recent performance improvements to the net_addr2ip() code broke build on
+ illumos which has a 's_addr' #define in netinit/in.h.
+
+M src/lib/net.c
+
+2017-11-10 10:34:09 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (f4bc02a62f)
+
+ quota: Exit with EX_TEMPFAIL when doveadm quota get encounters an error
+
+
+M src/plugins/quota/doveadm-quota.c
+
+2017-11-03 08:38:39 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (f4169072ae)
+
+ lib: use temp var in i_stream_unref for clarity
+
+
+M src/lib/istream.c
+
+2017-11-09 12:24:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b97e952db9)
+
+ director: Fix director_max_parallel_moves/kicks type
+
+ Should be uint, not time.
+
+M src/director/director-settings.c
+
+2017-11-08 16:03:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f7292478c8)
+
+ doveadm: client - Fix connecting to UNIX sockets that don't need
+ authentication
+
+ Trying to access doveadm UNIX socket that didn't require authentication
+ failed with:
+
+ Error: doveadm server sent invalid handshake: ...
+
+M src/doveadm/server-connection.c
+
+2017-11-08 16:01:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d85b096274)
+
+ doveadm: client - Cleanup: Rename handshaked to authenticate_sent
+
+ This better describes what it does.
+
+M src/doveadm/server-connection.c
+
+2017-11-03 17:29:37 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (93b8808c97)
+
+ quota: Include mailbox name in quota_transaction_set_limits() error_r
+
+
+M src/plugins/quota/quota.c
+
+2017-11-03 16:17:44 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (12d7f667b6)
+
+ quota: Prefix quota errors with backend name in quota_get_resource()
+
+ Remove quota backend name error_r prefixing from get_resource() vfuncs.
+
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-imapc.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota.c
+
+2017-11-02 14:02:15 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (4f52de745c)
+
+ quota: Add error_result_r parameter to quota_count()
+
+
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-private.h
+
+2017-11-02 12:11:20 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (7ee626fd39)
+
+ quota: Add QUOTA_GET_RESULT_BACKGROUND_CALC enum value
+
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.h
+
+2017-11-02 12:04:46 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (b14f93ea4f)
+
+ quota: Add QUOTA_ALLOC_RESULT_BACKGROUND_CALC enum value
+
+
+M src/plugins/quota/quota-status.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2017-11-02 11:37:08 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (1379bb74c2)
+
+ quota: Return quota_get_result from quota_backend_vfuncs.get_resource()
+
+ Add a QUOTA_UNKNOWN_RESOURCE_ERROR_STRING for returning error_r with
+ QUOTA_GET_RESULT_UNKNOWN_RESOURCE.
+
+ Forbid backends from returning QUOTA_GET_RESULT_UNLIMITED in
+ quota_get_resource() with an i_panic().
+
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-imapc.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2017-11-02 10:39:18 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (c975f4c0c6)
+
+ quota: Add error_result_r parameter to quota_transaction_set_limits()
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2017-11-02 16:20:39 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e78fe2531f)
+
+ quota: Make quota_get_result errors <= QUOTA_GET_RESULT_INTERNAL_ERROR
+
+ Reorder the enum to make a shortcut for distinguishing errors.
+
+M src/plugins/quota/quota.h
+
+2017-11-02 16:30:31 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (995c0a88e9)
+
+ quota-dict: Cleanup dict_quota_get_resource() whitespace
+
+
+M src/plugins/quota/quota-dict.c
+
+2017-09-20 12:32:40 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (bb11a1957a)
+
+ quota-clone: Rename ret_bytes and ret_count to bytes_res and count_res
+
+ This is because the variables do not contain the actual quota resource
+ values but whether the lookup was successful.
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+
+2017-11-06 21:00:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (07ca0c75da)
+
+ lib: test-istream-jsonstr - Improve unit test
+
+
+M src/lib/test-istream-jsonstr.c
+
+2017-11-08 14:06:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (40b50a2747)
+
+ doveadm-server: Fix protocol handshake order
+
+ With version 1.1 protocol, server sent the authentication "+" or "-" line
+ before the VERSION. doveadm client accepts the VERSION reply either before
+ or after, so this change doesn't break it. It makes the protocol cleaner
+ though.
+
+ Based on patch by Manuel Mausz
+
+M src/doveadm/client-connection-tcp.c
+
+2017-11-08 14:04:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4addf3fa0e)
+
+ doveadm-server: Add client_connection_tcp.preauthenticated
+
+
+M src/doveadm/client-connection-tcp.c
+
+2017-11-08 02:31:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b722fa7ac2)
+
+ lib-ssl-iostream: Simplify ssl_iostream_settings_equals()
+
+
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2017-11-07 17:36:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (74c369c058)
+
+ director: Add director_max_parallel_moves/kicks settings
+
+ The director_max_parallel_moves setting controls the default limit, which
+ can still be increased by explicitly using the doveadm director flush
+ --max-parallel" parameter.
+
+M src/director/director-settings.c
+M src/director/director-settings.h
+M src/director/doveadm-connection.c
+
+2017-11-03 13:26:52 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c339300735)
+
+ lib: istream-jsonstr - Properly handle unicode input
+
+ Treat surrogates correctly, do not accept invalid codepoints
+
+M src/lib/istream-jsonstr.c
+M src/lib/json-parser.c
+M src/lib/test-istream-jsonstr.c
+
+2017-11-03 13:23:15 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d9d28856f3)
+
+ lib: istream-jsonstr - Move length check to unescape
+
+
+M src/lib/istream-jsonstr.c
+
+2017-11-06 14:40:08 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c980536af1)
+
+ lib: json-parser - check for valid hex in unicode escape
+
+
+M src/lib/json-parser.c
+M src/lib/test-json-parser.c
+
+2017-11-03 09:50:40 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (32bd32dcc8)
+
+ lib: json-parser - Insert properly escaped unicode
+
+
+M src/lib/json-parser.c
+M src/lib/json-parser.h
+M src/lib/test-json-parser.c
+
+2017-11-07 18:28:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2ede3b4155)
+
+ configure: Fix writing LIBDOVECOT[_DEPS] in dovecot-config
+
+ It needs to be in a single line or DC_DOVECOT's greping doesn't work
+ correctly.
+
+M configure.ac
+
+2017-11-06 10:36:07 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (16a5712c1a)
+
+ director: Limit max kicking count
+
+
+M src/director/doveadm-connection.c
+M src/director/doveadm-connection.h
+M src/director/main.c
+
+2017-11-07 14:34:32 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3e0c0a2693)
+
+ director: Add kick_callback to director
+
+ This callback gets called whenever director has performed a kick.
+
+M src/director/director.c
+M src/director/director.h
+M src/director/main.c
+
+2017-10-27 16:45:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (296acbaddb)
+
+ *-login: Add login_proxy_notify_path setting to configure proxy-notify path
+
+ A single FIFO can be a bottleneck, so this could be set to e.g.:
+
+ login_proxy_notify_path = proxy-notify%1R{pid}
+
+ or:
+
+ login_proxy_notify_path = proxy-notify%10N{pid}
+
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+M src/login-common/main.c
+
+2017-10-27 16:24:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9dd8a75971)
+
+ director: Allow proxy-notify to optionally be a socket
+
+ Dovecot isn't using this currently, but it can be useful if external
+ services want to send notifications.
+
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/notify-connection.h
+
+2017-10-27 16:20:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (57d65ae19a)
+
+ director: Support multiple proxy-notify connections
+
+
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/notify-connection.h
+
+2017-11-07 03:57:49 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (d32f4c43dd)
+
+ quota-fs: Make it possible to set the mount= parameter
+
+ Also free root->storage_mount_path before copying the given parameter in
+ order not to leak memory when there are duplicate mount= parameters.
+
+M src/plugins/quota/quota-fs.c
+
+2017-11-07 01:33:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (84703c2f19)
+
+ log: Fix log reopening on SIGUSR1
+
+
+M src/log/main.c
+
+2017-11-07 01:11:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9c04998b7b)
+
+ lib-ssl-iostream: Remove obsolete ssl_iostream_context_deinit()
+
+
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-11-05 18:35:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ebcf7d6c92)
+
+ global: Replace ssl_iostream_context_init_client() with
+ ssl_iostream_client_context_cache_get()
+
+
+M src/doveadm/doveadm-dsync.c
+M src/lib-http/http-client.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2017-11-05 18:34:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b583cc2e54)
+
+ lib-ssl-iostream: Call ssl_iostream_context_cache_free() automatically at
+ exit
+
+
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2017-11-02 23:36:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8d9f11a45d)
+
+ lib: Remove net_transmit()
+
+ Its API was confusing, and it's no longer used anywhere.
+
+M src/lib/net.c
+M src/lib/net.h
+
+2017-11-01 01:51:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (71bd935dba)
+
+ login-common: Remove ssl-proxy code
+
+
+M src/login-common/Makefile.am
+D src/login-common/ssl-proxy-gnutls.c
+D src/login-common/ssl-proxy-openssl.c
+D src/login-common/ssl-proxy.c
+D src/login-common/ssl-proxy.h
+
+2017-11-01 01:49:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3e06f836ce)
+
+ login-common: Stop using ssl-proxy entirely
+
+
+M src/login-common/client-common.c
+M src/login-common/main.c
+
+2017-11-01 01:49:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (06704acb3b)
+
+ *-login: Remove unnecessary ssl-proxy.h include
+
+
+M src/imap-login/imap-login-client.c
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client.c
+
+2017-11-01 01:47:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4635b36b00)
+
+ login-common: Call io_stream_ssl_global_init() early
+
+
+M src/login-common/login-common.h
+M src/login-common/main.c
+
+2017-11-01 01:27:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (feb8f7b949)
+
+ login-common: Use lib-ssl-iostream for incoming SSL/TLS connections
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2017-11-01 01:40:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (15aa67e8a9)
+
+ lib-ssl-iostream: Add io_stream_ssl_global_init()
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-11-01 01:38:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (74b7b25c4e)
+
+ lib-ssl-iostream: io_stream_create_ssl_client() - Move code to set
+ verify_remote_cert=TRUE
+
+ Enable it in the generic SSL code instead of OpenSSL-specific code.
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2017-11-01 01:21:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d920a34dfe)
+
+ *-login: Use io_add_istream() instead of io_add()
+
+
+M src/imap-login/imap-login-client.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/pop3-login/client.c
+
+2017-11-01 22:48:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0256180043)
+
+ login-common: Change process title to show different connection types
+
+ Separate pre-login connections, proxy connections and post-login TLS
+ proxies.
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+M src/login-common/main.c
+
+2017-11-01 22:40:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a7efba62b6)
+
+ login-common: Destroy all fd proxies at deinit.
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/main.c
+
+2017-11-01 02:19:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (87dbf3e855)
+
+ login-common: Implement post-login proxying and use it with SSL connections
+
+ Note: This temporarily breaks the SSL connections a bit. If post-login
+ process disconnects the client, it's not noticed by the login process.
+ Client connections are noticed by the post-login though.
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2017-11-01 01:06:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (be6e55ff7c)
+
+ login-common: client_alloc() - remove unnecessary ssl parameter
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/main.c
+
+2017-11-01 01:03:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9b450c91ee)
+
+ login-common: Use client_init_ssl() to initialize all SSL connections
+
+
+M src/login-common/main.c
+
+2017-11-01 00:59:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b1485f2691)
+
+ login-common: Extract SSL/TLS initialization into client_init_ssl()
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2017-11-01 00:49:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (66ea9eaaa2)
+
+ login-common: Split client_create() to client_alloc() and client_init()
+
+ client_unref() can be used to free an allocated client that hasn't been
+ fully created.
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/main.c
+
+2017-11-02 01:05:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (14a07d2bb3)
+
+ lib-ssl-iostream: Add TLS SNI callback and a way to change SSL context
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-11-01 00:18:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6315f87da1)
+
+ lib-ssl-iostream: ssl_iostream_cert_match_name() - add reason_r parameter
+
+ The callers were also changed to add the reason to error messages.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-11-01 00:12:24 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bbafd34da2)
+
+ lib-ssl-iostream: openssl_cert_match_name() - add reason_r parameter
+
+ The returned string explains what exactly matched or why nothing matched.
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/login-common/ssl-proxy-openssl.c
+
+2017-11-01 00:08:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (18344a653f)
+
+ lib-ssl-iostream: ssl_iostream_cert_match_name() - Change to return bool
+
+ The return value makes much more sense as a boolean TRUE/FALSE than 0/-1.
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+M src/login-common/ssl-proxy-openssl.c
+
+2017-10-31 19:34:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (58c2ffe05b)
+
+ login-proxy: Use lib-ssl-iostream for outgoing SSL/TLS connections
+
+
+M src/login-common/login-proxy.c
+M src/login-common/main.c
+
+2017-11-01 00:35:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b5af146ecc)
+
+ lib-master: master_service_ssl_settings_to_iostream_set() - add
+ client/server parameter
+
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+
+2017-10-31 23:24:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8ca7d305e0)
+
+ lib-master: master_service_ssl_settings_to_iostream_set() - reorder
+ assignments
+
+ Keep them in the same order as the fields in struct ssl_iostream_settings,
+ so it's easier to verify whether all fields are listed.
+
+M src/lib-master/master-service-ssl-settings.c
+
+2017-10-31 23:23:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (30c5c1fc36)
+
+ lib-master: master_service_ssl_settings_to_iostream_set() - add
+ ssl_require_crl
+
+
+M src/lib-master/master-service-ssl-settings.c
+
+2017-10-31 18:57:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (75eb71389d)
+
+ lib-master: master_service_ssl_settings_to_iostream_set() - don't go through
+ master_service
+
+ It's more useful to convert any master_service_ssl_settings struct.
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+
+2017-11-01 00:26:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6d4fb028a2)
+
+ lib-master: Add ssl_client_ca_file & _dir to master_service_ssl_settings
+
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+
+2017-11-02 01:04:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (86cc86047b)
+
+ lib-ssl-iostream: Add ssl_iostream_context cache
+
+ This can be used to easily get a shared ssl_iostream_context for either
+ server or client. There's no upper size limit for the cache.
+
+M src/lib-ssl-iostream/Makefile.am
+A src/lib-ssl-iostream/iostream-ssl-context-cache.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-11-05 18:30:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (85a594cdf8)
+
+ lib-ssl-iostream: Add ssl_iostream_settings_drop_stream_only()
+
+
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2017-11-05 18:29:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1c18965641)
+
+ lib-ssl-iostream: Add ssl_iostream_settings_equals()
+
+
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2017-10-31 18:43:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3c376d8f5e)
+
+ lib-ssl-iostream: Keep ssl_iostream_context referenced while it has streams
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2017-10-31 18:41:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (96359599bb)
+
+ lib-ssl-iostream: Add refcounting to ssl_iostream_context
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-10-31 18:39:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (15d19d6e4d)
+
+ global: Rename ssl_iostream_context_deinit() to ssl_iostream_context_unref()
+
+
+M src/doveadm/doveadm-dsync.c
+M src/lib-http/http-client.c
+M src/lib-http/http-server.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-master/master-service-ssl.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2017-10-30 16:55:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (319bc5ff46)
+
+ lib-ssl-iostream: Change ssl_iostream_context.set to not be a pointer
+
+ It's just unnecessary memory usage.
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+
+2017-10-31 18:19:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (25aa88dd96)
+
+ lib-ssl-iostream: ssl_iostream_settings_dup() - rewrite using string offsets
+ array
+
+ This array will be useful for other purposes as well.
+
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-10-30 16:54:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cfa1edd025)
+
+ lib-ssl-iostream: Add ssl_iostream_settings_init_from()
+
+ This allows duplicating settings to an already existing struct without
+ having to allocate it.
+
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-10-30 12:57:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e88f4d3dd4)
+
+ lib-ssl-iostream: ssl_iostream_settings_dup() - duplicate also dh
+
+
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2017-10-30 12:06:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4c21d44ce3)
+
+ lib-ssl-iostream: Add stream/context comments to all ssl_iostream_settings
+
+
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-10-30 00:44:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5f24bf9ba0)
+
+ login-proxy: Use iostream-proxy API to perform proxying
+
+
+M src/login-common/login-proxy.c
+
+2017-10-30 00:59:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f8b6c3d6bc)
+
+ lib: Add o_stream_get_last_write_time()
+
+
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2017-10-30 00:49:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a215abacb2)
+
+ lib: Add i_stream_get_last_read_time()
+
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+M src/lib/istream.h
+
+2017-11-01 23:53:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1312cf655d)
+
+ login-proxy: Move client fd closing to client_unref()
+
+
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+
+2017-11-01 21:15:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (86bca14f79)
+
+ login-common: Move code in client_destroy_internal_failure() to its only
+ caller
+
+ No need to have a function that has only a single caller.
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2017-11-01 21:09:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1a1159e589)
+
+ login-common: Avoid using client_destroy_success() when
+ mail_max_userip_connections is reached
+
+ This was currently the only way how data != NULL here.
+
+ This change destroys ssl_proxy on client_destroy() instead of
+ client_unref(), but that doesn't make much of a practical difference. This
+ new behavior is a bit more correct though.
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2016-10-04 15:36:06 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8bcf6fd065)
+
+ iostream-openssl: Refactor stream sync code
+
+ When doing input or stream sync, specify the type of operation that we are
+ doing to make sure we do IO correctly.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2017-11-05 18:07:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b4c64e78f0)
+
+ lib-ssl-iostream: Set error on clean connection closing during handshake.
+
+ Set the error to "SSL connection closed during handshake".
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2017-11-05 18:06:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (497cdac280)
+
+ lib-ssl-iostream: Cleanup disconnection handling
+
+ Avoid code duplication. Set error to "Connection closed" if there's no other
+ error.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2017-11-05 17:47:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6c30d94bfa)
+
+ doveadm: Remove dead code
+
+ ret can never be >0 at this point. If there are any unexpected JSON
+ elements, doveadm_http_server_json_parse_v1() returns -1.
+
+M src/doveadm/client-connection-http.c
+
+2017-11-05 23:51:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (88734aa949)
+
+ director: Make sure HOST-RESET-USERS isn't used with max_moving_users=0
+
+ The reset command would just hang in that case. doveadm would never have
+ sent this, so this is just an extra sanity check.
+
+M src/director/doveadm-connection.c
+
+2017-11-05 23:27:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5754fa8604)
+
+ director: Show in process title how many users are being kicked.
+
+
+M src/director/director.c
+M src/director/director.h
+M src/director/main.c
+
+2017-11-05 23:01:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4dc8d682c8)
+
+ director: Show in process title how many requests are being delayed.
+
+
+M src/director/director-request.c
+M src/director/director.h
+M src/director/main.c
+
+2017-11-06 10:57:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6f20cb5225)
+
+ director: Log an error if login process sends unexpected reply to KICK*
+ commands
+
+
+M src/director/director.c
+
+2017-11-05 22:53:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2dfc39a560)
+
+ director: Log whenever HOST-RESET-USERS is used
+
+
+M src/director/doveadm-connection.c
+
+2017-11-05 22:38:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f534eb971e)
+
+ director: Include used CPU secs in director connection log messages
+
+ It's counting the process's full CPU seconds used since the handshake
+ started, so it's not specific to the connection itself. Still, this is
+ likely to be very useful in debugging whether a slow handshake was due to
+ CPU usage or something else.
+
+M src/director/director-connection.c
+
+2017-11-05 22:37:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c83e45c826)
+
+ director: Deduplicate code into director_connection_set_connected()
+
+
+M src/director/director-connection.c
+
+2017-11-05 22:27:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ef996cb0e6)
+
+ director: Include peak output buffer size in director connection log
+ messages
+
+
+M src/director/director-connection.c
+
+2017-11-04 14:33:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (18da63ba64)
+
+ cassandra: Include the used timestamp in logged queries
+
+
+M src/lib-sql/driver-cassandra.c
+
+2017-11-06 11:00:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (125081bc1c)
+
+ cassandra: Rename cassandra_sql_statement.pending_timestamp to just
+ timestamp
+
+
+M src/lib-sql/driver-cassandra.c
+
+2017-11-06 18:59:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (35e47c2865)
+
+ lib-storage: When copying mails, copy also empty cache fields
+
+ This mainly means that it copies cache fields for nonexistent message
+ headers. Those are still important, because otherwise Dovecot doesn't know
+ whether they exist or not.
+
+M src/lib-storage/index/index-storage.c
+
+2017-11-06 01:30:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ad394c531c)
+
+ director: Don't block too long when sending users during director handshake
+
+ All the other work is blocked while the users are being sent.
+
+M src/director/director-connection.c
+
+2017-07-26 18:34:59 +0900 Taizo Ito <taizo.ito@hde.co.jp> (ea1d2fc0e8)
+
+ auth: Disabling SMTP authentication in vpopmail users with NO_SMTP flag
+
+
+M src/auth/passdb-vpopmail.c
+
+2017-11-05 21:36:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4039fdc265)
+
+ lib: str_parse/to_*int*() - minor optimization
+
+
+M src/lib/strnum.c
+
+2017-11-04 15:29:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6b740bf2d3)
+
+ director: Avoid str_printfa() in director_connection_send_users()
+
+ Optimizes the CPU usage.
+
+M src/director/director-connection.c
+
+2017-11-04 02:17:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7b3acba3f2)
+
+ director: Avoid str_printfa() in login_host_callback()
+
+ Optimizes the CPU usage.
+
+M src/director/login-connection.c
+
+2017-11-04 02:05:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1b418300cc)
+
+ director: Change request callback to take mail_host parameter
+
+ This allows accessing the IP address both as struct and as string without
+ any conversions.
+
+M src/director/director-request.c
+M src/director/director-request.h
+M src/director/login-connection.c
+
+2017-11-04 01:59:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bd4bbe6478)
+
+ director: Use *_host.ip_str to avoid net_ip2addr() calls
+
+
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/mail-host.c
+
+2017-11-04 01:51:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b7650f081f)
+
+ director: Add director_host.ip_str
+
+ This avoids having to use net_ip2addr() all the time to convert it into a
+ string.
+
+M src/director/director-host.c
+M src/director/director-host.h
+
+2017-11-04 01:49:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cfc891de6e)
+
+ director: Add mail_host.ip_str
+
+ This avoids having to use net_ip2addr() all the time to convert it into a
+ string.
+
+M src/director/mail-host.c
+M src/director/mail-host.h
+
+2017-11-04 01:48:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e8d44b65aa)
+
+ director: Use t_strsplit_tabescaped_inplace() for director connection input
+
+
+M src/director/director-connection.c
+
+2017-11-04 01:43:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1c0491ba03)
+
+ lib: net_addr2ip() - Optimize for parsing IPv4 addresses
+
+
+M src/lib/net.c
+M src/lib/test-net.c
+
+2017-11-04 01:42:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8e9616d70b)
+
+ lib: net_ip2addr() - Optimize by allocating destination memory immediately
+
+ It doesn't really matter if we allocate a few extra bytes.
+
+M src/lib/net.c
+
+2017-11-04 01:40:24 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b7b202953e)
+
+ lib: *_strsplit() - implement more efficient version for a single separator
+ char
+
+
+M src/lib/strfuncs.c
+M src/lib/test-strfuncs.c
+
+2017-11-05 21:30:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8587f4288b)
+
+ lib: test-strfuncs - Improve *_strsplit*() unit tests
+
+
+M src/lib/test-strfuncs.c
+
+2017-11-04 01:39:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7de17a595a)
+
+ lib: Implement t_strsplit_tabescaped_inplace()
+
+ This is a more efficient version of t_strsplit_tabescaped(), which modifies
+ the input string instead of duplicating it.
+
+M src/lib/strescape.c
+M src/lib/strescape.h
+M src/lib/test-strescape.c
+
+2017-11-05 21:14:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5d8ee65c00)
+
+ lib: test-strescape - Refactor the unit test to use an array of tests
+
+
+M src/lib/test-strescape.c
+
+2017-11-04 01:37:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4ec55911f4)
+
+ lib: t_strsplit_tabescaped() - don't create unnecessary data stack mempool
+
+ unsafe_data_stack_pool is more efficient to use
+
+M src/lib/strescape.c
+
+2017-11-04 01:35:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (60212a51eb)
+
+ lib: str_tabunescape() - optimize initial escape char lookup
+
+ strchr() is faster than looping ourself.
+
+M src/lib/strescape.c
+
+2017-11-04 01:34:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (27006b3227)
+
+ director: Don't recreate timeout on every user lookup
+
+ Recreate it only when the timeout should change.
+
+M src/director/user-directory.c
+
+2017-11-05 23:11:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7d8c1ba766)
+
+ director: Fix off-by-one when checking if user weakness is stuck
+
+ When the weakness was exactly at the second, the weakness wasn't detected
+ and the next expiration timeout was removed entirely. This shouldn't have
+ caused any bigger problems, because another user lookup on the following
+ second would have then detected the weakness, removed the user and restored
+ the next expiration timeout.
+
+M src/director/user-directory.c
+
+2017-11-05 17:49:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (872c2b1209)
+
+ mbox: Add assert to make static analyzer happier
+
+
+M src/lib-storage/index/mbox/mbox-save.c
+
+2017-11-05 17:46:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (58336fc497)
+
+ lib-http: Remove dead code
+
+ This code branch became dead after 22ee6e1e6193299034ab99f77a650290de2fd6ca
+
+M src/lib-http/http-transfer-chunked.c
+
+2017-11-03 17:28:57 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a6366f3b2c)
+
+ lib-ssl-iostream: Fix alt cert support
+
+ It was only partially implemented in
+ 0577701d04beea222fc49a7318851ddcea3b99d3
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2017-11-02 00:00:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ba55ec8fdf)
+
+ lib: istream - Avoid panic in snapshot() with nonpersistent buffers
+
+
+M src/lib/istream.c
+
+2017-11-02 22:57:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (30517c7608)
+
+ lib: istream - Don't leak snapshot memory if close() triggers a read
+
+ Also move the line_str freeing just before stream is freed. That didn't
+ cause any known memory leaks though.
+
+M src/lib/istream.c
+
+2017-11-02 23:24:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (81a99eefdf)
+
+ lib: istream-jsonstr - Fix potential infinite loop if parent stream's
+ max_buffer_size is tiny
+
+
+M src/lib/istream-jsonstr.c
+
+2017-11-02 23:22:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (22ee6e1e61)
+
+ global: i_stream_read_memarea() - Remove impossible ret==-2 checks
+
+ If the stream's buffer is empty, i_stream_read_memarea() would have already
+ assert-crashed at this point.
+
+M src/lib-http/http-transfer-chunked.c
+M src/lib-mail/istream-dot.c
+M src/lib/istream-crlf.c
+
+2017-11-02 23:01:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7f4bcbb9f2)
+
+ imap, pop3: Don't access login_set.*_socket_path after they're freed from
+ data stack
+
+ Call master_login_init() before master_service_init_finish(), which frees
+ all the data stack done in initialization.
+
+ This didn't normally cause any visible problems, because data stack wasn't
+ currently being used in a way that the strings were invalidated. However, it
+ was causing failures if --enable-devel-checks was used.
+
+M src/imap/main.c
+M src/pop3/main.c
+
+2017-11-02 15:45:09 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (63e9db4f93)
+
+ config: Properly fix ssl-parameters.dat handling
+
+ It was done only partially right in a70d867d1fe3584149811c65eb6213deb72be824
+
+M src/config/config-request.c
+M src/config/config-request.h
+M src/config/doveconf.c
+
+2017-11-01 21:44:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b833824981)
+
+ login-common: client_unref() - always set client pointer to NULL
+
+ This is the common coding practise elsewhere as well.
+
+M src/login-common/client-common.c
+
+2017-11-01 21:44:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5885eec2e3)
+
+ pop3-login: Cleanup - uncork output unconditionally before client_unref()
+
+
+M src/pop3-login/client.c
+
+2017-11-01 21:41:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a44e36b9c7)
+
+ login-common: Remove unnecessary client_ref/unref from STARTTLS handling
+
+ There used to be code between them that could have destroyed the connection,
+ but that was removed long time ago.
+
+M src/login-common/client-common.c
+
+2017-10-31 23:51:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1b7459fda7)
+
+ doveadm: Send hostname without ":port" as TLS SNI name for outgoing SSL
+ connections.
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-server.h
+M src/doveadm/server-connection.c
+
+2017-11-02 12:00:42 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a70d867d1f)
+
+ config: Do not run ssl_dh check always
+
+ Do it only when CONFIG_DUMP_FLAG_CHECK_SETTINGS is set. Fixes
+
+ "Warning: You can generate it with: dd if=ssl-parameters.dat bs=1
+ skip=88..."
+
+M src/config/config-request.c
+
+2017-07-03 11:17:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2644ab2536)
+
+ dict-redis: Include last_reply in communications failure error
+
+ This way it's possible to determine what went wrong.
+
+M src/lib-dict/dict-redis.c
+
+2016-06-24 12:09:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c755552542)
+
+ dict-redis: Added support for authentication.
+
+ Patch by David Zambonini
+
+M src/lib-dict/dict-redis.c
+
+2017-11-02 01:34:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5aa1aa87a2)
+
+ lib: i_stream_w_buffer_realloc() - avoid passing NULL to memcpy()
+
+ It happened only with size=0, so it shouldn't have mattered much.
+
+M src/lib/istream.c
+
+2017-11-02 00:03:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d69c66d770)
+
+ imap-proxy: Don't discard the first pipelined command after LOGIN
+
+
+M src/imap-login/imap-proxy.c
+
+2017-11-01 19:10:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b1390ca0b9)
+
+ lib-storage: imapc - Fix spelling mistakes
+
+ Original work by @jsoref
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2017-11-01 19:10:07 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7603577788)
+
+ lib-fs: Fix spelling mistakes
+
+ Original work by @jsoref
+
+M src/lib-fs/fs-api.c
+
+2017-11-01 19:09:55 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9cc05eaa69)
+
+ test-quota: Fix spelling mistakes
+
+ Original work by @jsoref
+
+M src/plugins/quota/test-quota-util.c
+
+2017-11-01 19:09:43 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a3e5780c9e)
+
+ lazy-expunge: Fix spelling mistakes
+
+ Original work by @jsoref
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2017-11-01 19:09:28 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (21bd3573f0)
+
+ plugin-fts: Fix spelling mistakes
+
+ Original work by @jsoref
+
+M src/plugins/fts/fts-expunge-log.c
+
+2017-11-01 19:09:15 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ed4bd0ef77)
+
+ fts-squat: Fix spelling mistakes
+
+ Original work by @jsoref
+
+M src/plugins/fts-squat/squat-trie.c
+
+2017-11-01 19:09:04 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (31281f7ff3)
+
+ imap: Fix spelling mistakes
+
+ Original work by @jsoref
+
+M src/imap/cmd-urlfetch.c
+
+2017-11-01 19:08:54 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (688653dfb5)
+
+ director: Fix spelling mistakes
+
+ Original work by @jsoref
+
+M src/director/director-connection.c
+
+2017-11-01 19:08:40 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d47cf089be)
+
+ mech-apop: Fix spelling mistake
+
+ Original work by @jsoref
+
+M src/auth/mech-apop.c
+
+2017-11-01 19:08:30 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b8909228f0)
+
+ man: Fix spelling mistakes
+
+ Original work by @jsoref
+
+M doc/man/doveadm-replicator.1.in
+M doc/man/doveadm.1.in
+
+2017-11-01 19:07:26 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (19557f192d)
+
+ global: Fix spelling mistakes in comments
+
+ Original work by @andreasschulze and @jsoref
+
+M doc/example-config/conf.d/20-pop3.conf
+M doc/example-config/conf.d/90-quota.conf
+M m4/notify.m4
+M src/auth/auth-request-handler.c
+M src/auth/db-checkpassword.c
+M src/auth/db-passwd-file.c
+M src/auth/mech-gssapi.c
+M src/config/config-parser.c
+M src/director/director-connection.c
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/cmd-sort.c
+M src/lib-dcrypt/ostream-encrypt.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fts/fts-filter.h
+M src/lib-http/test-http-client-errors.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-strmap.h
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.h
+M src/lib-mail/message-part-data.h
+M src/lib-ntlm/ntlm-des.c
+M src/lib-ntlm/ntlm-types.h
+M src/lib-otp/otp-hash.c
+M src/lib-settings/settings.c
+M src/lib-smtp/lmtp-client.h
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-file.h
+M src/lib-storage/index/index-search-mime.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/mailbox-attribute.c
+M src/lib/array.h
+M src/lib/buffer.c
+M src/lib/failures.c
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-kqueue.c
+M src/lib/istream.h
+M src/lib/net.h
+M src/lib/path-util.c
+M src/lib/sendfile-util.c
+M src/lib/seq-range-array.h
+M src/lib/wildcard-match.c
+M src/master/sd-daemon.h
+M src/master/service.h
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+M src/plugins/mail-filter/istream-ext-filter.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+M src/pop3/pop3-client.c
+
+2017-11-01 18:04:57 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (787bbd436a)
+
+ fts-lucene: Do not clobber return value
+
+ Found by scanbuild
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2017-10-26 13:56:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2a550de68e)
+
+ director: Show each director connection in doveadm DIRECTOR-LIST
+
+ Previously the host was shown only once, regardless of how many connections
+ it had. This especially helps when there are just two directors, but also
+ can be useful when showing incoming/outgoing connections that are still in
+ handshaking phase.
+
+M src/director/doveadm-connection.c
+
+2017-10-26 14:10:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cb3f509b91)
+
+ doveadm director ring status: Add more fields related to connection status
+
+
+M src/director/doveadm-connection.c
+M src/doveadm/doveadm-director.c
+
+2017-10-26 14:18:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3dc72a40e4)
+
+ director: Track show long the last ring sync took.
+
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+
+2017-10-26 14:07:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f1551f4a50)
+
+ director: Track connections' last ping time
+
+
+M src/director/director-connection.c
+M src/director/director-connection.h
+
+2017-10-26 13:07:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (56139ffc94)
+
+ director: Add director_connection_get_status()
+
+ Can be used to access connection-specific status information.
+
+M src/director/director-connection.c
+M src/director/director-connection.h
+
+2017-10-26 13:02:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a1febfe04b)
+
+ director: Fix updating director connection's last_output timestamp
+
+ It was previously updated only in ostream's flush callback, which was called
+ only when there were a lot of output. This only caused the "last output"
+ timestamp in disconnection log lines to be wrong.
+
+M src/director/director-connection.c
+
+2017-10-26 12:44:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (20b6e495f6)
+
+ doveadm director: Parse timestamp parameters with str_to_time()
+
+
+M src/doveadm/doveadm-director.c
+
+2017-10-25 17:22:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1511fc56b8)
+
+ director: Close director connection immediately when output buffer is full
+
+ Only the ostream was closed, which didn't actually cause the disconnection
+ until the other side closed the connection.
+
+M src/director/director-connection.c
+
+2017-10-25 17:18:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (311cf367b9)
+
+ director: Add director_output_buffer_size setting
+
+ This allows configuring the max buffer size for outgoing connections.
+ Previously it was hardcoded to 10 MB, which wasn't necessarily enough for
+ very busy directors.
+
+M src/director/director-connection.c
+M src/director/director-settings.c
+M src/director/director-settings.h
+
+2017-10-31 23:37:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4584a00276)
+
+ lib-ssl-iostream: Verify SSL server's hostname against cert if it's non-NULL
+
+ The hostname verification was skipped when handshake-callback wasn't used.
+ All of the existing code used the callback though, so this doesn't fix any
+ bugs.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-10-31 19:49:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4cc68747aa)
+
+ lib-ssl-iostream: Fix checking cert validity when handshake callback isn't
+ used
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2017-11-01 12:58:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d185226aa3)
+
+ lib-ssl-iostream: Split host to connected_host and sni_host
+
+ Using the same variable for both was causing confusion.
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+
+2017-09-22 11:38:10 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (9a84b90d89)
+
+ global: start relying on [io]_stream_close(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch (and a bit of
+ hand-editing):
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - i_stream_close(E);
+ - }
+ + i_stream_close(E);
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - o_stream_close(E);
+ - }
+ + o_stream_close(E);
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-postfix-connection.c
+M src/lib-smtp/lmtp-client.c
+M src/lib/connection.c
+M src/lib/istream-seekable.c
+M src/lib/istream.c
+M src/lib/ostream.c
+M src/login-common/client-common.c
+M src/replication/aggregator/notify-connection.c
+
+2017-09-22 11:29:35 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (660ecbaf80)
+
+ lib: [io]_stream_close(NULL) should be no-ops
+
+
+M src/lib/istream.c
+M src/lib/ostream.c
+
+2017-11-01 14:40:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (322400fb89)
+
+ lib-index: Fix -Wstrict-bool warnings with --enable-devel-checks
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2017-10-27 21:20:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bcd2866227)
+
+ global: Use i_stream_read_memarea() wherever possible
+
+
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-fs/istream-metawrap.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/istream-nonuls.c
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/istream-qp-encoder.c
+M src/lib-program-client/program-client-remote.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-jsonstr.c
+M src/lib/istream-limit.c
+M src/lib/istream-multiplex.c
+M src/lib/istream-rawlog.c
+M src/lib/istream-seekable.c
+M src/lib/istream-sized.c
+M src/lib/istream.c
+M src/plugins/mail-filter/istream-ext-filter.c
+
+2017-10-27 21:32:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fa39c42757)
+
+ lib: i_stream_compress() - assert-crash if trying to compress shared memarea
+
+ The caller is always expected to check the refcount before calling this.
+
+M src/lib/istream.c
+
+2017-10-27 21:22:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (66967e15d8)
+
+ lib: i_stream_read() - Add buffer validity checks if DEBUG is enabled
+
+
+M src/lib/istream.c
+
+2017-10-27 21:17:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e0fab14602)
+
+ lib: i_stream_read() - Use snapshots
+
+ This guarantees that data returned by i_stream_get_data() won't be freed
+ until the next i_stream_read() returns >0. This is mainly important, because
+ often the error handling for <=0 doesn't update the buffer pointers
+ correctly and it leads to complicated bugs where already freed memory is
+ attempted to be read (but never written).
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+M src/lib/istream.h
+
+2017-10-27 21:13:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (25c833d3cf)
+
+ lib: Use ISTREAM_CREATE_FLAG_NOOP_SNAPSHOT where useful
+
+
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-data.c
+M src/lib/istream-tee.c
+
+2017-10-27 21:13:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (89a89730a1)
+
+ lib: Add ISTREAM_CREATE_FLAG_NOOP_SNAPSHOT flag
+
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2017-10-27 21:08:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2974dca6be)
+
+ global: Add flags parameter to i_stream_create() and set it to 0
+
+ This just changes the API - the following changes add the new flag.
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-fs/istream-fs-file.c
+M src/lib-fs/istream-fs-stats.c
+M src/lib-fs/istream-metawrap.c
+M src/lib-http/http-server-request.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/istream-nonuls.c
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/istream-qp-encoder.c
+M src/lib-program-client/program-client-remote.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-storage/index/istream-mail.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-test/test-istream.c
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-callback.c
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-data.c
+M src/lib/istream-failure-at.c
+M src/lib/istream-file.c
+M src/lib/istream-hash.c
+M src/lib/istream-jsonstr.c
+M src/lib/istream-limit.c
+M src/lib/istream-mmap.c
+M src/lib/istream-multiplex.c
+M src/lib/istream-private.h
+M src/lib/istream-rawlog.c
+M src/lib/istream-seekable.c
+M src/lib/istream-sized.c
+M src/lib/istream-tee.c
+M src/lib/istream-timeout.c
+M src/lib/istream-try.c
+M src/lib/istream.c
+M src/plugins/mail-filter/istream-ext-filter.c
+
+2017-10-27 21:28:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (58e397e90c)
+
+ lib-ssl-iostream: Simplify istream-openssl
+
+ Partially reverts 739125f23e3312045e620014812fe2249a309cc4. This is no
+ longer needed because of the io_set_pending() changes.
+
+M src/lib-ssl-iostream/istream-openssl.c
+
+2017-10-27 20:49:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ef4661aec4)
+
+ lib-compression: Use i_stream_try_alloc*()
+
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+
+2017-10-27 20:45:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (51d379cbc5)
+
+ lib: Add i_stream_try_alloc_avoid_compress()
+
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2017-10-27 20:38:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e05039894b)
+
+ lib-compression: istream-lz4 - Use i_stream_alloc()
+
+
+M src/lib-compression/istream-lz4.c
+
+2017-10-26 18:36:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f5d8e05492)
+
+ lib-mail: istream-attachment-extractor - Don't modify buffer during failure
+
+ If i_stream_read() returns -1 because the attachment file couldn't be
+ created, don't add the trailing data to the main istream. It's not useful,
+ and the following extra checks will cause it to assert-crash.
+
+M src/lib-mail/istream-attachment-extractor.c
+
+2017-09-08 14:59:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d74c9f4bf7)
+
+ lib: istream-mmap - Use memarea API
+
+
+M src/lib/istream-mmap.c
+
+2017-10-26 17:12:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (448ab3576e)
+
+ lib: istream-seekable - Implement snapshot()
+
+
+M src/lib/istream-seekable.c
+
+2017-10-26 16:37:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3e55775bc7)
+
+ lib: istream-seekable - Change to use i_stream_*alloc()
+
+ This simplifies implementing the snapshotting.
+
+M src/lib/istream-seekable.c
+
+2017-10-26 17:10:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3fe5eaeb32)
+
+ lib: istream-seekable - Fix fd leak if initial temp file couldn't be read
+ back
+
+ That should normally never happen.
+
+M src/lib/istream-seekable.c
+
+2017-10-26 15:17:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (82ea464c11)
+
+ lib: Add istream.snapshot() method for referencing the current memarea
+
+ It will be used by following commits.
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2017-10-26 15:22:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5181e190e9)
+
+ lib-test: istream-test - use memarea API
+
+
+M src/lib-test/test-istream.c
+
+2017-09-08 14:25:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5ca745ae8e)
+
+ lib: Use memarea for default istream memory allocations.
+
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2017-10-26 16:25:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (54bd0fec0b)
+
+ global: Use i_stream_free_buffer() instead of freeing w_buffer directly
+
+
+M src/lib-http/http-transfer-chunked.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-multiplex.c
+M src/lib/istream.c
+
+2017-10-26 16:24:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (785ee8becd)
+
+ lib: Add i_stream_free_buffer() to free i_stream_*alloc()ed memory
+
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2017-09-08 13:33:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4c7d704408)
+
+ lib: Add memarea API
+
+ This can be used to create reference counted memory areas where a callback
+ is called once the refcount drops to zero.
+
+M src/lib/Makefile.am
+A src/lib/memarea.c
+A src/lib/memarea.h
+M src/lib/test-lib.inc
+A src/lib/test-memarea.c
+
+2017-10-26 14:56:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (59a63791d4)
+
+ lib: istream-chain/concat cleanup - return early if no new data is read
+
+ There's no need to change the buffer or other variables. This simplifies the
+ following changes.
+
+ This cleanup is identical for istream-concat and istream-chain.
+
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+
+2017-01-20 17:34:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fdf15b2c4f)
+
+ lib-mail: istream-header-filter - Fix header read() when max_buffer_size=0
+
+ If the buffer was too small to read anything into it, read_header() returned
+ -2, but then it continued reading the header as if it was the body already.
+ This should instead be an error situation - max buffer size just shouldn't
+ be 0 at this point.
+
+ This was originally changed in a72355fef49c512c13b7d8c3e07f4f76ebd57a10 as
+ some kind of a workaround, but since then we implemented support for reading
+ a mixed header/body in c2afdbf963d0564a542d71ca784deb0c2f7776d0.
+
+M src/lib-mail/istream-header-filter.c
+
+2017-10-30 13:58:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a6657bc038)
+
+ imap: Set max buffer size for CATENATE istream-chain
+
+ This fixes a crash with mbox when nonexistent CATENATE URL is attempted to
+ be used. The istream doesn't get any size, and istream-header-filter panics
+ due to having reached the maximum buffer size (0), even though the stream is
+ empty and there's nothing to read.
+
+M src/imap/cmd-append.c
+
+2017-01-20 16:28:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d506fc38cc)
+
+ lib: Add assert to io_stream_ref()
+
+ This makes an assert-crash likely to happen if iostream was already freed.
+
+M src/lib/iostream.c
+
+2017-11-01 13:01:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (97b6a92d57)
+
+ doveadm: Ignore errors also on outgoing SSL connection ostreams
+
+ Setting the errors as ignored on the plain ostream was done too late, so ssl
+ ostream didn't inherit the error handling flag.
+
+M src/doveadm/server-connection.c
+
+2017-10-30 00:30:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (987c15a598)
+
+ lib: iostream-proxy - Specify what failed in completion callback parameter
+
+
+M src/lib/iostream-proxy.c
+M src/lib/iostream-proxy.h
+M src/lib/test-iostream-proxy.c
+
+2017-10-30 00:16:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (39435f00a3)
+
+ lib: iostream-pump - Specify what failed in completion callback parameter
+
+ This makes it easier for the caller to find out whether the failure was due
+ to istream or ostream.
+
+M src/lib-http/http-server-request.c
+M src/lib/iostream-proxy.c
+M src/lib/iostream-pump.c
+M src/lib/iostream-pump.h
+M src/lib/test-iostream-pump.c
+
+2017-10-29 23:53:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6ce52edd3d)
+
+ lib: iostream-proxy - Add iostream_proxy_is_waiting_output()
+
+
+M src/lib/iostream-proxy.c
+M src/lib/iostream-proxy.h
+
+2017-10-29 23:53:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fe4a5467c9)
+
+ lib: iostream-pump - Add iostream_pump_is_waiting_output()
+
+
+M src/lib/iostream-pump.c
+M src/lib/iostream-pump.h
+
+2017-10-30 01:07:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3bc5b80ae9)
+
+ lib: iostream-pump - Fix crash in iostream_pump_switch_ioloop() if io is
+ NULL
+
+ This would happen when the pump's ostream is full and it has stopped
+ listening for input.
+
+M src/lib/iostream-pump.c
+
+2017-10-29 23:28:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (84b746f562)
+
+ lib: iostream-pump - Cork the ostream when writing
+
+ This reduces latency for TCP connections by disabling Nagle algorithm.
+
+M src/lib/iostream-pump.c
+M src/lib/test-iostream-pump.c
+
+2017-10-31 20:05:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (103e63c7d2)
+
+ doveadm-server: Deinitialize log proxying before closing SSL iostream
+
+ Otherwise the SSL iostream destroying may trigger debug/error logging, which
+ attempts to proxy logs when the stream is already closed. This caused a
+ panic.
+
+M src/doveadm/client-connection-tcp.c
+
+2017-10-31 19:24:21 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a36cac101d)
+
+ dbox: Don't finish dbox's ostream when mail is saved
+
+ Fixes assert-crash when saving mail when using zlib plugin.
+
+M src/lib-storage/index/dbox-common/dbox-file.c
+
+2017-10-31 17:27:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8e8b9d01d4)
+
+ lib-compression: Fix unit test to not crash
+
+
+M src/lib-compression/test-compression.c
+
+2017-10-31 17:24:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6519bf9a29)
+
+ lib-mail: ostream-dot - Set o_stream_set_finish_also_parent(FALSE) by
+ default
+
+ ostream-dot is always used inside another ostream to implement some kind of
+ data escaping. The ostream-dot always has to be finished to write the "."
+ line, but the caller never wants it to finish the parent stream.
+
+M src/lib-mail/ostream-dot.c
+
+2017-10-31 17:20:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (03e102ddcc)
+
+ lib-fs: fs-metawrap - Don't try to write to an already finished ostream
+
+ Fixes a crash after recent changes when trying to write an empty file via
+ fs-metawrap.
+
+M src/lib-fs/fs-metawrap.c
+
+2017-10-31 17:09:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8a4a0ef826)
+
+ lib: connection - Use o_stream_set_finish_via_child(FALSE)
+
+ This allows o_stream_finish() calls on child streams without closing this
+ parent stream. Since the stream has no error checking by default anyway,
+ this allows the connection stream to be used more easily.
+
+M src/lib/connection.c
+
+2017-10-31 17:07:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d6193a8924)
+
+ lib: Add o_stream_set_finish_also_parent() and _finish_via_child()
+
+ These allow controlling on both directions whether o_stream_finish() should
+ be finishing the parent stream. If either one is set to FALSE, the parent
+ stream isn't finished. Which one of these to use depends on the situation.
+
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2017-10-31 15:05:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8109f3187f)
+
+ global: Use o_stream_flush_parent()
+
+
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-lz4.c
+M src/lib-compression/ostream-lzma.c
+M src/lib-compression/ostream-zlib.c
+M src/lib-dcrypt/ostream-encrypt.c
+M src/lib-mail/ostream-dot.c
+M src/lib/ostream-escaped.c
+M src/lib/ostream-failure-at.c
+M src/lib/ostream.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+
+2017-10-31 15:00:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5df4dbc38d)
+
+ lib: Add o_stream_flush_parent()
+
+
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+
+2017-10-31 17:42:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b9b86a27aa)
+
+ lib: istream-base64-encoder - Fix getting size for empty stream
+
+
+M src/lib/istream-base64-encoder.c
+M src/lib/test-istream-base64-encoder.c
+
+2017-10-31 12:16:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f134770dbc)
+
+ lib-master: Use skip_crl_check for ssl context
+
+
+M src/lib-master/master-service-ssl.c
+
+2017-10-16 10:56:17 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (754896551f)
+
+ lib-master: Load SSL module if wanted by service
+
+
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2017-10-16 10:47:36 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (30dca95419)
+
+ lib-master: Add master_service_ssl_settings_to_iostream_set
+
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+
+2017-10-31 10:10:39 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (15707468f4)
+
+ lib-master: Support alternative cert in master_service_ssl_ctx_init
+
+
+M src/lib-master/master-service-ssl.c
+
+2017-10-24 14:43:51 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (98c2cac72e)
+
+ lib-ssl-iostream: Seed OpenSSL RNG earlier
+
+ Make sure we give the RNG a chance to seed before we chroot.
+
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2017-09-07 10:19:36 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (997b30e409)
+
+ lib-ssl-iostream: Expose ssl_module_load
+
+ We need to load SSL module before we chroot in login-common.
+
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2016-10-03 12:04:26 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c141f3682c)
+
+ lib-ssl-iostream: Use named initializers
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2016-09-26 13:55:17 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ca55f7e83f)
+
+ lib-ssl-iostream: Remove input_handler flag
+
+ It is no longer needed after 87da941c
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/istream-openssl.c
+
+2016-09-26 13:52:33 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (48e2439330)
+
+ lib-ssl-iostream: Add get_compression accessor
+
+ This is needed by login-common
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2016-10-03 13:39:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1fea3af0bb)
+
+ lib-ssl-iostream: Close ostream before istream
+
+ If i_stream is autoclose, then o_stream close will fail if done after
+ i_stream close.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2016-10-03 12:38:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (978edad8fb)
+
+ lib-ssl-iostream: Allow skipping CRL check
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-10-30 14:08:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (0577701d04)
+
+ lib-ssl-iostream: Add alternate certificate support
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-10-30 14:06:36 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9f7ba3807f)
+
+ global: Splice cert into separate struct from iostream_ssl_settings
+
+
+M src/auth/db-oauth2.c
+M src/lib-ldap/ldap-connection.c
+M src/lib-master/master-service-ssl.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2017-10-31 17:01:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c75fd96004)
+
+ lib-fs: test-fs-posix - Fix checking whether unlink_directory() failed
+
+
+M src/lib-fs/test-fs-posix.c
+
+2017-10-30 20:30:03 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (65ef8330e8)
+
+ man: Update manpage for mailbox delete command
+
+
+M doc/man/doveadm-mailbox.1.in
+
+2017-10-30 19:29:02 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (32c7865781)
+
+ lib: Don't use NEEDS_LOCAL_CREDS undefined
+
+
+M src/lib/net.c
+
+2017-10-30 16:06:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1bc075e2e4)
+
+ global: Rename i_stream_is_eof() to i_stream_read_eof()
+
+ This describes its behavior a bit better.
+
+M src/lib-compression/istream-zlib.c
+M src/lib-fs/fs-sis.c
+M src/lib-http/http-server-request.c
+M src/lib-oauth2/oauth2.c
+M src/lib-program-client/program-client.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib/istream.c
+M src/lib/istream.h
+
+2017-10-30 16:11:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a05250bd59)
+
+ global: Avoid i_stream_is_eof() where it's not necessary
+
+
+M src/lib-http/test-http-server-errors.c
+M src/lib-smtp/test-smtp-submit.c
+M src/lib/test-istream-chain.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-seekable.c
+
+2017-10-30 16:06:21 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6a170d6d78)
+
+ lib: Improve i_stream_is_eof() comment
+
+
+M src/lib/istream.h
+
+2017-10-30 16:01:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7b29ccd796)
+
+ lib: Update struct istream comments
+
+
+M src/lib/istream.h
+
+2017-10-30 16:00:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2a8454fe98)
+
+ lib-http: If istream read fails, preserve the istream's full error message
+
+
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-response-parser.c
+
+2017-10-30 15:59:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f48fad9712)
+
+ lib-http: test-http-client-errors - fix typo in error message
+
+
+M src/lib-http/test-http-client-errors.c
+
+2017-10-30 15:58:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (53393ea8bd)
+
+ lib-http: Detect istream errors correctly.
+
+ i_stream_is_eof() returns TRUE also when streams have an error, so all
+ errors were logged the same as a regular disconnection.
+
+M src/lib-http/http-header-parser.c
+M src/lib-http/test-http-client-errors.c
+
+2017-10-30 16:39:21 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (d61f31663f)
+
+ lib,lib-index: Use #ifdef with WORDS_BIGENDIAN
+
+ Some were missing from the last change.
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib/byteorder.h
+M src/lib/sha1.c
+
+2017-10-28 02:57:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5bc75087b6)
+
+ global: Remove explicit o_stream_flush() calls from ostream.close() methods
+
+ It's now being done automatically.
+
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-lz4.c
+M src/lib-compression/ostream-lzma.c
+M src/lib-fs/ostream-cmp.c
+M src/lib/ostream-file.c
+M src/lib/ostream-multiplex.c
+M src/lib/ostream-rawlog.c
+
+2017-10-28 02:55:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5ec4fc44e8)
+
+ lib: Automatically flush ostream when it's closed
+
+ Also verify that it unexpectedly didn't get fully flushed.
+
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2017-10-28 02:45:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ec2c310074)
+
+ mail-filter: ostream-ext-filter - Require o_stream_finish() to be called
+
+ Similar to ostream-zlib.
+
+M src/plugins/mail-filter/ostream-ext-filter.c
+
+2017-10-28 02:43:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a258339721)
+
+ lib-mail: ostream-dot - Require o_stream_finish() to write the trailer
+
+ Similar to ostream-zlib.
+
+M src/doveadm/server-connection.c
+M src/lib-mail/ostream-dot.c
+M src/lib-mail/test-ostream-dot.c
+M src/lib-program-client/program-client.c
+M src/lib-program-client/test-program-client-net.c
+
+2017-10-28 02:35:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (de535bbd17)
+
+ lib: ostream-multiplex - Don't close parent streams at destroy
+
+ The close() method is already called as needed.
+
+M src/lib/ostream-multiplex.c
+
+2017-10-28 02:21:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6630a57344)
+
+ lib-dcrypt: ostream-dcrypt - Require o_stream_finish() to write the trailer
+
+ Similar to ostream-zlib.
+
+M src/lib-dcrypt/ostream-encrypt.c
+
+2017-10-28 02:09:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6fb8641aa5)
+
+ lib-compression: ostream-zlib - Require o_stream_finish() to write the
+ trailer
+
+ It's now possible to call o_stream_flush() without the trailer getting
+ written.
+
+ It's also now required to call o_stream_finish() to write the trailer before
+ closing the ostream. This guarantees that the caller checks that the trailer
+ was successfully written. This isn't needed if the ostream already failed
+ before writing the trailer.
+
+M src/lib-compression/ostream-zlib.c
+M src/lib-compression/test-compression.c
+
+2017-10-28 02:07:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4805c8a7d4)
+
+ lib: Remove o_stream_nfinish()
+
+
+M src/lib/ostream.h
+
+2017-10-28 02:06:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d1ba8ecbb9)
+
+ global: Replace o_stream_nfinish() with o_stream_flush()
+
+
+M src/auth/auth-worker-client.c
+M src/lib-auth/auth-master.c
+M src/lib-fs/fs-api.h
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib/iostream-rawlog.c
+M src/lmtp/commands.c
+
+2017-10-28 01:55:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ad9afb6463)
+
+ global: Replace o_stream_nfinish() with o_stream_finish() whenever possible
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/lib-compression/test-compression.c
+M src/lib-dcrypt/test-stream.c
+M src/lib-dict/dict-file.c
+M src/lib-fs/fs-api.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-write.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-master/master-instance.c
+M src/lib-program-client/test-program-client-net.c
+M src/lib-program-client/test-program-client-unix.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-duplicate.c
+M src/lib/test-istream-multiplex.c
+M src/lib/test-multiplex.c
+M src/lib/test-ostream-buffer.c
+M src/lib/test-ostream-file.c
+M src/lib/test-ostream-multiplex.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile-update.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/replication/replicator/replicator-queue.c
+M src/util/rawlog.c
+
+2017-10-28 01:15:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (84717f00dd)
+
+ lib: Add o_stream_finish()
+
+ This marks the ostream as fully finished, with no further writes coming to
+ it. Otherwise it behaves like o_stream_flush().
+
+ The ostream.flush() methods are supposed to write their trailer (if the
+ ostream has one) when they see that ostream.finished is set. These will be
+ implemented by the following commits.
+
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2017-10-28 02:02:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (34d5077c37)
+
+ lib: o_stream_flush() - check for send overflows and reset error handling
+
+ This begins the removal of o_stream_nfinish().
+
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2017-10-28 00:59:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b688884f23)
+
+ lib: Remove o_stream_nflush()
+
+ None of its previous callers were calling it correctly, so it's better to
+ remove it entirely to avoid more of such wrong calls.
+
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2017-10-28 00:54:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (401b336c84)
+
+ imap: Make sure long COPY commands send "* OK Hang in there" packets
+
+ o_stream_nflush() already flushed the writes to kernel, and Linux should
+ have sent them after 200ms delay, so this probably doesn't fix anything.
+ Using uncork+cork is a bit clearer way to indicate that the data really is
+ wanted to be sent now.
+
+M src/imap/cmd-copy.c
+
+2017-10-28 00:48:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (414bbc6dfb)
+
+ lib-imap: When sending "+ OK" to client, uncork ostream immediately
+
+ This makes sure that it's sent to the client as soon as possible.
+
+ Also removed o_stream_nflush(), since uncorking does that already. If there
+ is no corking, the "+ OK" was already attempted to be sent by the
+ o_stream_nsend() call and a flush is unlikely to help.
+
+M src/lib-imap/imap-parser.c
+
+2017-10-27 23:31:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f81141f5ad)
+
+ global: Remove unnecessary o_stream_nflush() calls
+
+ The following o_stream_nfinish() or o_stream_uncork() calls it anyway.
+
+M src/imap/cmd-append.c
+M src/imap/cmd-setmetadata.c
+M src/imap/imap-client.c
+M src/lib-http/http-server-connection.c
+M src/lib-index/mail-index-write.c
+
+2017-10-27 23:31:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (23c8c511f9)
+
+ lib: o_stream_uncork() - call o_stream_nflush() instead of o_stream_flush()
+
+ Otherwise flush errors may be unintentionally ignored. This change requires
+ that all the o_stream_uncork() callers must call o_stream_nfinish()
+ afterwards, unless the ostream is set to ignore errors.
+
+M src/lib/ostream-file.c
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2017-10-28 00:13:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7e41ef20f6)
+
+ lib: test-ostream-* - Call o_stream_nfinish() after uncorking
+
+
+M src/lib/test-ostream-buffer.c
+M src/lib/test-ostream-file.c
+
+2017-10-30 11:56:32 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2fc183541f)
+
+ configure: Add support for EXTRA_LDFLAGS
+
+
+M configure.ac
+
+2017-10-30 11:19:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e01ebd51ac)
+
+ imapc: Add imapc_features=fetch-empty-is-expunged
+
+ When FETCH returns an empty mail, the mail is assumed to be expunged.
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+
+2017-10-27 11:03:07 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (debc93e622)
+
+ global: Use #ifdef instead of #if with WORDS_BIGENDIAN
+
+ This is to not rely on undefined WORDS_BIGENDIAN being evaluated as 0.
+
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib/byteorder.h
+M src/lib/sha1.c
+M src/lib/test-byteorder.c
+
+2017-10-27 11:08:36 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (d534a96e02)
+
+ lib/compat.h: Undefine WORDS_BIGENDIAN when it's defined as 0
+
+
+M src/lib/compat.h
+
+2017-10-27 11:02:25 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e3504130f7)
+
+ m4: Use AC_C_BIGENDIAN instead of custom m4
+
+
+M configure.ac
+D m4/endian.m4
+
+2017-10-24 10:27:23 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (111673ed6e)
+
+ lib-storage: Replace DBOX_GUID_BIN_LEN with GUID_128_SIZE
+
+ DBOX_GUID_BIN_LEN define was removed in 0c909e, replace the use with
+ GUID_128_SIZE.
+
+M src/lib-storage/mail.c
+
+2017-10-24 10:24:23 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (0c347e983a)
+
+ director: Don't use undefined DIRECTOR_CONNECTION_PING_TIMEOUT_MSECS
+
+
+M src/director/director-connection.c
+
+2017-10-24 10:23:20 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (0a8db75f72)
+
+ auth: Don't use undefined SASL_VERSION_MAJOR
+
+
+M src/auth/db-ldap.c
+
+2017-10-28 15:21:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6fc40674e5)
+
+ global: Rename client_connection_type to doveadm_connection_type
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/client-connection-private.h
+M src/doveadm/client-connection-tcp.c
+M src/doveadm/client-connection.c
+M src/doveadm/client-connection.h
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2017-10-27 21:57:31 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2ba5e7dcc2)
+
+ doveadm: Rename client_connection_type to doveadm_client_connection_type
+
+ Move it to doveadm.h to allow plugins use doveadm-cmd.h
+
+M src/doveadm/client-connection-private.h
+M src/doveadm/client-connection.c
+M src/doveadm/client-connection.h
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm.h
+
+2017-10-27 22:06:28 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d29c67900d)
+
+ doveadm: Reorder includes
+
+ This makes next commit possible
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-print-formatted.c
+M src/doveadm/doveadm-print-json.c
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/main.c
+
+2017-10-23 12:01:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d81702ddd1)
+
+ quota: Improve error messages
+
+
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2017-10-18 16:21:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (39eefc53d0)
+
+ quota-fs: Default to quota API v2 if _LINUX_QUOTA_VERSION is undefined.
+
+ glibc v2.25 drops v1 support in sys/quota.h and doesn't define
+ _LINUX_QUOTA_VERSION.
+
+M src/plugins/quota/quota-fs.c
+
+2017-10-17 15:44:38 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cf6131bdaa)
+
+ doveadm-server: http: Properly implemented error handling for requests.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-17 18:03:59 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (456e3b9c77)
+
+ doveadm-server: http: Mark the HTTP request for connection closure right
+ away.
+
+ This means that the connection is closed once the request finishes. Before,
+ each response did that individually. Once connection reuse is
+ implemented/needed this can now be turned off at one place.
+
+M src/doveadm/client-connection-http.c
+
+2017-10-11 00:57:08 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (556a202804)
+
+ doveadm-server: http: Restructured JSON parsing to improve code clarity.
+
+ Made state machine more explicit and easier to understand. Also added more
+ comments.
+
+M src/doveadm/client-connection-http.c
+
+2017-10-16 23:27:45 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2511999c93)
+
+ doveadm-server: http: Wrapped long code lines.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-11 00:10:38 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2341eb700e)
+
+ doveadm-server: http: Joined JSON parsing and handling in one function.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-10 23:51:57 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (39e011148a)
+
+ doveadm-server: http: Split JSON handling into several sub-functions.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-08 13:27:26 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e97a359e4f)
+
+ doveadm-server: http: Split JSON parsing into several sub-functions.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-27 09:36:39 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2ccd63d6fc)
+
+ doveadm-server: http: Changed request parse error into an assertion.
+
+ The condition can never occur when json-parser and the request parsing state
+ machine are behaving correctly. At that point only an object key can be
+ returned; the client cannot cause it to return anything else.
+
+M src/doveadm/client-connection-http.c
+
+2017-10-10 20:28:00 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (664503c588)
+
+ doveadm-server: http: Moved doveadm_http_server_command_execute().
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-08 01:19:34 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ce916cf4c7)
+
+ doveadm-server: http: Renamed parse state enum.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-07 22:33:26 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (457869440a)
+
+ doveadm-server: http: Split off request handling in separate struct, so that
+ the connection can be reused.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-08 11:52:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (14e38f2900)
+
+ doveadm-server: http: Added structural comments.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-08 11:44:40 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (5927e94f41)
+
+ doveadm-server: http: Moved doveadm_http_server_request_destroy().
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-07 19:11:04 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (8bbeec7947)
+
+ doveadm-server: http: Moved doveadm_http_server_send_response().
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-07 19:08:03 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (437eb0a370)
+
+ doveadm-server: http: Moved connection-related code to the bottom of the
+ file.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-07 18:52:57 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3dee11217f)
+
+ doveadm-server: http: Make http_server_set a local variable of
+ doveadm_http_server_init().
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-07 18:47:53 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (bcb83bf89c)
+
+ doveadm-server: http: Create the http_response once needed, not
+ preemptively.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-07 18:31:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (8b24f7bd7b)
+
+ doveadm-server: http: Split authentication into multiple functions.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-07 17:37:41 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f607f622e9)
+
+ doveadm-server: http: Renamed conn->http_server_request to
+ conn->http_request.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-07 17:28:04 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1a7d36f613)
+
+ doveadm-server: http: Removed http_request field from struct
+ client_connection_http.
+
+ Not useful to put it there.
+
+M src/doveadm/client-connection-http.c
+
+2017-10-07 17:16:22 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2045a5dff5)
+
+ doveadm-server: http: Renamed conn->http_client to conn->http_conn.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-07 13:39:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (80a225c0b1)
+
+ doveadm-server: Restructured client-connection code so that TCP and HTTP
+ connection types are properly separated.
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/client-connection-private.h
+M src/doveadm/client-connection-tcp.c
+M src/doveadm/client-connection.c
+M src/doveadm/client-connection.h
+M src/doveadm/main.c
+
+2017-10-07 17:07:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ee063d6613)
+
+ doveadm-server: http: Moved client_connection_destroy_http().
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-07 17:07:10 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e60c3e17c6)
+
+ doveadm-server: tcp: Renamed client_connection_create() to
+ client_connection_tcp_create().
+
+
+M src/doveadm/client-connection-tcp.c
+M src/doveadm/client-connection.h
+M src/doveadm/main.c
+
+2017-10-07 17:06:09 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f300f92777)
+
+ doveadm-server: http: Renamed client_connection_create_http() to
+ client_connection_http_create().
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/client-connection.h
+M src/doveadm/main.c
+
+2017-10-07 16:30:31 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4284e4925a)
+
+ doveadm-server: http: Renamed conn->client to conn->conn.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-07 16:57:45 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cd13c18ef2)
+
+ doveadm-server: tcp: Moved client_connection_destroy().
+
+
+M src/doveadm/client-connection-tcp.c
+
+2017-10-07 16:55:01 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (57e356f694)
+
+ doveadm-server: tcp: Cleaned up doveadm_server_log_handler().
+
+
+M src/doveadm/client-connection-tcp.c
+
+2017-10-07 16:48:14 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4e08875e53)
+
+ doveadm-server: Moved common client code back from client-connection-tcp.c
+ to client-connection.c.
+
+
+M src/doveadm/Makefile.am
+M src/doveadm/client-connection-private.h
+M src/doveadm/client-connection-tcp.c
+A src/doveadm/client-connection.c
+
+2017-10-07 15:40:45 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (c4292f96d0)
+
+ doveadm-server: Renamed client-connection.c to client-connection-tcp.c.
+
+ Preparation for subsequent commits.
+
+M src/doveadm/Makefile.am
+R100 src/doveadm/client-connection.c src/doveadm/client-connection-tcp.c
+
+2017-10-08 12:19:09 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e79e121745)
+
+ doveadm-server: http: Changed index variables from size_t to unsigned int
+ where size_t makes no sense.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-18 19:01:10 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9cc49c886f)
+
+ doveadm-server: http: Changed initialization of parameters in
+ doveadm_http_handle_json_v1().
+
+ Use normal assignment, rather than memcpy(). This way, type checking is not
+ skipped unnecessarily.
+
+M src/doveadm/client-connection-http.c
+
+2017-10-08 12:04:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (5381c92d04)
+
+ doveadm-server: http: Use `ret' rather than `rc' as name for the local
+ variable used for return values.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-07 12:36:34 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (df45032f2f)
+
+ doveadm-server: http: Cleaned up code formatting.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-09 14:38:52 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a602aa85c9)
+
+ doveadm-server: http: Created local variable for
+ conn->cmd_param->value.v_istream as an abbreviation.
+
+ This is a preparation for subsequent commits.
+
+M src/doveadm/client-connection-http.c
+
+2017-10-09 13:57:27 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4b2c68685a)
+
+ doveadm-server: http: Created local variable for conn->client.output as an
+ abbreviation.
+
+ This is a preparation for subsequent commits.
+
+M src/doveadm/client-connection-http.c
+
+2017-10-09 14:35:30 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f17ff90e32)
+
+ doveadm-server: http: Created local variable for conn->http_request as an
+ abbreviation.
+
+ This is a preparation for subsequent commits.
+
+M src/doveadm/client-connection-http.c
+
+2017-10-09 14:13:37 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (28d5207fb7)
+
+ doveadm-server: http: Created local variable for conn->http_response as an
+ abbreviation.
+
+ This also makes sure it is named consistently everywhere. This is a
+ preparation for subsequent commits.
+
+M src/doveadm/client-connection-http.c
+
+2017-10-09 13:43:42 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (bf5c099517)
+
+ doveadm-server: http: Created local variable for conn->http_server_request
+ as an abbreviation.
+
+ This also makes sure it is named consistently everywhere. This is a
+ preparation for subsequent commits.
+
+M src/doveadm/client-connection-http.c
+
+2017-10-07 12:48:38 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (db4c6cc025)
+
+ doveadm-server: http: Moved loop body in
+ doveadm_http_server_read_request_v1() to separate function.
+
+
+M src/doveadm/client-connection-http.c
+
+2017-10-10 15:58:33 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e16f28d4b7)
+
+ doveadm: mail: Removed redundant cur_username field from struct
+ doveadm_mail_cmd_context.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2017-10-10 19:12:52 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2ff59d50fe)
+
+ doveadm: mail: Removed redundant cur_client_ip field from struct
+ doveadm_mail_cmd_context.
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2017-10-10 19:04:20 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a435fb28fa)
+
+ doveadm: mail: Removed struct doveadm_cmd_context function parameters that
+ are now useless.
+
+ It can be accessed from struct doveadm_mail_cmd_context.
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2017-10-07 21:30:27 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1b58508a91)
+
+ doveadm: Changed command contexts to contain the input, output, and
+ connection type values directly.
+
+ Before, it used a direct pointer to the connection. It used also flags to
+ indicate the connection type, which is now consolidated in the connection
+ type enum.
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/client-connection-private.h
+M src/doveadm/client-connection.c
+M src/doveadm/client-connection.h
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/doveadm.c
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2017-10-17 16:16:22 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (001b7ca6a7)
+
+ lib-http: server: Implemented http_server_request_fail_text(), which allows
+ creating failure responses with verbose payload.
+
+
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server.h
+
+2017-10-17 16:04:38 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a5886aec87)
+
+ lib-http: server: Allow determining at any time whether the connection will
+ be closed after handling a request.
+
+ Previously, this was only possible during response submission, which
+ potentially requires making a `close' parameter available for any API
+ function that submits a (failure) response. This would become very ugly and
+ inflexible.
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.h
+
+2017-10-17 16:35:06 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (359947c284)
+
+ lib-http: server: Set `Connection:' header in response to `close' when
+ request contains the same.
+
+ Before, it would set it to `Connection: keep-alive', which makes no sense.
+
+M src/lib-http/http-server-response.c
+
+2017-10-17 16:28:06 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (e2a5de324d)
+
+ lib-http: server: Make sure broken connection input always causes the
+ connection to be closed after response.
+
+
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+
+2017-10-20 11:04:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (68969d3f5b)
+
+ maildir: Fix memory leak when mailbox opening fails
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2017-10-23 15:46:49 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (0190b33c05)
+
+ lib-fts: Fix test-fts-filter to use valid unicode
+
+
+M src/lib-fts/test-fts-filter.c
+
+2017-10-20 15:15:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (95f5b08fa7)
+
+ test-json-parser: Use idx to better identify failing case
+
+
+M src/lib/test-json-parser.c
+
+2017-10-19 12:35:33 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a01faca549)
+
+ test-json-parser: Update tests
+
+ Now that we actually check for valid unicode, the tests need to have valid
+ unicode and invalid unicode in correct places.
+
+M src/lib/json-parser.c
+M src/lib/test-json-parser.c
+
+2017-10-20 14:10:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9b26e0815d)
+
+ test-unichar: Add test for surrogate handling
+
+
+M src/lib/test-unichar.c
+
+2017-10-19 11:55:01 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e7e451b7d9)
+
+ test-unichar: Update test to conform RFC3629
+
+
+M src/lib/test-unichar.c
+
+2017-10-19 11:54:20 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (dcd2bdbf74)
+
+ unichar: Do not accept invalid ranges
+
+ As per RFC3629
+
+M src/lib/unichar.c
+
+2017-10-20 14:36:32 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2f40603562)
+
+ json-parser: Fix unicode parsing
+
+ Check for surrogates and validate ucs4 codepoint.
+
+M src/lib/json-parser.c
+
+2017-10-23 15:03:30 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c47167da2f)
+
+ unichar: Use surrogate macros in ucs4 validity check
+
+
+M src/lib/unichar.h
+
+2017-10-20 14:10:26 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2bb5b6721e)
+
+ unichar: Add surrogate handling
+
+
+M src/lib/unichar.h
+
+2017-10-20 13:14:02 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5fc1d7c7ca)
+
+ unichar: Add uni_is_valid_ucs4
+
+
+M src/lib/unichar.h
+
+2017-10-23 13:34:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f8cd64fc68)
+
+ lib-master: Change instances.lock settings to make it less likely to fail
+
+ With use_io_notify it's spending less time usleep()ing. Use also a slightly
+ longer timeout just in case.
+
+ If a lot of instances were started at the same time, some of them could have
+ failed with: master: Error: file_dotlock_open(.../instances) failed:
+ Resource temporarily unavailable
+
+M src/lib-master/master-instance.c
+
+2017-10-19 14:39:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5b0b45ba0b)
+
+ lib-storage: Fix assert-crash when searching header and MIMEPART
+
+ For now this is just a bit kludgy workaround. The proper fix requires larger
+ changes, which aren't worth the effort right now.
+
+ For example: doveadm fetch -u testuser uid MAILBOX inbox FROM foo MIMEPART
+ FILENAME CONTAINS bar BODY baz
+
+ Crashes with: Panic: file index-mail-headers.c: line 294
+ (index_mail_parse_header): assertion failed: (part != NULL)
+
+M src/lib-storage/index/index-search.c
+
+2017-10-20 07:57:17 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (bf20e0e1aa)
+
+ quota-maildir: Don't deref NULL pointer on list deinit
+
+
+M src/plugins/quota/quota-maildir.c
+
+2017-10-21 00:36:55 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9dd47ae5c1)
+
+ lmtp: Fixed passing SMTP submit settings to plugins.
+
+ This caused Sieve to crash upon SMTP message submission; e.g., during
+ redirect.
+
+M src/lmtp/commands.c
+
+2017-10-19 13:05:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (85174bd658)
+
+ lib: printf_format_fix*() - Support '*' in precision
+
+ We're commonly using "%.*s"
+
+M src/lib/printf-format-fix.c
+M src/lib/test-printf-format-fix.c
+
+2017-10-19 13:02:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (686a3be710)
+
+ lib: printf_format_fix*() - Move minimum field width check to its own
+ function
+
+
+M src/lib/printf-format-fix.c
+
+2017-10-19 13:26:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (92cb1ef4f6)
+
+ lib: printf_format_fix*() - Use the same 4 digits as maximum precision
+ length
+
+ I forgot the precision can also be used to truncate strings, not just
+ specify the precision for floating point numbers. So it makes more sense
+ that the limit is the same as for minimum field width.
+
+M src/lib/printf-format-fix.c
+M src/lib/test-printf-format-fix.c
+
+2017-10-16 15:55:16 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (6d1372638a)
+
+ quota-maildir: Improve error_r strings
+
+
+M src/plugins/quota/quota-maildir.c
+
+2017-10-16 14:50:34 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (9a603e8651)
+
+ quota-fs: Improve error_r strings
+
+
+M src/plugins/quota/quota-fs.c
+
+2017-10-17 10:26:41 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (3f0ef4a286)
+
+ quota-dirsize: Improve error_r strings
+
+
+M src/plugins/quota/quota-dirsize.c
+
+2017-10-16 14:05:00 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (2b4e421b76)
+
+ quota-dict: Improve error_r strings
+
+
+M src/plugins/quota/quota-dict.c
+
+2017-10-17 11:57:29 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (d2cbbecf76)
+
+ quota-count: Improve error_r strings
+
+
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-private.h
+
+2017-10-16 09:58:24 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (b82a5c78f1)
+
+ quota-imapc: Improve error_r strings
+
+
+M src/plugins/quota/quota-imapc.c
+
+2017-10-16 12:38:32 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (7b3b617e94)
+
+ quota: Add error_r to update() of quota_backend_vfuncs
+
+
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-imapc.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2017-10-17 10:12:48 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (a525be16a6)
+
+ quota: Add error_r to get_resource() of quota_backend_vfuncs
+
+
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-imapc.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2017-10-16 12:18:53 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e83a11eb1d)
+
+ quota: Add error_r parameter to init_limits() of quota_backend_vfuncs
+
+
+M src/plugins/quota/quota-imapc.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2017-09-20 09:31:40 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (cf41318871)
+
+ quota: Add error_r to quota_get_resource()
+
+
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2017-10-06 23:45:41 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (efd291767a)
+
+ quota: Add error_r to quota_transaction_set_limits()
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2017-09-20 08:18:11 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (4b5c9cdb60)
+
+ quota: Add error string to quota_set_storage_error()
+
+
+M src/plugins/quota/quota-storage.c
+
+2017-10-06 23:35:34 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (b62139aae0)
+
+ quota: Add error_r to quota_settings->test_alloc()
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-status.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+M src/plugins/trash/trash-plugin.c
+
+2017-10-16 22:52:59 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (17ec7fd705)
+
+ quota-maildir: Remove T_BEGIN..T_END blocks
+
+ This is to enable using t_strdup_printf() with error_r later on.
+
+M src/plugins/quota/quota-maildir.c
+
+2017-10-16 22:50:11 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (d77b5c30f4)
+
+ quota-fs: Remove T_BEGIN..T_END from fs_quota_get_resource()
+
+ This is to enable using t_strdup_printf() with error_r later on.
+
+M src/plugins/quota/quota-fs.c
+
+2017-10-16 22:47:14 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (90bca08ad5)
+
+ quota-dirsize: Remove T_BEGIN..T_END from dirsize_quota_get_resource()
+
+ This is to enable using t_strdup_printf() with error_r later on.
+
+M src/plugins/quota/quota-dirsize.c
+
+2017-10-16 22:35:31 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (5729882717)
+
+ quota-dict: Remove T_BEGIN..T_END blocks
+
+ This is to enable using t_strdup_printf() with error_r later on.
+
+M src/plugins/quota/quota-dict.c
+
+2017-10-17 16:05:47 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (5997118fa7)
+
+ quota: Initialize quota_backends with designated initializers
+
+
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-imapc.c
+M src/plugins/quota/quota-maildir.c
+
+2017-10-19 15:39:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a8adad33c8)
+
+ auth: Fix %{ldap_dn} not to leak memory
+
+
+M src/auth/db-ldap.c
+
+2017-10-19 12:28:38 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (f4d6aeaa41)
+
+ acl: Don't deref a potentially uninitialized pointer in acl_global_file_read
+
+
+M src/plugins/acl/acl-global-file.c
+
+2017-10-17 17:39:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c398eca6b0)
+
+ lib: printf_format_fix*() - Be over-strict in what format strings are
+ allowed
+
+ The checks could have been bypassed by some invalid format strings that were
+ handled differently by the printf_format_fix*() code and libc. For example
+ "%**%n" was passed through as ok, but glibc handled the %n in it.
+
+ Found by cPanel Security Team.
+
+M src/lib/printf-format-fix.c
+M src/lib/test-printf-format-fix.c
+
+2017-10-16 18:40:38 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (32c2612514)
+
+ libpassword: Add unit tests
+
+
+M src/auth/Makefile.am
+A src/auth/test-libpassword.c
+
+2017-10-16 16:42:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a647edfc24)
+
+ auth: Fix compiling crypt-blowfish with i386
+
+ We're not going to support any assembly code, so remove BF_ASM entirely.
+
+M src/auth/crypt-blowfish.c
+
+2017-10-17 03:19:19 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (20939b554c)
+
+ doveadm-server: http: Fixed lingering connections after the request is sent.
+
+ Turns out conn->http_client is already NULL while
+ doveadm_http_server_connection_destroy() is called. This is because
+ http_server_connection_unref() sets it to NULL; Fixed by removing useless
+ HTTP connection reference.
+
+M src/doveadm/client-connection-http.c
+
+2017-10-16 15:41:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (344c441157)
+
+ cassandra: Support "timestamp" type fields properly
+
+ Fixes setting them with prepared statements. Reading them never worked
+ earlier.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-10-16 15:12:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b6c9cc2bf7)
+
+ cassandra: Include "prepared" when logging about prepared statement queries
+
+ Mainly useful for debugging/testing.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-10-16 14:49:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (27688ec19a)
+
+ cassandra: Fix using bigint types with unprepared statements
+
+ This reverts the code to not using the statements with binding at all.
+ Alternative fix would be to start using explicit int32 or int64 parameter
+ types, but that breaks backwards compatibility a bit.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-10-16 18:39:14 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (42f8ce7c26)
+
+ libpassword: Deinitialize hash iterator in password_scheme_detect
+
+ Otherwise it will leak memory
+
+M src/auth/password-scheme.c
+
+2017-08-22 16:29:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (68c4b2cd63)
+
+ ipc: Improve error logging when IPC server is disconnected
+
+
+M src/ipc/ipc-connection.c
+M src/ipc/ipc-connection.h
+M src/ipc/ipc-group.c
+
+2017-10-16 13:34:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d816ebd090)
+
+ lib-dict-backend: Fix linking test-dict-sql
+
+ dict_drivers_register_builtin() wasn't found.
+
+M src/lib-dict-backend/Makefile.am
+
+2017-10-10 15:04:28 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1ebb6094e5)
+
+ libpassword: Add BLF-CRYPT support independent of crypt
+
+
+M AUTHORS
+M src/auth/Makefile.am
+A src/auth/crypt-blowfish.c
+A src/auth/crypt-blowfish.h
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme.c
+
+2017-10-10 14:24:44 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (58d21a174d)
+
+ auth: Fix typo in blowfish name
+
+
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme.h
+
+2017-10-16 13:53:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0cf4f39f69)
+
+ lib-fs: Fix fs_wrapper_write_stream_finish() to work with async parent fs
+
+ This only became a problem with the previous fs-compress change.
+
+M src/lib-fs/fs-wrapper.c
+
+2017-09-18 15:27:38 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b6fbc235f9)
+
+ login-common: Use HAproxy provided proxy.ssl information
+
+ If the connection is proxied via system that can terminate ssl for us, such
+ as HAproxy, use that information only.
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2017-09-18 15:25:21 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b68b98e154)
+
+ lib-master: Support HAproxy TLVs
+
+ This allows passing in information about SSL and client certificate(s) and
+ other information from haproxy.
+
+M src/lib-master/master-service-haproxy.c
+M src/lib-master/master-service.h
+
+2017-10-03 11:15:54 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8946102125)
+
+ lib-master: Use pooled memory for haproxy
+
+
+M src/lib-master/master-service-haproxy.c
+
+2017-09-18 15:21:04 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f43567aab3)
+
+ lib-master: Fix haproxy reading code to read data incrementally
+
+
+M src/lib-master/master-service-haproxy.c
+
+2017-10-10 17:58:03 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (0babe1cf4e)
+
+ libpassword: Add support for ARGON2 scheme
+
+
+M src/auth/Makefile.am
+A src/auth/password-scheme-sodium.c
+M src/auth/password-scheme.c
+M src/auth/password-scheme.h
+M src/doveadm/Makefile.am
+
+2017-10-10 15:24:17 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (626421c244)
+
+ configure: Detect libsodium presence
+
+
+M configure.ac
+A m4/want_sodium.m4
+
+2017-10-11 16:33:57 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (ca5b42cad9)
+
+ acl plugin: avoid "'struct stat' declared inside parameter list" warning
+
+
+M src/plugins/acl/acl-api.h
+
+2017-10-13 12:34:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7542b9c480)
+
+ fs-compress: Allow compress level 0 to skip compression
+
+ This can be useful when combined with the "maybe-" prefix, so Dovecot will
+ support reading compressed files without creating new ones.
+
+M src/plugins/fs-compress/fs-compress.c
+
+2017-10-10 17:40:04 -0400 Bill Cole <18053819+grumpybozo@users.noreply.github.com> (0fbce082b5)
+
+ Added "ULL" to the hex literals that needed it.
+
+ On 32-bit platforms with older compilers (e.g. gcc 4.2 on MacOS 10.6 running
+ on a 1st-gen Core Duo) a 'long' is 4 bytes and the compiler does not
+ automatically use a 'long long' when needed, but instead generates an error.
+ e.g.:
+
+ libtool: compile: /usr/bin/g++-4.2 -DHAVE_CONFIG_H -I. -I../../..
+ -I../../../src/lib -I../../../src/lib-mail -I../../../src/lib-index
+ -I../../../src/lib-storage -I../../../src/plugins/fts -I../../../src/doveadm
+ -I/opt/local/include/openssl -I/opt/local/include
+ -I/opt/local/include/CLucene/ext -pipe -Os -arch i386 -D__STDC_LIMIT_MACROS
+ -MT lucene-wrapper.lo -MD -MP -MF .deps/lucene-wrapper.Tpo -c
+ lucene-wrapper.cc -fno-common -DPIC -o .libs/lucene-wrapper.o In file
+ included from ../../../src/lib/lib.h:33,
+ from lucene-wrapper.cc:4:
+ ../../../src/lib/byteorder.h:94: error: integer constant is too large for
+ ‘long’ type
+ ../../../src/lib/byteorder.h:95: error: integer constant is too large for
+ ‘long’ type
+ ../../../src/lib/byteorder.h:96: error: integer constant is too large for
+ ‘long’ type
+ ../../../src/lib/byteorder.h:97: error: integer constant is too large for
+ ‘long’ type make[4]: *** [lucene-wrapper.lo] Error 1
+
+ Adding the 'ULL' to the end of the 16-digit hex literals that are used to
+ test the structure of 64-bit integers fixes this and avoids any problem
+ which could arise from the compiler using a 32-bit type for those literals
+ that could fit in 32 bites.
+
+M src/lib/byteorder.h
+
+2017-10-14 12:54:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (187fbf157d)
+
+ doveadm proxy: Don't crash if remote doesn't support log proxying
+
+
+M src/doveadm/server-connection.c
+
+2017-10-09 16:37:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2ae85e9ccf)
+
+ lib-storage: Add settings to configure lib-index optimization parameters
+
+ The defaults are expected to be pretty good, but these settings make it
+ easier to test whether other values might be more optimal.
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2017-10-09 15:37:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (67bbcd664b)
+
+ lib-index: Add mail_index_cache_optimization_settings
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+
+2017-10-09 15:24:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3a78329166)
+
+ lib-index: Add mail_index_base_optimization_settings
+
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+
+2017-10-09 15:15:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7ce557e379)
+
+ lib-index: Replace mail_index_set_log_rotation() with
+ mail_index_set_optimization_settings()
+
+ This allows more easily adding optimization-related settings.
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+M src/lib-storage/list/mailbox-list-index.c
+
+2017-10-11 12:42:11 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (90cc7e61bb)
+
+ lib-dict: Remove test_dict_sql
+
+ It got accidentically added in 149299c7
+
+M src/lib-dict/Makefile.am
+
+2017-10-11 13:03:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (61eec37dd7)
+
+ lib-master: Allow a second log initialization after settings have been read.
+
+ This fixes logging with services that bypass the log service (lda or -L
+ parameter).
+
+M src/lib-master/master-service.c
+
+2017-10-06 18:33:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (43b9125ad2)
+
+ fs-compress: Support reading uncompressed input by prefixing compression
+ format with "maybe-"
+
+
+M src/plugins/fs-compress/fs-compress.c
+
+2017-10-06 18:31:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e9fe799e27)
+
+ lib: Add istream-try
+
+ This can be used to automatically detect the underlying istream format from
+ a given list of choices.
+
+M src/lib/Makefile.am
+A src/lib/istream-try.c
+A src/lib/istream-try.h
+A src/lib/test-istream-try.c
+M src/lib/test-lib.inc
+
+2017-10-09 18:31:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f0910b5cd8)
+
+ lib: io_stream_set_error() - Allow one of the parameters to be the old error
+
+
+M src/lib/iostream.c
+
+2017-10-04 21:45:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (149299c7d5)
+
+ global: Use check-local in Makefile.am instead of overriding check directly
+
+ This helps with dependency problems, like running "make check" in
+ lib-storage without "make" first would try to compile the test programs too
+ early and fail.
+
+M src/anvil/Makefile.am
+M src/auth/Makefile.am
+M src/director/Makefile.am
+M src/doveadm/Makefile.am
+M src/doveadm/dsync/Makefile.am
+M src/lib-charset/Makefile.am
+M src/lib-compression/Makefile.am
+M src/lib-dcrypt/Makefile.am
+M src/lib-dict-backend/Makefile.am
+M src/lib-dict/Makefile.am
+M src/lib-dns/Makefile.am
+M src/lib-fs/Makefile.am
+M src/lib-fts/Makefile.am
+M src/lib-http/Makefile.am
+M src/lib-imap-client/Makefile.am
+M src/lib-imap/Makefile.am
+M src/lib-index/Makefile.am
+M src/lib-ldap/Makefile.am
+M src/lib-mail/Makefile.am
+M src/lib-master/Makefile.am
+M src/lib-program-client/Makefile.am
+M src/lib-settings/Makefile.am
+M src/lib-smtp/Makefile.am
+M src/lib-storage/Makefile.am
+M src/lib/Makefile.am
+M src/plugins/mail-crypt/Makefile.am
+M src/plugins/pop3-migration/Makefile.am
+M src/plugins/quota/Makefile.am
+M src/plugins/var-expand-crypt/Makefile.am
+
+2017-10-08 21:08:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3cd37f77d6)
+
+ lib-sql, lib-ldap: Fix link dependencies
+
+ Fixes using the gold linker.
+
+M src/lib-ldap/Makefile.am
+M src/lib-sql/Makefile.am
+
+2017-10-10 15:38:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6139e5f5ca)
+
+ lib: ostream-multiplex - ignore flush return value
+
+ There's nothing that can be done about it at close() time. Silences static
+ analyzer warnings.
+
+M src/lib/ostream-multiplex.c
+
+2017-10-10 15:37:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (95c4374dc6)
+
+ lib: ostream-multiplex - remove unnecessary flushes
+
+
+M src/lib/ostream-multiplex.c
+
+2017-10-10 12:33:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f01fe9df42)
+
+ lib: istream-multiplex - Minor optimization
+
+ There's no need to find channel when we already know it. This also helps
+ static analyzers to understand that req_channel can't be NULL.
+
+M src/lib/istream-multiplex.c
+
+2017-10-06 09:02:49 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4e68657155)
+
+ ostream-multiplex: Check flush return value
+
+
+M src/lib/ostream-multiplex.c
+
+2017-10-06 08:58:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c31803dcbd)
+
+ global: Use i_close_fd instead of close
+
+ Some were missed, found by coverity
+
+M src/lib-program-client/test-program-client-net.c
+M src/lib/test-iostream-proxy.c
+M src/master/sd-daemon.c
+M src/plugins/fts-squat/squat-test.c
+
+2017-10-06 08:55:33 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (16bb4836f0)
+
+ test-ostream-escaped: Check flush return value
+
+ Found by coverity
+
+M src/lib/test-ostream-escaped.c
+
+2017-10-06 08:54:38 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ca877eab45)
+
+ doveadm-server: Remove flush before multiplex
+
+ It's not really necessary, found by coverity
+
+M src/doveadm/client-connection.c
+
+2017-10-06 08:52:18 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (bc038dfe3e)
+
+ iostream-multiplex: Check return values in tests
+
+
+M src/lib/test-istream-multiplex.c
+M src/lib/test-multiplex.c
+M src/lib/test-ostream-multiplex.c
+
+2017-10-06 08:46:00 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f85250d819)
+
+ doveadm: Return after destroying connection
+
+ Prevents NULL deferences, found by coverity.
+
+M src/doveadm/server-connection.c
+
+2017-10-09 18:21:24 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2707567dbb)
+
+ ostream-multiplex: Unreference stream parent
+
+ Otherwise it won't get free'd.
+
+M src/lib/ostream-multiplex.c
+
+2017-10-09 13:55:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (59d3aed7ae)
+
+ doveadm: Add remote(host) prefix to all proxied logs
+
+
+M src/doveadm/server-connection.c
+
+2017-10-09 14:28:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8a2df8a89f)
+
+ doveadm log test: Fix it to work again
+
+ Broken by 719abeb2088987f213a33a7dd1fe78958beaef03
+
+M src/doveadm/doveadm-log.c
+
+2017-10-09 13:19:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0bb5678d8e)
+
+ lib: ostream-multiplex - set ostream_private.parent
+
+ Unlike with istream-multiplex, there are no issues with I/Os. Only the
+ parent stream will have the I/O. Using the default parent adds the missing
+ methods that otherwise would have needed to be implemented:
+ - cork
+ - flush_pending
+ - switch_ioloop
+
+M src/lib/ostream-multiplex.c
+
+2017-10-09 13:14:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (36aa1b351b)
+
+ lib: istream-multiplex - Forward i_stream_switch_ioloop() to parent
+
+ Most istreams do this because istream_private.parent is set to the parent
+ stream, but this can't be done with istream-multiplex. The main problem with
+ attempting to do the same with istream-multiplex is that the different
+ channels don't share the same I/O. Just because one channel received data
+ doesn't mean that other channels received any data. (It would be possible to
+ solve this by implementing a new method that allows overriding
+ i_stream_set_io(), but I'm not sure if that's a good idea either.)
+
+M src/lib/istream-multiplex.c
+
+2017-10-09 01:22:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f2de2be0e3)
+
+ acl: Fix compiler warning with -Wstrict-bool
+
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2017-10-06 12:47:06 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (795c4a5e58)
+
+ doveadm-mail-crypt: Print existing folder key hash when aborting generate
+
+
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2017-10-06 16:55:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (af13428707)
+
+ acl: Fix checking create (k) permission in global acl-file
+
+ Just because the global ACL file hasn't changed since it was last refreshed
+ for another ACL object, it doesn't mean that those ACLs don't need to be
+ applied to this ACL object.
+
+ This didn't usually cause problems, because the initial ACL object refresh
+ was always done due to local-path refresh returning "needs a refresh". The
+ only exception was when acl_object_init_from_parent() was called, because it
+ added an empty non-NULL validity for the local-path, so the
+ "needs a refresh" wasn't returned. This happened only when trying to CREATE
+ or RENAME mailbox under a parent where user didn't have create permissions.
+
+ This affected only when using a single global acl-file, not when using
+ global acl directory containing per-mailbox files.
+
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-global-file.c
+M src/plugins/acl/acl-global-file.h
+
+2017-10-06 16:54:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f988345bc2)
+
+ acl: Cleanup - move code to a new acl_vfile_validity_has_changed()
+
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2017-10-06 16:44:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (587cca00ff)
+
+ acl: Fix checking whether global acl-file has changed
+
+ We always assumed that it was changed and re-read it.
+
+M src/plugins/acl/acl-global-file.c
+
+2017-10-06 15:54:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6781f16b21)
+
+ dict-sql: dict doesn't support NULL values, so convert SQL NULLs to ""
+
+
+M src/lib-dict-backend/dict-sql.c
+
+2017-10-06 15:52:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0b307ab3d0)
+
+ lib-sql: Add comments about NULL values.
+
+
+M src/lib-sql/sql-api.h
+
+2017-10-03 17:28:39 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (f89eb8f2cd)
+
+ global: Use PRIdTIME_T and PRIxTIME_T format specifiers
+
+
+M src/director/doveadm-connection.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/lib-stats/stats-parser.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/mail-search-mime.c
+M src/lib/iostream-rawlog.c
+M src/plugins/expire/doveadm-expire.c
+
+2017-10-06 15:10:53 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (eb7f74b89c)
+
+ master,stats: Use time_t instead of unsigned long to count seconds
+
+
+M src/master/main.c
+M src/stats/mail-stats.c
+
+2017-09-19 19:39:19 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (2f14f9b2d9)
+
+ m4: Add PRIdTIME_T and PRIxTIME_T format specifiers
+
+
+M configure.ac
+A m4/time_t.m4
+D m4/time_t_signed.m4
+
+2017-09-19 11:57:18 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (47a5a7e829)
+
+ global: Use PRI* macros and %zu instead of casting
+
+
+M src/auth/passdb-cache.c
+M src/config/config-request.c
+M src/dict/main.c
+M src/director/main.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/imap/cmd-select.c
+M src/imap/imap-client.c
+M src/imap/imap-fetch.c
+M src/imap/imap-search.c
+M src/imap/imap-state.c
+M src/imap/imap-status.c
+M src/imap/imap-sync.c
+M src/lib-dict-backend/dict-sql.c
+M src/lib-dict/dict-client.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-stats/stats-parser.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/mail-search-args-imap.c
+M src/lib-storage/mail-search-mime.c
+M src/lib/data-stack.c
+M src/master/service-process.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-util.c
+M src/plugins/quota/quota.c
+M src/plugins/trash/trash-plugin.c
+
+2017-10-06 14:39:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c13ec2148c)
+
+ pop3: Expand settings to fix rawlog_dir
+
+ Even if %variables weren't used in rawlog_dir, the path was always prefixed
+ with "0".
+
+M src/pop3/main.c
+
+2017-10-06 14:52:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (078e0f0c5d)
+
+ lib-settings: Add assert to help static analyzer
+
+
+M src/lib-settings/settings-parser.c
+
+2017-10-06 14:50:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5d7fe1420a)
+
+ mail-crypt: test-mail-key - Fix potential crash on a failed test
+
+ Avoids "Uninitialized argument value" warning from static analyzer.
+
+M src/plugins/mail-crypt/test-mail-key.c
+
+2017-10-06 14:48:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c77400ca35)
+
+ lib: test-mempool-alloconly - help static analyzer understand that pool is
+ non-NULL
+
+
+M src/lib/test-mempool-alloconly.c
+
+2017-10-06 14:43:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b78f4649c2)
+
+ lib: istream-multiplex - remove dead assignment
+
+
+M src/lib/istream-multiplex.c
+
+2017-10-06 11:07:23 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (d2f5bff159)
+
+ doveadm-mail-crypt: Print existing userkey hash when aborting generate
+
+
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2017-10-04 09:01:43 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (e5f3734950)
+
+ lib: don't use foo_real()-style symbols in a header file
+
+ While there is precedent for symbols getting _real suffix to hide
+ implementation details, all the existing symbols were static until the
+ recent i_fd_close*() changes. This commit makes this true again.
+
+M src/lib/fd-util.c
+M src/lib/fd-util.h
+
+2017-10-04 08:58:36 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (713e3ec4da)
+
+ lib: move i_fd_close*() to fd-util.[ch]
+
+
+M src/lib/fd-util.c
+M src/lib/fd-util.h
+M src/lib/lib.c
+M src/lib/macros.h
+
+2017-10-04 08:52:13 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (83b799ebdc)
+
+ lib: move fd_close_maybe_stdio() to fd-util.[ch]
+
+
+M src/lib/fd-util.c
+M src/lib/fd-util.h
+M src/lib/lib.c
+M src/lib/lib.h
+
+2017-10-04 08:42:56 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (184d3a07c9)
+
+ lib: move fd_set_nonblock() to fd-util.[ch]
+
+
+M src/lib/Makefile.am
+D src/lib/fd-set-nonblock.c
+D src/lib/fd-set-nonblock.h
+M src/lib/fd-util.c
+M src/lib/fd-util.h
+
+2017-10-04 08:28:38 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (fa26ad3293)
+
+ lib: move fd-close-on-exec.[ch] code into fd-util.[ch]
+
+
+M src/lib/Makefile.am
+D src/lib/fd-close-on-exec.h
+R100 src/lib/fd-close-on-exec.c src/lib/fd-util.c
+M src/lib/fd-util.h
+
+2017-10-05 13:06:09 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (1ef9fe8778)
+
+ global: stop including fd-set-nonblock.h & fd-close-on-exec.h directly
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/imap-hibernate/imap-client.c
+M src/imap/main.c
+M src/lda/main.c
+M src/lib-imap-client/test-imapc-client.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service.c
+M src/lib/failures.c
+M src/lib/fd-close-on-exec.c
+M src/lib/fd-set-nonblock.c
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-kqueue.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-kqueue.c
+M src/lib/istream.c
+M src/lib/lib-signals.c
+M src/lib/lib.c
+M src/lib/mmap-anon.c
+M src/lib/net.c
+M src/lib/randgen.c
+M src/lib/test-iostream-proxy.c
+M src/lib/test-iostream-pump.c
+M src/lib/test-istream-multiplex.c
+M src/lib/test-istream-unix.c
+M src/lib/test-multiplex.c
+M src/lib/test-ostream-multiplex.c
+M src/lmtp/main.c
+M src/login-common/login-proxy-state.c
+M src/master/dup2-array.c
+M src/master/main.c
+M src/master/service-anvil.c
+M src/master/service-listen.c
+M src/master/service-log.c
+M src/master/service-monitor.c
+M src/master/service-process.c
+M src/plugins/mail-filter/istream-ext-filter.c
+M src/plugins/replication/replication-plugin.c
+M src/util/rawlog.c
+
+2017-10-05 13:05:20 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (df6b9bbcd0)
+
+ lib: always include fd-close-on-exec.h & fd-set-nonblock.h via fd-util.h
+
+
+M src/lib/Makefile.am
+A src/lib/fd-util.h
+M src/lib/lib.h
+
+2017-10-05 20:25:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c704b7fa16)
+
+ lib: iostream-multiplex tests - Fix hangs by setting the pipe fds
+ non-blocking
+
+
+M src/lib/test-istream-multiplex.c
+M src/lib/test-multiplex.c
+M src/lib/test-ostream-multiplex.c
+
+2017-10-05 20:24:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c50acc5547)
+
+ lib: istream-multiplex - Minor code cleanup
+
+ Avoid propagating the error twice, and avoid any confusion about what "got"
+ actually contains.
+
+M src/lib/istream-multiplex.c
+
+2017-10-04 21:13:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (02b352f203)
+
+ dict-ldap: Link directly to dict binary, unless --with-ldap=plugin was used
+
+ This is similar to how authdb_ldap plugin is built.
+
+M m4/want_ldap.m4
+M src/lib-dict-backend/Makefile.am
+M src/lib-dict-backend/dict-ldap-settings.c
+M src/lib-dict-backend/dict-ldap.c
+
+2017-10-04 21:01:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2ce0021487)
+
+ dict-ldap: Move from plugins/dict-ldap to lib-dict-backend
+
+
+M configure.ac
+M src/lib-dict-backend/Makefile.am
+R100 src/plugins/dict-ldap/dict-ldap-settings.c src/lib-dict-backend/dict-ldap-settings.c
+R100 src/plugins/dict-ldap/dict-ldap-settings.h src/lib-dict-backend/dict-ldap-settings.h
+R100 src/plugins/dict-ldap/dict-ldap.c src/lib-dict-backend/dict-ldap.c
+M src/plugins/Makefile.am
+D src/plugins/dict-ldap/Makefile.am
+
+2017-10-04 20:48:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4907296246)
+
+ lib-dict-backend: Build test-dict-sql even without "make check"
+
+ There's no longer a dependency problem.
+
+M src/lib-dict-backend/Makefile.am
+
+2017-10-04 20:46:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e5224c0589)
+
+ lib-dict: Move libdict_backend to lib-dict-backend
+
+
+M .gitignore
+M configure.ac
+M src/Makefile.am
+M src/dict/Makefile.am
+A src/lib-dict-backend/Makefile.am
+R100 src/lib-dict/dict-cdb.c src/lib-dict-backend/dict-cdb.c
+R100 src/lib-dict/dict-db.c src/lib-dict-backend/dict-db.c
+R100 src/lib-dict/dict-sql-private.h src/lib-dict-backend/dict-sql-private.h
+R100 src/lib-dict/dict-sql-settings.c src/lib-dict-backend/dict-sql-settings.c
+R100 src/lib-dict/dict-sql-settings.h src/lib-dict-backend/dict-sql-settings.h
+R100 src/lib-dict/dict-sql.c src/lib-dict-backend/dict-sql.c
+R100 src/lib-dict/dict-sql.h src/lib-dict-backend/dict-sql.h
+R100 src/lib-dict/dict.conf src/lib-dict-backend/dict.conf
+R100 src/lib-dict/test-dict-sql.c src/lib-dict-backend/test-dict-sql.c
+M src/lib-dict/Makefile.am
+M src/lib-dict/dict.c
+
+2017-10-05 15:53:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (29a2904f62)
+
+ mail-crypt: Improve doveadm output
+
+
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2017-10-05 15:40:45 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1d2c599b0d)
+
+ mail-crypt: Fix key generation handling
+
+ Userkey generation would not set all required fields.
+
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2017-10-05 12:34:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (eb5809d066)
+
+ director: When ring is synced, purge any pending "removed" directors
+
+ This allows adding a director back to the ring without having to wait for 30
+ seconds.
+
+M src/director/director.c
+
+2017-10-03 16:40:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (de69258ceb)
+
+ director: Rename director_delayed_dir_remove_timeout() to
+ director_hosts_purge_removed()
+
+ This allows using it for other purposes without having a confusing name.
+
+M src/director/director.c
+
+2017-10-05 16:12:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (aa7e573b32)
+
+ director: Fix potential panic when director is alone
+
+ If director is alone and it can't connect to other directors, it might crash
+ with:
+
+ Panic: file director.c: line 318 (director_set_ring_synced): assertion
+ failed: (!dir->ring_synced)
+
+M src/director/director.c
+
+2017-10-05 13:42:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (12c5753151)
+
+ global: Remove dead code
+
+ Found with clang static analyzer.
+
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/test-http-server-errors.c
+M src/lib-ldap/ldap-connection.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/mail-search-mime.c
+M src/lib-storage/mail-search.c
+M src/lib/failures.c
+M src/lib/test-array.c
+M src/master/main.c
+
+2017-10-05 13:39:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c97cf48672)
+
+ dict-memcached: Response status may not be included in enum
+ memcached_response
+
+ This helps at least static analyzers figure out that other statuses are
+ possible, although unexpected.
+
+M src/lib-dict/dict-memcached.c
+
+2017-10-05 13:26:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a2f8919f2d)
+
+ lib-test: Use i_unreached() for marking unreachable code in test fatal
+ handler
+
+ This avoids a warning with static analyzer.
+
+M src/lib-test/test-common.c
+
+2017-10-05 13:23:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (52c3bd140a)
+
+ auth: LDAP request queue has no size limit anymore - remove dead code
+
+
+M src/auth/db-ldap.c
+
+2017-10-05 13:17:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (85cf1c27bc)
+
+ mbox: Remove unnecessary check from assert - move_diff is always negative
+ here
+
+
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2017-10-05 13:14:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7f8033ffe1)
+
+ zlib: zlib_mailbox_open_input() can't fail - remove dead code
+
+
+M src/plugins/zlib/zlib-plugin.c
+
+2017-10-05 13:02:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (67445e2ac5)
+
+ lib-storage: imapc_mailbox_get_selected_status() can't fail - remove dead
+ code
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-10-04 09:42:02 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (740657494c)
+
+ doveadm-server: Use i_close_fd
+
+
+M src/doveadm/client-connection.c
+
+2017-08-24 14:59:07 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c9dd53f718)
+
+ doveadm: Deliver remote logs over doveadm socket
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/client-connection.h
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-util.h
+M src/doveadm/server-connection.c
+
+2017-08-24 14:45:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ce70041272)
+
+ doveadm: Refactor server/client code to support versioning properly
+
+ This way we can distinguish between old and new server side
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-util.h
+M src/doveadm/server-connection.c
+
+2017-09-12 13:43:30 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f78d021f39)
+
+ doveadm-server: Refactor connection handshake and authentication
+
+ Simplifies next change
+
+M src/doveadm/client-connection.c
+M src/doveadm/client-connection.h
+M src/doveadm/doveadm-util.h
+M src/doveadm/server-connection.c
+
+2017-08-22 10:14:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1de7b73a11)
+
+ lib: Add multiplex stream support
+
+ This allows having multiple channels of data in single stream.
+
+M src/lib/Makefile.am
+A src/lib/istream-multiplex.c
+A src/lib/istream-multiplex.h
+A src/lib/ostream-multiplex.c
+A src/lib/ostream-multiplex.h
+A src/lib/test-istream-multiplex.c
+M src/lib/test-lib.inc
+A src/lib/test-multiplex.c
+A src/lib/test-ostream-multiplex.c
+
+2017-10-05 11:51:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b0421c7397)
+
+ director: Allow doveadm director ring remove for the same director
+
+ Fixes: Panic: file doveadm-connection.c: line 859
+ (doveadm_connection_cmd_run): assertion failed: (conn->dir->right == NULL &&
+ conn->dir->left == NULL)
+
+M src/director/director.c
+
+2017-10-05 11:49:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5c340190af)
+
+ director: Don't crash on doveadm director ring remove for unknown director
+
+ Ring syncing isn't started, so it shouldn't try to wait for ring sync.
+
+ Fixes: Panic: file doveadm-connection.c: line 859
+ (doveadm_connection_cmd_run): assertion failed: (conn->dir->right == NULL &&
+ conn->dir->left == NULL)
+
+M src/director/doveadm-connection.c
+
+2017-10-05 11:46:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (312213260e)
+
+ director: Don't crash if DIRECTOR-REMOVE is received for itself
+
+ This triggers the director removal from the ring, which causes the
+ connection to be destroyed. But since we're still in the middle of handling
+ the connection it needs refcounting.
+
+M src/director/director-connection.c
+
+2017-10-04 15:11:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f363414461)
+
+ lib: istream-file - set blocking=TRUE automatically for blocking sockets
+
+ This fixes it to be correct with various doveadm commands.
+
+M src/lib/istream-file.c
+
+2017-10-04 15:08:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (03915cfec4)
+
+ lib: istream-file/unix - don't ignore EINTR for blocking istream reads
+
+ Just fail the istream read entirely. Although there's a small possibility
+ that this interrupt was unwanted and should be retried, it's more likely
+ that a blocking istream is hanging and admin wants to stop the process. If
+ the EINTR is ignored all the time, it's not possible to abort a blocking
+ read with ^C or anything else than SIGKILL.
+
+M src/lib/istream-file.c
+M src/lib/istream-unix.c
+
+2017-10-04 20:14:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (874f31bbdc)
+
+ lib: test-istream-unix - Use i_stream_set_blocking()
+
+
+M src/lib/test-istream-unix.c
+
+2017-10-04 20:13:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0b6924ad19)
+
+ lib: Add i_stream_set_blocking()
+
+
+M src/lib/istream.c
+M src/lib/istream.h
+
+2017-09-16 13:28:32 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (47fa7b222e)
+
+ lib-smtp: smtp-submit: Made submission_timeout a setting rather than a
+ function parameter.
+
+ This makes it configurable.
+
+M src/lda/main.c
+M src/lib-lda/mail-deliver.h
+M src/lib-lda/mail-send.c
+M src/lib-smtp/smtp-submit-settings.c
+M src/lib-smtp/smtp-submit-settings.h
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/smtp-submit.h
+M src/lib-smtp/test-smtp-submit.c
+M src/lmtp/commands.c
+
+2017-09-15 01:46:38 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ebd21ab2c9)
+
+ lib-lda: Dropped now useless settings from lib-lda/lda-settings.
+
+ These are now in lib-smtp/smtp-submit-settings.
+
+M src/lib-lda/lda-settings.c
+M src/lib-lda/lda-settings.h
+
+2017-09-15 01:44:24 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1519df1d51)
+
+ imap: Drop dependencies on lib-lda settings.
+
+ Start using lib-smtp/smtp-submit-settings instead. Put any other settings
+ required by IMAPSIEVE in struct imap_settings.
+
+M src/imap/Makefile.am
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-settings.c
+M src/imap/main.c
+
+2017-09-21 00:14:17 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a9f821804f)
+
+ lib-lda: Use hostname and postmaster_address settings from
+ mail_storage_settings where possible.
+
+
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-send.c
+
+2017-09-15 01:15:19 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3d9b33dc01)
+
+ lib-lda: Use SMTP submit settings directly.
+
+
+M src/lib-lda/mail-send.c
+
+2017-10-04 22:41:14 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f41f6294f4)
+
+ lib-storage: Renamed duplicate to mail_duplicate.
+
+ This makes more sense given where this is now located.
+
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+M src/lib-storage/Makefile.am
+D src/lib-storage/duplicate.h
+R060 src/lib-storage/duplicate.c src/lib-storage/mail-duplicate.c
+A src/lib-storage/mail-duplicate.h
+
+2017-09-16 17:06:14 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (06426c2f62)
+
+ lib-lda: Moved duplicate handling to lib-storage.
+
+
+M src/lib-lda/Makefile.am
+M src/lib-storage/Makefile.am
+R100 src/lib-lda/duplicate.c src/lib-storage/duplicate.c
+R100 src/lib-lda/duplicate.h src/lib-storage/duplicate.h
+
+2017-09-15 01:28:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3ff9a44972)
+
+ lib-lda: Removed old smtp-client API.
+
+
+M src/lib-lda/Makefile.am
+D src/lib-lda/smtp-client.c
+D src/lib-lda/smtp-client.h
+
+2017-09-20 21:49:34 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (c2ea6b0297)
+
+ lib-storage: Added hostname, postmaster_address and recipient_delimiter
+ settings to mail_storage_settings.
+
+ Copied from lda_settings.
+
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2017-09-15 01:13:18 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0f72f253d5)
+
+ lda/lmtp: Parse SMTP submit settings.
+
+
+M configure.ac
+M src/config/settings-get.pl
+M src/lda/Makefile.am
+M src/lda/main.c
+M src/lib-lda/lda-settings.c
+M src/lib-lda/mail-deliver.h
+M src/lmtp/commands.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/main.c
+
+2017-09-19 21:51:14 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1642939e4d)
+
+ lda: main: main(): Put result from mail_user_var_expand_table() in a
+ variable.
+
+ Keeps code more compact, as this function is going to be called several
+ times.
+
+M src/lda/main.c
+
+2017-09-19 21:39:14 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (90cdc497f0)
+
+ lmtp: commands: client_deliver(): Put client->state.dest_user in a variable.
+
+ Keeps code more compact, as this value is used several times.
+
+M src/lmtp/commands.c
+
+2017-09-19 21:33:30 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (ed89b95562)
+
+ lmtp: commands: client_deliver(): Put result from
+ mail_user_var_expand_table() in a variable.
+
+ Keeps code more compact, as this function is called several times.
+
+M src/lmtp/commands.c
+
+2017-09-15 00:10:30 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (5356717c79)
+
+ lib-smtp: smtp-submit: Made settings parseable.
+
+
+M src/lib-smtp/Makefile.am
+A src/lib-smtp/smtp-submit-settings.c
+A src/lib-smtp/smtp-submit-settings.h
+M src/lib-smtp/smtp-submit.h
+
+2017-09-14 01:32:17 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (fe6a2885e0)
+
+ lib-lda: Moved most of mail_deliver_save_open() to lib-storage.
+
+ This prevents the need to link Pigeonhole lib-sieve to lib-lda, which makes
+ no sense for IMAPSIEVE. This also allows lib-sieve to have more control over
+ how mailboxes are opened.
+
+M src/lib-lda/mail-deliver.c
+
+2017-09-14 01:56:38 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7d716afc5d)
+
+ lib-storage: Created mailbox_alloc_delivery(), which initializes a mailbox
+ for message delivery.
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2017-09-14 01:46:12 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (df97180092)
+
+ lib-storage: Implemented new mailbox flag MAILBOX_FLAG_AUTO_SUBSCRIBE.
+
+ When this flag is enabled, the mailbox is implicitly subscribed to when it
+ is created automatically.
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2017-09-14 01:39:30 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2d27ea5063)
+
+ lib-storage: Implemented new mailbox flag MAILBOX_FLAG_AUTO_CREATE.
+
+ When this flag is enabled, the mailbox is automatically created when it is
+ opened (if possible and appropriate).
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2017-09-19 21:08:38 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2ceb75f820)
+
+ lib-storage: Implemented mailbox_is_autosubscribed().
+
+ Indicates whether the mailbox is automatically subscribed to when it is
+ automatically created.
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2017-10-04 15:41:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6c76bcb36f)
+
+ director: Fix HOST-RESET-USERS when all hosts are down
+
+ If there were a lot of users being kicked, the host was flushed after the
+ initial round of user kills. This caused the rest of the user connections to
+ be just discarded instead of actually being killed.
+
+M src/director/doveadm-connection.c
+
+2017-10-04 15:39:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (34642ccff3)
+
+ director: Fix tracking user move count when user is freed early
+
+ users_moving_count wasn't updated if the user was freed before killing it
+ finished. This caused "doveadm director flush" to hang while waiting for the
+ move count to drop to 0, which it never did. Also following flushes were
+ doing less work in parallel, or possibly even nothing since director thought
+ there were too many users already being moved.
+
+M src/director/director.c
+
+2017-10-04 10:46:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2e07e3182f)
+
+ quota: quota_get_resource() - return enum to make the result more exact
+
+ This is mainly to differentiate between "resource name unknown" and
+ "unlimited quota".
+
+ This also fixes quota_clone plugin to update quota even when quota is
+ unlimited. It was supposed to have been skipped only when the resource names
+ weren't known.
+
+ The private quota.get_resource() API is unchanged. The backends were already
+ returning 0 only when the resource name was unknown.
+
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2017-10-04 10:44:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bffaca7da2)
+
+ imap-quota: Return NO reply if GETQUOTA fails only partially
+
+ If the first resource lookup succeeded and the second one failed, the
+ GETQUOTA command replied with OK instead of NO.
+
+M src/plugins/imap-quota/imap-quota-plugin.c
+
+2017-09-29 09:42:48 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1d12457b69)
+
+ doveadm-mail: Handle parse_arg return value
+
+ Invalid parameters did not cause error. Broken in fa6b2cbb3
+
+M src/doveadm/doveadm-mail.c
+
+2017-10-03 14:51:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (719abeb208)
+
+ lib-master: master_service_init_log() - Switch log handlers only on the
+ first call
+
+ The secondary calls were only done by mail_storage_service_*() calls. They
+ want to initialize the logging once, but afterwards they only care about
+ changing the log prefix. Switch to this behavior now explicitly.
+
+ This fixes behavior if logging functions are changed between
+ mail_storage_service_*() calls, so they don't get reset.
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2017-09-18 15:52:12 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (32340fe8f4)
+
+ lib-dcrypt: Use cpu32_to_be instead of htonl
+
+ prefer our own conversion functions over htonl which is intended for
+ networking related numbers.
+
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/ostream-encrypt.c
+
+2017-09-19 15:54:35 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (a943ed0f90)
+
+ global: use i_close_fd{,_path}() instead of open-coding them
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-postfix-connection.c
+M src/auth/db-checkpassword.c
+M src/auth/db-passwd-file.c
+M src/doveadm/server-connection.c
+M src/lib-auth/auth-master.c
+M src/lib-dict/dict-cdb.c
+M src/lib-dict/dict-file.c
+M src/lib-dns/dns-lookup.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-index/mailbox-log.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service.c
+M src/lib-stats/stats-connection.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib/ioloop-notify-inotify.c
+M src/lmtp/client.c
+M src/login-common/login-proxy-state.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/mail-filter/istream-ext-filter.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/replication/replication-plugin.c
+M src/util/tcpwrap.c
+
+2017-09-22 10:33:51 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (c25d75b24a)
+
+ lib: introduce i_close_fd_path()
+
+ It is like i_close_fd() but takes an argument with the name of the file
+ that's being closed. The name is only used when printing the error message
+ due to a failed close() syscall.
+
+
+M src/lib/lib.c
+M src/lib/macros.h
+
+2017-09-20 11:27:05 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (e4ac5643e1)
+
+ lib: remove close_keep_errno()
+
+
+M src/lib/lib.c
+M src/lib/lib.h
+
+2017-09-19 16:23:30 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (ad81591e3c)
+
+ lib: improve i_close_fd() error message
+
+ In addition to printing the file and line number, we can print the actual
+ arg passed in as well as the function calling i_close_fd().
+
+
+M src/lib/lib.c
+M src/lib/macros.h
+
+2017-09-19 16:17:45 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (b93dba1fdb)
+
+ lib: print correct error string on i_close_fd() failure
+
+ close_keep_errno() preserved the original errno, therefore the %m in
+ i_close_fd()'s error message printed an unrelated error string.
+
+
+M src/lib/lib.c
+M src/lib/macros.h
+
+2017-09-25 10:08:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6c272362f7)
+
+ dovecot.service: Update systemd file
+
+ There is no point daemonizing dovecot in systemd, also added comment about
+ apparmor and NoNewPrivileges option.
+
+M dovecot.service.in
+
+2017-09-27 14:07:46 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (01b9ed5164)
+
+ lib-test: Suppress expected error messages
+
+ Unless pattern is also provided
+
+M src/lib-test/test-common.c
+
+2017-09-29 12:37:58 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (9a19ae4b39)
+
+ lib-storage: Remove obsolete mailbox_save_set_dest_mail()
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2017-09-29 17:22:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (58f32fe916)
+
+ configure.ac: Wrapped long LIBDOVECOT_LA_LIBS definition line to make
+ modifications easier.
+
+
+M configure.ac
+
+2017-10-02 13:25:42 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (605c40c77f)
+
+ auth: global rounds parameter replaced with argument to password_generate()
+
+ username and rounds parameter moved to a single password_generate_params
+ structure.
+
+M src/auth/auth-request.c
+M src/auth/passdb.c
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme-pbkdf2.c
+M src/auth/password-scheme-scram.c
+M src/auth/password-scheme.c
+M src/auth/password-scheme.h
+M src/doveadm/doveadm-pw.c
+
+2017-09-28 20:18:19 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (396e6d4f58)
+
+ doveadm: Use doveadm command name as reason in doveadm_mail_iter_init()
+
+
+M src/doveadm/doveadm-mail-iter.c
+
+2017-09-22 13:30:43 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (69a7189136)
+
+ dsync: Add hashed_headers setting
+
+ This makes it possible to configure them
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-export.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2017-09-22 14:08:45 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c79c8c1d0f)
+
+ dsync: Fix typo, it's ibc not icb
+
+
+M src/doveadm/doveadm-dsync.c
+
+2017-09-25 10:28:03 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (dcdf46b6e4)
+
+ dsync: Add missing space to handshake optional keys
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2017-09-26 16:23:32 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (328ac493fb)
+
+ dsync: Improve reason when logging "modseq .. no longer in transaction log"
+
+ Show the current highest, as well as the last common UID and the current
+ next UID. These can help to try to figure out problems.
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+
+2017-09-20 11:34:49 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (1d9053f573)
+
+ global: remove unnecessary ENOENT checks from unlink_directory() calls
+
+
+M src/lib-fs/test-fs-posix.c
+M src/lib-smtp/test-smtp-submit.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2017-09-20 10:46:16 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (39715db8bd)
+
+ lib: unlink_directory() return value is changed to 1 in case of no error.
+
+
+M src/lib/unlink-directory.c
+M src/lib/unlink-directory.h
+
+2017-09-20 10:45:26 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (69458644d0)
+
+ lib: unlink_directory_r() is refactored.
+
+ unlinking doesn't stop at unlink() errors, first error is written to
+ error_r, consequent errors are logged via i_error errno set to first
+ happened error. unlink_directory_r() is expecting *error_r to be set to
+ NULL. errno is set to 0 before each call to readdir().
+
+M src/lib/unlink-directory.c
+
+2017-09-22 13:48:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9eec3f335b)
+
+ mail-crypt: Fix linking order
+
+
+M src/plugins/mail-crypt/Makefile.am
+
+2017-09-22 14:10:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e2e9ea6da9)
+
+ lib: Define i_unreached() to __builtin_unreachable() with STATIC_CHECKER
+
+ This helps clang's alpha.deadcode.UnreachableCode checker.
+
+M src/lib/macros.h
+
+2017-09-22 15:07:25 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (fb28ad71e6)
+
+ replication-plugin: Debug-log mailbox transaction reason
+
+
+M src/plugins/replication/replication-plugin.c
+
+2017-09-20 17:15:32 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (c6ce2e251a)
+
+ lib-storage: Add reason to mailbox.transaction_begin()
+
+
+M src/lib-lda/mail-deliver.c
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/notify/notify-storage.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/stats/stats-plugin.c
+M src/plugins/virtual/virtual-transaction.c
+M src/plugins/virtual/virtual-transaction.h
+
+2017-09-20 14:42:00 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (0dab9cb35a)
+
+ lib-storage: Add reason to mailbox_transaction_begin()
+
+ Remove mailbox_transaction_set_reason().
+
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-deduplicate.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail-save.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/imap/cmd-append.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-store.c
+M src/imap/cmd-thread.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-expunge.c
+M src/imap/imap-fetch.c
+M src/imap/imap-search.c
+M src/imap/imap-state.c
+M src/imap/imap-sync.c
+M src/indexer/master-connection.c
+M src/lda/main.c
+M src/lib-imap-storage/imap-metadata.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-lda/mail-deliver.c
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/index/index-search-result.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/mail-autoexpunge.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lmtp/commands.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+M src/plugins/mail-crypt/mail-crypt-acl-plugin.c
+M src/plugins/mail-crypt/mail-crypt-key.c
+M src/plugins/mail-crypt/test-mail-key.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/virtual/virtual-transaction.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+
+2017-09-22 13:34:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (03b8e1b15f)
+
+ configure: Fix link order: libsmtp depends on libprogram-client
+
+
+M configure.ac
+
+2017-09-21 21:49:09 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (6c17d1adef)
+
+ lib-storage: Don't crash when opening inbox fails in
+ mailbox-list-index-notify
+
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+
+2017-09-21 15:53:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e3a3366eea)
+
+ lib-sql: Fix compiler warning with OSX
+
+
+M src/lib-sql/sql-api.h
+
+2017-09-21 17:53:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (59d98f43a1)
+
+ master: Don't throttle services that are already being destroyed
+
+ If process couldn't be created, because the service_list is already being
+ destroyed (e.g. due to reload), also don't enable unnecessary throttling for
+ the service.
+
+ Hopefully fixes these random errors that are logged alone: master: Error:
+ service(...): command startup failed, throttling for 2 secs
+
+M src/master/service-monitor.c
+
+2017-09-19 13:52:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9372e48b70)
+
+ lib: If log writing to log process is blocking, show it in process title
+
+ This change also makes the log pipe non-blocking.
+
+M src/lib/failures.c
+
+2017-09-19 13:49:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5a35caefcf)
+
+ lib: Add process_title_get()
+
+
+M src/lib/process-title.c
+M src/lib/process-title.h
+
+2017-09-20 19:09:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3dcf98a55d)
+
+ Add <%{pid}> to default mail_log_prefix
+
+ It's especially useful nowadays when the same session ID can be reused by
+ multiple processes with IMAP hibernation enabled.
+
+M doc/example-config/conf.d/10-logging.conf
+M src/lib-storage/mail-storage-settings.c
+
+2017-09-20 15:56:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b0d00847d0)
+
+ doveadm: "Extraneous arguments found": Show the args in the error
+
+
+M src/doveadm/doveadm-cmd.c
+
+2017-09-21 00:38:33 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4d1cc687f4)
+
+ lib-http: client: Send empty payload (Content-Length: 0) for requests that
+ normally expect a payload.
+
+ This includes the standard POST and PUT methods. Others need to use the new
+ http_client_request_set_payload_empty() function to force sending an empty
+ payload.
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2017-09-20 15:03:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7e37e7ac1c)
+
+ notify-status plugin: Use priv/status/<mailbox> for keys
+
+ priv/<mailbox>/status can't be used with dict-sql when <mailbox> has '/'.
+
+M src/plugins/notify-status/notify-status-plugin.c
+
+2017-09-19 13:33:06 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (6307d76096)
+
+ global: start relying on buffer_free(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - buffer_free(&E);
+ - }
+ + buffer_free(&E);
+
+M src/lib-compression/istream-lz4.c
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-fts/fts-tokenizer.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/istream-qp-encoder.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-mail.c
+M src/lib-test/test-ostream.c
+M src/lib/iostream-rawlog.c
+M src/lib/iostream-temp.c
+M src/lib/istream-seekable.c
+M src/lmtp/client.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-parser.c
+
+2017-09-19 13:26:57 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (1a6ff0beeb)
+
+ lib: buffer_free(NULL) should be a no-op
+
+
+M src/lib/buffer.c
+
+2017-09-19 13:25:23 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (c69a177207)
+
+ global: start relying on pool_unref(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - pool_unref(&E);
+ - }
+ + pool_unref(&E);
+
+M src/auth/db-passwd-file.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/lib-dict/dict-sql.c
+M src/lib-fts/fts-language.c
+M src/lib-http/http-message-parser.c
+M src/lib-index/mail-index-map.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/index-search-mime.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/mail-storage.c
+M src/lib/env-util.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/pop3/pop3-client.c
+
+2017-09-19 13:21:07 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (77eae37a92)
+
+ lib: pool_unref(NULL) shoud be a no-op
+
+
+M src/lib/mempool.h
+
+2017-09-19 13:19:36 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (204ee6ed41)
+
+ global: start relying on [io]_stream_unref(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - i_stream_unref(&E);
+ - }
+ + i_stream_unref(&E);
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - o_stream_unref(&E);
+ - }
+ + o_stream_unref(&E);
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-postfix-connection.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/imap/cmd-append.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-urlfetch.c
+M src/imap/imap-fetch.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/test-fs-metawrap.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-server-response.c
+M src/lib-http/test-http-payload.c
+M src/lib-imap-client/test-imapc-client.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-program-client/program-client.c
+M src/lib-program-client/test-program-client-net.c
+M src/lib-program-client/test-program-client-unix.c
+M src/lib-smtp/lmtp-client.c
+M src/lib-smtp/test-smtp-submit.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib/ioloop.c
+M src/lib/iostream-rawlog.c
+M src/lib/istream-chain.c
+M src/lib/istream-seekable.c
+M src/lib/istream.c
+M src/lib/ostream.c
+M src/lmtp/client.c
+M src/lmtp/lmtp-proxy.c
+M src/login-common/client-common.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-parser-tika.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+M src/plugins/zlib/zlib-plugin.c
+
+2017-09-19 13:09:07 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (b3fc529337)
+
+ lib: [io]_stream_unref(NULL) should be a no-op
+
+
+M src/lib/istream.c
+M src/lib/ostream.c
+
+2017-06-06 12:53:41 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (be5773cb4d)
+
+ global: start relying on [io]_stream_destroy(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - i_stream_destroy(&E);
+ - }
+ + i_stream_destroy(&E);
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - o_stream_destroy(&E);
+ - }
+ + o_stream_destroy(&E);
+
+M src/anvil/anvil-connection.c
+M src/auth/mech-winbind.c
+M src/auth/userdb-passwd-file.c
+M src/director/login-connection.c
+M src/doveadm/client-connection.c
+M src/doveadm/server-connection.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/lib-dns/dns-lookup.c
+M src/lib-fs/fs-test.c
+M src/lib-fs/istream-fs-file.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-master/master-login-auth.c
+M src/lib-program-client/program-client.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/list/subscription-file.c
+M src/login-common/login-proxy.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+M src/plugins/mail-filter/istream-ext-filter.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+M src/replication/aggregator/notify-connection.c
+
+2017-06-06 12:49:00 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (d6684856fb)
+
+ lib: [io]_stream_destroy(NULL) should be a no-op
+
+
+M src/lib/istream.c
+M src/lib/ostream.c
+
+2017-06-06 12:33:23 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (0d1b8b6bec)
+
+ global: start relying on timeout_remove(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - timeout_remove(&E);
+ - }
+ + timeout_remove(&E);
+
+M src/anvil/penalty.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/db-ldap.c
+M src/dict/dict-connection.c
+M src/dict/main.c
+M src/director/director-connection.c
+M src/director/director-test.c
+M src/director/director.c
+M src/director/main.c
+M src/doveadm/server-connection.c
+M src/imap-hibernate/imap-client.c
+M src/imap-login/imap-login-client.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/cmd-idle.c
+M src/imap/imap-client.c
+M src/imap/imap-notify.c
+M src/imap/imap-search.c
+M src/indexer/indexer.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-dict/dict-client.c
+M src/lib-dns/dns-lookup.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client.c
+M src/lib-http/http-server-connection.c
+M src/lib-http/test-http-client-errors.c
+M src/lib-http/test-http-server-errors.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-ldap/ldap-connection.c
+M src/lib-master/anvil-client.c
+M src/lib-master/ipc-server.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-service-haproxy.c
+M src/lib-master/master-service.c
+M src/lib-oauth2/oauth2.c
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+M src/lib-smtp/lmtp-client.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/mailbox-watch.c
+M src/lib-test/test-ostream.c
+M src/lib/connection.c
+M src/lib/istream-timeout.c
+M src/lib/log-throttle.c
+M src/lib/test-iostream-pump.c
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/login-common/access-lookup.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy.c
+M src/login-common/main.c
+M src/master/main.c
+M src/master/service-monitor.c
+M src/master/service-process.c
+M src/master/service.c
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/stats/stats-plugin.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3/pop3-client.c
+M src/replication/aggregator/replicator-connection.c
+M src/replication/replicator/dsync-client.c
+M src/replication/replicator/replicator-brain.c
+M src/stats/client.c
+M src/stats/mail-session.c
+M src/stats/stats-carbon.c
+M src/util/rawlog.c
+
+2017-06-06 12:30:17 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (c4d38ef68c)
+
+ lib: timeout_remove(NULL) should be a no-op
+
+
+M src/lib/ioloop.c
+
+2017-06-06 12:28:07 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (5f1d689131)
+
+ global: start relying on io_remove{,_closed}(NULL) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - io_remove(&E);
+ - }
+ + io_remove(&E);
+
+ @@
+ expression E;
+ @@
+
+ - if (E != NULL) {
+ - io_remove_closed(&E);
+ - }
+ + io_remove_closed(&E);
+
+M src/anvil/main.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/db-checkpassword.c
+M src/auth/db-ldap.c
+M src/dict/dict-connection.c
+M src/director/director-connection.c
+M src/director/director-test.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/server-connection.c
+M src/imap-hibernate/imap-client.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/cmd-append.c
+M src/imap/cmd-idle.c
+M src/imap/imap-client.c
+M src/ipc/client.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-dns/dns-lookup.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-response.c
+M src/lib-http/test-http-payload.c
+M src/lib-http/test-http-server-errors.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-haproxy.c
+M src/lib-master/master-service.c
+M src/lib-program-client/program-client.c
+M src/lib-program-client/test-program-client-net.c
+M src/lib-program-client/test-program-client-unix.c
+M src/lib-smtp/lmtp-client.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/mailbox-watch.c
+M src/lib/connection.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-kqueue.c
+M src/lib/iostream-pump.c
+M src/lib/ostream-file.c
+M src/lmtp/client.c
+M src/log/log-connection.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+M src/login-common/main.c
+M src/login-common/ssl-proxy-openssl.c
+M src/master/service-monitor.c
+M src/master/service-process-notify.c
+M src/plugins/fts/fts-parser-tika.c
+M src/pop3/pop3-client.c
+M src/stats/client.c
+M src/stats/stats-carbon.c
+M src/util/rawlog.c
+
+2017-06-06 12:19:22 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (df1c1ff470)
+
+ lib: io_remove(NULL) and io_remove_closed(NULL) should be no-ops
+
+
+M src/lib/ioloop.c
+
+2017-06-06 10:20:49 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (7b032348d7)
+
+ global: start relying on i_close_fd(-1) being a no-op
+
+ Cleanup performed with the following semantic patch:
+
+ @@
+ expression E;
+ @@
+
+ - if (E != -1)
+ - i_close_fd(&E);
+ + i_close_fd(&E);
+
+M src/doveadm/doveadm-dsync.c
+M src/imap-hibernate/imap-client.c
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap/imap-client-hibernate.c
+M src/lib-dict/dict-file.c
+M src/lib-http/test-http-client-errors.c
+M src/lib-http/test-http-payload.c
+M src/lib-imap-client/test-imapc-client.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib/iostream-temp.c
+M src/lib/istream-unix.c
+M src/lib/net.c
+M src/lib/ostream-unix.c
+M src/master/service-listen.c
+M src/master/service-monitor.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/stats/mail-stats-fill.c
+M src/stats/stats-carbon.c
+
+2017-06-06 10:13:15 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (95ec0fd478)
+
+ lib: i_close_fd(-1) should be a no-op
+
+
+M src/lib/macros.h
+
+2017-09-20 01:47:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ce8d638109)
+
+ director: Fix flush to kick the user also when all backends are down
+
+ The user's host can't change, because there are no other hosts. So add a new
+ parameter to force the kick anyway.
+
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+
+2017-09-19 14:48:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (186c97450c)
+
+ cassandra: Timestamp should be in microseconds, not milliseconds
+
+
+M src/lib-sql/driver-cassandra.c
+
+2017-09-18 14:15:44 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (191153d1a5)
+
+ global: use i_rand_limit() and i_rand_minmax() when possible
+
+
+M src/auth/auth-request.c
+M src/director/director-test.c
+M src/director/test-user-directory.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+M src/lib-compression/test-compression.c
+M src/lib-dict/test-dict-client.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fts/test-fts-tokenizer.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-file.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-mail-html2text.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-hash.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/test-master-service-settings-cache.c
+M src/lib-test/test-istream.c
+M src/lib/net.c
+M src/lib/test-base32.c
+M src/lib/test-base64.c
+M src/lib/test-buffer.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-istream-tee.c
+M src/lib/test-ostream-buffer.c
+M src/lib/test-ostream-file.c
+M src/lib/test-priorityq.c
+M src/lib/test-strnum.c
+M src/lib/test-unichar.c
+M src/lib/timing.c
+M src/login-common/login-proxy.c
+M src/login-common/main.c
+M src/master/main.c
+M src/master/service-monitor.c
+
+2017-09-18 13:55:08 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (747bf5bf77)
+
+ lib: introduce i_rand_limit() and i_rand_minmax()
+
+
+M src/lib/lib.h
+M src/lib/rand.c
+
+2017-09-18 16:48:41 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (fda9c7fe9d)
+
+ lib-index: fix off-by-one in index flag update test
+
+ When selecting the second seq, the max value we should generate is
+ hdr.messages_count - not one less than that.
+
+M src/lib-index/test-mail-index-transaction-update.c
+
+2017-09-19 11:18:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (25b3208d3b)
+
+ lib-storage: Fail if two namespaces try to wrongly share the same LISTINDEX
+
+ If they have different mailboxes-path, they can't be sharing the same
+ mailbox list index. The previous behavior caused Dovecot to silently
+ overwrite the list index whenever each of the namespaces were accessed,
+ resulting in bad performance.
+
+M src/lib-storage/mail-namespace.c
+
+2017-09-18 23:04:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5c449ac9f4)
+
+ notify-status: Remove first_unseen_seq field
+
+ The sequence number keeps changing, so it's very unlikely to be useful. It's
+ also not always as efficiently available as the other fields, so better to
+ avoid having it.
+
+M src/plugins/notify-status/notify-status-plugin.c
+
+2017-09-07 14:26:51 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (120e61ccce)
+
+ lib-storage: convert struct pop3_mail casts to container_of
+
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-storage.h
+
+2017-09-07 14:11:06 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (7dd326f772)
+
+ lib-storage: convert struct imapc_mail casts to container_of
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mail.h
+M src/lib-storage/index/imapc/imapc-save.c
+
+2017-09-07 13:04:01 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (8749001289)
+
+ lib-storage: convert index to use container_of
+
+
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2017-09-07 14:29:08 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (ac254f652b)
+
+ lib-storage: convert missed mbox casts to container_of
+
+
+M src/lib-storage/index/mbox/mbox-save.c
+
+2017-09-07 14:28:27 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (13b2d87842)
+
+ lib-storage: convert missed raw storage casts to container_of
+
+
+M src/lib-storage/index/raw/raw-storage.c
+
+2017-09-07 14:24:46 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (b5a123eab9)
+
+ lib-storage: convert missed maildir casts to container_of
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2017-09-07 14:21:03 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (6a384c0f89)
+
+ lib-storage: convert missed imapc casts to container_of
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2017-09-07 14:08:44 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (9287cdd3d7)
+
+ lib-storage: convert missed cydir casts to container_of
+
+
+M src/lib-storage/index/cydir/cydir-save.c
+
+2017-09-15 15:17:08 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (aec3f901e5)
+
+ auth: Expand %{ldap_dn} to ldap_get_dn().
+
+
+M src/auth/db-ldap.c
+
+2017-09-14 12:50:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5a444fdfab)
+
+ director: Avoid "ring sync timeout" errors when all backends are down
+
+ doveadm commands were failing with it. Also pending request failures were
+ logged as failing due to ring sync timeout, instead of because no hosts.
+
+M src/director/main.c
+
+2017-09-14 13:02:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (68ba222d8a)
+
+ director: Delay calling state_change_callback() after user kick is finished
+
+ Otherwise it can get into recursive loop and cause problems.
+
+M src/director/director.c
+
+2017-09-14 12:42:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c300d63f27)
+
+ doveadm director: Improve logging unexpected disconnections from director
+ socket
+
+ Previously it just logged "failed", which wasn't very understandable.
+
+M src/doveadm/doveadm-director.c
+
+2017-08-22 16:32:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f5d82a4b87)
+
+ director: Fix crash when flush is run and all backends are down.
+
+ Instead of moving the users elsewhere, just kill them and flush the backend.
+
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+
+2017-09-15 11:49:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9bea325875)
+
+ lib: uri_parser_init*() - initialize allow_pct_nul
+
+ Unless the caller explicitly cleared the parser's memory, allow_pct_nul was
+ somewhat random. All the code in Dovecot core did this, but some plugins
+ didn't.
+
+M src/lib/uri-util.c
+
+2017-09-14 18:13:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8913a7f439)
+
+ director: Fix ring sync wait after DIRECTOR-REMOVE
+
+ It was sending OK twice, and the first OK was too early.
+
+M src/director/doveadm-connection.c
+
+2017-09-14 17:59:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (69ea755e44)
+
+ director: Ignore CONNECT requests to hosts that have been removed already
+
+
+M src/director/director-connection.c
+
+2017-09-14 17:57:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d8a93844f0)
+
+ director: After CONNECT was received, make sure we disconnect
+
+ The remote side won't be reading anything after the CONNECT, so we have to
+ disconnect anyway. If we decide that the CONNECT request is wrong, reconnect
+ after a short delay and hope that the remote agrees with us the next time.
+
+M src/director/director-connection.c
+
+2017-09-14 17:48:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (83b9d8afc2)
+
+ director: When director is removed, notify it before disconnecting
+
+ This way the removed director will know that it's been removed, and it can
+ also more quickly forward the removal to other directors.
+
+M src/director/director.c
+
+2017-09-14 17:38:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e588e0b3f3)
+
+ director: Don't reset directors' last_network_failure while handshaking
+
+ The reset is done mainly to make it faster for a director that has been down
+ to connect back to the ring, without other directors still thinking that
+ it's down. But DIRECTOR that is sent during handshake says nothing about
+ whether the director is up at the moment or not.
+
+M src/director/director-connection.c
+
+2017-09-14 17:35:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e2fdcdb4ee)
+
+ director: Log info line for every incoming/outgoing connection
+
+ This can help with debugging problems.
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+M src/director/main.c
+
+2017-09-14 17:33:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e9d302dceb)
+
+ director: Cleanup - move code to a new director_log_connect()
+
+ Also adds a missing ')' to the log line.
+
+M src/director/director.c
+
+2017-09-14 17:29:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (027f58ea63)
+
+ director: Log info line whenever a director is added/removed from ring
+
+ This can help with debugging problems.
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+
+2017-09-14 18:13:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (465fb89a87)
+
+ director: Improve debugging: Log ring desync when there is no right
+ connection
+
+
+M src/director/director.c
+
+2017-09-14 17:26:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3a7a0c35c9)
+
+ director: When logging "ring SYNC lost", include sync seq number in message
+
+ This can help with debugging.
+
+M src/director/director.c
+
+2017-09-14 13:34:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8a2262007b)
+
+ lib: chdir to / after chroot
+
+ Makes static analyzers more happy
+
+M src/lib/restrict-access.c
+
+2017-09-14 11:57:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (30089b563d)
+
+ doveadm director ring remove: Wait ring sync before and after removal
+
+ This helps mainly with automated tests.
+
+M src/director/director.c
+M src/director/doveadm-connection.c
+
+2017-09-14 13:19:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3131b0cc20)
+
+ director: Return temporary auth failures using the new "code" field
+
+ The "temp" is no longer used.
+
+M src/director/login-connection.c
+
+2017-09-13 23:35:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3226cfcb9a)
+
+ lib-mail: message_header_encode() cleanup - simplify pointer arithmetic
+
+ This should make static analyzers happier.
+
+M src/lib-mail/message-header-encode.c
+
+2017-09-13 23:26:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d4e097fbc4)
+
+ global: Add asserts to help static analyzers
+
+
+M src/lib-mail/message-size.c
+M src/lib/str-sanitize.c
+
+2017-09-13 23:24:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9c93b5764f)
+
+ lib-index: Remove size from struct mail_keywords.idx[]
+
+ This was confusing static analyzers, which thought that using [1] meant that
+ its size really was 1.
+
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+
+2017-09-13 18:06:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2462c09be8)
+
+ man: Remove extra ^L from "doveadm fetch" example
+
+ It's no longer sent.
+
+M doc/man/doveadm-fetch.1.in
+
+2017-09-13 16:13:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e0a3329026)
+
+ lib-storage: Fix updating mailbox GUID in mailbox list index when it's empty
+
+ Normally the GUID shouldn't be empty at this point. Updating mailbox GUID is
+ also very rare. So this was unlikely to cause any problems in practise.
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2017-09-13 16:09:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (09e6ec59d4)
+
+ master: Don't send uninitialized byte to anvil along the log fd.
+
+ The byte was ignored by anvil, so it didn't cause any real problems.
+
+M src/master/service-anvil.c
+
+2017-09-13 16:06:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0cb80fbd73)
+
+ cassandra: NULL values' sizes weren't initialized
+
+ This was only a problem if sql_result_get_field_value_binary() was attempted
+ to be used for a NULL value.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-09-13 18:32:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5ea06115cb)
+
+ lib-index: If mail_index_view is leaked, include in Panic the file:line
+ where it was opened
+
+
+M src/lib-index/mail-index-view-private.h
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+
+2017-09-13 15:16:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (214aff73cd)
+
+ cassandra: Fix paged queries to work again
+
+ When continuing the result, consistency was reset to 0 (=ANY), which caused
+ the queries to fail. There's no need to initialize the statement again when
+ continuing it. Also set result->consistency to be correct mainly for
+ debugging purposes.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-09-11 12:27:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2912eac526)
+
+ lib-storage: Fix mailbox list notification assert-crash when mailbox is
+ deleted
+
+ Reproduced with if IMAP NOTIFY is used for non-selected mailboxes without
+ MailboxName being specified. Another session then does changes to a mailbox
+ and immediately deletes it, which causes the crash.
+
+ Fixes: Panic: file mailbox-list-index-notify.c: line 751: unreached
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+
+2017-09-13 00:28:38 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9c81423577)
+
+ lib-smtp: lmtp-client: Fixed handling of unexpected reply while sending RCPT
+ TO commands.
+
+ It caused a segfault.
+
+M src/lib-smtp/lmtp-client.c
+
+2017-09-08 16:00:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (44a31b7408)
+
+ doveadm director kick: Fix -f parameter to work
+
+ It already worked as --passdb-field, but now it matches the usage string.
+
+M src/doveadm/doveadm-director.c
+
+2017-09-11 12:59:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e704b4ab2c)
+
+ lib-index: mail_index_use_existing_permissions() - Ignore with INDEX=MEMORY
+
+
+M src/lib-index/mail-index.c
+
+2017-09-11 12:58:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (96595bf98e)
+
+ lib-index: mail_index_use_existing_permissions() - Log error if stat()
+ unexpectedly fails
+
+
+M src/lib-index/mail-index.c
+
+2017-09-11 13:54:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (182724707b)
+
+ lib-storage: Avoid unnecessary stat()s in mailbox list index notifications
+
+ If mailbox list gets a notification there's no need to stat() the INBOX, and
+ vice versa. Also if the notification was already seen and a callback timeout
+ set, there's no need to keep stat()ing.
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+
+2017-09-11 13:48:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5ddc694e19)
+
+ lib-storage: Make sure mailbox list notification flush sees latest changes.
+
+ This is mainly useful with imaptest test scripts to make sure they're seeing
+ the changes done by the other session, without assuming that inotify will
+ always notify about the change before NOOP is run (it doesn't).
+
+ Do this only if mailbox_idle_check_interval>0, so it's not run when periodic
+ stat()s are wanted to be avoided.
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+
+2017-09-12 14:54:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3581ece16e)
+
+ lib: file_lock_set_unlink_on_free() - Avoid unlink() if another process is
+ waiting on the lock
+
+
+M src/lib/file-create-locked.h
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+
+2017-09-12 13:23:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4d8f538565)
+
+ cassandra: Disable prepared statements with protocol v3 and older
+
+
+M src/lib-sql/driver-cassandra.c
+
+2017-09-11 12:10:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (807f257b0f)
+
+ lib-smtp: Link with libcharset.la to avoid errors
+
+
+M src/lib-smtp/Makefile.am
+
+2017-09-09 12:58:12 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b17e888255)
+
+ lib-http: client: queue: Improved construction of timeout log message.
+
+ Earlier change used a literal prefix size, rather than inferring the size
+ from the actual prefix string.
+
+M src/lib-http/http-client-queue.c
+
+2017-09-09 12:27:16 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (255daf50df)
+
+ lib-smtp: test-smtp-submit: Fixed memory leak in one test.
+
+
+M src/lib-smtp/test-smtp-submit.c
+
+2017-09-09 12:22:47 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (db2fb7b8ba)
+
+ lib-smtp: test-smtp-submit: Improved checking of delivered message.
+
+ This addresses a couple of scan-build "dead assignment" warnings.
+
+M src/lib-smtp/test-smtp-submit.c
+
+2017-05-05 17:06:32 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (faca780e23)
+
+ lib-smtp: smtp-submit: Added support for asynchronous message submission.
+
+
+M src/lib-lda/mail-send.c
+M src/lib-lda/smtp-client.c
+M src/lib-smtp/smtp-submit.c
+M src/lib-smtp/smtp-submit.h
+M src/lib-smtp/test-smtp-submit.c
+
+2017-05-05 13:26:46 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (792813592c)
+
+ lib-lda: Moved smtp-submit to lib-smtp.
+
+
+M src/Makefile.am
+M src/lib-lda/Makefile.am
+M src/lib-smtp/Makefile.am
+R100 src/lib-lda/smtp-submit.c src/lib-smtp/smtp-submit.c
+R100 src/lib-lda/smtp-submit.h src/lib-smtp/smtp-submit.h
+R100 src/lib-lda/test-bin/sendmail-exit-1.sh src/lib-smtp/test-bin/sendmail-exit-1.sh
+R100 src/lib-lda/test-bin/sendmail-success.sh src/lib-smtp/test-bin/sendmail-success.sh
+R099 src/lib-lda/test-smtp-submit.c src/lib-smtp/test-smtp-submit.c
+
+2017-05-05 13:21:16 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7fbbd3bf53)
+
+ lib-lda: Made smtp-submit standalone.
+
+ Removed dependencies on LDA.
+
+M src/lib-lda/mail-send.c
+M src/lib-lda/smtp-client.c
+M src/lib-lda/smtp-submit.c
+M src/lib-lda/smtp-submit.h
+M src/lib-lda/test-smtp-submit.c
+
+2017-05-05 13:06:39 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (98437599b5)
+
+ lib-lda: Renamed smtp-client to smtp-submit (2/2).
+
+ Renamed smtp_client identifiers to smtp_submit. Also, created temporary
+ backwards-compatibility in smtp-client.h.
+
+M src/lib-lda/Makefile.am
+M src/lib-lda/mail-send.c
+A src/lib-lda/smtp-client.c
+M src/lib-lda/smtp-client.h
+M src/lib-lda/smtp-submit.c
+M src/lib-lda/smtp-submit.h
+M src/lib-lda/test-smtp-submit.c
+
+2017-05-05 12:55:49 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3e5a167379)
+
+ lib-lda: Renamed smtp-client to smtp-submit (1/2).
+
+ Renamed the files.
+
+M src/lib-lda/Makefile.am
+M src/lib-lda/mail-send.c
+M src/lib-lda/smtp-client.h
+R099 src/lib-lda/smtp-client.c src/lib-lda/smtp-submit.c
+A src/lib-lda/smtp-submit.h
+R099 src/lib-lda/test-smtp-client.c src/lib-lda/test-smtp-submit.c
+
+2017-02-28 23:56:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (be02ac47a9)
+
+ lib-lda: Created tests for SMTP message submission using the smtp-client
+ API.
+
+
+M src/lib-lda/Makefile.am
+A src/lib-lda/test-bin/sendmail-exit-1.sh
+A src/lib-lda/test-bin/sendmail-success.sh
+A src/lib-lda/test-smtp-client.c
+
+2017-09-08 12:20:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a594a59548)
+
+ lib-storage: Preserve messages' vsize record when rebuilding index
+
+ Since vsize is often used by quota, losing this can be very expensive. If
+ the vsize is wrong, it gets fixed automatically when fetching the message
+ body.
+
+M src/lib-storage/index/index-rebuild.c
+
+2017-08-22 14:35:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (709ee5a909)
+
+ cassandra: Add support for prepared statements
+
+
+M src/lib-sql/driver-cassandra.c
+
+2017-08-22 13:55:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a2c4998f6e)
+
+ cassandra: Cleanup - Create statement earlier
+
+ Simplifies the following changes
+
+M src/lib-sql/driver-cassandra.c
+
+2017-08-24 11:56:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (92a7f5f9bf)
+
+ cassandra: sql_transaction_commit*() cleanup - handle multiple query
+ failures earlier
+
+ This makes the handling same for the sync and async method. It also
+ simplifies code for the following commits.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-08-24 11:13:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8759c5d294)
+
+ cassandra: sql_transaction_commit_s() - Set query_type correctly
+
+ The queries were all sent with READ type instead of WRITE/DELETE. This meant
+ they were using potentially wrong consistency values. Although synchronous
+ commits aren't actually used anywhere, so this practically this doesn't fix
+ anything right now.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-08-24 11:09:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (92e21c2a14)
+
+ cassandra: sql_transaction_commit_s() - Don't allow multi-query transactions
+
+ They were already denied for asynchronous commits. Also the synchronous
+ commits aren't actually used anywhere, so this shouldn't break anything.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-09-07 15:40:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6a3f466e0c)
+
+ dict-sql: Use prepared statements
+
+ Create a hash table of query template -> prepared statement and fill it out
+ as needed. This could have been done some alternative ways that wouldn't
+ require building the string first, but this should still be fast enough and
+ much easier to implement.
+
+M src/lib-dict/dict-sql-private.h
+M src/lib-dict/dict-sql.c
+
+2017-08-26 23:27:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fc998bd6e0)
+
+ dict-sql: Flush pending atomic_inc on set, and pending set on atomic_inc
+
+
+M src/lib-dict/dict-sql.c
+
+2017-08-26 23:17:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f2e6909dd0)
+
+ dict-sql: Cleanup - change query generator functions to return statement
+
+ Instead of query+params. This is in preparation for the following changes.
+
+M src/lib-dict/dict-sql.c
+
+2017-08-15 16:50:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5451d6b31e)
+
+ dict-sql: Cleanup - Remove unnecessary code
+
+ The values are explicitly added to params. sql_dict_update_query() doesn't
+ add them again. Since the "diff" parameter is already a long long type, this
+ avoids unnecessary conversion to string and back.
+
+M src/lib-dict/dict-sql.c
+
+2017-08-15 16:38:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e6bff6f5fe)
+
+ dict-sql: Use sql_statement_bind_*()
+
+
+M src/lib-dict/dict-sql.c
+
+2017-08-15 15:37:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0e884c3e02)
+
+ dict-sql: Add signed "int" type
+
+
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql-settings.h
+M src/lib-dict/dict-sql.c
+
+2017-08-15 14:55:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4fa50be15f)
+
+ dict-sql: Use sql_statement_set_timestamp() instead of adding it to query
+
+
+M src/lib-dict/dict-sql-private.h
+M src/lib-dict/dict-sql.c
+
+2017-08-15 14:46:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a789b3fb40)
+
+ dict-sql: Initial change to use sql_statement API
+
+ sql_statement_bind_*() will be followed by later changes.
+
+M src/lib-dict/dict-sql.c
+
+2017-08-15 16:44:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a903e2bcf7)
+
+ dict-sql: Remove dict_sql_build_query.inc
+
+ It's no longer useful with the current code.
+
+M src/lib-dict/dict-sql.c
+
+2017-08-15 14:27:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1a672c1f24)
+
+ dict-sql: Change "uint" type to mean 64bit instead of 32bit integer.
+
+ This is likely what is usually wanted (especially in e.g. quotas). If
+ someone actually wants it to be restricted to 32bit, we could add uint32
+ later on.
+
+M src/lib-dict/dict-sql.c
+
+2017-08-22 11:37:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9f0fc74e33)
+
+ lib-sql: Add support for prepared SQL statements.
+
+ This initial implementation doesn't use prepared statements in drivers, but
+ simply generates the query string internally.
+
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-api.h
+
+2017-08-22 11:31:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ef597c4619)
+
+ lib-sql: Explicitly specify used *_vfuncs methods for drivers.
+
+ This allows adding more methods without modifying all the existing drivers.
+
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/driver-test.c
+
+2017-09-08 11:02:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a07e0d83e1)
+
+ doveadm proxy: Avoid DNS lookup for "host" if passdb also returns "hostip"
+
+
+M src/doveadm/doveadm-mail-server.c
+
+2017-09-08 11:02:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (31434f7b89)
+
+ lmtp proxy: Avoid DNS lookup for "host" if passdb also returns "hostip"
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2017-09-08 11:01:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dbe43c8723)
+
+ auth: Avoid DNS lookup for "host" if passdb returns also "hostip"
+
+
+M src/auth/auth-request.c
+
+2017-09-07 12:18:55 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4b8bea2033)
+
+ lib: Only deprecate rand/rand_r on recent enough compilers
+
+
+M src/lib/compat.h
+
+2017-09-05 20:42:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2bb003895e)
+
+ master: Write all the early warnings to log file after logging is
+ initialized
+
+ Any warnings (or errors) logged before settings were read and logging was
+ initialized caused them to be only written to stderr. This caused them to be
+ lost too easily. Now they are also buffered in memory and then flushed to
+ log files once logging is initialized.
+
+M src/master/main.c
+
+2017-09-07 12:44:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bcd91686ef)
+
+ lib: Free io_switch_callbacks_free only after other atexit-callbacks
+
+ Fixes a crash at deinit where io_loop_remove_switch_callback() was called in
+ lib_atexit() callback.
+
+M src/lib/ioloop.c
+
+2017-09-04 15:46:39 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2a628a8c90)
+
+ global: Replace random_fill_weak with random_fill
+
+ They are now the same thing
+
+M src/doveadm/doveadm-sis.c
+M src/lib-compression/test-compression.c
+M src/lib-dcrypt/test-stream.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib/randgen.h
+M src/lib/safe-mkstemp.c
+M src/lib/test-ostream-buffer.c
+M src/lib/test-ostream-file.c
+
+2017-08-23 14:12:20 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9e0f35dcc2)
+
+ global: Remove random_init/random_deinit calls
+
+ lib already initializes it.
+
+M src/auth/main.c
+M src/dict/main.c
+M src/doveadm/doveadm-pw.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/main.c
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dcrypt/test-stream.c
+M src/login-common/main.c
+M src/plugins/apparmor/apparmor-plugin.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+M src/plugins/mail-crypt/test-mail-global-key.c
+M src/plugins/mail-crypt/test-mail-key.c
+M src/plugins/var-expand-crypt/test-var-expand-crypt.c
+
+2017-08-23 13:42:09 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (21f76ca1a5)
+
+ lib: Simplify timing_add_usecs
+
+ i_rand is guaranteed to return 32 bit integer
+
+M src/lib/timing.c
+
+2017-08-23 12:59:30 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b082469aff)
+
+ lib: Warn if rand is used
+
+
+M src/lib/compat.h
+
+2017-08-23 12:59:42 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (62461eb609)
+
+ global: Replace rand with i_rand
+
+
+M src/auth/auth-request.c
+M src/director/director-test.c
+M src/director/test-user-directory.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+M src/lib-compression/test-compression.c
+M src/lib-dict/test-dict-client.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fts/test-fts-tokenizer.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-file.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-mail-html2text.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-hash.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/test-master-service-settings-cache.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-test/test-istream.c
+M src/lib/file-dotlock.c
+M src/lib/net.c
+M src/lib/test-array.c
+M src/lib/test-base32.c
+M src/lib/test-base64.c
+M src/lib/test-buffer.c
+M src/lib/test-data-stack.c
+M src/lib/test-hash.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-crlf.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-istream-tee.c
+M src/lib/test-ostream-buffer.c
+M src/lib/test-ostream-file.c
+M src/lib/test-priorityq.c
+M src/lib/test-seq-range-array.c
+M src/lib/test-strnum.c
+M src/lib/test-unichar.c
+M src/lib/timing.c
+M src/login-common/login-proxy.c
+M src/login-common/main.c
+M src/master/main.c
+M src/master/service-monitor.c
+
+2017-08-23 12:49:03 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8045f6e30e)
+
+ lib: Use best available random number generator
+
+ The best available method is used from short list of getrandom, arc4random
+ or reading /dev/urandom
+
+M src/lib/randgen.c
+M src/lib/randgen.h
+
+2017-08-23 12:38:07 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5405ee4d31)
+
+ lib: Replace rand.c with i_rand function
+
+ Replacement for rand
+
+M src/lib/Makefile.am
+M src/lib/lib.c
+M src/lib/lib.h
+M src/lib/rand.c
+D src/lib/rand.h
+
+2017-09-04 15:22:13 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a147c9a209)
+
+ lib: Replace rand_set_seed with srand
+
+ Makes following commits easier, and also makes sure that rand() will get
+ seeded when used by other libraries.
+
+M src/lib/lib.c
+M src/lib/rand.c
+M src/lib/rand.h
+M src/lib/randgen.c
+
+2017-08-23 13:02:36 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (130e6a5f62)
+
+ lib-test: Remove rand state dump
+
+ It's not possible after next commit
+
+M src/lib-test/test-common.c
+
+2017-08-23 12:53:50 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (da32b4dc82)
+
+ configure: Check for getrandom
+
+
+M configure.ac
+A m4/random.m4
+
+2017-03-02 23:13:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0043fea12a)
+
+ lib: lib-signals: Removed explicit notification of ioloop change through
+ lib_signals_reset_ioloop() in favor of implicit method.
+
+ Before, if the ioloop changed, the application had to explicitly notify
+ lib-signals using lib_signals_reset_ioloop(). This is error-prone and
+ requires doing this all over the Dovecot code base. Now, lib-signals
+ registers an ioloop switch callback that deals with this implicitly. The
+ application can detach lib-signals from the ioloop explicitly if delayed
+ signal handling is not required/desired in the new ioloop. Specific delayed
+ signal handlers can be exempt from this automated behavior using a flag,
+ meaning that such signal handlers need to be moved between ioloops
+ explicitly.
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/client-connection.c
+M src/lib-auth/auth-master.c
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/test-program-client-local.c
+M src/lib/Makefile.am
+M src/lib/child-wait.c
+M src/lib/child-wait.h
+M src/lib/lib-signals.c
+M src/lib/lib-signals.h
+A src/lib/test-lib-signals.c
+M src/lib/test-lib.inc
+
+2017-09-01 15:10:52 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (b67974c4b8)
+
+ lib-storage: convert dbox-multi to use container_of
+
+
+M src/lib-storage/index/dbox-multi/mdbox-deleted-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+
+2017-09-01 15:09:00 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (df3963075d)
+
+ lib-storage: convert dbox-single to use container_of
+
+
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.h
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2017-09-01 15:06:54 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (804fa3f03b)
+
+ lib-storage: convert dbox-common to use container_of
+
+
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-common/dbox-mail.h
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-save.h
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2017-08-28 11:52:52 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (a97fdf205b)
+
+ lib-storage: convert cydir to use container_of
+
+
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/cydir/cydir-storage.h
+M src/lib-storage/index/cydir/cydir-sync.c
+
+2017-08-28 11:52:06 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (f7fe4f81c0)
+
+ lib-storage: convert shared to use container_of
+
+
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/index/shared/shared-storage.h
+
+2017-08-28 11:51:34 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (8af1a286fb)
+
+ lib-storage: convert raw to use container_of
+
+
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/raw/raw-storage.h
+M src/lib-storage/index/raw/raw-sync.c
+
+2017-08-28 11:50:40 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (7b0a52bf38)
+
+ lib-storage: convert imapc to use container_of
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2017-08-28 11:26:20 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (95d62f8d6d)
+
+ lib-storage: convert pop3c to use container_of
+
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-storage.h
+M src/lib-storage/index/pop3c/pop3c-sync.c
+
+2017-08-28 11:24:21 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (c150beda11)
+
+ lib-storage: convert mbox to use container_of
+
+
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-storage.h
+M src/lib-storage/index/mbox/mbox-sync-list-index.c
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2017-08-28 11:15:45 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (77f8c49bea)
+
+ lib-storage: convert maildir to use container_of
+
+
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-storage.h
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+
+2016-09-13 15:01:56 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (1c238d4b71)
+
+ lib: introduce container_of
+
+ This is a simple but type safe implementation.
+
+M src/lib/macros.h
+
+2017-09-01 14:57:20 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (2b5cccf6b4)
+
+ lib-storage: rename IMAPC_CONTEXT to IMAPC_SEARCHCTX
+
+
+M src/lib-storage/index/imapc/imapc-search.c
+
+2017-09-04 16:52:01 +0200 Manuel Mausz <manuel@mausz.at> (d2845370fa)
+
+ auth: Rename overlooked "original_username" after c3e50b
+
+ In c3e50b854dec3f9a51dbaecf2ee56197125a003f "original_username" field got
+ renamed to "original-username".
+
+M src/auth/auth-request.c
+
+2017-06-18 19:55:23 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (57c65763f4)
+
+ doveadm-server: http: Fixed crash occurring when disconnecting a client at
+ server deinit.
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/client-connection-private.h
+M src/doveadm/client-connection.c
+M src/doveadm/client-connection.h
+
+2017-07-19 16:53:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ec9429535e)
+
+ *-login: Cache director_username_hash between KICK-DIRECTOR-HASH commands
+
+ This should make the kicking much faster, which is important when director
+ is moving thousands of users.
+
+M src/login-common/client-common.h
+M src/login-common/login-proxy.c
+
+2017-07-19 16:49:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c5ed1bc7a1)
+
+ lib-mail: Make sure mail_user_hash() won't return 0 as the hash.
+
+ It doesn't seem to actually happen, but this makes sure of it.
+
+M src/lib-mail/mail-user-hash.c
+M src/lib-mail/mail-user-hash.h
+
+2017-08-27 13:55:52 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (dfdcbff54e)
+
+ doveadm-fs: Fix argument handling
+
+ If argument contains - and needs to be passed to doveadm-fs then it needs --
+ to make sure getopt won't choke on it, and due to this, we need to use
+ getopt in doveadm-fs too, to make sure -- gets removed.
+
+M src/doveadm/doveadm-fs.c
+
+2017-08-27 12:50:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (42db382152)
+
+ doveadm-dict: Convert to new parameter handling
+
+ Fixes problems with negative numbers as parameters
+
+M src/doveadm/doveadm-dict.c
+
+2017-08-27 12:57:51 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (98800cb9f5)
+
+ doveadm: Make sure positional arguments end up in right place
+
+ Otherwise -- is placed into wrong place and breaks command line reparsing in
+ legacy functions.
+
+M src/doveadm/doveadm-cmd.c
+
+2017-02-07 13:06:31 +0100 Tom Sommer <tomsommer@users.noreply.github.com> (dff6594393)
+
+ init: Execute /etc/default/dovecot on init, if it exists
+
+
+M doc/dovecot-initd.sh
+
+2017-01-12 10:02:13 +0100 Tom Sommer <tomsommer@users.noreply.github.com> (6e43098a45)
+
+ init: Execute /etc/sysconfig/dovecot on init, if it exists
+
+ Helps users set `ulimit`, `DAEMON` etc. without having to touch the init.d
+ script.
+
+M doc/dovecot-initd.sh
+
+2017-09-04 17:43:31 +0200 manuel <manuel@mausz.at> (ef4ca21b91)
+
+ auth: cache: don't log password mismatch twice
+
+ If auth cache is enabled and the last auth was successful dovecot assumes
+ the password has been changed and invalidates the cache which results in
+ double logging of the same password mismatch. This also applies to expired
+ negative cache entries.
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/passdb-cache.c
+
+2017-09-05 10:43:46 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (280bc7d8b0)
+
+ dsync: Ignore missing remote mailbox when doing unidirectional sync
+
+ If there are some folders on remote system that are being ignored by remote
+ brain, do not error out.
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox.h
+
+2017-09-04 17:48:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (838a76b0f4)
+
+ lib-storage: Fix INBOX notifications to set correct events
+
+ This fixes IMAP NOTIFY so it doesn't send STATUS notifications to INBOX when
+ it doesn't have to.
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+
+2017-09-04 17:37:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5b89818991)
+
+ lib-storage: List index notify cleanup - move code to separate functions
+
+ No functional changes. In preparation for the next commit.
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+
+2017-09-04 16:59:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (921a1eac5b)
+
+ lib-storage: Remove INBOX notification checks if mailbox events aren't
+ requested
+
+ Nothing would be done with the results of those checks.
+
+ Note that MAILBOX_LIST_NOTIFY_UIDVALIDITY can be handled using mailbox list
+ index, even for INBOX with mailbox_list_index_include_inbox=no.
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+
+2017-09-04 16:55:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (91cec71840)
+
+ lib-storage: Optimize INBOX notifications with
+ mailbox_list_index_include_inbox=yes
+
+ There's no need for special INBOX checks in that case, because INBOX is
+ tracked in the mailbox list index the same as any other mailbox.
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+
+2017-09-04 12:40:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cefa6f3df2)
+
+ pop3-migration: Strip away invalid header lines.
+
+ If there's no ":" in the header, remove it. Fixes matching mails with
+ Zimbra.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/pop3-migration/test-pop3-migration-plugin.c
+
+2017-09-04 13:25:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (64dcdfcd05)
+
+ example-config: Update mail_temp_dir comment
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2017-09-04 19:37:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3bfdab4b3b)
+
+ pop3-migration: Fail if all IMAP mails were matched by size, but POP3 had
+ extra mails
+
+ This makes the handling same as what happens when the same situation happens
+ and the last mails were matched by headers. That's an error, unless
+ pop3_migration_ignore_*_uidls=yes.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2017-09-04 18:32:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (65e19f9777)
+
+ pop3-migration: Add pop3_migration_ignore_extra_uidls=yes setting
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2017-09-04 15:32:24 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2e684ad58a)
+
+ notify-status: Provide access to all easy fields
+
+
+M src/plugins/notify-status/notify-status-plugin.c
+
+2017-08-31 01:59:22 +0300 compmaniak <6314398+compmaniak@users.noreply.github.com> (4e3be303f8)
+
+ lib: Preallocate output space for base64 encoding
+
+
+M src/lib/base64.c
+
+2017-08-31 01:25:22 +0300 compmaniak <6314398+compmaniak@users.noreply.github.com> (f117e28049)
+
+ lib: Reduced conditional logic in base64_encode
+
+
+M src/lib/base64.c
+
+2017-08-31 01:04:48 +0300 compmaniak <6314398+compmaniak@users.noreply.github.com> (24dfb49cf0)
+
+ lib: Fix MAX_BASE64_ENCODED_SIZE macro
+
+
+M src/lib/base64.h
+
+2017-08-30 13:51:20 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (0dac2f5f0a)
+
+ lib: optimize nearest_power
+
+ Instead of looping over each bit of a size_t, we can use a closed form
+ expression.
+
+M src/lib/bits.c
+M src/lib/bits.h
+
+2017-08-30 20:49:17 -0400 Anton Yuzhaninov <citrin@citrin.ru> (9dadffcd25)
+
+ lib-compression: Fix assert in i_stream_zlib_seek
+
+ Also fix same bug in i_stream_bzlib_seek, i_stream_lz4_seek,
+ i_stream_lzma_seek.
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+
+2017-08-30 09:50:48 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (820f4f32cb)
+
+ db-oauth2: Add some debugging
+
+
+M src/auth/db-oauth2.c
+
+2017-08-29 00:24:46 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3dc38e4053)
+
+ lib-http: client: Improved absolute request timeout error message.
+
+ Now mentions that it is the absolute timeout. Provides the request
+ statistics also provided for the regular attempt timeout message.
+
+M src/lib-http/http-client-queue.c
+
+2017-08-25 18:40:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (84af637240)
+
+ sdbox: Don't open mail files when expunging
+
+ It was done when mail_attachment_fs was non-empty (and default is
+ non-empty), even though mail_attachment_dir was empty.
+
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2017-08-25 18:02:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1ee688af5a)
+
+ lib-storage: mail_storage_set_critical() - don't free old error_string too
+ early
+
+ It may be used in one of the parameters.
+
+M src/lib-storage/mail-storage.c
+
+2017-08-25 19:38:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f32c6ed9db)
+
+ imap: Add debug logging for [un]hibernation
+
+ The logs should now clearly say when a client was hibernated and when/why it
+ was was unhibernated.
+
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+M src/imap/imap-master-client.c
+M src/imap/imap-state.c
+
+2017-08-25 19:53:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1bb7fb04a0)
+
+ quota dict: Log when quota is recalculated if mail_debug=yes
+
+
+M src/plugins/quota/quota-dict.c
+
+2017-08-18 11:51:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (02e78eb1e4)
+
+ director: Run director/host changing doveadm commands only after ring is
+ synced
+
+ If the ring sync is still pending, the doveadm command may become reverted.
+ This doesn't fully prevent problems caused by sending doveadm commands
+ simultaneously to multiple directors, but it should prevent issues when only
+ a single director is used for doveadm commands.
+
+ It would have been nice to enable this also for HOST/DIRECTOR-LIST commands,
+ but they don't support returning a ring timeout error without changing the
+ protocol. It's a bit too much effort to change that for now.
+
+M src/director/doveadm-connection.c
+
+2017-08-14 10:29:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6ecc5475f7)
+
+ director: doveadm HOST-* commands now wait for ring sync before returning OK
+
+ This should make it easier for tests and maybe for scripts in general, so
+ they won't think the command failed when it just takes a while to finish.
+
+M src/director/doveadm-connection.c
+M src/director/doveadm-connection.h
+M src/director/main.c
+
+2017-08-14 10:06:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6f5310d61c)
+
+ director: Cleanup - Doveadm commands now return enum
+ doveadm_director_cmd_ret
+
+
+M src/director/doveadm-connection.c
+
+2017-08-14 10:01:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (68f7668b93)
+
+ director: Cleanup - Move all doveadm commands into an array.
+
+
+M src/director/doveadm-connection.c
+
+2017-08-21 15:44:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (18122b1fb9)
+
+ mdbox: Use mail_storage_set_index_error() instead of poorly duplicating it
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2017-08-21 15:34:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (34902486e2)
+
+ lib-storage: Add mail_storage_set_index_error()
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2017-08-21 15:29:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5f9ee4f6e0)
+
+ lib-storage: index_mail_set_cache_corrupted() - Don't reset internal error
+ string
+
+ It's already set correctly by the earlier functions.
+
+M src/lib-storage/index/index-mail.c
+
+2017-08-21 15:27:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (041f22a112)
+
+ lib-storage: mail_set_mail_cache_corrupted() - set also internal error
+ string
+
+
+M src/lib-storage/mail-storage.c
+
+2017-08-21 15:26:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0bab015a5a)
+
+ lib-storage: mailbox_set_index_error() - Set internal error string to
+ index's error
+
+
+M src/lib-storage/mail-storage.c
+
+2017-08-21 15:11:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fe7a56906e)
+
+ lib-storage: Fix error logging after mail_storage_set_internal_error()
+
+ The function doesn't actually set the last_internal_error and it also
+ doesn't update last_error_is_internal, so calling
+ mail_storage_get_last_internal_error() afterwards could be returning an
+ error for some different older error.
+
+ Since there's no parameter to set the internal error string, just reset
+ last_error_is_internal=FALSE.
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/test-mail-storage.c
+
+2017-08-25 15:12:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4078733e58)
+
+ lib-index: Avoid opening .log.2 file if .log was reset
+
+ After a reset there's no point in trying to read the older log files. This
+ avoids trying to open .log.2 at least for newly created mailboxes when
+ trying to lookup log file sequence 1 (since due to some bug/feature the log
+ files start from sequence 2).
+
+M src/lib-index/mail-transaction-log.c
+
+2017-08-24 17:01:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f37939033c)
+
+ log: Log a warning for each service that still has processes at shutdown
+
+ This makes it clearer which services are causing log process to hang, and
+ also which processes may have their logging discarded afterwards.
+
+M src/log/log-connection.c
+
+2017-08-24 17:00:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9a795eb603)
+
+ log: Include PID in prefix for internal log messages.
+
+
+M src/log/log-connection.c
+M src/log/log-connection.h
+M src/log/main.c
+
+2017-08-24 16:31:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cc93382594)
+
+ master: Log "Processes aren't dying after reload" only when signals are sent
+
+ This required moving the warning after the "Sent SIG.. to .. processes"
+ warnings, which is a little bit annoying. However, now it's at least not
+ unnecessarily logging the warning when it's not doing anything about the
+ processes.
+
+M src/master/service.c
+
+2017-08-24 16:24:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4a62ed78e6)
+
+ master: Improve killing processes when they don't die after reload
+
+ The old behavior was: 1. Send SIGTERM to all processes, except log 2. Send
+ SIGTERM to all processes, including log 3. Send SIGKILL to all processes,
+ including log
+
+ The new behavior is now: 1. Send SIGTERM to all processes, except log 2.
+ Send SIGKILL to all processes, except log
+
+ Only after there aren't any processes left except log, send SIGTERM to it.
+ If that doesn't work, send SIGKILL.
+
+M src/master/main.c
+M src/master/service.c
+M src/master/service.h
+
+2017-08-25 13:38:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a1d3ff7345)
+
+ pop3-migration: Try to assign UIDLs based on dovecot.index.cache
+
+ Add the UIDLs to (imapc) mailbox cache after they've been assigned. Try to
+ read them from the cache on the next sync to avoid reading mails' headers.
+
+ This can be disabled with pop3_migration_skip_uidl_cache=yes, just in case
+ there's some kind of a problem with it.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2017-08-25 13:36:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bc3661d710)
+
+ pop3-migration: Delete unnecessary POP3 order checking code
+
+ Nothing is actually using the result.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2017-08-25 13:16:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3e376d7c58)
+
+ lib-storage: Support LISTINDEX= to disable it
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2017-08-24 10:01:02 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (56fbb7e700)
+
+ lib-settings: Escape comma in section name.
+
+ Comma is valid symbol in encoded non-ascii section names, so it shouldn't be
+ used as splitting symbol in section name.
+
+M src/lib-settings/settings-parser.c
+
+2017-08-18 15:29:09 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (086e8ecc50)
+
+ quota plugin: restructure quota_root_get_rule_limits()
+
+ If the user has unlimited quota, we have no reason to find the real mailbox
+ name.
+
+M src/plugins/quota/quota.c
+
+2017-08-23 13:14:50 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9c5c54ab0d)
+
+ apparmor: Call super deinit function
+
+ Otherwise user won't get properly deinitialized, forgotten in
+ a7a0f3196b2b97577ebd9e804507d58e67508fcf
+
+M src/plugins/apparmor/apparmor-plugin.c
+
+2017-08-18 17:38:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c3fab8b44c)
+
+ lib-storage: Call mail_cache_close_mail() when mail is closed
+
+ Fixes caching problems with INDEX=MEMORY
+
+M src/lib-storage/index/index-mail.c
+
+2017-08-18 17:34:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (93cb78fb19)
+
+ lib-index: Add mail_cache_close_mail() to smartly drop cached data with
+ INDEX=MEMORY
+
+ Instead of reseting the entire transaction buffer when 256 kB is reached,
+ just drop mails have have been marked closed with mail_cache_close_mail().
+ If that's not enough, continue deleting forcibly until the buffer is below
+ 256 kB.
+
+ This is especially important when mail_prefetch_count>0 and INDEX=MEMORY. In
+ that case there can be multiple mails that are being added to cache and used
+ later on. If they were dropped from cache too early, the work would have to
+ be done all over again.
+
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.h
+
+2017-08-18 14:58:37 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (351233c810)
+
+ doveadm: Actually use resolved IP address(es) in director flush
+
+ It left the IP variable unitialized which caused host parameter to be left
+ empty causing flush all. Flushing with IP address was not affected.
+
+M src/doveadm/doveadm-director.c
+
+2017-08-18 11:22:52 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9f24d61f49)
+
+ doveadm-server: Deinitialize print on connection destroy
+
+ Otherwise print remains initialized and can break when reusing the service.
+
+M src/doveadm/client-connection.c
+
+2017-08-18 11:09:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1707f8b66f)
+
+ director: Fix rapid reconnection on failed outgoing connections
+
+ last_network_failure wasn't set, which caused a failed outgoing connection
+ to immediately reconnect to it. This resulted in rapid logging of connect()
+ errors.
+
+M src/director/director-connection.c
+
+2017-08-17 13:20:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f784d5bb8e)
+
+ global: Add/change switch case "fall through" comments
+
+ These fix warnings with gcc 7's -Wimplicit-fallthrough
+
+M src/auth/password-scheme.c
+M src/lib-fts/fts-filter-contractions.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-ldap/ldap-connection.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/message-header-encode.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/mail-search.c
+M src/lib/json-parser.c
+M src/plugins/fts/fts-search-args.c
+
+2017-08-17 14:42:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2c8259de19)
+
+ lib: Add missing parenthesis to timeout_add()'s msecs parameter checks
+
+ This caused wrong results when the msecs parameter contained e.g. var?1:2
+
+M src/lib/ioloop.h
+
+2017-08-17 13:14:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d31018c559)
+
+ lib: Fix compiler warning about mixing boolean with multiplication
+
+
+M src/lib/macros.h
+
+2017-08-17 14:17:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b12757f0d8)
+
+ doveadm mcp keypair generate: Fix -f parameter
+
+
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2017-07-24 14:40:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9599d7ecbc)
+
+ virtual: Make sure sync_mailbox_idx isn't used uninitialized
+
+ Changing its indexes to start from 1, we can add an assert to check that
+ it's never the default 0 when we need to use it.
+
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+
+2017-07-13 10:02:26 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a7a0f3196b)
+
+ apparmor: Add apparmor plugin
+
+ It lets dovecot temporarily switch to a new apparmor context for a user.
+
+M configure.ac
+A m4/want_apparmor.m4
+M src/plugins/Makefile.am
+A src/plugins/apparmor/Makefile.am
+A src/plugins/apparmor/apparmor-plugin.c
+
+2017-08-10 17:50:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8017d6c674)
+
+ director: Make sure users gets expired even on an idle director
+
+ Normally expiring gets done while looking up users, but if nothing is doing
+ that on an idle director the users won't get expired. This can cause
+ confusion in "doveadm director status" output.
+
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+
+2017-08-16 13:53:55 +0300 Michael Koch <michael.koch@open-xchange.com> (3df60858b1)
+
+ push-notification plugin: properly terminate strings
+
+ Without this fix, if the new message does not contain a from, a subject, and
+ a snippet the generated JSON will be malformed (the status check at the end
+ appended a '"' when it shouldn't have).
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2017-08-15 11:09:07 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (bd18d17a3d)
+
+ auth: auth_request_log_unknown_user() to call common
+ auth_request_log_login_failure()
+
+ Separate implementation of auth_request_log_unknown_user() is replaced with
+ call to auth_request_log_login_failure() NOTE: behavior of the
+ auth_request_log_unknown_user() is changed and is in line with
+ auth_request_log_password_mismatch()
+
+M src/auth/auth-request.c
+
+2017-08-15 11:07:46 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (3742e38a17)
+
+ auth: auth_request_log_password_mismatch() to call common
+ auth_request_log_login_failure()
+
+ Separate implementation of auth_request_log_password_mismatch() is replaced
+ with call to auth_request_log_login_failure()
+
+M src/auth/auth-request.c
+
+2017-08-15 11:06:58 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (1beabc460e)
+
+ auth: ldap auth bind password mismatch logging is changed
+
+ All unknown user and password mismatch logging is performed in the same way
+ in both auth_bind = yes and auth_bind = no cases.
+
+M src/auth/passdb-ldap.c
+
+2017-08-15 09:27:09 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (de6c3680d9)
+
+ auth: Added auth_request_log_login_failure()
+
+ New function implementing functionality of auth_request_log_unknown_user()
+ and auth_request_log_password_mismatch()
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2017-08-14 15:44:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b07a3abc4c)
+
+ cassandra: Fix confusing debug logging for paged query results.
+
+ Even when caller supported paged queries, the debug output contained
+ "Paged query has more results, but not supported by the caller". Clear out
+ the error after sql_result_more() is called, so it won't be logged.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-07-28 12:35:07 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6894cb9564)
+
+ auth: Do not use strcasecmp to compare mechanisms
+
+ This is optimization since strcasecmp is slow
+
+M src/auth/mech.c
+
+2017-07-28 10:20:17 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (083675993c)
+
+ auth: Empty schemes cannot be aliases
+
+ Optimizes cases where empty scheme is compared to PLAIN
+
+M src/auth/password-scheme.c
+
+2017-08-14 14:48:05 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (512e3c94f6)
+
+ auth: Use strchr to split encoding and scheme
+
+ This is an optimization because usually strchr is faster
+
+M src/auth/password-scheme.c
+
+2017-07-28 10:09:06 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f937937c96)
+
+ auth: Use hash table for schemes
+
+
+M src/auth/password-scheme.c
+M src/auth/password-scheme.h
+M src/doveadm/doveadm-pw.c
+
+2017-07-28 09:47:09 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (00bd7d0e21)
+
+ lib: Add strfastcase_hash
+
+ Fast case-insensitive hashing which works by masking signed bytes with 0x20.
+
+M src/lib/hash.c
+M src/lib/hash.h
+
+2017-08-08 16:56:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5e03576913)
+
+ lib-index: Fix wrong mail_index_modseq_header automatically
+
+ It happens only on the next sync, although that isn't actually guaranteed to
+ happen. Still, it happens almost always so this should be good enough.
+
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/test-mail-transaction-log-file.c
+
+2017-08-08 16:54:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7e78f1cfc1)
+
+ lib-index: Code cleanup - move code to get_modseq_next_offset_at()
+
+ In preparation for making the next commit smaller.
+
+M src/lib-index/mail-transaction-log-file.c
+
+2017-08-08 14:55:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2c4d4d0af1)
+
+ lib-index: Add unit tests to
+ mail_transaction_log_file_get_modseq_next_offset() and
+ _get_highest_modseq_at()
+
+
+M src/lib-index/test-mail-transaction-log-file.c
+
+2017-08-08 14:01:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9f02b2016f)
+
+ lib-index: Add unit test to mail_transaction_update_modseq()
+
+
+M src/lib-index/Makefile.am
+A src/lib-index/test-mail-transaction-log-file.c
+
+2017-08-05 14:38:50 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (2b170a01b7)
+
+ lib-index: Remove tracking of mail_index_modseq_sync.highest_modseq
+
+ It's no longer necessary after the previous changes.
+
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-modseq.h
+M src/lib-index/mail-index-sync-update.c
+
+2017-08-05 14:33:12 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (43ab0dbe6b)
+
+ lib-index: Fix setting highest_modseq correctly in mail_index_modseq_header
+
+ The internally counted ctx->highest_modseq wasn't correct if all of the
+ records weren't synced. This could have happened for various reasons. Since
+ the view's current log seq/offset is used for the header, we can also use
+ the current highest_modseq from the view as well and it's guaranteed to be
+ correct.
+
+ This fixes various potential problems with using QRESYNC and CONDSTORE
+ extensions. It also fixes potential errors with unhibernating imap clients,
+ including:
+
+ Error: .../dovecot.index.log: Transaction log changed unexpectedly, can't
+ get modseq
+
+M src/lib-index/mail-index-modseq.c
+
+2017-08-05 14:29:12 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (eda341e845)
+
+ lib-index: Update per-flag modseq value a bit more correctly.
+
+ This changes the code to be similar to the per-mail modseq updating in
+ mail_index_modseq_update(). It probably wasn't exactly wrong previously
+ either, but this change is required for the following commits.
+
+M src/lib-index/mail-index-modseq.c
+
+2017-08-05 14:16:31 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (0cb5be3dc2)
+
+ lib-index: Fix checking if modseq header is up-to-date
+
+ We were almost always assuming that it is.
+
+M src/lib-index/mail-index-modseq.c
+
+2017-08-05 14:11:17 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (ace341ac56)
+
+ lib-index: Fix modseq tracking with multiple flag updates
+
+ The earlier code was checking only the first flag record update. If the
+ first one had only internal flag changes but (some of) the rest didn't, the
+ modseq wasn't counted correctly. This was probably pretty rare.
+
+M src/lib-index/mail-transaction-log-file.c
+
+2017-08-05 14:07:58 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (892d85b7c6)
+
+ lib-index: Fix modseq tracking for MAIL_INDEX_MAIL_FLAG_UPDATE_MODSEQ
+
+ This is used to increase modseq for mails when their private flags change.
+ Use an already existing MAIL_TRANSACTION_FLAG_UPDATE_IS_INTERNAL() that does
+ this properly.
+
+ (This change preserves another bug, which is fixed in the next commit.)
+
+M src/lib-index/mail-transaction-log-file.c
+
+2017-08-09 13:17:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b0ead8fffe)
+
+ dsync: Add missing transaction flags when performing UID renumbering
+
+ The transaction didn't have MAILBOX_TRANSACTION_FLAG_SYNC or
+ MAILBOX_TRANSACTION_FLAG_NO_NOTIFY (with DSYNC_BRAIN_FLAG_NO_NOTIFY).
+
+ This caused replication-dsync to unnecessarily trigger another dsync
+ replication notification.
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2017-08-08 20:07:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (db19aa0cec)
+
+ lib: When logging I/O or timeout leak, log also raw backtrace
+
+ This can be useful when trying to figure out where the io_loop_destroy() was
+ called from.
+
+M src/lib/ioloop.c
+
+2017-08-09 13:41:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c0c346d0e6)
+
+ lib-storage: Panic if at mailbox_free() there are open attribute iterators.
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-attribute.c
+
+2017-08-09 13:23:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a846e6d6b4)
+
+ push-notification: Switch to main ioloop while calling drivers'
+ deinit/cleanup callbacks
+
+ Continues a44595f7b1afc7ccbd8653598753b32899d01c76 to other functions. For
+ example the OX backend would call http_client_wait(), which would move the
+ I/Os and timeouts to the current ioloop, which might not be main_ioloop
+ always. When that ioloop gets destroyed, I/O and timeout leaks are logged
+ and eventually the process crashes when calling http_client_deinit() in
+ cleanup() (this would happen later for another mail_user).
+
+M src/plugins/push-notification/push-notification-plugin.c
+
+2017-08-08 22:11:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (65b82c99b1)
+
+ lib: Add asserts to make sure running ioloop is always current_ioloop
+
+ We could also switch current_ioloop to the running ioloop temporarily while
+ calling callbacks, but this behavior is probably clearer. All of the
+ existing code should already work this way.
+
+ Add the asserts after IO or timeout callback is called, so if the assert
+ triggers, we can find out which callback caused the change. The initial
+ assert in io_loop_handler_run() is enough to verify that the initial ioloop
+ is correct.
+
+M src/lib/ioloop.c
+
+2017-07-26 12:53:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5fe2339f8a)
+
+ virtual: Sync backend flags on initial sync when UIDVALIDITY hasn't changed
+
+ Before recent fixes the UIDVALIDITY was thought to change almost every time,
+ so this bug wasn't visible.
+
+M src/plugins/virtual/virtual-sync.c
+
+2017-07-26 13:35:36 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9badddc243)
+
+ virtual: Do not store recent flags to virtual index
+
+ Setting the flag here would case unnecessary index update to clear the flag
+ later on.
+
+M src/plugins/virtual/virtual-sync.c
+
+2017-08-08 22:25:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (68d25b7a82)
+
+ lib: If CORE_IO_LEAK environment is set, panic on IO/timeout leaks
+
+
+M src/lib/ioloop.c
+
+2017-08-02 10:54:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3c8055b25b)
+
+ imapc: Add imapc_features=send-id to send ID x-session-ext-id
+
+
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-08-02 10:49:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3b7427fca4)
+
+ lib-imap-client: Support sending IMAP ID command including unique
+ x-session-ext-id
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+
+2017-08-08 00:31:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c8be39472a)
+
+ mdbox: "Inconsistency in map index" wasn't fixing itself automatically
+
+ Broken by b9da8540e665138b3cad0b637c08c0ab7d7a7eeb
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2017-08-07 16:03:46 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (cfc6ae77ff)
+
+ doveadm: mailbox_list_index_very_dirty_syncs disabled for force-resync
+
+ prerun of cmd force-resync sets mailbox_list_index_very_dirty_syncs to no
+ for mail_storage_service_user befor mail_user is allocated.
+
+M src/doveadm/doveadm-mail.c
+
+2017-08-07 15:59:35 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (24ff040448)
+
+ lib-storage: added settings updating function for the mail_storage_service
+ user
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2017-08-04 18:20:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0a2511b99d)
+
+ lazy-expunge: Log internal errors instead of just "Internal error occurred"
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2017-08-04 13:31:19 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (740564d07f)
+
+ lib-storage: If mailbox_list_index_very_dirty_syncs=yes, still rebuild empty
+ list index
+
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+
+2017-08-01 13:48:55 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (baf7aa6b22)
+
+ lib-imap-client: Log an info-line when connected to remote server
+
+ Include the remote IP:port ad local IP:port. This allows matching the
+ connection with the remote server's logs (or e.g. haproxy logs).
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-07-30 09:39:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (38cf8e6fc6)
+
+ lib-storage: MAIL_STORAGE_SERVICE_FLAG_NO_PLUGINS wasn't working correctly
+
+ Especially with "doveadm user" it still triggered running the plugins,
+ because doveadm loads all the plugins early.
+
+M src/lib-storage/mail-storage-service.c
+
+2017-07-20 13:24:21 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (917cac3e0f)
+
+ auth: Escape LDAP search filter properly
+
+ This is syntaxical escaping to make ldap servers accept queries with
+ escapable characters, instead of erroring out.
+
+M src/auth/db-ldap.c
+
+2017-07-20 08:49:25 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b55776caaa)
+
+ dict-ldap: Escape LDAP search filter properly
+
+ This is syntaxical escaping to make ldap servers accept queries with
+ escapable characters, instead of erroring out. It is possible that the
+ filter could have been modified in unexpected ways if the input comes from
+ untrusted sources.
+
+M src/plugins/dict-ldap/dict-ldap.c
+
+2017-07-20 08:48:30 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5ad53564f6)
+
+ lib-ldap: Store error if sending request to LDAP fails
+
+ If the request cannot be sent e.g. due to bad search filter store the error
+ into the result.
+
+ Fixes Panic: file ldap-connection.c: line 709 (ldap_result_has_failed):
+ assertion failed: ((result->openldap_ret == LDAP_SUCCESS) ==
+ (result->error_string == NULL))
+
+M src/lib-ldap/ldap-connection.c
+
+2017-07-27 16:34:34 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (d577bb9027)
+
+ lib-http: message parser: Reject messages with invalid Date header when
+ HTTP_MESSAGE_PARSE_FLAG_STRICT flag is enabled.
+
+
+M src/lib-http/http-message-parser.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-response-parser.c
+
+2017-07-27 16:30:20 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (76b50cc56d)
+
+ lib-http: Fixed bug in date parser: sometimes read one byte past end of
+ input.
+
+ This caused spurious parse errors.
+
+M src/lib-http/http-date.c
+
+2017-07-27 16:03:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (f4b515d24a)
+
+ lib-http: test-http-response-parser: Show error message for tests of invalid
+ responses.
+
+
+M src/lib-http/test-http-response-parser.c
+
+2017-07-26 19:47:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5638e66bf4)
+
+ imap: Flush response to client before starting possibly long operation
+
+ Fixes Error: Timeout communicating with /var/run/dovecot/imap-master
+ (version received)
+
+M src/imap/imap-master-client.c
+
+2017-07-26 19:42:48 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (bbc043c666)
+
+ imap: Set client created before initializing namespaces
+
+ Fixes Panic: file master-service.c: line 819
+ (master_service_client_connection_destroyed): assertion failed:
+ (service->master_status.available_count < service->total_available_count)
+
+M src/imap/imap-master-client.c
+
+2017-07-25 20:53:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d823c19df4)
+
+ lib-storage: Hide and rmdir \NoSelect leaf mailboxes with NO-NOSELECT
+
+ If the leaf is successfully rmdir()ed, rmdir() also its parents.
+
+ This doesn't work perfectly with if there are multiple levels of \NoSelect
+ mailboxes. For example with "a/b/c" the listing will already have returned
+ "a" and "a/b" before it reaches the "a/b/c" code, which will rmdir all of
+ them, but it's a bit too late at that point. It's too much work to fix
+ though, and the situation will be fixed on the next list anyway.
+
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-delete.h
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-iter-private.h
+
+2017-07-25 16:10:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (eaa2d473ed)
+
+ lib-storage: Add setting to disable \NoSelect mailboxes
+
+ Enabled using mail_location = ...:NO-NOSELECT
+
+ Trying to create \NoSelect "dir/" will result just creating "dir", similar
+ to how Maildir++ layout already did it.
+
+ Deleting a mailbox will delete all of its \NoSelect parents.
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2017-07-25 15:54:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5693411c1b)
+
+ lib-storage: Mailbox rename shouldn't auto-rmdir parent index dirs with
+ ITERINDEX
+
+ For example:
+ - create a/b
+ - rename a/b c
+
+ This resulted in "a" existing in mail root directory, but not in index
+ directory. With ITERINDEX this meant that the "a" was lost.
+
+M src/lib-storage/list/mailbox-list-delete.c
+
+2017-05-23 14:05:02 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2b1933b133)
+
+ lib-storage: index: Made MIME FILENAME search criterion match
+ case-insensitively.
+
+
+M src/lib-storage/index/index-search-mime.c
+M src/lib-storage/index/index-search-private.h
+M src/lib-storage/index/index-search.c
+
+2017-07-19 21:24:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (77a41c18e6)
+
+ doveadm service status: Add doveadm_stop field
+
+ This indicates whether "doveadm service stop" was used for the service.
+
+M src/doveadm/doveadm-master.c
+M src/master/master-client.c
+M src/master/service.h
+
+2017-07-25 09:35:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d85f37fe02)
+
+ lib-storage: If root dir already exists as file, log better error message.
+
+
+M src/lib-storage/mailbox-list.c
+
+2017-07-25 10:39:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a602629cbc)
+
+ lib: Fix compiler warning in var-expand-if
+
+
+M src/lib/var-expand-if.c
+
+2017-07-25 09:43:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ac225e8926)
+
+ lib: Fix static analyzer warnings in var-expand-if
+
+
+M src/lib/var-expand-if.c
+
+2017-07-24 21:08:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (992511e0cf)
+
+ lib-storage: Try to get mailbox list index's permissions from its parent
+ directory
+
+ This avoids stat()ing the mail/index root directory, which is especially
+ useful when mailbox list index is stored in tmpfs.
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2017-07-24 21:07:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cded712c19)
+
+ lib-index: Add mail_index_use_existing_permissions()
+
+ This has annoyingly lot of copy&pasting from
+ mailbox_list_get_permissions_stat(), but there didn't seem to be any nice
+ place where to share the code.
+
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+
+2017-07-24 20:48:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b12798bbbd)
+
+ lib-storage: If ITERINDEX is set, delay checking whether mail root exists
+
+ In future this could be done even without ITERINDEX. It's not done yet,
+ since it might break backwards compatibility with some systems.
+
+M src/lib-storage/mail-storage.c
+
+2017-07-22 18:39:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (49c48631cf)
+
+ lib-storage: Allow LISTINDEX to point to a different directory
+
+ Most importantly because the mailbox list index is only a cache, it could be
+ safely pointed to e.g. tmpfs to save disk I/O.
+
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2017-07-24 18:30:01 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9ab2df665e)
+
+ var-expand-if: Remove unused variable par_start
+
+
+M src/lib/var-expand-if.c
+
+2017-07-24 14:17:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e412286704)
+
+ lib-storage: Add mailbox_list_index_include_inbox setting
+
+ This controls whether to update INBOX's STATUS information in the mailbox
+ list index. It can be useful especially if LISTINDEX points to a tmpfs, but
+ perhaps also in other situations.
+
+ I considered adding a more generic setting to exclude other mailboxes, but
+ the namespace prefixes and hierarchy separators get a bit complicated with
+ shared mailboxes. It's probably also not very useful to change this for
+ anything but the INBOX.
+
+M doc/example-config/conf.d/10-mail.conf
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2017-07-24 14:12:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (00f85d286c)
+
+ example-config: Add mailbox_list_index_very_dirty_syncs
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2017-07-23 12:32:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b3d5afcc92)
+
+ lib-master: Allow userdb to return postlogin socket path.
+
+ Returning "postlogin=socketpath" as userdb extra field overrides the
+ postlogin socket path in the service { executable } parameter.
+
+M src/lib-master/master-login.c
+
+2017-07-24 16:37:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (baf97389e2)
+
+ lib-storage: If userdb returns chdir extra field, chdir() there instead of
+ home
+
+ This can avoid unnecessary home directory accesses if indexes are stored
+ outside the home and there's no other reason to chdir() to home.
+
+M src/lib-storage/mail-storage-service.c
+
+2017-07-24 16:36:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1fe027b2ca)
+
+ lib-storage: If chdir(home) fails due to EACCES, don't log two errors.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2017-07-24 13:31:49 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (57479bd660)
+
+ var-expand: Add tests for var_expand conditionals
+
+
+M src/lib/test-var-expand.c
+
+2017-07-24 13:31:02 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b3e7142565)
+
+ var-expand: Add support for conditionals
+
+ %{if;value-a,op,value-b:true-value:false-value}
+
+M src/lib/Makefile.am
+A src/lib/var-expand-if.c
+M src/lib/var-expand-private.h
+M src/lib/var-expand.c
+
+2017-07-21 19:52:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bc7d7e41fe)
+
+ virtual: Make sure index is rewritten when new mailboxes are added
+
+ Otherwise multiple bbox->sync_mailbox_idx point to 0 and they keep
+ overwriting each others in the header. This causes the header to be
+ constantly updated with wrong contents.
+
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+
+2017-07-20 16:18:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0c9a105546)
+
+ lib-storage: Add UIDVALIDITY to mailbox list index on mailbox create
+
+ This avoids an unnecessary secondary write later on when opening the
+ mailbox.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2017-07-20 16:01:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ec1cfee080)
+
+ lib-storage: Don't update INBOX's sync status to mailbox list index
+
+ It's not actually used so there's no need to update it either. Broken by
+ 70092709cdc803c87b8f4ef1b0548eb45515bdae
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2017-07-20 09:46:00 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (6b4d642a2e)
+
+ lib-sql: Remove duplicate Cassandra consistency names
+
+
+M src/lib-sql/driver-cassandra.c
+
+2017-07-20 11:01:37 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7a758aabec)
+
+ virtual: Do not remove mailbox notify if the mailbox is closed
+
+ The backend mailbox close/open status is not related to the notify API
+ usage. The notify is removed in virtual_mailbox_close_internal instead when
+ we are actually deinitializing.
+
+M src/plugins/virtual/virtual-storage.c
+
+2017-07-19 23:19:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (81e832796c)
+
+ virtual: Optimize mailbox_notify_changes() when there's only a single
+ backend mailbox
+
+
+M src/plugins/virtual/virtual-storage.c
+
+2017-07-19 23:11:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2044eb7652)
+
+ lib-storage: mailbox_watch_extract_notify_fd() - give better reason if
+ mailbox has no IOs
+
+ This happens currently with virtual mailboxes.
+
+M src/lib-storage/mailbox-watch.c
+
+2017-07-19 23:09:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a6280be05b)
+
+ lib: io_loop_extract_notify_fd() - Don't crash if no notifys have been added
+
+
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-kqueue.c
+
+2017-07-11 13:12:46 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (0c803d52ad)
+
+ imap: Add %{appended} to imap_logout_format
+
+
+M doc/example-config/conf.d/20-imap.conf
+M src/imap/cmd-append.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2017-07-03 15:20:14 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (375c6e1582)
+
+ doc: Change del to deleted in imap_logout_format default to match code
+
+
+M doc/example-config/conf.d/20-imap.conf
+
+2017-07-03 17:12:08 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (0aa23d8824)
+
+ imap-client: Add %{autoexpunged} to imap_logout_format
+
+
+M doc/example-config/conf.d/20-imap.conf
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2017-07-04 09:25:21 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (d6bb1be2c6)
+
+ imap-client: Add const char *disconnect_reason to client
+
+ This is to allow using reason given to client_disconnect() via timeout
+ context.
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2017-07-19 13:43:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2c0485aaee)
+
+ lib-index: Fix next_uid lookup in open transaction that has appended mails
+
+ The appended mails were used for returning an updated
+ mail_index_header.next_uid, but only if the mails were assigned UIDs in
+ mail_index_append(). It should have updated the next_uid also after
+ mail_index_append_finish_uids() was used to assign the UIDs.
+
+ This fixes setting first_recent_uid correctly for virtual mailboxes when the
+ sync finds new mails. Avoids multiple sessions from getting \Recent flags
+ for the same mails.
+
+M src/lib-index/mail-index-transaction-update.c
+
+2017-07-19 10:37:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8a6afcd8a6)
+
+ cassandra: Fix read/write buffer overflows after adding
+ CASSANDRA_QUERY_TYPE_READ_MORE
+
+
+M src/lib-sql/driver-cassandra.c
+
+2017-07-19 10:35:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (065189672f)
+
+ lib-sql: Add assert to sql_result_more_s()
+
+ Should avoid a warning from static analyzer.
+
+M src/lib-sql/sql-api.c
+
+2017-07-19 12:03:58 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2f691d6dd1)
+
+ virtual: Stop watching notification on backend box close
+
+ Fixes Panic: file mail-index.c: line 662 (mail_index_close_nonopened):
+ assertion failed: (index->views == NULL)
+
+M src/plugins/virtual/virtual-storage.c
+
+2017-07-18 21:04:47 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (0d318fe07e)
+
+ virtual: Stop notifications only if they were started
+
+ Fixes Panic: file mail-storage.c: line 1950: assertion failed: (box->opened)
+
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+
+2017-07-19 10:58:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4ca4d6e091)
+
+ pop3-migration: Add unit test for checking that trailing tabs are stripped
+
+
+M src/plugins/pop3-migration/test-pop3-migration-plugin.c
+
+2017-07-19 10:57:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b696d1d6df)
+
+ lib-mail: message_header_hash() - add v4 that strips tabs
+
+ This helps with Zimbra, which strips away trailing tabs in BODY[HEADER].
+
+M src/lib-mail/message-header-hash.c
+M src/lib-mail/message-header-hash.h
+M src/lib-mail/test-message-header-hash.c
+
+2017-07-18 14:37:53 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (eba201921d)
+
+ lib-index: Mark index deleted if index log file is missing
+
+ This fixes all kinds of errors caused by mailbox being deleted by another
+ process.
+
+M src/lib-index/mail-index.c
+
+2017-07-18 14:42:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bb444f746d)
+
+ lib-index: Fix mail_index_get_modification_time() to work when index isn't
+ open.
+
+ index->filepath may be NULL after a failed index open, and it's a bit unsafe
+ to trust that index->log->filepath isn't NULL either. So just build the
+ full path from elements that are definitely non-NULL.
+
+ Also stat() only dovecot.index.log, because it's always supposed to exist.
+ If it doesn't, something's broken and stat()ing dovecot.index doesn't make
+ much sense.
+
+ This commit removes mail_transaction_log_get_mtime(), which is no longer
+ needed.
+
+ Fixes: Panic: file mail-index.c: line 931
+ (mail_index_file_set_syscall_error): assertion failed: (filepath != NULL)
+
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mail-transaction-log.h
+
+2017-07-18 12:39:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e1c762cb4c)
+
+ lib-storage: Don't allow removing \Recent flags with mail_update_flags()
+
+ Reverts an ancient commit 7deb24e7453249d09741641bff0f269f68165033. I don't
+ know why it was added in the first place. Normally \Recent flags are removed
+ during sync with MAIL_INDEX_SYNC_FLAG_DROP_RECENT. This should be enough,
+ especially since it's not even possible to remove a single \Recent flag -
+ only update the first_recent_uid.
+
+ The code was also wrong: It was dropping \Recent flags even when
+ modify_type/flags combination didn't ask for it. Even if this was fixed,
+ there would still be race conditions with multiple processes since this
+ update is done without locking.
+
+ Fixes: Error: Recent flags state corrupted for mailbox
+
+M src/lib-storage/index/index-mail.c
+
+2017-07-18 11:57:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e12a822e72)
+
+ lib-storage: If mail_index_header.first_recent_uid shrinks, reset \Recent
+ flags
+
+ This should never happen.
+
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync.c
+
+2017-07-17 18:10:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (caf029d36a)
+
+ cassandra: Improve logging for multipage queries
+
+ warn_timeout is applied to both individual page requests as well as the sum
+ of all the page requests.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-07-17 17:54:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dd3d20d9b5)
+
+ cassandra: Add page_size setting to enable paged results for queries
+
+
+M src/lib-sql/driver-cassandra.c
+
+2017-07-17 17:51:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a5f2707224)
+
+ cassandra: Add wrapper functions in preparation for following commits
+
+ No functional changes. Shrinks the following commits.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-07-17 17:54:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (55bfcb67af)
+
+ dict-sql: Add support for sql_result_more()
+
+
+M src/lib-dict/dict-sql.c
+
+2017-07-17 14:22:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (402f9bcf48)
+
+ lib-sql: Add API support for asynchronously iterating over rows.
+
+ sql_query() can already do an async lookup, but the full result needs to be
+ available immediately. This can be inefficient for large results. Add a new
+ SQL_RESULT_NEXT_MORE return value and sql_result_more() for asynchronously
+ requesting more results.
+
+ This changes the API a bit, but isn't done by default by any drivers yet.
+ Also callers that can't handle this are hopefully checking for "ret < 0",
+ which allows them to handle such an async-more request as an error instead.
+
+ sql_result_next_row() will be changed to return enum in a separate commit to
+ keep backwards compatibility in v2.2.x.
+
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-sql/driver-test.c
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-api.h
+
+2017-07-17 14:05:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7b19478fa3)
+
+ imapc: Fix caching >= 32 kB mail bodies
+
+ When closing the mail, only in-memory mail bodies were stored to cache.
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2017-07-17 10:46:14 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e653e88f70)
+
+ lib-index: Add missing colon to log text
+
+ It's added elsewhere
+
+M src/lib-index/mail-transaction-log-file.c
+
+2017-07-14 17:00:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bdc81a44ea)
+
+ master: Change service "connections are being dropped" warning interval to 1
+ second
+
+ When this is happening, it's often accompanied with all kinds of other
+ errors and these warnings drown in them. Make them easier to notice by
+ reducing the interval from 60 seconds to 1 second.
+
+M src/master/service-monitor.c
+
+2017-07-13 16:20:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (66a4847c67)
+
+ lib-storage: mailbox_create_missing_dir() - Fix handling NULL mailbox
+ directory
+
+ It would have caused stat(NULL), which would have failed. Broken by
+ 7071a02a8413fb409ade1625f6a1763c7493b66b
+
+M src/lib-storage/mail-storage.c
+
+2017-07-14 02:11:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (97ffd8e0b0)
+
+ lib-storage: When index dir rmdir() fails with ENOTEMPTY, retry it for 1
+ second
+
+ This helps to avoid leaving those index directories lying around with NFS.
+ Hopefully within the 1 second any existing processes that have been keeping
+ those files open have finished their task. Especially IMAP IDLE will take
+ 0.5 seconds to start syncing indexes and realize that they're deleted.
+
+M src/lib-storage/list/mailbox-list-delete.c
+
+2017-07-14 01:54:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fe5799cb92)
+
+ lib-index: If refreshing finds dovecot.index.log gone, assume the mailbox
+ was deleted
+
+ Don't try to recreate the log file again. It can just cause further
+ problems.
+
+ A way to reproduce this problem with NFS when INDEX dir is specified:
+ * create mailbox foo, select foo, IDLE
+ * delete mailbox foo
+ --> foo's index is recreated back by IDLEing process
+
+M src/lib-index/mail-transaction-log.c
+
+2017-07-13 03:15:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (10207755f3)
+
+ quota: Fix negative storage-based quota_warnings to work with count backend
+
+ Finishes f9362223346d10a5866b376ed227b77b26ea4292, which fixed it for
+ "messages" but not for "storage".
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-util.c
+M src/plugins/quota/quota.c
+
+2017-07-13 02:56:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3e170cc66e)
+
+ quota: When setting auto_updating to transaction, skip invisible quota roots
+
+ Skip the quota root also if the mailbox matches "ignore" quota_rule. This is
+ only an optimization fix so that unnecessary work isn't done for quota roots
+ that aren't actually used.
+
+M src/plugins/quota/quota.c
+
+2017-07-12 16:18:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7071a02a84)
+
+ lib-storage: mailbox_create_missing_dir() - Handle mailbox delete race
+ condition
+
+ Make sure the directory isn't created if the mail root directory no longer
+ exists. This might happen during mailbox deletion when another process is
+ opening the mailbox at the same time.
+
+M src/lib-storage/mail-storage.c
+
+2017-07-12 16:15:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (17a951e767)
+
+ lib-storage: Improve MAILBOX_LIST_PROP_AUTOCREATE_DIRS related comments
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.h
+
+2017-07-09 11:31:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9562831b85)
+
+ lib-lda: Fix crash if syncing save destination mailbox fails
+
+
+M src/lib-lda/mail-deliver.c
+
+2017-07-12 17:54:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (df8b4fbe42)
+
+ lib-index: Fix compiler warning with 32bit time_t
+
+
+M src/lib-index/mail-transaction-log.c
+
+2017-07-11 15:35:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4394b73cac)
+
+ lib-index: Track .log.2 rotation time in index header
+
+ This avoids unnecessarily stat()ing the file. Also it's a bit better since
+ it's tracking the actual rotation time, not the mtime of what the
+ .log file happened to have at the time of rotation.
+
+ The initial rotation timestamp is written only to the dovecot.index header
+ without going through dovecot.index.log. This works, because the
+ dovecot.index is written practically always after a log rotation. For the
+ rare cases when it doesn't happen, the dovecot.index.log.2 just gets deleted
+ later after the next log rotation.
+
+M src/doveadm/doveadm-dump-index.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log.c
+
+2017-07-11 15:33:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fd71a4ab1c)
+
+ lib-index: Check .log.2 rotation only when syncing
+
+ Instead of also whenever appending transactions to .log file. This shouldn't
+ change the behavior much, and it's needed for the following change to work
+ correctly.
+
+M src/lib-index/mail-transaction-log.c
+
+2017-07-11 15:32:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a13a14862a)
+
+ doveadm dump: Include "last temp file scan" in index header dump
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2017-07-11 14:31:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2219501dc6)
+
+ lib-index: Use nfs_safe_stat() to avoid having to handle stat() ESTALE error
+
+ Slightly simplifies the code.
+
+M src/lib-index/mail-transaction-log.c
+
+2017-07-11 14:34:06 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (6e62aa36a3)
+
+ lib-http: message parser: Allow duplicate date header if
+ HTTP_MESSAGE_PARSE_FLAG_STRICT is not set.
+
+ The last instance of the date header is used.
+
+M src/lib-http/http-message-parser.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-response-parser.c
+
+2017-07-11 14:18:47 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7ebcb054e0)
+
+ lib-http: Restructured the header, message, request, and response parsers to
+ have an extensible and consistent API using flags.
+
+ Extended the test suites with a few cases that test parsing with and without
+ the STRICT flag.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-header-parser.h
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-message-parser.h
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request-parser.h
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-response-parser.h
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/test-http-header-parser.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-response-parser.c
+
+2017-07-11 14:14:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f368169caf)
+
+ sdbox: Create missing mail directory on resync if index directory exists
+
+ This problem should be visible only with ITERINDEX enabled.
+
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+
+2017-07-02 12:05:36 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (19b42eb8ac)
+
+ lib: Created basic test suite for ostream-buffer.
+
+
+M src/lib/Makefile.am
+M src/lib/test-lib.inc
+A src/lib/test-ostream-buffer.c
+
+2017-07-11 10:45:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c262d219fc)
+
+ lib-storage: Remove user namespaces on hook error
+
+ If there is a hook error during namespaces added remove the namespaces from
+ user. This avoids attempts to use the namespaces later on without proper
+ initialization.
+
+M src/lib-storage/mail-namespace.c
+
+2017-07-11 10:26:38 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (af084c8b28)
+
+ lib-storage: Ensure list index is present
+
+ Otherwise we end up with signal 11 crash later on.
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2017-04-07 09:23:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ba4eb91d93)
+
+ lib-ssl-iostream: Fix compiler warning
+
+ ~SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS makes it unsigned, so it doesn't fit
+ into signed 32bit long.
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2017-07-10 16:11:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d167a7d64f)
+
+ lib-storage: Fix mailbox_update() to always update mailbox list index.
+
+ It previously was updating it only if the list index for the mailbox was
+ already fully up-to-date. But that doesn't really matter, because
+ mailbox_update() is supposed to be changing the values regardless.
+
+ This fixes mailbox_update() to always work with LAYOUT=index. It also fixes
+ mailbox_update() for INBOX to update UIDVALIDITY/GUID.
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2017-07-10 15:54:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (15086e056e)
+
+ lib-storage: Don't use mailbox list index if it has refresh_flag set
+
+ For example if INBOX is deleted, looking up its GUID shouldn't be returned
+ from the list index since it contains the old GUID.
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2017-07-10 13:34:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (70092709cd)
+
+ lib-storage: Track INBOX UIDVALIDITY and GUID in mailbox list index
+
+ This allows existence checks and GUID lookups for INBOX to be done from the
+ index.
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2017-07-06 19:00:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4fc372facc)
+
+ lib-storage: Avoid index refresh with
+ mailbox_list_index_very_dirty_syncs=yes
+
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index-sync.h
+M src/lib-storage/list/mailbox-list-index.c
+
+2017-07-06 17:48:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f9dcefcf74)
+
+ lib-storage: Refresh mailbox list index if mailbox's existence differs from
+ index
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2017-07-06 17:45:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (97d509bef0)
+
+ lib-storage: Set mailbox list index to be refreshed after changes, not
+ before
+
+ Mailbox deletion and rename set the refresh-flag before the change was done.
+ This was unnecessary if the change didn't happen. Also there was a race
+ condition that another process could have done the refresh before the change
+ was even done.
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2017-07-06 17:36:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4654cf737f)
+
+ lib-storage: Add mailbox_list_last_error_push/pop()
+
+ These are similar to mail_storage_last_error_push/pop()
+
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2017-07-10 14:37:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c29df09edc)
+
+ lib-storage: Try to avoid opening mailbox list index on mailbox access
+
+ Perform the STATUS (and other relevant) updates only if syncing or
+ transaction commits changed anything. This could be optimized further to
+ check even more strongly whether the seen changes could cause changes to the
+ list index, but it's probably not worth the effort.
+
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-storage.h
+
+2017-07-10 14:20:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e098ac1cd4)
+
+ lib-storage: Storage backend sync_init()s no longer need to check if mailbox
+ is open
+
+ The previous change guarantees it.
+
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-multi/mdbox-deleted-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/index/raw/raw-sync.c
+
+2017-07-10 14:19:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4906f65201)
+
+ lib-storage: mailbox_sync_init() - open mailbox immediately if it's not open
+ yet
+
+ This simplifies the work for plugins that want to hook into
+ mailbox.sync_init() so they no longer have to handle the "mailbox isn't
+ opened" case.
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2017-07-10 13:56:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b596cac264)
+
+ imap: Don't do autoexpunging when IMAP client is hibernated
+
+
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2017-05-02 14:01:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c69b62e5d8)
+
+ lib-fs: Add init function that can use fs string directly
+
+ This avoids doing splitting the fs driver and args everywhere and ensures
+ that separators are consistent.
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2017-07-05 16:08:41 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (cbe4d8212e)
+
+ lib: remove support for Boehm GC
+
+ There were several issues with our usage of Boehm GC:
+
+ - it didn't help with memory fragmentation
+ - it is not very efficient
+ - it was rarely enabled & used
+
+ Proper use of a GC would involve radical changes to how we write code and
+ cause portability issues. We can get most of the benefits of a GC with data
+ stacks and alloc-only memory pools.
+
+M configure.ac
+M doc/securecoding.txt
+D m4/gc.m4
+M src/lib/data-stack.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-system.c
+
+2017-07-06 12:40:33 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (781a933794)
+
+ virtual: If virtual_uid is not assigned skip it
+
+ We cannot lookup mails with uid 0, so if we see that mail has virtual uid 0,
+ do not attempt to look it up from index, but skip it.
+
+ Fixes Panic: file mail-index-map.c: line 549
+ (mail_index_map_lookup_seq_range): assertion failed: (first_uid > 0)
+
+M src/plugins/virtual/virtual-sync.c
+
+2017-07-05 15:20:32 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (15a2661c25)
+
+ virtual: Append virtual mailbox name to open reason on box alloc
+
+
+M src/plugins/virtual/virtual-storage.c
+
+2017-07-05 15:20:18 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a08e96bb78)
+
+ virtual: Append virtual mailbox information to get stream reason
+
+
+M src/plugins/virtual/virtual-mail.c
+
+2017-07-05 14:24:49 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fc80e0a7e5)
+
+ virtual: Expunge virtual mails if backend box is deleted
+
+ When mail is added to a mailbox and then deleted, expunge the sequences from
+ virtual index in sync.
+
+ Fixes Error: Unexpectedly lost Mailbox ID 4
+
+M src/plugins/virtual/virtual-sync.c
+
+2017-07-03 13:53:49 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (59a236b2ed)
+
+ virtual: Do not mark broken folder as initialized
+
+ Otherwise it won't get repaired
+
+M src/plugins/virtual/virtual-sync.c
+
+2017-07-03 13:53:31 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4299aef7cd)
+
+ virtual: Fix highest_mailbox_id if it's wrong
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2017-07-03 13:25:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7fa9d523d9)
+
+ virtual: Force header rewrite if header not found or crc32 changed
+
+ Otherwise the header gets only partially written
+
+M src/plugins/virtual/virtual-sync.c
+
+2017-06-29 13:22:32 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f4b0869301)
+
+ lib-storage: Clarify keywords handling in mail_save_finish
+
+
+M src/lib-storage/mail-storage.c
+
+2017-06-28 13:45:19 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c9c4494be2)
+
+ virtual: Fix keywords handling
+
+ Keywords are per-mail object, and should be treated as one. The old code
+ left pointer to keywords dandling which lead into double-free. Now the
+ ctx->data is treated in similar way as other backends.
+
+ Fixes Panic: file mail-index.c: line 417 (mail_index_keywords_unref):
+ assertion failed: (keywords->refcount > 0) Fixes Panic: file mail-storage.c:
+ line 2311 (mailbox_save_context_reset): assertion failed: (!ctx->unfinished)
+
+M src/plugins/virtual/virtual-save.c
+
+2017-06-27 14:19:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cff36c02dd)
+
+ virtual: Fix recent flag updates
+
+ View must be updated before looking up seqs
+
+M src/plugins/virtual/virtual-sync.c
+
+2017-06-29 13:46:06 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c5f46e7c1c)
+
+ virtual: Call mailbox_save_context_deinit before freeing context
+
+ Otherwise dest_mail does not get free'd
+
+M src/plugins/virtual/virtual-save.c
+
+2017-06-27 12:51:51 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (43dfd44ec2)
+
+ virtual: Use mailbox_notify_list API when mailbox_list_index is enabled
+
+
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+
+2017-06-27 10:54:08 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (825b0e819a)
+
+ virtual: Generate GUID for virtual folder
+
+ GUID is generated when index is first created or the rules change.
+
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+
+2017-06-27 12:42:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ffe330e263)
+
+ lib-storage: Add type checking for mailbox_list_notify_wait
+
+
+M src/imap/imap-notify.c
+M src/lib-storage/mailbox-list-notify.c
+M src/lib-storage/mailbox-list-notify.h
+
+2017-07-06 15:51:17 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (bad08efc44)
+
+ lmtp: client_input_data_write_local() refactored
+
+ loops in client_input_data_write_local() and in client_deliver_next() are
+ merged as they are essentially the same loop, client_deliver_next() renamed
+ to client_deliver_to_rcpts().
+
+M src/lmtp/commands.c
+
+2017-07-06 15:45:24 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (2092da86f3)
+
+ lmtp: Fix for wrong session id of mail user when saving mail, quota checking
+ on
+
+ When quota is checked mail user is allocated with custom ":quota" session id
+ suffix without incrementing service user session id counter
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+M src/lmtp/commands.c
+
+2017-07-06 14:45:26 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8e95a20925)
+
+ lib-storage: Use ST_CHANGED in mailbox-watch
+
+ Allows notifying sub-second changes.
+
+M src/lib-storage/mailbox-watch.c
+
+2017-07-06 14:44:40 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3aff91a194)
+
+ lib, lib-storage: Move INOTIFY_ST_CHANGED to ST_CHANGED in lib
+
+ Allows reusing this elsewhere
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib/macros.h
+
+2017-07-06 13:24:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2eeca70fd1)
+
+ lib: file_create_locked() - Treat mkdir() EEXIST error as success
+
+ This can happen in race conditions when multiple processes are mkdir()ing
+ the same directory. It shouldn't result in failure.
+
+M src/lib/file-create-locked.c
+
+2017-07-06 11:24:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d5282594ec)
+
+ virtual: Avoid assert-crash if backend mailbox's have_guid lookup fails
+
+ The MAIL_ERROR_NOTFOUND can happen if the mailbox was already deleted. Other
+ errors aren't expected to happen and possibly point to a bug.
+
+ Fixes: Panic: file mail-storage.c: line 1831: unreached
+
+M src/plugins/virtual/virtual-storage.c
+
+2017-07-05 14:38:19 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (8f75c29549)
+
+ doveadm: Fix a typo in doveadm-print-flow function name
+
+ doveadm_print_flow_print_heder() -> doveadm_print_flow_print_header()
+
+M src/doveadm/doveadm-print-flow.c
+
+2017-07-04 14:22:19 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f97dcee675)
+
+ notify-status: Add notify-status plugin
+
+ This enables updating a dictionary with mailbox status information when the
+ mailbox changes.
+
+ It requires notify_status_dict setting for specifying the dict where the
+ data is stored.
+
+ One can optionally use notify_status_mailbox patterns for specifying which
+ box(es) the status update is done. Subsequent patterns are
+ notify_status_mailbox2 and so forth.
+
+ One can also specify data format using notify_status_value plugin setting.
+
+M configure.ac
+M src/plugins/Makefile.am
+A src/plugins/notify-status/Makefile.am
+A src/plugins/notify-status/notify-status-plugin.c
+
+2017-03-28 00:03:04 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (38af46387e)
+
+ lib-http: server: Implemented API for handling the incoming request payload
+ in the background.
+
+ It allows forwarding the incoming payload to an output stream (e.g.
+ iostream-temp) or to a buffer. The maximum size of the payload is
+ configurable. The client will get a 413 error if the maximum is exceeded.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server.h
+M src/lib-http/test-http-payload.c
+M src/lib-http/test-http-server-errors.c
+
+2017-06-17 15:51:09 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (dc05b1fb4b)
+
+ lib-http: server: Explicitly record the number of references held for a
+ request by the application from within the callback.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+
+2017-03-29 00:17:50 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (49c232ae03)
+
+ lib-http: server: Allow holding only a reference to the request payload
+ stream, rather than the request itself.
+
+ This mimics the http-client behavior in this case. It makes the
+ implementation of the background payload handling API in subsequent commits
+ a little simpler.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server.h
+
+2017-03-27 20:44:37 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9ec9b6f85c)
+
+ lib-http: server: Changed http_server_request_is_complete() from an inline
+ to a normal function.
+
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+
+2017-03-27 20:34:21 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (5560e4cd4f)
+
+ lib-http: server: Restructured http-server-private.h.
+
+
+M src/lib-http/http-server-private.h
+
+2017-03-27 20:18:18 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (bc8908662f)
+
+ lib-http: server: Improved documentation in http-server.h.
+
+
+M src/lib-http/http-server.h
+
+2017-03-27 19:50:31 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (debbc09b5f)
+
+ lib-http: server: Restructured http-server.h.
+
+
+M src/lib-http/http-server.h
+
+2017-07-03 22:06:21 +0200 Thomas Reifferscheid <thomas@reifferscheid.org> (7785296a7f)
+
+ dsync: fix splitting login from host
+
+ Using strchr() was splitting login and host at the first occurrence of '@'
+ which leads to troublesome behaviour. When calling strace one would notice
+ the misbehaviour:
+
+ execve("/usr/sbin/ssh", ["ssh", "-lthomas", "domain.org@10.8.13.2"
+
+ using strrch() however splits login and host at the last occurrence of '@'.
+
+ Signed-off-by: Thomas Reifferscheid <thomas@reifferscheid.org>
+
+M src/doveadm/doveadm-dsync.c
+
+2017-07-03 18:40:47 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7dd64d2faf)
+
+ quota-status: Support recipient_delimiter
+
+
+M src/plugins/quota/Makefile.am
+A src/plugins/quota/quota-status-settings.c
+A src/plugins/quota/quota-status-settings.h
+M src/plugins/quota/quota-status.c
+
+2017-07-03 18:31:56 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9f0429766d)
+
+ quota-status: Use pooled memory for globals
+
+
+M src/plugins/quota/quota-status.c
+
+2017-07-03 18:27:53 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (133a609acd)
+
+ lmtp: Use message_detail_address_parse
+
+
+M src/lmtp/commands.c
+
+2017-07-03 19:00:14 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f0eef23018)
+
+ lib-mail: Add unit test for message detail address parser
+
+
+M src/lib-mail/test-message-address.c
+
+2017-07-03 18:18:36 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (145e47d97b)
+
+ lib-mail: Add message_detail_address_parse
+
+ Parses e.g. username+foo@domain into username@domain with detail foo, when
+ delimiter is set to +
+
+M src/lib-mail/message-address.c
+M src/lib-mail/message-address.h
+
+2017-07-03 21:08:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e1777cb59a)
+
+ imapc: Prefech - Initialize cached stream only if needed
+
+ If the mail is immediately accessed for other purposes (e.g. fetching
+ message flags), there's no need to go through all the trouble of
+ initializing the mail stream.
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mail.h
+
+2017-06-30 13:46:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3aa1816a6b)
+
+ lib-storage: Fix ITERINDEX to leave \NoSelect parents after deleting child
+ mailbox
+
+ For example if "a/b" was created and deleted, "a" should be left behind.
+ (Or at least it shouldn't have left "a" to mail root directory and kept it
+ invisible since it didn't exist in index dir.)
+
+M src/lib-storage/list/mailbox-list-delete.c
+
+2017-06-26 19:06:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (265ca08926)
+
+ dbox: Check mailbox existence from index directory with ITERINDEX
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2017-06-28 19:46:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7b15788793)
+
+ dbox: Use mail_index_header.last_temp_file_scan instead of directory's atime
+
+ This will be required for the following ITERINDEX change.
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2017-06-28 19:41:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2ecee6ed2b)
+
+ lib-index, lib-storage: Add mail_index_header.last_temp_file_scan
+
+ Also add index_mailbox_update_last_temp_file_scan() for easily updating it.
+
+ This is reusing an old "sync timestamp" field. Because it was a timestamp,
+ it doesn't matter if the old data still exists in it. This field could have
+ been added as an extension, but that's more work and this feature is generic
+ enough that it should be useful for many of the mail storage backends.
+
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index.h
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+
+2017-06-26 18:59:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c5e2aa3148)
+
+ dbox: Cleanup - reorganize old temp file cleanup code
+
+ No functional changes. In preparation for the next commits.
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2017-06-26 19:30:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a62e12ba4a)
+
+ lib-storage: Check for storage existence from index dir with ITERINDEX
+
+ The root path creation doesn't really even seem to be necessary, because any
+ mailbox access will automatically mkdir the missing directories anyway.
+ Although writing other files might not work so well, such as
+ mail_attribute_dict that points inside the mail directory.
+
+ This change simply changes the mailboxes/ directory to be looked up from
+ index directory instead of the mail root directory. It also mkdirs the
+ index/mailboxes/ directory afterwards if it didn't exist. So practically
+ this change shouldn't break anything, since the mailboxes/ directory should
+ always exist for both root and the indexes.
+
+M src/lib-storage/mail-storage.c
+
+2017-06-26 18:50:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4fce6ce68d)
+
+ lib-storage: mailbox_list_get_permissions() - Use index dir with ITERINDEX
+
+
+M src/lib-storage/mailbox-list.c
+
+2017-06-26 18:46:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6763c5f624)
+
+ lib-storage: mailbox_list_get_permissions() - Use index dir for storage
+ without mails
+
+ The index dir might still exist.
+
+M src/lib-storage/mailbox-list.c
+
+2017-06-26 18:41:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4225ae95dd)
+
+ lib-storage: Cleanup - move code to mailbox_list_get_permissions_stat()
+
+ Comments changed also a bit, but no functional changes.
+
+M src/lib-storage/mailbox-list.c
+
+2017-06-26 18:23:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2f552aa8fb)
+
+ lib-storage: Cleanup - Use mailbox_permissions_copy() instead of duplicating
+ it
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+
+2017-06-26 18:19:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5069b6adc4)
+
+ lib-storage: Add mailbox_permissions_copy()
+
+
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+
+2017-06-26 20:10:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1728ff34ee)
+
+ lib-storage: Add mail_location=..:ITERINDEX
+
+ This changes mailbox list iteration to work using INDEX directory instead of
+ the normal mail directory. This can be helpful when the indexes are stored
+ on a faster storage.
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2017-06-30 17:51:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8b2d740b81)
+
+ imap: Add more error checking to NOTIFY parameter parsing
+
+ This should make it clearer to realize when invalid syntax is being used
+ rather than just ignoring the problem.
+
+M src/imap/cmd-notify.c
+
+2017-06-30 17:33:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bcb321bc62)
+
+ imap: Fix NOTIFY parameter parsing by reverting earlier change
+
+ I misread the RFC and wrote broken tests. Reverts
+ 64d2efdc4b0bdf92249840e9db89b91c8dc0f3a3
+
+M src/imap/cmd-notify.c
+
+2017-06-30 15:02:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7d2d0ae113)
+
+ lib-storage: Add BROKENCHAR to mail_location
+
+ This makes the mailbox_list_settings.broken_char configurable. Mainly useful
+ with imapc when remote server doesn't contain valid mUTF-7 mailbox names.
+
+M src/lib-storage/mailbox-list.c
+
+2017-06-30 13:56:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0784c6f498)
+
+ lib-storage: Fix mailbox delete to not delete childrens' INDEX or CONTROL
+ dirs
+
+ If mail_location had separate INDEX and/or CONTROL set, deleting a mailbox
+ with children caused the childrens' index and/or control directories to be
+ deleted (but the mail/ALT directories weren't).
+
+ I'm not sure why the _FLAG_MAILBOX_FILES was treated as a special case
+ earlier. It shouldn't make a difference.
+
+M src/lib-storage/list/mailbox-list-delete.c
+
+2017-06-27 15:39:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d851acd16c)
+
+ lib-storage: mailbox_list_delete_mailbox_nonrecursive() - Fix error handling
+
+ It should return error on unexpected readdir(), closedir() and unlink()
+ failures. Also fix handling a race condition with another process deleting
+ the mailbox at the same time.
+
+M src/lib-storage/list/mailbox-list-delete.c
+
+2017-06-27 16:56:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e83bc61375)
+
+ lib-storage: mailbox_list_delete_trash() - Don't ignore errors
+
+
+M src/lib-storage/list/mailbox-list-delete.c
+
+2017-06-27 16:37:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3fb442057c)
+
+ lib-storage: Use mailbox_list_delete_finish_ret() for fs & maildir++ layout
+
+ Fixes a problem where e.g. index directory existed but mail root didn't, and
+ the mailbox couldn't be fully deleted. This was especially a problem with
+ ITERINDEX enabled.
+
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+
+2017-06-27 16:36:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (12bd6ddfeb)
+
+ lib-storage: Add mailbox_list_delete_finish_ret()
+
+ This simplifies deletion logic for mailbox list backends.
+
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-delete.h
+
+2017-06-27 16:13:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a1bef9db6d)
+
+ lib-storage: mailbox_list_delete_finish() - Return whether anything was
+ deleted
+
+
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-delete.h
+
+2017-06-27 16:16:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3e0b3ae576)
+
+ lib-storage: Add mailbox_list_get_last_mail_error()
+
+
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2017-06-27 15:57:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0877bd89b4)
+
+ lib-storage: Add comments to mailbox-list-delete.h
+
+
+M src/lib-storage/list/mailbox-list-delete.h
+
+2017-06-28 23:37:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (739bebfce2)
+
+ lib: Fix file_create_locked() unit test to delete temp file afterwards
+
+ Also removed a path string that was never used.
+
+M src/lib/test-file-create-locked.c
+
+2017-06-22 01:28:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fd8b93ca5c)
+
+ lib-storage: Add VOLATILEDIR setting to mail_location
+
+ This is useful for creating temporary locks that could exist in tmpfs.
+ Currently this is used for .vsize.lock and dovecot.autoexpunge.lock.
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2017-06-22 02:44:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (55cec51dba)
+
+ lib-storage: Move autoexpunge lock creation to a generic
+ mail_user_lock_file_create()
+
+
+M src/lib-storage/mail-autoexpunge.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2017-06-22 02:33:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (762d6549bc)
+
+ lib-storage: mailbox_autoexpunge_lock() - Don't hide ENOENT error
+
+ It means that the user's home directory doesn't exist, which is pretty
+ unexpected. Home directory is supposed to be created when the storage is
+ initialized.
+
+M src/lib-storage/mail-autoexpunge.c
+
+2017-06-22 02:32:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (67c05b6713)
+
+ lib-storage: mailbox_autoexpunge_lock() - small cleanup
+
+ No functional changes - just reorganizing code and adding comments.
+
+M src/lib-storage/mail-autoexpunge.c
+
+2017-06-22 02:24:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (34f53904b5)
+
+ lib-storage: Use file_lock_set_*_on_free() for dovecot.autoexpunge.lock
+
+
+M src/lib-storage/mail-autoexpunge.c
+
+2017-06-22 02:19:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bd94a2a86e)
+
+ lib-storage: Move .vsize.lock creation to a generic
+ mailbox_lock_file_create()
+
+
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2017-06-22 02:07:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2864ce8150)
+
+ lib-storage: Move .vsize.lock creation to its own function
+
+
+M src/lib-storage/index/index-mailbox-size.c
+
+2017-06-22 02:05:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (181e90a1e5)
+
+ lib-storage: Use file_lock_set_*_on_free() for .vsize.lock
+
+ This avoids storing the lock_path and lock_fd separately.
+
+M src/lib-storage/index/index-mailbox-size.c
+
+2017-06-22 01:56:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (99e9dc500f)
+
+ lib-storage: Fix error logging for failing to create .vsize.lock
+
+
+M src/lib-storage/index/index-mailbox-size.c
+
+2017-06-28 17:48:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d6e3deea85)
+
+ lib: file_create_locked() - Add settings to mkdir() missing parent
+ directories
+
+
+M src/lib/file-create-locked.c
+M src/lib/file-create-locked.h
+M src/lib/test-file-create-locked.c
+
+2017-06-28 17:40:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9a18972285)
+
+ lib: Add unit test for file_create_locked()
+
+
+M src/lib/Makefile.am
+A src/lib/test-file-create-locked.c
+M src/lib/test-lib.inc
+
+2017-06-22 01:52:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (65f9a90ef5)
+
+ lib: Add file_lock_set_close_on_free()
+
+
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+
+2017-06-22 01:47:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (68332e3a49)
+
+ lib: Add file_lock_set_unlink_on_free()
+
+
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+
+2017-06-22 10:35:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2605b390b4)
+
+ lib: file_create_locked() - update lock path after link()
+
+
+M src/lib/file-create-locked.c
+
+2017-06-22 09:05:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d8d93ecd89)
+
+ lib: Add file_lock_set_path()
+
+
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+
+2017-06-22 01:42:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f1243d7759)
+
+ lib: Add file_lock_get_path()
+
+ This allows getting the file path from the lock without having to preserve
+ it separately.
+
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+
+2017-06-26 19:19:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (27d0b2cd12)
+
+ lib-storage: Fail at startup if root mail directory isn't a directory
+
+
+M src/lib-storage/mail-storage.c
+
+2017-04-07 15:36:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (22cb9dbe00)
+
+ lib-ssl-iostream: Fixed deinitialization of openssl library.
+
+ Previously, it also dereferenced the library when it was never initialized
+ in the first place.
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2017-05-22 17:41:54 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1c85a443bb)
+
+ lib-program-client: Fixed unix socket test suite's test server to properly
+ read input from client.
+
+ It did not read all available input in the input handler.
+
+M src/lib-program-client/test-program-client-unix.c
+
+2017-06-26 19:44:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dc24b972fd)
+
+ lib-storage: Don't autocreate mailbox during deletion.
+
+ Trying to delete a nonexistent autocreated mailbox first created it and then
+ immediately deleted it.
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage.c
+
+2017-06-27 14:22:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b0f08544a6)
+
+ lib-storage: Make mailbox_is_autocreated() public
+
+ This also removes duplicated code from acl plugin.
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/plugins/acl/acl-mailbox.c
+
+2017-06-27 16:55:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (50bf6cfe2a)
+
+ sdbox: Don't create index directory when trying to open nonexistent
+ mailboxes
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2017-06-28 15:50:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (29fc8f1dc6)
+
+ pop3-migration: Drop lines with only spaces or tabs from comparison
+
+ Zimbra drops out those lines from IMAP BODY[HEADER] replies.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/pop3-migration/test-pop3-migration-plugin.c
+
+2017-01-20 01:10:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (d4f77de194)
+
+ lib-http: client: Drop peer immediately if it has no more linked queues and
+ it is not connected and not waiting for a backoff timeout.
+
+ It is currently unlikely to happen at this point, but it is better to make
+ sure it is handled appropriately. The pending shared HTTP client changes
+ will make this a likely event. This surfaced as a problem for the HTTP
+ proxy.
+
+M src/lib-http/http-client-peer.c
+
+2017-06-25 09:10:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d7c917c4b2)
+
+ lib-storage: mail_add_temp_wanted_fields() - delay opening stream
+
+ Allows plugins to call it in mail.get_stream() without infinite loop.
+
+M src/lib-storage/index/index-mail.c
+
+2017-06-23 16:45:24 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b5ab29780f)
+
+ global: Fixed missing or out-of-date copyright notices.
+
+
+M src/auth/test-main.c
+M src/auth/test-mock.c
+M src/lib-dict/test-dict-sql.c
+M src/lib-sql/driver-test.c
+M src/lib/fd-set-nonblock.c
+M src/lib/net.c
+M src/lib/test-path-util.c
+M src/plugins/var-expand-crypt/test-var-expand-crypt.c
+M src/plugins/var-expand-crypt/var-expand-crypt-plugin.c
+
+2017-06-23 11:15:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f3c24c2c92)
+
+ dsync: Use header hashing version 3
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-export.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2017-06-23 11:02:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e17e53f2a0)
+
+ pop3-migration: Replace trailing whitespace removal with new header hashing
+ version
+
+ This is now done by message_header_hash(), which makes it work correctly
+ also for dsync+imapc.
+
+ Reverts 0cf3b30b86e6c39f43b8e13a718cd078187ca86d, except for the unit tests.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/pop3-migration/test-pop3-migration-plugin.c
+
+2017-06-23 11:00:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ea03e17621)
+
+ lib-mail: message_header_hash_more() - add v3 that strips spaces
+
+ This helps with Zimbra, which strips away trailing whitespaces in
+ BODY[HEADER].
+
+M src/lib-mail/message-header-hash.c
+M src/lib-mail/message-header-hash.h
+M src/lib-mail/test-message-header-hash.c
+
+2017-06-23 09:24:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (14458ea842)
+
+ lib-mail: test-message-header-hash - add more tests
+
+
+M src/lib-mail/test-message-header-hash.c
+
+2017-06-23 09:14:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (afad849b4a)
+
+ lib-mail: message_header_hash_more() - refactor to use switch()
+
+
+M src/lib-mail/message-header-hash.c
+
+2017-06-22 11:43:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fde14422ca)
+
+ quota: Fix failing again if quota setting has invalid parameters
+
+ This was broken by the recent quota parameter parsing changes.
+
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-imapc.c
+M src/plugins/quota/quota.c
+
+2017-06-22 01:12:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (65d4c71add)
+
+ acl: Don't read/write dovecot-acl-list with acl_globals_only=yes
+
+ It's only an optimization for the dovecot-acl files, which don't exist with
+ acl_globals_only=yes
+
+M src/plugins/acl/acl-backend-vfile-acllist.c
+
+2017-06-21 16:54:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0913e6eb7b)
+
+ lib/bits.c: Finish fix for compiling with gcc 3.0 .. 3.3
+
+
+M src/lib/bits.c
+
+2017-06-21 16:14:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (33c05298ab)
+
+ lib/bits.h: Fix compiling with gcc 3.0 .. 3.3
+
+ According to gcc's online manuals, 3.4 is the first version with
+ __builtin_clzll
+
+M src/lib/bits.h
+
+2017-06-21 13:10:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (05d12810ed)
+
+ fs-randomfail: Set errno=EIO when random failure is triggered
+
+ Previously the errno wasn't set at all. It was especially bad if it happened
+ to be EAGAIN, because that potentially caused hangs.
+
+M src/lib-fs/fs-randomfail.c
+
+2017-06-20 12:11:37 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (44c6d46cef)
+
+ lib-imap: imap_append_nstring_nolf() - fix crash with datastack_pool strings
+
+ T_BEGIN .. T_END is not used, when string_t is allocated from datastack
+ pool, unit test updated to verify the fix.
+
+M src/lib-imap/imap-quote.c
+M src/lib-imap/test-imap-quote.c
+
+2017-06-19 23:38:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (95c8d28ebf)
+
+ acl: Fix reading acl_globals_only setting
+
+ It was being read in wrong place, so it may not have been read at all.
+
+M src/plugins/acl/acl-backend.c
+
+2017-06-19 12:05:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8a513c80e9)
+
+ director: Fix logging last input/output time when there was no input/output
+
+
+M src/director/director-connection.c
+
+2017-06-19 12:03:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (00367aee8d)
+
+ director: Fix whitespace position in some log messages
+
+
+M src/director/director-connection.c
+
+2017-06-19 11:30:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5714c480bb)
+
+ acl: Add acl_globals_only setting
+
+ The local dovecot-acl files aren't even attempted to be looked up if this is
+ set. This is mainly useful to avoid unnecessary stat()s to dovecot-acl files
+ that never exist.
+
+M src/plugins/acl/acl-api-private.h
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+
+2017-06-17 14:39:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5052aa061a)
+
+ imap: NOTIFY - Fix potential crash when reading invalid parameters
+
+
+M src/imap/cmd-notify.c
+
+2017-06-17 14:38:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (64d2efdc4b)
+
+ imap: Fix NOTIFY to parse more than just the first event-group
+
+
+M src/imap/cmd-notify.c
+
+2017-06-19 00:01:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (906a651134)
+
+ imap: NOTIFY - Cleanup notify watch timeout handling
+
+ It's not useful to set the timeout until all the commands are finished.
+
+M src/imap/imap-notify.c
+
+2017-06-18 11:14:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0081ed0d90)
+
+ imap: NOTIFY - Fix crash due to not hooking into commands correctly
+
+ The pre/post hooks aren't always called immediately when commands are
+ created. They're called only after the command input is being read. Call
+ notify hooks explicitly now immediately when commands are allocated.
+
+ Fixes a panic with for example:
+
+ a notify set (selected (Messagenew (uid flags) MessageExpunge FlagChange)
+ personal (MessageNew MessageExpunge FlagChange)) b select inbox c store 1
+ +flags \deleted d expunge e append inbox {10}
+
+ Which crashed with: Panic: file imap-notify.c: line 397
+ (imap_notify_callback): assertion failed: (client->command_queue_size == 0)
+
+M src/imap/imap-client.c
+M src/imap/imap-notify.c
+M src/imap/imap-notify.h
+
+2017-06-18 11:19:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4693a58116)
+
+ imap: NOTIFY - Fix delayed setting notification callback
+
+ This was done in command-post hook, but then when command was soon freed the
+ callback was immediately added.
+
+M src/imap/imap-notify.c
+
+2017-06-18 13:07:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (77124c580f)
+
+ fts: Log when indexing requires adding more mails to index than requested
+
+ This should mainly happen when FTS indexing is requested for a virtual
+ mailbox.
+
+M src/plugins/fts/fts-storage.c
+
+2017-06-18 12:18:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1c197c242a)
+
+ indexer-worker: Log first and last UID of which mails were indexed
+
+
+M src/indexer/master-connection.c
+
+2017-06-18 13:04:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (14eac90de7)
+
+ indexer-worker: Log number of indexing attempts in transaction commit
+ failure
+
+ This could be interesting if the number is large.
+
+M src/indexer/master-connection.c
+
+2017-06-18 13:00:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e4065b371a)
+
+ indexer-worker: Log "Indexed .. messages" even if mailbox_search fails
+
+ The transaction is still being committed.
+
+M src/indexer/master-connection.c
+
+2017-06-15 09:18:03 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (176fd2cdb1)
+
+ lib: Fix ostream-buffer to return buffer contents size in
+ o_stream_get_buffer_used_size().
+
+ This is necessary for querying o_stream_get_buffer_avail_size() with respect
+ to a limit set earlier using o_stream_set_max_buffer_size(). This is mainly
+ useful for test suites.
+
+M src/lib/ostream-buffer.c
+
+2017-06-16 14:34:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b84eff65e2)
+
+ *-login: Add client_vfuncs.free() that is called when client refcount=0
+
+ This can be useful for plugins that want to run something after proxying
+ ends.
+
+ Use an empty default function so plugins can call super.free() without
+ having to check if it's NULL.
+
+M src/imap-login/imap-login-client.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/pop3-login/client.c
+
+2017-06-15 12:46:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8ed26469c3)
+
+ imap-login: Fix storing ID NIL values into client_id
+
+
+M src/imap-login/imap-login-client.c
+
+2017-06-14 10:44:36 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (777019a071)
+
+ lib-imap: imap_bodystructure_write is changed to skip CRs and LFs.
+
+
+M src/lib-imap/imap-bodystructure.c
+
+2017-06-14 10:44:01 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (0b9eda80cd)
+
+ lib-imap: imap_write_envelope changed to skip CRs and LFs.
+
+
+M src/lib-imap/imap-envelope.c
+
+2017-06-14 10:41:04 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (be0c9927cd)
+
+ lib-imap: added imap_append_nstring_nolf(), which skips CRs and LFs.
+
+
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-quote.h
+M src/lib-imap/test-imap-quote.c
+
+2017-06-13 10:05:23 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (af37e0125a)
+
+ lib-imap: escaping and quote/literal tests for imap_append_nstring()
+
+
+M src/lib-imap/test-imap-quote.c
+
+2017-06-13 00:57:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fe080d248e)
+
+ imapc: Fix prefetching specific headers
+
+ FETCH BODY[HEADER.FIELDS ...] shouldn't be used if imapc_features doesn't
+ include fetch-headers. Also neither this nor BODY[HEADER] should be sent if
+ we already have header/body stream.
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2017-06-13 00:55:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (25fecf1396)
+
+ imapc: Avoid sending FETCH BODY[HEADER] when BODY[] is already being fetched
+
+ This probably only shows up in some special situations with plugins.
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2017-06-13 17:18:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0dc3c49bc9)
+
+ lib-master: anvil_client_query() delay calling callback on failures
+
+ This fixes crash in lmtp on anvil connect failure where the callback wasn't
+ expecting to be called so early.
+
+M src/lib-master/anvil-client.c
+
+2017-06-14 11:47:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9f6686c875)
+
+ imap-login: Remove duplicate spaces between ID x-forward parameters
+
+
+M src/imap-login/imap-proxy.c
+
+2017-06-14 10:50:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fa7d402631)
+
+ imap-login: Fix crash in ID if trusted client sends NIL value to internal
+ field
+
+ Fixes: Panic: imap-login: file imap-login-client.c: line 215
+ (cmd_id_handle_keyvalue): assertion failed: (client_id_str ==
+ !client_id_reserved_word(key))
+
+M src/imap-login/imap-login-client.c
+
+2017-06-13 21:00:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (df74814b12)
+
+ dsync: Fix panic if syncing fails during attribute iteration
+
+ Fixes: Panic: file dict.c: line 104 (dict_deinit): assertion failed:
+ (dict->iter_count == 0)
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2017-06-13 22:14:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3da9825732)
+
+ lib-index: Fix cache lookups from uncommitted transactions with in-memory
+ indexes
+
+ This especially fixes mail_get_header_stream() with imapc and
+ imapc_features=fetch-headers, because it works by first fetching the
+ specific headers and putting them to the cache transaction, then later on
+ relying on index_mail_get_header_stream() to get them from the transaction.
+ Before this fix they wouldn't be found, which triggered another unnecessary
+ FETCH BODY.PEEK[HEADER].
+
+M src/lib-index/mail-cache-transaction.c
+
+2017-06-13 21:54:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5695ec03a0)
+
+ lib-mail: istream-header-filter - Fix HEADER_FILTER_ADD_MISSING_EOH with
+ empty input
+
+ The result for "" should be "\n", not "\n\n". The second "\n" would belong
+ to the mail body.
+
+ This fixes calculating hashes for incremental dsync when mail didn't have
+ Date or Message-ID headers, resulting in e.g.:
+
+ Warning: Deleting mailbox 'INBOX': UID=1 already exists locally for a
+ different mail: Headers hashes don't match (e1c06d85ae7b8b032bef47e42e4c08f9
+ vs 68b329da9893e34099c7d8ad5cb9c940)
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2017-06-14 03:21:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (159de4e2ce)
+
+ lib: istream-seekable - Fix reading when parent stream's content is larger
+ than max_buffer_size
+
+ When writing the parent stream to fd and trying to read it back, it would
+ try to enforce the max_buffer_size and fail with:
+
+ istream-seekable: Couldn't read back in-memory input ...: buffer full
+
+ But since the data was already in buffer, istream-seekable shouldn't try to
+ enforce it at this point anymore.
+
+M src/lib/istream-seekable.c
+
+2017-06-13 18:26:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0f7b5e10ff)
+
+ lib-oauth2: Handle non-2xx/4xx results for token validation without crash
+
+ Fixes: Panic: file oauth2-token-validate.c: line 33
+ (oauth2_token_validate_continue): assertion failed:
+ (array_is_created(&req->fields))
+
+M src/lib-oauth2/oauth2-token-validate.c
+
+2017-06-12 22:52:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (edfdc577ff)
+
+ *-login: Add client_vfuncs.input_next_cmd()
+
+ This allows plugins to hook into all the pre-login commands. For example
+ with imap-login most of the commands could already be hooked into, except
+ for ID and AUTHENTICATE because their parameters reading is handled
+ specially. This allows hooking into them as well.
+
+ This is actually internal to all the login binaries, so it wouldn't have to
+ be in login-common. However, login-common already has all the code to handle
+ overriding functions nicely and this is a rather useful feature for all the
+ protocols anyway, so it's easier this way and not too ugly.
+
+M src/imap-login/imap-login-client.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/login-common/client-common.h
+M src/pop3-login/client.c
+
+2017-06-12 22:51:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c57b69b830)
+
+ pop3-login: Cleanup - move command handling to pop3_client_input_next_cmd()
+
+
+M src/pop3-login/client.c
+
+2017-06-12 13:45:33 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (9b2e48654b)
+
+ imap: command_stats_start call is added for unknown commands.
+
+ This makes timing shown in reply to unknown commands correct
+
+M src/imap/imap-client.c
+M src/imap/imap-commands.c
+M src/imap/imap-commands.h
+
+2017-06-12 23:45:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a44595f7b1)
+
+ push-notification: Switch to main ioloop while calling drivers' commit
+ callbacks
+
+ There aren't any guarantees what ioloop happens to be active at the time the
+ commit is called. The active ioloop can also be destroyed early on, which
+ can cause an I/O leak and crashes later on.
+
+M src/plugins/push-notification/push-notification-plugin.c
+
+2017-06-12 23:20:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5caf685b62)
+
+ imap: Fix pipelining commands with SEARCH
+
+ If the SEARCH wasn't a long-running one, it ends with going to sync. The
+ command state shouldn't then be changed to _WAIT_EXTERNAL.
+
+M src/imap/imap-search.c
+
+2017-06-12 17:34:59 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (401f3220d4)
+
+ lib: add explicit casts to byteorder macros
+
+ Some consumers of lib.h are in C++ and therefore they try to compile
+ byteorder.h as C++ code. C++ compilers don't like the implicit void *
+ -> struct anything * conversion, so we squelch those by adding explicit
+ casts.
+
+M src/lib/byteorder.h
+
+2017-06-12 14:35:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d82a985d9a)
+
+ imapc: If mailbox iteration fails, make sure error message isn't lost.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2017-06-12 14:33:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (916c9c1b86)
+
+ lib-storage: Fail mailbox list iteration early if it fails to get INBOX
+ flags
+
+ The resulting INBOX reply could be wrong in that case.
+
+ Also with imapc if the remote server is down, this causes two connection
+ errors instead of just one.
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2017-06-12 14:16:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (873a5bec86)
+
+ lib-storage: If mailbox list iteration fails, don't add INBOX
+
+ It possibly should have been returned by the list iteration itself and we
+ could be returning it wrong here.
+
+ Also calling this causes imapc to lost the error message in mailbox_list.
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2017-06-12 12:18:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a2dd3a0de9)
+
+ imapc: Don't reconnect on DELETE if auth failure was already seen.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2017-06-12 12:16:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f94abb02d2)
+
+ imapc: Don't reconnect on STATUS if auth failure was already seen.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-06-12 11:57:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (77ea60d15c)
+
+ imapc: Remove root_sep_lookup_failed cache
+
+ The auth_failed_* should already be enough for this. This removal also fixes
+ the storage error message to be auth_failed_reason when possible.
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+
+2017-06-12 12:07:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d824b1ac42)
+
+ imapc: Check for auth failures when saving messages
+
+ First, don't even attempt an APPEND if we've already seen an auth failure.
+ Second, if APPEND does fail because of auth error, set the correct error to
+ storage.
+
+M src/lib-storage/index/imapc/imapc-save.c
+
+2017-06-12 12:03:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (68e81f0685)
+
+ imapc: Fix APPEND error message to include APPEND, not COPY
+
+
+M src/lib-storage/index/imapc/imapc-save.c
+
+2017-06-12 11:40:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ab838f1555)
+
+ imapc: Make sure storage error has the proper auth failure error string
+
+ The first failed command always had the correct error string, but the
+ following failed commands just returned -1 without updating storage error.
+ The storage error could have been something completely different by then.
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-06-12 11:33:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (28576b6283)
+
+ imapc: Cleanup - Rename auth_error to auth_failed_reason for consistency
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2017-06-12 11:32:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (be21b9e65a)
+
+ imapc: Change auth_failed boolean to more specific auth_failed_state
+
+ Since we now rely on auth_failed_state being initialized to zero, explicitly
+ set IMAPC_COMMAND_STATE_OK to be defined as 0.
+
+M src/lib-imap-client/imapc-client.h
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2017-06-12 11:05:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a76f1c806e)
+
+ imapc: Remove auth_failed check from imapc_list_get_storage_name()
+
+ Reverts 9949dc3649ac7a00289f6bf0662c793bee3d4286. It doesn't seem to be
+ actually needed at least now, and it's breaking:
+
+ * SELECT INBOX -> failure due to remote server being down
+ * SELECT INBOX -> NO [CANNOT] Invalid mailbox name: Name is empty
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2017-06-08 14:49:56 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (b9e830a814)
+
+ global: use new byte ordering API
+
+
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/dsync/dsync-mailbox-state.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-zlib.c
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-index/mail-index-util.c
+M src/lib-index/mailbox-log.c
+M src/lib-ntlm/ntlm-des.c
+M src/lib/test-guid.c
+
+2017-06-08 13:20:18 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (c9d76e2baf)
+
+ lib: import byte swapping & endian converting functions
+
+
+M src/lib/Makefile.am
+A src/lib/byteorder.h
+M src/lib/lib.h
+A src/lib/test-byteorder.c
+M src/lib/test-lib.inc
+
+2017-06-12 14:24:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0cf3b30b86)
+
+ pop3-migration: Strip trailing spaces from headers when calculating hash
+
+ Fixes matching mails with Zimbra.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/pop3-migration/test-pop3-migration-plugin.c
+
+2017-06-08 20:34:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f4e66312c5)
+
+ imap-quota: If quota lookups fail, return NO for GETQUOTA/GETQUOTAROOT
+
+
+M src/plugins/imap-quota/imap-quota-plugin.c
+
+2017-06-08 20:34:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c3785e2a56)
+
+ quota: Update comments in quota.h
+
+
+M src/plugins/quota/quota.h
+
+2017-06-08 20:25:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bd389ead3c)
+
+ quota: quota_root_iter_next() - Iterate all visible roots
+
+ Don't try to skip the roots that don't have an active quota. imap_quota
+ plugin does the skipping now itself, and quota_clone shouldn't really be
+ even used with more than one quota root.
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2017-06-08 20:24:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f162f350e1)
+
+ imap-quota: If quota root doesn't have any quotas, don't send empty QUOTA
+ reply
+
+ For example if GETQUOTA is asked for fs quota, but the user doesn't have fs
+ quota enabled.
+
+M src/plugins/imap-quota/imap-quota-plugin.c
+
+2017-06-08 20:29:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a022e47f45)
+
+ quota-clone: Don't clone quota resources that aren't enabled.
+
+ They would always just be zeros anyway, so this makes the update slightly
+ more efficient. Although practically this only matters with dirsize and fs
+ quotas, which people generally don't use with quota_clone.
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+
+2017-06-09 15:30:02 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (eec34b3861)
+
+ lib: correct comment in path_normalize
+
+ Don't blame static analyzers for doing their job.
+
+M src/lib/path-util.c
+
+2017-06-12 12:44:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5209c4303c)
+
+ welcome: Fix sending parameters to welcome script.
+
+ Broken by f38b0dafbffa9d79542e36b4b3e598ed4115e5a3
+
+M src/plugins/welcome/welcome-plugin.c
+
+2017-06-08 20:39:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a345bc2d9f)
+
+ lib-imap-client: Fix hang when imapc_client_get_capabilities() is called
+ without connection
+
+
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/test-imapc-client.c
+
+2017-06-06 15:31:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5b809b9767)
+
+ lib-index: Don't ignore mail_transaction_log_move_to_memory() failure
+
+
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mail-transaction-log.h
+
+2017-06-10 11:40:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7fc4f555a9)
+
+ lib-http: Compiling fix to host->ips reallocation.
+
+
+M src/lib-http/http-client-host.c
+
+2017-06-09 23:42:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (15c365ef8f)
+
+ quota-fs: Make sure quota calculations don't overflow in old systems
+
+ Patch by M. Balridge
+
+M src/plugins/quota/quota-fs.c
+
+2017-06-09 23:32:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2e68d078bd)
+
+ lib: ioloop-kqueue - Improve kevent() panic log message
+
+
+M src/lib/ioloop-kqueue.c
+
+2017-06-08 01:03:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4ecee121e1)
+
+ doveconf: Preserve import_environment when execing binary
+
+ This allows import_environment setting to work with doveadm and other
+ standalone tools.
+
+M src/config/config-request.c
+M src/config/config-request.h
+M src/config/doveconf.c
+
+2017-06-08 00:40:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (de266e09d2)
+
+ lib-master, config: Move the responsibility of cleaning environment to
+ doveconf
+
+
+M src/config/doveconf.c
+M src/lib-master/master-service-settings.c
+
+2017-06-08 00:35:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ed6b37eeec)
+
+ lib-master: Use master_service_import_environment() for preserving
+ environments
+
+
+M src/lib-master/master-service-settings.c
+
+2017-06-08 00:33:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c6dfc77cb2)
+
+ lib-master: master_service_import_environment() - use a data stack frame
+
+ This way the caller doesn't have to do it.
+
+M src/lib-master/master-service.c
+M src/master/main.c
+
+2017-06-08 00:24:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8a0a8c982a)
+
+ master: Move master_set_import_environment() to lib-master
+
+
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+M src/master/main.c
+
+2017-06-08 00:20:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (18be696381)
+
+ master: Append to existing DOVECOT_PRESERVE_ENVS instead of overwriting it
+
+
+M src/master/main.c
+
+2017-06-08 00:14:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8d7c78157f)
+
+ master: Move import_environment setting to lib-master's
+ master_service_settings
+
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/master/main.c
+M src/master/master-settings.c
+M src/master/master-settings.h
+
+2017-02-04 20:45:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ae6a14ce9d)
+
+ lib-http: Try to reuse memory for host->ips allocation.
+
+ If the host already had an IP, most of the time ips_count doesn't change
+ anymore.
+
+M src/lib-http/http-client-host.c
+
+2017-06-10 10:35:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dead275d57)
+
+ lib: Fix test-path-util unit test with some cwd path lengths
+
+ The component-component directory might not have been created at all, in
+ which case the following symlink creations would fail since they were
+ already created to the same directory in a previous test.
+
+M src/lib/test-path-util.c
+
+2017-06-09 18:10:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (83d6ad2c8c)
+
+ mail-crypt-acl: Fix assert-crash due to missing namespace initialization
+
+ This was broken by e031d9aaae59a9f79710dc1138b76b69272615a3.
+
+M src/plugins/mail-crypt/mail-crypt-acl-plugin.c
+
+2017-06-09 16:18:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f165d31e1f)
+
+ quota: count backend - Don't ignore mailbox list iteration errors
+
+
+M src/plugins/quota/quota-count.c
+
+2017-06-09 14:08:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7ebda61d3f)
+
+ lib: Fix test-path-util.c formatting to conform coding style
+
+
+M src/lib/test-path-util.c
+
+2017-06-09 13:15:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (dfe2b5d366)
+
+ lib: Fix infinite loop in path-util.c
+
+ Infinite loop was reached if the path was longer than 128 bytes, and the 128
+ boundary was in middle of path name component.
+
+M src/lib/path-util.c
+M src/lib/test-path-util.c
+
+2017-06-09 12:07:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f936222334)
+
+ quota: Fix negative quota_warnings with count backend
+
+ For example this never triggered:
+
+ quota_warning = -messages=100%% quota-warning %u -100
+
+ The change to quota_alloc() to update the count_used doesn't seem to
+ actually fix anything right now, but it makes the code more correct.
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2017-06-09 12:42:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6ffa4fc008)
+
+ lib-storage: Fix sort index writing to not leave sort_id=0 gaps
+
+ This fixes errors like: Error: INBOX: Broken sort-f indexes, resetting
+
+M src/lib-storage/index/index-sort-string.c
+
+2017-06-09 12:25:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (96c7d2a595)
+
+ lib-storage: Add details to "Broken sort-* indexes" error
+
+
+M src/lib-storage/index/index-sort-string.c
+
+2017-06-09 15:22:56 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7aa2660e70)
+
+ dsync: Display namespace locations on init in debug mode
+
+ This simplifies debugging as you can more easily tell which brain is using
+ which mail location.
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2017-06-09 14:31:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8a5fe0c06f)
+
+ lib-storage: Fix setting the correct cache record corrupted
+
+ It was mixing UIDs and sequences, so a wrong mail could have been set
+ corrupted or it could have crashed with:
+
+ Panic: file mail-index-transaction-update.c: line 1018
+ (mail_index_update_ext): assertion failed: (seq > 0 && (seq <=
+ mail_index_view_get_messages_count(t->view) || seq <= t->last_new_seq))
+
+M src/lib-storage/mail-storage.c
+
+2017-06-04 13:07:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7076aac110)
+
+ quota: Remove unused quota_free()
+
+
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2017-06-04 13:06:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (27569c07b5)
+
+ quota: Fix quota_vsizes=yes to work with all backends
+
+
+M src/plugins/quota/quota.c
+
+2017-06-07 14:37:47 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (df3ba6386b)
+
+ lib-storage: simplify mailbox_get_path_to()
+
+ Instead of special casing MAILBOX_LIST_PATH_TYPE_{MAILBOX,INDEX}, we can use
+ a common helper to remove code duplication.
+
+M src/lib-storage/mail-storage.c
+
+2017-05-31 00:07:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b01d001df2)
+
+ imapc: Don't send UID FETCH 1:* after SELECT if mailbox is empty
+
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2017-06-07 19:54:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e5834cb5a1)
+
+ lib-storage: test-mail-search-args-simplify - test with initialized args
+
+
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2017-06-07 19:53:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1270cb6b61)
+
+ lib-storage: mail_search_args_simplify() - Fix merging already-initialized
+ keywords
+
+ It was deinitializing the arg that was kept instead of the one being
+ removed.
+
+M src/lib-storage/mail-search-args-simplify.c
+
+2017-06-07 19:37:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b8b005887c)
+
+ lib-storage: Fix mail_search_args_simplify() to not deinit too many args
+
+ Removing an arg should deinit it, but not its following siblings.
+
+M src/lib-storage/mail-search-args-simplify.c
+
+2017-06-07 19:36:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1db237d245)
+
+ lib-storage: Add mail_search_arg_one_deinit()
+
+
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+
+2017-06-07 23:47:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (352bbeb5ad)
+
+ master: Don't include imap-hibernate when counting auth's max client_limit
+
+ imap-hibernate doesn't do any auth connections, so it doesn't need it. It's
+ a bit ugly to add an explicit service name comparison here, but there didn't
+ really seem to be many other good choices:
+
+ * Could have removed protocol=imap from imap-hibernate. I was close to
+ doing this, but maybe it's better that imap-only processes would have their
+ protocol set to "imap".
+
+ * Could have added a new service type, but seems pretty unnecessary to add
+ some kind of a "nonauth" just for this. A reverse "needs-auth" might have
+ been ok though.
+
+ Perhaps in future we'll implement proper dependencies across services and
+ those dependencies could be used to calculate this limit more precisely.
+
+M src/master/master-settings.c
+
+2017-06-07 10:17:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8322e7400b)
+
+ lib: Add unit tests for p_strdup*()
+
+
+M src/lib/test-strfuncs.c
+
+2017-05-30 18:25:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cb1e7cb676)
+
+ lib-storage: Fix crash in mail_get_header_stream() when its previous stream
+ wasn't at EOF
+
+ At least this could have happened when indexes were disabled and running:
+
+ FETCH 1 (envelope body.peek[header.fields (foo)] bodystructure)
+
+ Fixes: Panic: file index-mail-headers.c: line 198
+ (index_mail_parse_header_init): assertion failed:
+ (!mail->data.header_parser_initialized)
+
+M src/lib-storage/index/index-mail-headers.c
+
+2017-06-07 11:35:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e6d4f540bf)
+
+ global: Use i_realloc_type() wherever possible
+
+
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib/ioloop-poll.c
+
+2017-06-07 11:24:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6509aa7306)
+
+ lib: Add test-mempool unit test.
+
+ It verifies that the p_new() and p_realloc_type() handle overflows
+ correctly. test-malloc-overflow already does this for the low-level
+ MALLOC_*() macros, but here we're cheking that the actually used memory
+ allocation macros also work.
+
+M src/lib/Makefile.am
+M src/lib/test-lib.inc
+M src/lib/test-mempool-alloconly.c
+A src/lib/test-mempool.c
+
+2017-06-07 11:24:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (71b92ca8e3)
+
+ lib: Add i_realloc_type() for i_realloc() that checks for overflows
+
+
+M src/lib/Makefile.am
+M src/lib/imem.h
+M src/lib/mempool.h
+A src/lib/test-imem.c
+M src/lib/test-lib.inc
+
+2017-06-08 11:35:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d8ed8d5586)
+
+ imapc: Fix potential crash if initial sync fails.
+
+ Happened at least if mailbox had 0 mails and a failing mailbox_sync() was
+ called twice.
+
+ Fixes: Panic: file imapc-sync.c: line 477 (imapc_sync_index): assertion
+ failed: (mbox->sync_fetch_first_uid == 1)
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2017-06-07 18:10:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e106213aeb)
+
+ lib-mail: message_address_parse() - Fix fill_missing==TRUE handling
+
+ Mainly MISSING_DOMAIN wasn't set in all situations. Also added unit tests.
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2017-06-07 15:33:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5430411539)
+
+ lib-mail: message_address_parse() - Handle invalid standalone phrases better
+
+ We'll treat "local-part" (without quotes) as a mailbox even without
+ @domain, but if it continues with anything or if it's a quoted-string, we'll
+ treat it as a display-name instead.
+
+ This is probably better than just converting everything to display-name,
+ since there are likely to exist headers like "To: localuser"
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2017-06-07 15:22:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f55b07916c)
+
+ lib-mail: Improve test-message-address to test invalid addresses in lists
+
+ Test in both a group and list of addresses.
+
+M src/lib-mail/test-message-address.c
+
+2017-06-07 15:21:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (52818a09c8)
+
+ lib-mail: message_address_parse() - don't stop at <> when parsing address
+ lists
+
+ And similarly don't stop at <@domain>
+
+M src/lib-mail/message-address.c
+
+2017-06-07 15:08:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (22cf8b6ace)
+
+ lib-mail: message_address_parse() - don't stop at invalid addresses when
+ parsing group
+
+ Also the end-group's message_address shouldn't have invalid_syntax=TRUE,
+ except when we didn't actually find the ending ';'
+
+M src/lib-mail/message-address.c
+
+2017-06-07 14:57:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4c9294fcb1)
+
+ lib-mail: message_address_parse() - Fix reading out-of-bounds read on
+ invalid input
+
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2017-06-07 13:34:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3cb2f0951e)
+
+ lib-mail: message_address_parse() - Remove unnecessary NULL checks
+
+ message_address_parse() always initialized rfc822_parser_init() with
+ last_comment string.
+
+M src/lib-mail/message-address.c
+
+2017-06-07 13:19:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6b8f4863bb)
+
+ lib-mail: test-message-address - add more and better organized tests
+
+
+M src/lib-mail/test-message-address.c
+
+2017-06-07 12:58:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (58a770f1e0)
+
+ lib-mail: message_address_parse() - Add INVALID_ROUTE/SYNTAX_ERROR only if
+ fill_missing==TRUE
+
+ This allows message_address_write() to write the parsed invalid address in a
+ way that at least somewhat resembles the original input.
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2017-06-07 12:42:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dc8c1e74e8)
+
+ lib-mail: message_address_write() - Write empy username as ""
+
+ We can't output <@domain> because that conflicts with the <@route:...>
+ syntax. Also ""@domain seems to be a valid address.
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2017-06-07 12:37:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5a8ee853d0)
+
+ lib-mail: message_address_write() - Always write <user@domain> as output
+
+ This is the standard format nowadays, so don't convert <user@domain> into
+ plain user@domain.
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2017-06-07 12:35:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ffc8c62c46)
+
+ lib-mail: message_address_write() - Don't write empty <>
+
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2017-06-07 12:34:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6a2a171ae0)
+
+ lib-mail: message_address_write() - Don't add '@' if domain is missing
+
+
+M src/lib-mail/message-address.c
+M src/lib-mail/test-message-address.c
+
+2017-06-07 12:33:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a8ebb72c0f)
+
+ lib-mail: test-message-address - Test also writing invalid addresses
+
+
+M src/lib-mail/test-message-address.c
+
+2017-06-07 12:01:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (18a2214eed)
+
+ lib-mail: test-message-address cleanup
+
+ Merge input and output into the same struct to make it clearer.
+
+M src/lib-mail/test-message-address.c
+
+2017-06-05 14:21:23 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (c536bf2265)
+
+ lib: test for guid_128_generate() time handling
+
+ Make sure that guids always increase regardless of what is happening to the
+ time.
+
+M src/lib/test-guid.c
+
+2017-06-05 12:55:56 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (8b2aaea36a)
+
+ lib: guid_128_generate() shouldn't generate invalid timestamps
+
+ The nsec validity check must take into account the soon-to-be-done
+ increment.
+
+M src/lib/guid.c
+
+2017-06-05 12:53:23 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (c104ea8f18)
+
+ lib: guid_128_generate() needs to correctly convert usecs to nsecs
+
+ The timestamp in the guid starts off with real time, but "runs ahead" if a
+ lot of guids are generated. If not many guids are being generated, the
+ timestamp is fast-forwarded to the current ioloop_timeval. The buggy
+ comparison prevented fast forwarding when tv_sec matched, but tv_nsec value
+ was > 0 (which was true most of the time).
+
+M src/lib/guid.c
+
+2017-05-31 14:32:30 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (e8760ad579)
+
+ quota: assertion for *args != NULL is added in order to avoid warning from
+ static analyzer and *args[0] changed to (*args)[0]
+
+
+M src/plugins/quota/quota.c
+
+2017-06-06 13:59:14 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4c49732005)
+
+ dict-cdb: Add simple iteration support
+
+
+M src/lib-dict/dict-cdb.c
+
+2017-06-06 17:18:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (52b52b5f9e)
+
+ lib-index: Fix reset_id handling in mail_cache_get_missing_reason() cache
+
+ Broken by bd897f82a5d9b00ba256b462d2056c2dc7df257c
+
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-private.h
+
+2017-04-07 09:19:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (01f121754e)
+
+ lib: test-utc-mktime: Remove duplicate test
+
+ Also fixes a compiler warning when time_t is signed 32bit.
+
+M src/lib/test-utc-mktime.c
+
+2017-06-06 09:39:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f976c38f07)
+
+ lib-storage: Fix assert-crash in SORT caused by earlier changes
+
+ Broken by 0a6a527f0c42b5478d80ac53ab357885676fd516
+
+ Fixes: Panic: file index-sort-string.c: line 668 (index_sort_add_ids_range):
+ assertion failed: (str != NULL)
+
+M src/lib-storage/index/index-sort-string.c
+
+2017-06-06 12:47:53 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (bfc3dd4356)
+
+ lib-oauth2: Make sure fields are always initialized
+
+
+M src/lib-oauth2/oauth2-introspect.c
+M src/lib-oauth2/oauth2-refresh.c
+M src/lib-oauth2/oauth2-token-validate.c
+
+2017-06-06 12:44:55 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (41b272000b)
+
+ lib-oauth2: Accept empty responses
+
+
+M src/lib-oauth2/oauth2.c
+
+2017-06-05 21:53:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bd897f82a5)
+
+ lib-index: Add cache to mail_cache_get_missing_reason()
+
+ This avoids excessive CPU usage when it's called in a loop for many mails.
+
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-private.h
+
+2017-06-05 21:44:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (adef31eb09)
+
+ lib-index: mail_cache_get_missing_reason() - Minor code cleanup
+
+
+M src/lib-index/mail-cache-lookup.c
+
+2017-06-05 21:09:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0a6a527f0c)
+
+ lib-storage: Optimize error handling for SORT
+
+ If a lot of mails have failed in a large mailbox, this check reduces the CPU
+ usage significantly.
+
+M src/lib-storage/index/index-sort-string.c
+
+2017-06-05 21:07:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (91ede77590)
+
+ lib-storage: Sort code cleanup - Change index_sort_get_string() to return
+ bool
+
+ None of the callers cared about the difference between "expunged" vs
+ "error".
+
+M src/lib-storage/index/index-sort-string.c
+
+2017-06-05 21:05:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1a229e3e15)
+
+ lib-storage: Sort code cleanup - pass node to index_sort_get_string()
+
+
+M src/lib-storage/index/index-sort-string.c
+
+2017-06-05 20:14:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (646800dd3b)
+
+ lib-storage: Make sure istream-mail doesn't replace an existing storage
+ error
+
+ I'm not aware of it actually having broken anything, so this is just for
+ extra safety.
+
+M src/lib-storage/index/istream-mail.c
+
+2017-06-05 20:12:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5774da7bb2)
+
+ lib-storage: Fix SORT error message when reaching mail_sort_max_read_count
+
+ It should have been: NO [LIMIT] Requested sort would have taken too long
+
+ Instead it was just: NO [SERVERBUG] Mail field not cached
+
+ It was broken for CC, FROM, TO, SUBJECT, DISPLAYFROM and DISPLAYTO. The
+ numeric sorting was working correctly.
+
+M src/lib-storage/index/index-sort.c
+
+2017-06-05 19:05:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6f380c1e80)
+
+ push-notification: Fix crash in OX driver's deinit
+
+ The http_client doesn't always exist.
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2017-06-05 12:14:57 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b20202007c)
+
+ auth: Access always first entry when flushing failures
+
+ The code is deleting the first item after accessing it, and then moving
+ forward. It will eventually go beyond the array and get NULL ptr and fail.
+
+ Instead we need to always get the first item, since the array deletion is
+ moving the queued items forward.
+
+ Broken by e18b4e41
+
+M src/auth/auth-request-handler.c
+
+2017-05-30 16:23:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6215a7ed04)
+
+ lib-auth: Code cleanup - remove unnecessary code
+
+ Besides being unnecessary, it was also obsolete since not all the strings
+ were p_strdup()ed.
+
+M src/lib-auth/auth-client-request.c
+
+2017-05-23 14:12:49 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (07470e90d3)
+
+ pop3: send back auth reply sooner
+
+ If possible (i.e., pop3_lock_session=no), we can send back the OK response
+ earlier.
+
+M src/pop3/main.c
+
+2017-05-23 13:01:48 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (bd5cf4556e)
+
+ pop3: initialize namespaces explicitly
+
+ (instead of relying on mail user initialization to instantiate them for us)
+
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+
+2017-05-19 10:58:18 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (11b8ec1586)
+
+ pop3: client_create_from_input shouldn't process input
+
+ This makes the pop3 code resemble the imap code more. Making the subsequent
+ changes easier.
+
+M src/pop3/main.c
+
+2017-05-19 10:51:22 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (6616907d96)
+
+ pop3: client_create_from_input should return the client struct
+
+ This makes the code more similar to imap's, making subsequent changes
+ easier.
+
+M src/pop3/main.c
+
+2017-05-19 10:46:05 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (813009c430)
+
+ pop3: rename login_client_connected() client arg to login_client
+
+ This makes the next commit cleaner.
+
+M src/pop3/main.c
+
+2017-05-19 10:42:03 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (0f0bf444b8)
+
+ pop3: move pop3 session locking out of client_create
+
+ As a result, we can directly return the client structure (instead of passing
+ it back via a _r arg).
+
+ This makes the pop3 client_create look more like the imap version.
+
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+
+2017-05-30 10:37:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (be97d7e54e)
+
+ lib-imap-client: Fix test-imapc-client unit test to work on OSX
+
+ connect() to port 0 fails in it, so for the "connect failure" test first
+ open a random free listener port and then close it. Hopefully nothing else
+ reopens it in the mean time.
+
+M src/lib-imap-client/test-imapc-client.c
+
+2017-05-30 10:28:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (796beea86b)
+
+ lib: test-path-util unit test - small fixes and cleanups
+
+ Don't use /tmp, especially because on OSX it's a symlink to /private/tmp/,
+ which causes these tests to fail.
+
+M src/lib/test-path-util.c
+
+2017-05-31 14:27:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5c8dec7f64)
+
+ director: Use longer timeout for receiving user list in handshake
+
+ The sender also has a send timeout, so this allows the sender to abort early
+ and give a nicer error message.
+
+M src/director/director-connection.c
+
+2017-05-31 13:42:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1ef9754a51)
+
+ director: Log more connection state information on handshaking errors
+
+
+M src/director/director-connection.c
+
+2017-05-31 13:17:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7fd22d5521)
+
+ director: Use more accurate timestamps for handshake timeout logging
+
+ There could be some time between the create, connect and when ME was
+ received.
+
+M src/director/director-connection.c
+
+2017-05-31 13:15:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6ccc7f584c)
+
+ director: Fix "sending handshake timed out" error to be actually logged
+
+ io was never NULL here, so it was never logged.
+
+M src/director/director-connection.c
+
+2017-05-31 13:11:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5a530f778c)
+
+ director: Fix handshake timeout lengths
+
+ They weren't too bad, but also they weren't what the #defines described.
+ Also added a separate connect() timeout.
+
+M src/director/director-connection.c
+
+2017-05-30 21:57:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f6066a48bb)
+
+ quota: Fix imapc backend not to try to find out mail's size.
+
+ This removes unnecessary FETCH RFC822.SIZE command sent to server when
+ expunging mails.
+
+M src/plugins/quota/quota-imapc.c
+
+2017-05-31 00:00:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cb9a2c8e20)
+
+ imapc: SEARCH - Don't add parenthesis around OR
+
+ There's no need to write "(OR a b)" when "OR a b" works just the same.
+
+M src/lib-storage/index/imapc/imapc-search.c
+
+2017-05-30 23:53:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5b2062e40f)
+
+ lib-storage: mail_search_args_to_imap() - don't add parenthesis around OR
+
+ There's no need to write "(OR a b)" when "OR a b" works just the same.
+
+M src/lib-storage/mail-search-args-imap.c
+M src/lib-storage/mail-search-mime.c
+M src/lib-storage/test-mail-search-args-imap.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2017-05-31 14:39:55 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fa33df8230)
+
+ lib: Use unix streams with connection when using unix socket
+
+ This makes it easier to send file descriptors over connection
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2017-05-30 16:57:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0ce76629d2)
+
+ auth: Don't lose all forward_ fields if the first passdb lookup fails.
+
+
+M src/auth/auth-request.c
+
+2017-05-29 13:39:18 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (869e8af5b7)
+
+ lib-mail: Add qp encoder
+
+
+M src/lib-mail/Makefile.am
+A src/lib-mail/istream-qp-encoder.c
+M src/lib-mail/istream-qp.h
+A src/lib-mail/qp-encoder.c
+A src/lib-mail/qp-encoder.h
+A src/lib-mail/test-istream-qp-encoder.c
+A src/lib-mail/test-qp-encoder.c
+
+2017-05-25 19:03:32 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (51f5fe16ff)
+
+ lib-mail: Link test binaries to libmail.la instead of .lo files
+
+
+M src/lib-mail/Makefile.am
+
+2017-05-30 14:03:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (95f60b5c13)
+
+ mail-filter: tabescape args, this is required by script client 4
+
+
+M src/plugins/mail-filter/istream-ext-filter.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+
+2017-05-30 14:01:39 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f38b0dafbf)
+
+ welcome: tabescape args, this is required by script client 4
+
+
+M src/plugins/welcome/welcome-plugin.c
+
+2017-05-30 14:01:17 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (405fc3aeaa)
+
+ global: Update script client version number
+
+ Broken by b383ed51d75bce0f69f126bc4ff7192985ca30f2
+
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/mail-filter/istream-ext-filter.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+M src/plugins/welcome/welcome-plugin.c
+
+2017-05-30 11:30:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8df38b03aa)
+
+ auth: Fix crash on passdb lookup when all passdbs were skipped
+
+ Finishes the fix in 614f5b6febaf3c825f9200ab3b62d9d047197b0e
+
+ Fixes: auth: Panic: file auth-request.c: line 2493 (get_log_prefix):
+ assertion failed: (auth_request->mech != NULL)
+
+M src/auth/auth-request.c
+
+2017-05-30 09:36:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6263d367e8)
+
+ lib-storage: Fix LAYOUT=fs potentially not ignoring ACLs when requested
+
+ fs_get_existence_info_flag() was only being called with LAYOUT=fs and
+ Maildir combination. This mainly affected that combination when using
+ mailbox_list_index=yes and trying to list mailboxes with ACL checking
+ disabled.
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2017-05-30 09:18:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3c56ce9f39)
+
+ lib-storage: Fix ACL in parent mailbox potentially hiding its children.
+
+ fs_get_existence_info_flag() was only being called with LAYOUT=fs and
+ Maildir combination, so only it was broken if the parent mailbox wasn't
+ visible but its children were.
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2017-05-30 09:15:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9934242994)
+
+ lib-storage: fs_list_get_mailbox_flags() - Return mailbox files as
+ selectable
+
+ Avoids a second stat() later on, which would do the same anyway.
+
+M src/lib-storage/list/mailbox-list-fs-flags.c
+
+2017-05-30 09:12:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9e50448ea2)
+
+ lib-storage: fs_list_get_mailbox_flags() - Don't assume directories always
+ have children.
+
+ This makes the directory handling code equivalent for type==UNKNOWN and
+ type==DIR.
+
+M src/lib-storage/list/mailbox-list-fs-flags.c
+
+2017-05-30 09:10:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cea31bf9e5)
+
+ lib-storage: fs_list_get_mailbox_flags() - Add comments
+
+
+M src/lib-storage/list/mailbox-list-fs-flags.c
+
+2017-05-30 09:09:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (348202a977)
+
+ lib-storage: fs_list_get_mailbox_flags() - Reorganize code
+
+ No functional changes.
+
+M src/lib-storage/list/mailbox-list-fs-flags.c
+
+2017-05-29 17:58:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ad9a6d27cd)
+
+ acl: Global ACL file was parsed as if it was local ACL file
+
+ This caused some of the ACL handling not work exactly as expected.
+
+M src/plugins/acl/acl-global-file.c
+
+2017-05-29 17:26:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4272501836)
+
+ lib-storage: Make mailbox_list_iter_init_autocreate() static again
+
+ It's no longer needed elsewhere.
+
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/mailbox-list-private.h
+
+2017-05-29 17:20:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f8a67af9b7)
+
+ lib-storage: Fix mailbox_list_index=yes + ACLs + auto=subscribe mailboxes
+
+ If the auto=subscribe mailbox didn't have a lookup ACL, it shouldn't have
+ been listed. This didn't work properly, because ACL plugin initialized the
+ autocreate_ctx only for the index iterator, while the autoboxes were listed
+ using the backend iterator. Fixed by not creating index iterator at all when
+ doing a passthrough iteration.
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/mailbox-list-private.h
+
+2017-05-29 16:44:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d186a2391d)
+
+ lib-storage: Cleanup - Don't use ctx in iter_use_index()
+
+ Shrinks the following change.
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+
+2017-05-29 15:52:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d754fe4573)
+
+ lib-storage: Add \NoInferiors flag to autocreated mailboxes with mbox
+
+ Once the mailboxes get autocreated, the \NoInferiors flag is added anyway.
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2017-05-29 15:30:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f5836cc8a9)
+
+ lib-storage: Don't list duplicate autocreated mailboxes' parents
+
+
+M src/lib-storage/list/mailbox-list-iter-private.h
+M src/lib-storage/list/mailbox-list-iter.c
+
+2017-05-29 13:53:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ab7687e9b0)
+
+ acl: Skip auto=create|subscribe mailboxes that don't have lookup-right
+
+ Removing them entirely from the boxes and box_sets arrays in the list
+ context treats them as if they weren't configured at all. This way they
+ don't need any other special code.
+
+M src/plugins/acl/Makefile.am
+M src/plugins/acl/acl-mailbox-list.c
+
+2017-05-29 13:52:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (67cbe5d33f)
+
+ lib-storage: Add mailbox-list-iter-private.h with autocreate context structs
+
+ Needed for the following ACL change.
+
+M src/lib-storage/list/Makefile.am
+A src/lib-storage/list/mailbox-list-iter-private.h
+M src/lib-storage/list/mailbox-list-iter.c
+
+2017-05-24 11:50:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e67df1f706)
+
+ lib-storage: Log an info message when dovecot.index.pvt UIDVALIDITY changes
+
+
+M src/lib-storage/index/index-sync-pvt.c
+
+2017-05-24 11:47:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c50602b443)
+
+ lib-storage: When initializing dovecot.index.pvt, don't reset it.
+
+ This avoids unnecessary errors about index being reset when it was already
+ empty.
+
+M src/lib-storage/index/index-sync-pvt.c
+
+2017-05-24 11:41:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (207f4864a9)
+
+ lib-storage: Cleanup - Remove pointless if-check
+
+
+M src/lib-storage/index/index-sync-pvt.c
+
+2017-05-24 20:19:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (5791d02c36)
+
+ lib-http: client: Only drop queued requests when a DNS lookup fails; not
+ also the ones that are already in progress.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+
+2017-05-24 21:59:32 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7a1bc4683f)
+
+ lib-http: client: When a request is destroyed prematurely during payload
+ input, consider the payload stream destroyed and act accordingly.
+
+ The application may hold a reference to the payload stream still, and it may
+ be difficult to prevent that. This causes lib-http to keep waiting for the
+ payload to be destroyed. When nothing else is going on, the current ioloop
+ may then become empty, which caused the familiar assert failure.
+
+M src/lib-http/http-client-connection.c
+
+2017-05-24 19:08:43 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (567d1c82e3)
+
+ lib-http: client: Explicitly destroy the response payload timeout stream
+ when the request is destroyed while receiving payload.
+
+ This way, the timeout is stopped. This caused ioloop panics.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2017-05-24 18:27:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6e43afe039)
+
+ quota: Fix infinite loop when parsing quota parameters
+
+ Broken by previous quota changes.
+
+M src/plugins/quota/quota.c
+
+2017-05-24 23:49:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (451a1bfd1f)
+
+ lib-storage: Fix crash in test-mail-storage
+
+
+M src/lib-storage/test-mail-storage.c
+
+2017-05-24 22:31:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (596c462348)
+
+ lib-storage: Fix memory leak in test-mail-storage
+
+
+M src/lib-storage/test-mail-storage.c
+
+2017-05-24 21:56:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (55ca77c6ae)
+
+ lib-storage: Add unit test for set/get/push/pop storage error operations
+
+
+M src/lib-storage/Makefile.am
+A src/lib-storage/test-mail-storage.c
+
+2017-05-24 21:29:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7e9e61655e)
+
+ lib-storage: Fix mail_storage_set_critical() when input parameter is an old
+ internal error
+
+ This could have caused garbage in the error string.
+
+M src/lib-storage/mail-storage.c
+
+2017-05-24 19:16:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (30d50c7e87)
+
+ lib-storage: Fix mail_storage_last_error_push/pop() to work with internal
+ errors
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2017-05-24 17:19:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (04a6e51325)
+
+ lib-master: Replace listeners with /dev/null in SIGQUIT instead of closing
+
+ This should be somewhat safer.
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+
+2017-05-19 11:00:22 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (73cdeeae4c)
+
+ Whitespace cleanup
+
+
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-imapc.c
+M src/plugins/quota/quota.c
+
+2017-05-19 10:58:52 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (1f166c4a74)
+
+ Dict backend parameters reading changed to use common parsing function
+
+
+M src/plugins/quota/quota-dict.c
+
+2017-05-19 10:57:02 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (efbb018262)
+
+ fs backend parameter parsing changed to use common function
+
+
+M src/plugins/quota/quota-fs.c
+
+2017-05-19 10:52:46 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (bbd51f171b)
+
+ imapc backend parameter parsing changed to use common function
+
+
+M src/plugins/quota/quota-imapc.c
+
+2017-05-19 10:49:01 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (5ee9207775)
+
+ maildir backend parameter parsing changed to use common function
+
+
+M src/plugins/quota/quota-maildir.c
+
+2017-05-19 10:46:27 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (aa089dcef7)
+
+ quota root default init changed to use common param parse function
+
+
+M src/plugins/quota/quota.c
+
+2017-05-18 13:30:25 +0300 Sergey Kitov <sergey.kitov@open-xchange.com> (afbdaecd32)
+
+ common quota parameter parsing function implemented
+
+
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2017-05-22 17:56:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bbcda8a2ea)
+
+ imap: Fix unhibernation after earlier change
+
+
+M src/imap/imap-master-client.c
+
+2017-05-22 10:13:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9c42095655)
+
+ lib-index: Fix crash in mail_transaction_log_view_set_all() error handling
+
+
+M src/lib-index/mail-transaction-log-view.c
+
+2017-05-22 10:11:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6d2f4a21bd)
+
+ lib-index: Fix start_offset > sync_offset error handling for in-memory
+ indexes
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2017-05-20 18:13:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e3d797bc85)
+
+ config: When showing an "Unknown setting" error, show the full section path
+
+ For example with:
+
+ service foo {
+ inet_listener bar {
+ key = value
+ }
+ }
+
+ Instead of showing just:
+
+ Unknown setting: key
+
+ Show the entire path:
+
+ Unknown setting: service { inet_listener { key
+
+ Any filters won't be shown, because they don't affect the result.
+
+M src/config/config-parser-private.h
+M src/config/config-parser.c
+
+2017-05-19 17:44:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (08406452bf)
+
+ imap: Move struct client_sync_context to imap-sync-private.h and add imap_
+ prefix
+
+
+M src/imap/imap-client.h
+M src/imap/imap-sync-private.h
+M src/imap/imap-sync.c
+
+2017-05-19 16:34:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (67c25cb4af)
+
+ imap: Allow plugins to replace existing FETCH handlers
+
+ They can use imap_fetch_handler_lookup() to get the old init() function.
+ Then they can imap_fetch_handler_unregister() the existing handler and
+ register a new handler, which can do its own work and call the old init() if
+ needed.
+
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+
+2017-05-17 16:47:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0a1a4e586c)
+
+ lib-index: Improve "start_offset > current sync_offset" error message.
+
+ Try to make it clear what is the root cause of it.
+
+M src/lib-index/mail-transaction-log-file.c
+
+2017-05-17 16:28:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a0c8af555e)
+
+ lib-index: mail_transaction_log_file_get_highest_modseq_at() - return error
+ string
+
+ This can help figuring out why some error happened when more context is
+ provided in the caller's error messages.
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/test-mail-transaction-log-view.c
+
+2017-05-17 16:21:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (20a10690f6)
+
+ lib-index: Add missing error logging for mail_index_view_sync_begin()
+
+
+M src/lib-index/mail-index-view-sync.c
+
+2017-05-17 13:33:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ce9d23c7c1)
+
+ lib-index: mail_transaction_log_file_map() - return reason/error string
+
+ This can help figuring out why some error happened when more context is
+ provided in the caller's error messages.
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/test-mail-transaction-log-view.c
+
+2017-05-17 13:31:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ac8cb75fb1)
+
+ lib-index: mail_transaction_log_view_set_all() - don't entirely ignore
+ corrupted logs
+
+ Ignore them only if it's followed by an index reset.
+
+M src/lib-index/mail-transaction-log-view.c
+
+2017-05-19 11:05:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c44fcb83f2)
+
+ lib-storage: Don't crash if cache is thought broken for a newly saved mail
+
+ It's a bug that it happens, but the resulting crash is confusing. Although
+ arguably this new error could be i_panic() instead.
+
+ Fixes: Panic: file mail-index-transaction-update.c: line 1018
+ (mail_index_update_ext): assertion failed: (seq > 0 && (seq <=
+ mail_index_view_get_messages_count(t->view) || seq <= t->last_new_seq))
+
+M src/lib-storage/index/index-mail.c
+
+2017-05-17 19:02:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3698474967)
+
+ imap NOTIFY: Flush any pending notifications on NOOP
+
+ This is mainly to allow testing NOTIFY easily with imaptest scripts. This is
+ cheap anyway, because mailbox_list_notify_flush() doesn't do any syscalls
+ when there's no work.
+
+M src/imap/cmd-noop.c
+M src/imap/imap-notify.c
+M src/imap/imap-notify.h
+
+2017-05-17 19:01:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (58a8962790)
+
+ lib-storage: Implement mailbox_list_notify_flush()
+
+ This flushes any pending notifications. For now it only checks if there's a
+ pending notification waiting for a timeout. It could also stat() the files
+ to make sure, but that's probably unnecessary.
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/mailbox-list-notify.c
+M src/lib-storage/mailbox-list-notify.h
+M src/lib-storage/mailbox-list-private.h
+
+2017-05-17 18:13:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a384b1fccb)
+
+ lib-storage: Explicitly name function pointers in mailbox lists
+
+ This allows adding more fields to struct mailbox_list_vfuncs without
+ compiler warnings.
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+
+2017-05-17 17:49:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3b86acdd41)
+
+ lib-storage: Always update highestmodseq in mailbox list index
+
+ This is required for mailbox-list-notify API to work correctly. For example
+ IMAP NOTIFY session with CONDSTORE enabled could be listening for
+ FlagChanges, but another session without CONDSTORE enabled could be updating
+ flags in a mailbox that has never been opened with CONDSTORE enabled. NOTIFY
+ wouldn't see this change, unless it was always written to
+ dovecot.list.index.
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2017-05-17 17:14:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3ee009bb15)
+
+ lib-storage: Fix mailbox list index notifications when modseqs aren't
+ enabled.
+
+ No notifications were sent if highest_modseqs weren't updated in mailbox
+ list index.
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+
+2017-05-17 11:40:53 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (e031d9aaae)
+
+ imap: login reply should be sent sooner
+
+
+M src/imap/main.c
+
+2017-05-18 23:13:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a18b40c2ce)
+
+ lib-storage: Fix mailbox list index records without guid having invalid
+ flags
+
+ With LAYOUT=index the mailbox is found with its GUID. If it doesn't exist,
+ the mailbox has to be either \NonExistent or \NoSelect. It probably doesn't
+ make much difference which one, so we'll fix them by adding \NoSelect.
+
+ With other layouts the GUID is allowed to be empty, because it can be looked
+ up from the actual mailbox.
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2017-05-18 23:06:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0b2f4c2226)
+
+ lib-storage: Fix mailbox list index records with name_id=0
+
+ name_id=0 isn't valid, so it needs to be changed and writen to the disk. The
+ write-to-disk part wasn't working.
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2016-03-30 09:33:02 +0300 Phil Carmody <phil@dovecot.fi> (0327191888)
+
+ lib: istream-concat - enforce cur_input==input[cur_idx] invariant
+
+ Since the over-seek patch, this is now an invariant, so ensure it's always
+ true.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/istream-concat.c
+
+2016-03-30 09:29:51 +0300 Phil Carmody <phil@dovecot.fi> (13fc4d6d28)
+
+ lib: istream-concat - make cur_input always match input[cur_idx]
+
+ We're deliberately not stepping into the NULL stream, don't let the cur_idx
+ indicate that we have moved into it, that's confusing.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/istream-concat.c
+
+2017-05-18 21:10:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7efe57b10e)
+
+ imapc: Make sure a valid UIDVALIDITY is returned by SELECT
+
+ Fixes errors such as: Error: Synchronization corrupted index header
+ (in-memory index): uidvalidity=0, but next_uid=9
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-05-18 21:08:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6e853fdf3a)
+
+ imapc: Fix assert-crash if server doesn't send EXISTS reply to SELECT
+
+ Fixes: Panic: file imapc-sync.c: line 477 (imapc_sync_index): assertion
+ failed: (mbox->sync_fetch_first_uid == 1)
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-05-18 20:18:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (651630fe2c)
+
+ lib-imap-client: Change server IP only on connect() failures
+
+ Also log an warning-level message about it. This is mainly useful to see
+ that a slow connection could be caused by a connect() timeout. Since more
+ IPs are still available, it's not yet an error.
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+
+2017-05-18 19:42:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (78aafd0624)
+
+ imapc: Fix infinite reconnection when server keeps sending corrupted state
+
+ When corrupted state was found, imapc_client_mailbox_reconnect() is called
+ to reconnect. This call skipped the normal "is it safe to reconnect?" checks
+ causing potentially infinite reconnections.
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-05-18 19:40:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2e47584d76)
+
+ lib-imap: imap_parser_unref() should always set parser=NULL
+
+ Not just when the last reference is cleared. This is how *_unref()s should
+ work everywhere in Dovecot. This fixes a bug in lib-imap-client where a
+ parser could have been accessed after it was already freed.
+
+M src/lib-imap/imap-parser.c
+
+2017-05-18 18:09:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f4871975cf)
+
+ imapc: Avoid resending duplicate FETCH when reconnecting during the initial
+ sync
+
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2017-05-18 18:01:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bc3309d262)
+
+ imapc: If initial SELECT fails, don't resend it twice on reconnect.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-05-18 17:36:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e266d02220)
+
+ lib-imap-client: Avoid infinite reconnection loops when retrying command
+ fails
+
+ reconnect_command_count wasn't calculated correctly, because the SELECT and
+ potentially other following sync commands weren't included in it.
+
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+
+2017-05-19 09:45:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cb4d75e1b8)
+
+ lib: Fix memory leak in test-istream-concat
+
+
+M src/lib/test-istream-concat.c
+
+2017-05-18 12:32:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (17aeaeec37)
+
+ lib: Add dovecot_build_info variable containing Dovecot build information.
+
+ By default this includes the version, including the git hash. The idea is
+ that this version information would be available in all the core dumps.
+
+ The DOVECOT_BUILD_INFO can be overridden by compiling with:
+
+ DOVECOT_BUILD_INFO='"build info"' make
+
+M src/lib/lib.c
+M update-version.sh
+
+2017-05-18 22:18:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (16b5dc27e7)
+
+ lib: Fix crash when seeking istream-concat to EOF and trying to read it
+
+
+M src/lib/istream-concat.c
+M src/lib/test-istream-concat.c
+
+2017-05-12 04:25:08 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (0b753d79f3)
+
+ lib-http: Changed test-http-server to actually use the http-server API.
+
+ This currently serves as a simple demonstration of how to structure an HTTP
+ server.
+
+M src/lib-http/test-http-server.c
+
+2017-05-12 04:23:10 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (355b675a09)
+
+ lib-http: server: Fixed detection of idle connection.
+
+ This fixes the debug message; the behavior was otherwise correct.
+
+M src/lib-http/http-server-connection.c
+
+2017-05-18 14:59:51 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e5d60293a2)
+
+ virtual: Match any metadata condition
+
+ The old code ignored succesful earlier matches for patterns, and stopped
+ looking on first non-matching metadata pattern. Now it breaks on error or on
+ first matching pattern.
+
+M src/plugins/virtual/virtual-config.c
+
+2017-05-17 15:20:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b936882755)
+
+ lib-storage: Apply mailbox_list_iter_autocreate_filter on
+ mailbox_list_index_iter_next
+
+ It skips mailbox_list_iter_next, so it needs to be applied here as well.
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+
+2017-05-17 15:19:44 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b5c6ce2ab8)
+
+ lib-storage: Rename autocreate_iter_existing to
+ mailbox_list_iter_autocreate_filter
+
+ It makes next commit possible
+
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/mailbox-list-private.h
+
+2017-05-17 12:16:31 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (da0b85092a)
+
+ lib-storage: Do not drop autocreate boxes when listing them
+
+ Otherwise we skip folders, because array_delete() is removing boxes while
+ they're being iterated.
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2017-05-18 13:03:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (78c3c40ee0)
+
+ dovecot --build-options: Add missing linefeed
+
+
+M src/master/main.c
+
+2017-05-18 11:57:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cdc7ca129c)
+
+ director: Add old host's up/down and vhost count parameters to
+ director_flush_socket
+
+ The "down" status allows the script to determine whether it should try to
+ perform any work on the old host. The vhost count may be unnecessary, but
+ might be useful for some purpose.
+
+M src/director/director.c
+M src/director/director.h
+
+2017-05-17 12:26:42 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (de5d6bb509)
+
+ fts: Do not attempt to deinitialize backend if it's not set
+
+ If FTS backend initialization fails or does not happen, flist->backend might
+ end up being NULL, and attempt to deinitialize NULL won't end well.
+
+M src/plugins/fts/fts-storage.c
+
+2017-05-17 10:35:03 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (6dd7a0a5e5)
+
+ lib: include inttypes.h to get PRIu64 & friends
+
+ Including it in lib.h allows all of the Dovecot code (as well as any
+ external plugins) to just use these macros without worrying about what
+ system headers to include.
+
+M configure.ac
+M src/lib/compat.h
+M src/lib/lib.h
+
+2017-04-30 12:31:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a76faea3eb)
+
+ dsync: Try to commit transactions every dsync_commit_msgs_interval messages
+
+ This was first attempted to be implemented by
+ ec0cc8fa647794e44a1afaa448f495a713048dc4, but it was later partially
+ reverted by 5973d496b16721af6d2c1fa90b016aacddf13554. This current commit
+ should fix its problems.
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2017-05-16 17:53:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e73fbb6673)
+
+ auth: If passdb/userdb ldap has blocking=yes, auth master shouldn't connect
+ to ldap
+
+
+M src/auth/passdb-ldap.c
+M src/auth/userdb-ldap.c
+
+2017-05-08 12:49:39 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b383ed51d7)
+
+ util: script: Increased the major protocol version due to earlier changes.
+
+
+M src/lib-program-client/program-client-remote.c
+M src/util/script.c
+
+2017-05-09 13:33:23 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (7e993ece46)
+
+ util: script: Amended protocol with the ability to convey a set of
+ environment variables that are passed to the script.
+
+ The acceptable environment variables are selected using the -e parameter;
+ others are ignored silently.
+
+M src/lib-program-client/program-client-remote.c
+M src/util/script.c
+
+2017-05-08 12:48:08 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (bcba310035)
+
+ util: script: Amended the protocol to pass arguments escaped to prevent
+ problems with newlines.
+
+ Newlines are used as argument delimiters in the protocol, which will cause
+ problems.
+
+M src/lib-program-client/program-client-remote.c
+M src/util/script.c
+
+2017-05-09 13:43:39 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (fc2b148955)
+
+ lib-program-client: local: Fixed use of unterminated string array of
+ environment variables in exec_child().
+
+
+M src/lib-program-client/program-client-local.c
+
+2017-05-09 14:22:06 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (fba2690b7b)
+
+ lib-program-client: Made the test suite ignore the protocol version.
+
+
+M src/lib-program-client/test-program-client-net.c
+M src/lib-program-client/test-program-client-unix.c
+
+2017-05-15 15:35:37 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (db576e4cd6)
+
+ mail-crypt-plugin: Set copy-hook only if save_version > 0
+
+ Otherwise we might use it in read-only mode, too.
+
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+
+2017-05-10 12:44:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (399f1dcb70)
+
+ doveadm mailbox status: Add "firstsaved" field.
+
+
+M doc/man/doveadm-mailbox.1.in
+M src/doveadm/doveadm-mail-mailbox-status.c
+
+2017-05-04 19:59:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (635f1b145f)
+
+ imapc: Try to merge STOREs together as much as possible when syncing
+
+
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/imapc/imapc-sync.h
+
+2017-05-05 15:20:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0b45d816c7)
+
+ lib-storage: Avoid unnecessary UIDNEXT lookups after saving a mail
+
+ The vsize checking code was expecting that this would always be a cheap
+ operation, but with imapc code it could trigger a remote STATUS (UIDNEXT)
+ call. Do this only when we've checked that this mailbox is updating vsize
+ header at all.
+
+M src/lib-storage/index/index-mailbox-size.c
+
+2017-05-12 15:42:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dee1520b51)
+
+ imapc-quota: Avoid sending unnecessarily many GETQUOTA[ROOT] commands
+
+ The last_refresh == ioloop_timeval check didn't work, because the refresh
+ itself updated ioloop_timeval. This caused a single quota lookup to issue
+ multiple GETQUOTA[ROOT] commands to imapc.
+
+M src/plugins/quota/quota-imapc.c
+
+2017-05-12 12:44:27 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (5231ae5612)
+
+ lib-storage: add a mail user pre-deinit vfunc
+
+ This allows plugins to perform checks right before the deinit call.
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2017-05-12 11:13:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b99515ba41)
+
+ lib-storage: Add missing ATTR_FORMAT to mail_set_mail_cache_corrupted()
+
+
+M src/lib-storage/mail-storage-private.h
+
+2017-05-12 02:37:22 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (c5e048964a)
+
+ Added doc/man/doveadm-save.1 to .gitignore.
+
+
+M .gitignore
+
+2017-05-11 09:24:57 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8d392e181c)
+
+ doc: Add manpage for doveadm-save
+
+
+M doc/man/Makefile.am
+A doc/man/doveadm-save.1.in
+
+2017-05-09 14:01:07 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7522446d65)
+
+ lib-storage: Use new mail_cache_set_seq_corrupted_reason
+
+
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2017-05-09 14:00:38 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (846624bdec)
+
+ lib-index: Add mail_cache_set_seq_corrupted_reason
+
+ Marks a seq in cache corrupted, and removes that instead of the whole cache.
+
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-cache.h
+
+2017-05-09 14:29:04 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (38228c961f)
+
+ lib-index: Add mail_cache_expunge_count
+
+ It can be called to correctly handle cache counters when records are
+ removed.
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-sync-update.c
+
+2017-05-10 12:40:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (722c97742b)
+
+ ssl-proxy-openssl: Fix comparison to stricly boolean
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2017-05-09 12:51:49 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (f08b05d41b)
+
+ {lib,lib-fts}: fix builds with BSD make
+
+ Without this change, BSD make doesn't know how to make a couple of the
+ generated files because the BUILT_SOURCES file names don't match exactly the
+ left hand sides of the rules. (GNU make somehow manages to match the rule
+ even though it is not an exact match.)
+
+M src/lib-fts/Makefile.am
+M src/lib/Makefile.am
+
+2017-05-09 12:43:46 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (b2760eb6b4)
+
+ lib: use full path to unicode data script
+
+ This is a step toward fixing builds where object dir != source dir.
+
+M src/lib/Makefile.am
+
+2017-05-09 12:42:48 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (58f9b440f4)
+
+ lib-fts: use full path to word-properties script
+
+ This is a step toward fixing builds where object dir != source dir.
+
+M src/lib-fts/Makefile.am
+
+2017-05-09 12:36:40 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (824107247f)
+
+ lib-fts: download data files into srcdir
+
+ This is a step toward fixing builds where object dir != source dir.
+
+M src/lib-fts/Makefile.am
+
+2017-05-09 12:34:40 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (16d84b9006)
+
+ lib: download unicode data into srcdir
+
+ This is a step toward fixing builds where object dir != source dir.
+
+M src/lib/Makefile.am
+
+2017-05-10 10:55:49 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (df7ac49c9f)
+
+ remove mystery file that appears to be unused
+
+
+D .inslog2
+
+2017-05-02 18:40:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f86e2ce4dd)
+
+ master: Send SIGQUIT to processes running at deinit to close socket
+ listeners.
+
+ This allows Dovecot to be restarted even when some lmtp/doveadm process is
+ running for a long time. Otherwise it would keep the inet_listener socket
+ open and prevent the new Dovecot from binding to the port.
+
+M src/master/service-monitor.c
+
+2017-05-02 16:13:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4cbe2b4ee2)
+
+ lib-master: When running under master, close listeners immediately on
+ SIGQUIT
+
+
+M src/lib-master/master-service.c
+
+2017-05-02 18:39:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d2c41d6587)
+
+ lib-master: Remove listener's IO earlier if possible
+
+ This is needed for the next change to work properly.
+
+M src/lib-master/master-service.c
+
+2017-05-02 15:56:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6e5f8923e3)
+
+ master: Wait more precisely 5 secs at deinit for child processes to die.
+
+ Use milliseconds granularity instead of seconds.
+
+M src/master/service-monitor.c
+
+2017-05-02 15:41:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2266b2b8a5)
+
+ lib: Use lib_signals_syscall_error() for write() failure in signal handler
+
+
+M src/lib/lib-signals.c
+
+2017-05-02 15:41:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0d7d09c016)
+
+ lib: Add lib_signals_syscall_error()
+
+
+M src/lib/lib-signals.c
+M src/lib/lib-signals.h
+
+2017-05-02 15:38:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ae7c75f573)
+
+ lib: Add dec2str_buf()
+
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+
+2017-05-09 13:15:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9fbe48fc13)
+
+ man: Fix doveadm-flags examples
+
+ Patch by Frank Ebert
+
+M doc/man/doveadm-flags.1.in
+
+2017-05-09 12:25:49 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (614f5b6feb)
+
+ auth: Do not use AUTH_SUBSYS_MECH in logging when request->mech is NULL
+
+ This can happen when a lookup is done instead of authentication.
+
+ Fixes auth: Panic: file auth-request.c: line 2560 (get_log_prefix):
+ assertion failed: (auth_request->mech != NULL)
+
+M src/auth/auth-request.c
+
+2017-05-09 10:07:55 +0300 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (5b0cbd40cd)
+
+ configure: Remove --with-storages parameter
+
+ Just compile all the storages, since the only benefit in limiting them is to
+ save a tiny bit of disk space. The recently added imapc quota code fails to
+ link if imapc storage isn't compiled in. This is the simplest way to fix
+ that.
+
+M .gitignore
+M configure.ac
+M src/lib-storage/Makefile.am
+A src/lib-storage/mail-storage-register.c
+A src/lib-storage/mailbox-list-register.c
+D src/lib-storage/register/Makefile.am
+M src/master/main.c
+
+2017-04-06 16:09:00 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (165551d573)
+
+ lib-master,login-common: Add dual cert support
+
+ Adds new settings ssl_alt_cert and ssl_alt_key
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+M src/login-common/ssl-proxy-openssl.c
+
+2017-03-06 19:42:18 +0200 Phil Carmody <phil@dovecot.fi> (78717e55d8)
+
+ lib-fs: unit tests for fs-api/fs-posix
+
+ A core component, really ought to be covered by the unit tests. This barely
+ scrapes the surface, but is better than nothing: filesystem/files/iterators,
+ read/write/exists, good and bad cases.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fs/Makefile.am
+A src/lib-fs/test-fs-posix.c
+
+2017-05-08 12:24:52 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f469469a85)
+
+ passdb-imap: Make sure ssl verification is possible with current settings
+
+
+M src/auth/passdb-imap.c
+
+2017-05-08 12:24:21 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6a65a1d090)
+
+ passdb-imap: Add ssl_ca_file setting
+
+ Allow setting SSL trust roots from a file
+
+M src/auth/passdb-imap.c
+
+2017-04-28 20:28:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b6c725b360)
+
+ passdb-imap: Add option to control certificate verification
+
+ Turn it on by default
+
+M src/auth/passdb-imap.c
+
+2017-05-08 13:35:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7638b02e80)
+
+ lib-ssl-iostream: Support IP address SANs
+
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+
+2016-11-06 01:33:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (eec5a564ab)
+
+ lib-lda: mail-send: Compose var_expand table only once.
+
+
+M src/lib-lda/mail-send.c
+
+2016-11-06 13:17:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f0e0266a33)
+
+ lib-lda: mail-send: Fixed debug message in mail_send_rejection() to use
+ correct address.
+
+
+M src/lib-lda/mail-send.c
+
+2016-11-05 17:44:07 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (66d13b4987)
+
+ lib-lda: Fixed indentation in mail-send.c.
+
+
+M src/lib-lda/mail-send.c
+
+2017-05-04 09:14:17 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9850d535fb)
+
+ mail-crypt: Re-encrypt mails when copying/moving
+
+ Otherwise the mail cannot be opened after moving
+
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+
+2017-05-05 12:35:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cee9266606)
+
+ imap: Set FETCH transactions hidden only when \Seen flags are implicitly set
+
+ This simplifies implementing some plugins and has no downsides to core
+ functionality.
+
+M src/imap/imap-fetch.c
+
+2017-05-04 17:31:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fccd110b49)
+
+ lib-storage: Fix memory leak in mail_search_args_simplify()
+
+ The leaks happened when search args were already initialized (which they
+ usually were at this point) and some of the args were dropped entirely.
+
+ Improved the unit test to initialize search args before calling the
+ simplify, so valgrind would notice if there are any leaks.
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2017-04-04 00:32:07 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (4ef99978b3)
+
+ lib-http: client: Fixed race condition between DNS refresh lookup and a soft
+ connection timeout.
+
+ The refreshing DNS lookup cleared all the IPs, but the soft connection
+ timeout (and maybe other code) still relied on them. Adding tests everywhere
+ for host->ips_count == 0 is annoying, so I changed the DNS lookup code such
+ that the stale IPs remain present while the DNS lookup is being performed.
+ The pending lookup prevents new connections through
+ http_client_host_refresh(), so this will not create potentially useless
+ connections.
+
+M src/lib-http/http-client-host.c
+
+2017-05-02 12:18:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f950619b1d)
+
+ lib-imap: imap_append_string_for_humans() - Change CR/LF to space
+
+ Practically this shouldn't matter, because in email headers a CR/LF is
+ always followed by a space/tab. But maybe this can be used for some other
+ purposes in future, and it makes the unit tests clearer. :)
+
+M src/lib-imap/imap-quote.c
+M src/lib-imap/test-imap-quote.c
+
+2017-05-02 17:57:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (167dbb662c)
+
+ lmtp: Fix assert-crash when proxy overrides mail_max_lock_timeout
+
+ Time unit is required or the call fails.
+
+M src/lmtp/commands.c
+
+2017-05-02 15:02:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (541f258d86)
+
+ lib-master: Add comments to struct master_service_connection
+
+
+M src/lib-master/master-service.h
+
+2017-05-01 22:23:36 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (af0a12ae49)
+
+ lib-index: mail-index-transaction-export: Fixed handling of
+ transaction_flag_updates_have_non_internal() return value.
+
+ Found using Clang -Wstrict-bool.
+
+M src/lib-index/mail-index-transaction-export.c
+
+2017-05-01 22:19:43 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (a0adfb2fe8)
+
+ lib-imap-client: Fixed NULL check in assertion to be proper boolean.
+
+ Found using Clang -Wstrict-bool.
+
+M src/lib-imap-client/imapc-client.c
+
+2017-04-28 14:42:31 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (332e3fd097)
+
+ auth: Organize code into two unit tests
+
+ auth-cache needs special setup
+
+M src/auth/Makefile.am
+M src/auth/test-auth-request-var-expand.c
+A src/auth/test-auth.h
+M src/auth/test-db-dict.c
+A src/auth/test-main.c
+A src/auth/test-mock.c
+M src/auth/test-username-filter.c
+
+2017-04-28 14:35:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cca398c2ed)
+
+ lib-storage: When save is aborted, close dest_mail without crashing
+
+ Fixes: Panic: file mail-index-transaction-update.c: line 1023
+ (mail_index_update_ext): assertion failed: (seq > 0 && (seq <=
+ mail_index_view_get_messages_count(t->view) || seq <= t->last_new_seq))
+
+ Because cache was still attempted to be updated, but the mail was already
+ expunged from index.
+
+M src/lib-storage/index/index-storage.c
+
+2017-04-28 14:06:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f776b9a125)
+
+ lib-storage: Move backend code to a common index_storage_save_abort_last()
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/mbox/mbox-save.c
+
+2017-04-27 14:09:08 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (53e2b69540)
+
+ auth: Log reason for skipping passdb
+
+
+M src/auth/auth-request.c
+
+2017-04-28 12:49:37 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3a73b13553)
+
+ auth: Add test suite for username filter
+
+
+M src/auth/Makefile.am
+A src/auth/test-username-filter.c
+
+2017-04-28 12:51:20 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (268a767003)
+
+ auth: Add username_filter for passdb block
+
+ username_filter lets you specify one or more pattern(s) for including or
+ excluding users. exclusion patterns are denoted with ! prefix.
+
+ if any exclude matches the username, passdb will be skipped. if any
+ inclusions is specified, and the username does not match one of them, passdb
+ will be skipped.
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+M src/auth/passdb.c
+M src/auth/passdb.h
+
+2017-04-27 11:53:13 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2b7fbe3bad)
+
+ auth: Use MECH subsystem when logging error about skipping all password
+ databases
+
+ Otherwise it will assert-crash because all password databases were skipped.
+
+M src/auth/auth-request.c
+
+2017-04-28 10:25:14 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fee117f1bc)
+
+ auth: Refactor auth to use libauth.la
+
+ This makes writing new unit tests easier, as you can link to libauth.la.
+
+M src/auth/Makefile.am
+
+2017-04-27 12:54:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (06c956f415)
+
+ lib-storage: mail_search_arg_to_imap() - Fix writing invalid keywords
+
+ Just write the original invalid keyword string as output. It might not be
+ entirely invalid - just invalid within this mailbox (e.g. a mailbox doesn't
+ allow new keywords).
+
+M src/lib-storage/mail-search-args-imap.c
+
+2017-04-27 12:53:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (483e8d4974)
+
+ lib-storage: Fix searching when search query has invalid keywords.
+
+ For example "SEARCH KEYWORD ]" was returning all mails instead of nothing.
+
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-search.h
+
+2017-04-27 12:50:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cb1203abda)
+
+ lib-index: mail_index_update_keywords() - don't assert if adding/removing 0
+ keywords
+
+ Although it would be nice for the caller to check it, it's easier to do
+ here. It's mainly a problem with mailbox_keywords_create_valid() that may
+ unexpectedly create empty keywords.
+
+M src/lib-index/mail-index-transaction-update.c
+
+2017-04-26 23:41:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3abc26e06e)
+
+ quota: imapc backend now never enforces the quota itself
+
+ It just causes a lot of GETQUOTA/GETQUOTAROOT calls to remove. In theory we
+ could make this optional, but I doubt anyone would want it.
+
+M src/plugins/quota/quota-imapc.c
+
+2017-04-26 23:43:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (49f65b7c79)
+
+ lib-storage: Fix crash in mail_get_parts() with a special plugin
+
+ If plugin hooks into mail_get_stream() which causes data->parts to be set,
+ this code crashed with:
+
+ Panic: file index-mail.c: line 1163 (index_mail_parse_body): assertion
+ failed: (data->parser_ctx != NULL)
+
+M src/lib-storage/index/index-mail.c
+
+2017-04-26 23:13:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (41f1944a25)
+
+ imapc: Don't send NOOP on sync if MAILBOX_SYNC_FLAG_FAST is set
+
+ Fast syncing should do only the minimal amount of work.
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2017-04-26 15:04:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d64280bc41)
+
+ imap: Allow plugins to hook into syncing.
+
+ Ideally all of the existing pieces in the syncing code would start using
+ this at some point, so their code could be moved to a more logical location.
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-sync-private.h
+M src/imap/imap-sync.c
+
+2017-04-26 14:57:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (55d35a8b80)
+
+ imap: Move struct imap_sync_context to imap-sync-private.h
+
+
+M src/imap/Makefile.am
+A src/imap/imap-sync-private.h
+M src/imap/imap-sync.c
+
+2017-04-18 15:55:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c4398800db)
+
+ lib-storage: mail_search_arg_to_imap() - minor keywords writing optimization
+
+ Avoid an extra str_delete() by checking whether the parenthesis are needed.
+
+M src/lib-storage/mail-search-args-imap.c
+
+2017-04-18 15:51:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (64341148d7)
+
+ lib-storage: mail_search_arg_to_imap() - minor FLAGS writing optimization
+
+ Avoid an extra str_delete() by immediately calculating whether the
+ parenthesis are needed.
+
+M src/lib-storage/mail-search-args-imap.c
+
+2017-04-18 15:38:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d6e496a8bd)
+
+ lib: Add bits_is_power_of_two()
+
+
+M src/lib/bits.h
+M src/lib/test-bits.c
+
+2017-04-17 01:14:02 +0300 Andriy Syrovenko <andriys@gmail.com> (a319c3201b)
+
+ auth: Fixed dovecot/auth hanging when child ntlm_auth crashes while
+ processing an authentication request
+
+
+M src/auth/mech-winbind.c
+
+2017-04-26 14:20:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e709efb3dc)
+
+ imapc: Fix memory leak when closing mailbox with delayed changes
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-04-25 12:39:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1e88ab82d6)
+
+ imapc: Use UID SEARCH instead of SEARCH
+
+ UIDs work better for some broken IMAP servers, so it's safer to use it.
+
+ Keep using sequences for ESEARCH, since servers supporting it aren't at
+ least yet known to be broken and the search result with sequences is
+ smaller.
+
+M src/lib-storage/index/imapc/imapc-search.c
+
+2017-04-24 17:59:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (654c60f174)
+
+ quota: Add imapc backend
+
+ This allows using imapc storage with imapc quota. The quota acts as
+ read-only, so it's used only when the current quota usage is explicitly
+ asked.
+
+ The quota can be looked up using either a mailbox name or quota root name.
+ By default INBOX's quota is looked up. If there are multiple quota roots
+ returned for the mailbox, only the first quota root returned by the
+ QUOTAROOT reply is used.
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/plugins/quota/Makefile.am
+A src/plugins/quota/quota-imapc.c
+M src/plugins/quota/quota.c
+
+2017-04-24 17:58:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ecd54d6c65)
+
+ quota: Fix namespace deduplication when mailboxes don't have paths.
+
+ Nothing requires a mailbox path for quota backends, especially imapc. Still
+ do namespace deduplication based on alias_for settings.
+
+M src/plugins/quota/quota.c
+
+2017-04-24 17:10:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d15de28720)
+
+ imapc: include imapc-client.h in imapc-storage.h
+
+ It was already required to be able to successfully include imapc-storage.h.
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2017-04-24 18:13:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2c719bcb92)
+
+ imap-plugins: Use client_add_capability() for adding dynamic capabilities
+
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+
+2017-04-24 18:51:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (013a4ebb14)
+
+ imap: Use client_add_capability() for adding all dynamic capabilities
+
+
+M src/imap/imap-client.c
+
+2017-04-24 18:12:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f10f05dfa6)
+
+ imap: Add client_add_capability()
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2017-04-24 13:29:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e1005f8bf9)
+
+ imapc: Add imapc_features=fetch-bodystructure
+
+ This allows using the remote IMAP server's BODY and BODYSTRUCTURE replies.
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-04-24 13:27:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (afe1da0423)
+
+ lib-storage: Add mail_storage.nonbody_access_fields
+
+ This avoids index_mail_update_access_parts_pre() from opening the mail
+ stream unnecessarily for fields that can be looked up via other methods by
+ the storage.
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/mail-storage-private.h
+
+2017-04-24 13:05:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b2723d6889)
+
+ lib-storage: Add index_mail_get_cached_body[structure]()
+
+ This just moves the code to these functions without changing any of the
+ logic.
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2017-04-24 14:04:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a8e6df07f5)
+
+ lib-imap: Make imap_bodystructure_parse_args() public
+
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-bodystructure.h
+
+2017-04-24 12:50:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2ec87250e1)
+
+ lib-imap: Add imap_write_arg() to write only a single arg
+
+
+M src/lib-imap/imap-util.c
+M src/lib-imap/imap-util.h
+
+2017-04-23 19:57:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a9e0cd4b11)
+
+ lib-imap-client: Fix imapc_client_get_capabilities() when called without
+ connections
+
+
+M src/lib-imap-client/imapc-client.c
+
+2017-04-23 17:19:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (378653a02a)
+
+ imapc: Fix crash in mailbox_exists() when LAYOUT isn't imapc.
+
+ Especially breaks LAYOUT=none.
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-04-23 13:35:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a9ba935a40)
+
+ imapc: Support imapc_features=search without ESEARCH extension
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-search.h
+
+2017-04-23 19:14:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e00612b245)
+
+ imapc: Make sure client is logged in when checking capabilities
+
+ Especially with imapc_features=delay-login the capability could have been
+ looked at before the client was even connected.
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-04-23 18:51:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1505427023)
+
+ imapc: Add imapc_mailbox.capabilities
+
+ Use it instead of imapc_client_get_capabilities(). Simplifies the following
+ patch.
+
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2017-04-23 18:57:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6e40a39f68)
+
+ imapc: Rename imapc_storage_has_modseqs() to imapc_mailbox_has_modseqs()
+
+ Simplifies the following patch.
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2017-04-21 12:54:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b394d41ad4)
+
+ cassandra: Use fallback consistency for CASS_ERROR_LIB_NO_HOSTS_AVAILABLE
+ errors
+
+ I'm not entirely sure if this is always appropriate, but at least this error
+ happens every time when attempting to use write_consistency=two when there
+ is only a single Cassandra node.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-04-21 20:59:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5107d3e3fa)
+
+ dsync-server: Fix support for dsync_features=empty-header-workaround
+
+ Fixes: Panic: Unknown key: empty_hdr_workaround
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2017-04-21 13:36:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (21b21a19b5)
+
+ *-login: Require client_vfuncs.send_raw_data() to be set
+
+ This removes backwards compatibility for managesieve-login.
+
+M src/login-common/client-common.c
+
+2017-04-21 13:35:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ae797f3368)
+
+ *-login: Add client_vfuncs.send_raw_data()
+
+ This allows login plugins to hook into seeing all the data that is sent to
+ the imap/pop3 client.
+
+M src/imap-login/imap-login-client.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/pop3-login/client.c
+
+2017-04-21 13:27:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f231cd7759)
+
+ imap: Add imap_client_vfuncs.send_tagline()
+
+ This allows plugins to catch all the IMAP command replies.
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2017-04-18 10:23:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (474e9ae6ba)
+
+ *-login: Unload plugins at deinit.
+
+
+M src/login-common/main.c
+
+2017-04-19 15:01:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (21a2a03602)
+
+ lib-storage: Allow mail_add_temp_wanted_fields() to be called before
+ mail_set_seq*()
+
+ Quota plugin was already doing this, but it didn't actually work. It was
+ also crashing with imapc:
+
+ Panic: file mail-cache-lookup.c: line 341 (mail_cache_field_exists):
+ assertion failed: (seq > 0)
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail.c
+
+2017-04-20 19:16:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0206ab42ad)
+
+ lib-storage: Add mailbox_attribute_unregister_internal[s]()
+
+ This allows plugins to unregister internal attributes when they're unloaded.
+
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-attribute.h
+
+2017-04-13 15:13:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cc23ad7b8a)
+
+ lib-storage: mail_search_args_simplify() - deduplicate flags
+
+ This needs to be done in a bit more complicated way because multiple
+ SEARCH_FLAGS parameters are wanted to be merged together using a single
+ shared value.flags. Move this merging last after all the deduplication is
+ done.
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2017-04-13 15:09:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (92f9871ac9)
+
+ lib-storage: mail_search_args_simplify() - simplify "x AND NOT x"
+
+ Implemented for SEARCH_KEYWORD, SEARCH_TEXT, SEARCH_BODY and SEARCH_HEADER*.
+ Dates and sizes would need special code, which gets a bit complicated.
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2017-04-13 14:05:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (47daf6e810)
+
+ lib-storage: Add more tests to test-mail-search-args-simplify
+
+
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2017-04-13 13:57:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (92f5ea24e9)
+
+ lib-storage: mail_search_arg_to_imap() - remove () around a single
+ flag/keyword
+
+
+M src/lib-storage/mail-search-args-cmdline.c
+M src/lib-storage/mail-search-args-imap.c
+M src/lib-storage/test-mail-search-args-imap.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2017-04-13 13:04:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1c0020171b)
+
+ lib-storage: mail_search_args_simplify() - deduplicate KEYWORDs
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2017-04-13 12:51:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7b6ebd5497)
+
+ lib-storage: mail_search_args_to_cmdline() - Fix writing FLAGS & KEYWORDS
+
+
+M src/lib-storage/mail-search-args-cmdline.c
+
+2017-04-13 12:36:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (56c05fa829)
+
+ lib-storage: mail_search_args_to_cmdline() - Write MAILBOX glob without X-
+ prefix
+
+ Since SEARCH_MAILBOX is written out as "MAILBOX", SEARCH_MAILBOX_GLOB should
+ also be written as "MAILBOX" rather than "X-MAILBOX".
+
+M src/lib-storage/mail-search-args-cmdline.c
+
+2017-04-12 12:24:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (17076d50d0)
+
+ Makefile: Another fix for make distcheck when using scan-build
+
+ It seems to run two configures with different parameters, which results in
+ some of the files not being cleaned up. So this hopefully fixes:
+
+ ERROR: files left in build directory after distclean:
+ ./src/util/tcpwrap
+
+M Makefile.am
+
+2017-04-11 09:34:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (da269a5644)
+
+ lib-imap: imap-bodystructure: Fixed handling of a multipart part without
+ children in imap_bodystructure_parse().
+
+ In imap_bodystructure_write(), an empty multipart part is addressed by
+ generating an empty text/plain part. However, when parsing that back with
+ imap_bodystructure_parse() against a parsed message_part tree, this case
+ needs to be considered explicitly. Otherwise, it will not be able to match
+ the message part hierarchies.
+
+ This adds a test suite item that tests both the write (previous commit) and
+ parse functions.
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/test-imap-bodystructure.c
+
+2017-04-12 10:13:15 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (cc419b54f4)
+
+ lib-imap: imap-bodystructure: Fixed handling of a multipart part without
+ children in imap_bodystructure_write().
+
+ In that case it writes an empty text/plain part to prevent generating an
+ invalid BODYSTRUCURE. However, it always generated the basic BODY version
+ without the extra fields for a full BODYSTRUCTURE.
+
+M src/lib-imap/imap-bodystructure.c
+
+2017-04-11 20:39:55 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c6ae57a037)
+
+ auth: Check var_expand error in vpopmail
+
+
+M src/auth/userdb-vpopmail.c
+
+2017-04-11 20:32:19 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e2d97f20ae)
+
+ auth: Fix compile problem with vpopmail
+
+ 79fe1b28df44ba22b230326bee895583c1df5a28 forgot to remove const from table.
+
+M src/auth/userdb-vpopmail.c
+
+2017-04-11 15:50:14 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (061b11b93c)
+
+ auth: Filter passdbs on credentials lookup start
+
+ Consistency with how plain verify works.
+
+M src/auth/auth-request.c
+
+2017-04-11 15:47:33 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ba942a16b0)
+
+ auth: Fix mechanism filter to support `none`
+
+ Otherwise credentials lookup can fail. None indicates that it should match
+ when no mech is specified.
+
+M src/auth/auth-request.c
+
+2017-04-11 15:33:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ace06232cf)
+
+ auth: Use mem_equals_timing_safe() for all password hash comparisons.
+
+ It's unlikely these could be used to perform timing attacks, since the
+ attacker would have to have broken MD5/SHA badly enough to be able to
+ quickly generate string that result in wanted hashes. Still, the extra cost
+ is almost nothing and it's always better to be super paranoid!
+
+M src/auth/auth-master-connection.c
+M src/auth/mech-apop.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-gssapi.c
+M src/auth/mech-ntlm.c
+M src/auth/mech-rpa.c
+M src/auth/mech-scram-sha1.c
+M src/auth/password-scheme-pbkdf2.c
+M src/auth/password-scheme-scram.c
+M src/auth/password-scheme.c
+
+2017-04-09 15:31:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e18b4e41d9)
+
+ auth: Shuffle failed auth requests before sending the failure replies.
+
+ This might be helpful against some timing attacks.
+
+ Using Fisher–Yates shuffle.
+
+M src/auth/auth-request-handler.c
+
+2017-04-09 15:19:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2656508b1a)
+
+ doveadm: Make doveadm_password safe against timing attacks.
+
+
+M src/doveadm/client-connection.c
+
+2017-04-09 00:50:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f1d759d0b4)
+
+ auth: Make plaintext password comparisons safe against timing attacks
+
+
+M src/auth/password-scheme.c
+
+2017-04-09 00:49:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9464dc83df)
+
+ lib: Add mem_equals_timing_safe()
+
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/lib/test-strfuncs.c
+
+2017-04-10 20:53:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2bc82f0d7e)
+
+ fts: Initialize fts after namespaces have been added
+
+ This way paths are correctly set, and fts indexes are written to correct
+ place. This affects mbox with lucene.
+
+ Fixes Panic: file mailbox-list.c: line 1158 (mailbox_list_try_mkdir_root):
+ assertion failed (strncmp(root_dir, path, strlen(root_dir)) == 0)
+
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-storage.h
+
+2017-04-11 15:05:53 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c42ec3faf1)
+
+ fts: Remove indentation from fts_mailbox_list_created
+
+ Preparation for next commit
+
+M src/plugins/fts/fts-storage.c
+
+2017-04-11 14:55:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (38bf959348)
+
+ Makefile: Fix make distcheck when using scan-build
+
+ The _build directory shouldn't be deleted afterwards or it'll just fail.
+
+M Makefile.am
+
+2017-04-11 11:23:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (353d9741cb)
+
+ Improve valgrind suppressions.
+
+
+M run-test-valgrind.supp
+
+2017-04-10 18:12:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a2328a1c60)
+
+ lib-imap-client: Fixes to unit test
+
+
+M src/lib-imap-client/test-imapc-client.c
+
+2017-04-10 17:10:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bac4b1dc3a)
+
+ lib-imap-client: Add unit test
+
+ Initially this tests some connection and reconnection problems.
+
+M src/lib-imap-client/Makefile.am
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+A src/lib-imap-client/test-imapc-client.c
+
+2017-04-10 17:09:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (40b989ef6d)
+
+ lib-imap-client: Include "ms" in reconnect warning message
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-04-10 17:07:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (23b8146dd6)
+
+ lib-imap-client: Fix reconnection
+
+ There was already code for reconnection. We just shouldn't have gone very
+ far in imapc_connection_connect() if we were still waiting for reconnection
+ delay to pass.
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-04-10 17:06:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b884dafdd3)
+
+ lib-imap-client: Remove hardcoded IMAPC_CONNECT_RETRY_WAIT_MSECS
+
+ We have a setting for it now.
+
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+
+2017-04-10 16:44:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (09c2c5ad60)
+
+ lib-imap-client: Disconnection during LOGIN should still have
+ state=disconnected
+
+ It's not an authentication failure, which would imply that the user or
+ password was wrong.
+
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+
+2017-04-10 16:18:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cda5d63504)
+
+ lib-imap-client: Make command tag counter externally accessible
+
+ This allows unit tests to reset it.
+
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+
+2017-04-10 15:49:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f3e5f802fa)
+
+ lib-imap-client: Call the public login callback exactly once.
+
+ Previously it was also called only once, as long as there were only a single
+ imap connection. (The current imapc code wouldn't create more than one
+ connection.) It was a bit confusing what the expectation was, so now the
+ callback is never called more than once.
+
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+
+2017-04-10 14:14:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7b29303efb)
+
+ lib-imap-client: imapc_client_deinit() didn't set client=NULL
+
+
+M src/lib-imap-client/imapc-client.c
+
+2017-04-10 13:49:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (efd4de737e)
+
+ imapc: Change imapc_connection_retry_interval setting to be in milliseconds.
+
+
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-04-10 13:50:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (063597b19e)
+
+ imapc: Change imapc_connection_retry_interval default to be 1 second.
+
+ 10 secs at least is too high. Usually the connection problem is very
+ intermittent and even an immediate reconnection would succeed.
+
+M src/lib-storage/index/imapc/imapc-settings.c
+
+2017-04-10 13:48:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4727aef38f)
+
+ lib-imap-client: Change connect_retry_interval_secs to _msecs
+
+ This allows caller to provide better precision.
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-04-10 13:46:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8f47ed142e)
+
+ lib-imap-client: Use struct timeval for tracking last_connect time.
+
+ This provides better accuracy when calculating how much time there's left
+ until reconnection.
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-04-10 13:02:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f27497406f)
+
+ lib-http: Improve request stats text.
+
+ It's important to know how long the request was in queue before it was sent.
+
+ Also the "n attempts in m secs" makes more sense if it was counting only the
+ time after the initial request was sent, not including the queuing time.
+
+ If there is more than 1 attempt, log separately how long all the attempts
+ were waited on vs. how long the last attempt took.
+
+M src/lib-http/http-client-request.c
+
+2017-04-10 12:59:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bf7740f6bc)
+
+ lib-http: Add http_client_request_stats.first_sent_msecs
+
+ Also rename sent_msecs to last_sent_msecs.
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2017-04-10 12:53:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f0452e0b31)
+
+ lib-http: Track request's first and last send attempt times separately.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2017-04-10 11:51:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a89fc6c505)
+
+ lib-program-client unit test: Let OS assign the listener port
+
+
+M src/lib-program-client/test-program-client-net.c
+
+2017-04-05 12:36:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a87eeb418c)
+
+ *-login: Move code to login_anvil_init()
+
+ Calling this allows plugins that need to talk to anvil make sure they have
+ an anvil connection even if mail_max_userip_connections=0.
+
+M src/login-common/login-common.h
+M src/login-common/main.c
+
+2017-04-05 12:52:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f6b8ff28fe)
+
+ doveadm who: Don't aggregate empty usernames with different IPs
+
+ We'll assume that in that case anvil is used to track IP addresses rather
+ than usernames. (Dovecot core doesn't currently use this.)
+
+M src/doveadm/doveadm-who.c
+
+2017-04-07 09:28:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (935c09c68e)
+
+ lib-http: Remove unnecessary enum declaration.
+
+ Most of these were removed by a8fe899601735459641edae975c0fa08be8482e2
+
+M src/lib-http/http-client-private.h
+
+2017-04-05 14:14:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (267cdf292b)
+
+ example-config: Add blocking setting to dovecot-ldap.conf.ext
+
+
+M doc/example-config/dovecot-ldap.conf.ext
+
+2017-04-08 09:58:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (71b8d0ad84)
+
+ auth-var-expand-crypt plugin: Add missing ldflags
+
+
+M src/plugins/var-expand-crypt/Makefile.am
+
+2017-04-09 15:48:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (44d597bb38)
+
+ fts-solr: Don't double-escape headers.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2017-04-07 16:27:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (727ae15955)
+
+ auth: Fix crash in passdb imap on connection failures
+
+
+M src/auth/passdb-imap.c
+
+2017-04-07 16:13:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0fab9e25db)
+
+ lib-ssl-iostream: Don't require SSL CA certs if allow_invalid_cert=TRUE
+
+ This happened only when verify_remote_cert was also TRUE. But this behavior
+ now allows verifying the cert without actually requiring it to be valid.
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2017-04-07 15:47:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (49bf57720f)
+
+ auth: passdb imap: Use ssl_client_ca_* settings.
+
+ The args = ssl_ca_dir=.. setting still overrides the ssl_client_ca_dir.
+
+M src/auth/passdb-imap.c
+
+2017-04-07 09:34:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4d26a40934)
+
+ global: Remove extra ';' to fix compiler errors
+
+ Sun C doesn't like them.
+
+M src/auth/auth-policy.c
+M src/plugins/mail-crypt/mail-crypt-key.c
+
+2017-04-07 09:32:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cbf6592b0d)
+
+ global: Make sure all files end with newline
+
+ Fixes compiler warnings with Sun C.
+
+M src/lib-imap/imap-envelope.c
+M src/lib-mail/message-part-data.c
+M src/lib-mail/message-part-data.h
+
+2017-04-07 10:55:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (34354d4b9a)
+
+ fs-posix: Fix FS_METADATA_WRITE_FNAME to preserve the path
+
+ It should only change the filename.
+
+M src/lib-fs/fs-posix.c
+
+2017-04-07 12:45:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bd08111562)
+
+ doveadm force-resync: Skip autocreated mailboxes that don't exist yet.
+
+ Since they don't exist, there's nothing to resync in them either. This
+ avoids unnecessarily creating them.
+
+M src/doveadm/doveadm-mail.c
+
+2017-04-07 12:42:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c2eecb35a3)
+
+ dict-sql: Fix setting $variables to iteration key when map had multiple
+ values
+
+
+M src/lib-dict/dict-sql.c
+
+2017-04-07 09:14:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (76858e9df2)
+
+ lib: Redefine NULL only if HAVE_TYPE_CHECKS is set
+
+
+M src/lib/compat.h
+
+2017-04-07 09:11:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d16199fcc9)
+
+ lib: Add a common HAVE_TYPE_CHECKS
+
+ I'm not sure if it should be checking gcc >= 3.0 or 3.3, but they're all old
+ so doesn't really matter.
+
+ The __cplusplus check was added to both, since it wouldn't have done
+ anything anyway as COMPILE_ERROR_IF_TRUE() is 0 for __cplusplus.
+
+M src/lib/compat.h
+M src/lib/macros.h
+
+2017-04-05 15:59:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (56af9dd10e)
+
+ *-login: Minor logging cleanup if client is disconnected before sending
+ banner.
+
+ Avoid unnecessarily adding "(no auth attempts in 0 secs)" when the reason
+ string already makes it clear that the user didn't even have a chance to
+ authenticate.
+
+ This kind of disconnection currently happens only with some plugins.
+
+M src/imap-login/imap-login-client.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/pop3-login/client.c
+
+2017-04-06 20:43:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5f6b917cde)
+
+ example-config: Add connect/read/write_timeout to mysql connect settings
+
+
+M doc/example-config/dovecot-sql.conf.ext
+
+2017-04-06 20:00:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (294c52ba40)
+
+ imapc: Remove "_sec" suffix from imapc_connection_retry_interval_secs
+
+ Its type is SET_TIME, so the value doesn't have to be in seconds.
+
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-04-06 19:49:07 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4f6a9b5de8)
+
+ imap-login: Retain client ID only when enabled
+
+
+M src/imap-login/imap-login-client.c
+
+2017-04-05 14:23:47 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a34e0eb3d4)
+
+ lib-storage: Set internal error in imapc_list_get_hierarchy_sep
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2017-04-05 14:23:26 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fc1584e525)
+
+ imapc: Use IMAPC_COMMAND_STATE_AUTH_FAILED to indicate auth failure
+
+
+M src/auth/passdb-imap.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2017-04-05 14:22:38 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f498f60e73)
+
+ lib-imap-client: Do not reset ips when reconnecting
+
+ Avoids infinite loop
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-04-05 13:27:57 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9949dc3649)
+
+ lib-storage: Return empty value in imapc_list_get_storage_name on auth error
+
+ Avoids clobbering authentication error.
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2017-04-05 12:48:31 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1f31b38b66)
+
+ lib-storage: Do not clobber error with imapc
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-04-05 12:47:24 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (276c62e453)
+
+ global: Fix imapc_client_login usage
+
+
+M src/auth/passdb-imap.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-04-05 12:09:57 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (dc2bbf1073)
+
+ lib-imap-client: Add login_callback setter
+
+ This way it can be set before actually calling login which might happen some
+ time later.
+
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+
+2017-04-04 23:33:51 +0300 Dmitry Yakunin <d.yakunin@rambler-co.ru> (52ca467ce6)
+
+ imapc: Fix memory leak in disconnected state
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-04-05 09:26:54 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a8396081c3)
+
+ auth: Update default policy string to include device id and protocol
+
+
+M src/auth/auth-settings.c
+
+2017-04-04 15:59:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (670a335d55)
+
+ imap: Set command reason strings using the new human_args
+
+ This way the reason string is already suitable for logging, since it's
+ guaranteed to be valid UTF-8 without control chars.
+
+M src/imap/imap-commands-util.c
+
+2017-04-04 15:58:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bf9e29ed2d)
+
+ imap: Add client_command_context.human_args
+
+ Generated with imap_write_args_for_human()
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2017-04-04 15:58:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (72932593c2)
+
+ lib-imap: Add imap_write_args_for_human()
+
+
+M src/lib-imap/imap-util.c
+M src/lib-imap/imap-util.h
+
+2017-04-04 15:38:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1dc34a3c93)
+
+ imap: Add imap_client_command_get_reason()
+
+ All the command -> reason string conversions now go through this function.
+
+M src/imap/cmd-fetch.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands-util.h
+
+2017-04-04 13:28:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9778cce39b)
+
+ lib: Increase net_connect*() EADDRNOTAVAIL retries to 20
+
+ 4 is too little, since on busy systems it's sometimes failing. These calls
+ should be pretty cheap, so lets try if 20 is enough.
+
+ It would be nice if this was configurable, but the only practical way right
+ now would be to use environment variable, which is a bit ugly. We could try
+ it next if 20 is still not enough.
+
+M src/lib/net.c
+
+2017-04-04 07:42:48 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (a934b65e8b)
+
+ config: Warn that director_consistent_hashing is obsolete
+
+
+M src/config/old-set-parser.c
+
+2017-04-03 18:44:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f67a8e4138)
+
+ imapc: Compiler warning fix for 32bit systems
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-04-03 14:30:13 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (00cc7eb569)
+
+ director: Make director_consistent_hashing=yes mandatory
+
+
+M src/director/director-connection.c
+M src/director/director-settings.c
+M src/director/director-settings.h
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/mail-host.c
+M src/director/mail-host.h
+
+2017-03-31 10:57:14 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2744124e4f)
+
+ lib-imap-client: Make authentication failures more consistent
+
+ This way they always say the same prefix, which is easier to spot.
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-03-31 10:49:50 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a82e26d85d)
+
+ lib-imap-client: Call login_callback on all authentication failures
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-03-31 10:12:58 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (138ec8765b)
+
+ lib-imap-client: Fix reconnection
+
+ This patch fixes reconnections to actually consider all IP addresses first
+ and then delay for interval and retry at most retry count times.
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-03-31 11:01:15 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (887518721c)
+
+ lib-imap-client: Remove io earlier to avoid hammering
+
+ If connection has failed and reconnection is not yet possible, io has to be
+ removed here, otherwise it will keep hammering the callback.
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-03-31 10:58:47 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (42989c2732)
+
+ lib-imap-client: Only LOGOUT from connected connections
+
+
+M src/lib-imap-client/imapc-client.c
+
+2017-03-31 09:44:28 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c515f5c969)
+
+ lib-imap-client: Make retry count and interval configurable
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-03-31 09:59:02 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (eae7a17834)
+
+ lib-imap-client: Add imapc_client_try_stop
+
+
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-client.c
+
+2017-03-30 16:09:06 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (feb5f5eb7c)
+
+ lib-sasl: Add missing input handler for xoauth2
+
+
+M src/lib-sasl/mech-oauthbearer.c
+
+2017-04-03 12:40:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4d074a5c4c)
+
+ director: Fix mail_hosts_dup() to duplicate tags correctly.
+
+ The host->tag pointed to the old hosts list. Also the new hosts list's tags
+ array wasn't filled.
+
+ This fixes USER-LOOKUP to return host with default configuration, which
+ fixes doveadm director status <user> to not show "Initial config" as empty.
+
+M src/director/mail-host.c
+
+2017-04-03 11:41:29 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (8c468894f9)
+
+ doveadm: Call mailbox_set_reason with initialized mailbox
+
+
+M src/doveadm/doveadm-mail-import.c
+
+2017-04-01 22:12:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cddfd1355d)
+
+ global: Add mailbox_transaction_set_reason() calls
+
+ Added to the most important places.
+
+M src/imap/cmd-append.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-select.c
+M src/imap/cmd-store.c
+M src/imap/cmd-thread.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands-util.h
+M src/imap/imap-expunge.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+M src/imap/imap-search.c
+M src/imap/imap-state.c
+M src/imap/imap-sync.c
+M src/indexer/master-connection.c
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/mail-autoexpunge.c
+M src/plugins/quota/quota-storage.c
+
+2017-04-01 21:54:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d1fbd2c264)
+
+ lib-storage: Add mailbox_transaction_set_reason()
+
+
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2017-04-01 21:43:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (61cf001f19)
+
+ global: Add mailbox_set_reason() calls
+
+ Added to the most important places.
+
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-save.c
+M src/doveadm/doveadm-mail.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-notify.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-resetkey.c
+M src/imap/cmd-select.c
+M src/imap/cmd-setmetadata.c
+M src/imap/cmd-subscribe.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-notify.c
+M src/imap/imap-state.c
+M src/imap/imap-status.c
+M src/indexer/master-connection.c
+M src/lib-imap-storage/imap-metadata.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-lda/mail-deliver.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/mail-autoexpunge.c
+M src/lib-storage/mail-storage.c
+M src/lmtp/commands.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-status.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-storage.c
+M src/pop3/pop3-client.c
+
+2017-04-01 21:16:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4b41218f9e)
+
+ lib-storage: Add mailbox_set_reason()
+
+ Use it to log a debug message when mailbox is being opened.
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2017-03-27 18:05:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (92dab926b2)
+
+ lib-index: Don't increase modseq for backend/dirty flag changes
+
+ These flags are used only for internal changes and they shouldn't be
+ triggering any modseq changes.
+
+ To avoid modseqs from unexpectedly shrinking, the new modseq counting
+ behavior is enabled only for newly rotated transaction log files that have a
+ new minor_version.
+
+M src/doveadm/doveadm-dump-log.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mail-transaction-log.h
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-index/test-mail-transaction-log-view.c
+
+2017-03-30 20:38:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e0f4fbf127)
+
+ lib-index: Add macros to check if transaction log file version is new
+ enough.
+
+ The version numbers are 8bit, so we can generate a single 16bit number out
+ of them.
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log.h
+
+2017-03-29 01:25:21 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (28be42b4c2)
+
+ lib-http: client: Implemented means to obtain request statistics.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2017-03-31 23:12:47 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (75a6a96fd5)
+
+ lib: Fix strcasecmp mistake in var-expand
+
+
+M src/lib/var-expand.c
+
+2017-03-31 16:42:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f33cd5b8b4)
+
+ lmtp: Die at startup if config reading fails.
+
+ Although most of the time it's not strictly required for config to be read
+ here, one exception is SSL server settings. If this config reading fails,
+ the SSL initialization just crashes. So this gives a better error message
+ than a crash. Also config reading really isn't supposed to fail anyway.
+
+M src/lmtp/main.c
+
+2017-03-30 23:25:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5930d3ff79)
+
+ lib-index: Assert in mail_index_append_finish_uids() to prevent UID wrapping
+
+ This should be handled better eventually, but it's better to crash earlier
+ now than later. This avoids a later assert:
+
+ Panic: file mail-index-transaction-finish.c: line 187
+ (mail_index_transaction_get_uid): assertion failed: (rec->uid != 0)
+
+M src/lib-index/mail-index-transaction-update.c
+
+2017-03-31 12:28:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (15fa038377)
+
+ lib-fs: Add FS_METADATA_ORIG_PATH
+
+ This allows fs backends to keep track of the original filename and use it
+ for logging purposes and such.
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2017-03-31 12:28:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8f900bf5b0)
+
+ lib-fs: Allow fs_set_metadata() to update already added metadata.
+
+ Previously we were just appending the metadata multiple times with different
+ values, which could have caused problems.
+
+M src/lib-fs/fs-api.c
+
+2017-03-30 16:43:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b1e097e04c)
+
+ quota, acl: Use mail_user_plugin_getenv_bool() for boolean settings
+
+ These were forgotten earlier.
+
+M src/plugins/acl/acl-backend.c
+M src/plugins/quota/quota.c
+
+2017-03-31 01:02:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (01c7913d4b)
+
+ imap: Fix assert-crash when hibernation triggers during IDLE syncing
+
+ Fixes: Panic: file cmd-idle.c: line 182 (idle_hibernate_timeout): assertion
+ failed: (ctx->sync_ctx == NULL)
+
+M src/imap/cmd-idle.c
+
+2017-03-30 23:46:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (eed02e3be9)
+
+ lib-http: http_client_request_delay_from_response() should use per-request
+ timeout as max
+
+ It was using the global request_timeout_msecs for the maximum timeout, which
+ could be different from the per-request timeout set by
+ http_client_request_set_attempt_timeout_msecs().
+
+M src/lib-http/http-client-request.c
+
+2017-03-30 22:29:13 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (210256b5d4)
+
+ lib-http: client: Fixed request-specific attempt timeout.
+
+ This is the timeout applied to a single request attempt. Using
+ http_client_request_set_attempt_timeout_msecs() this can be set for a
+ specific request. However, this was mostly ignored for requests that weren't
+ in the process of handling response payload. Instead, the global
+ request_timeout_msecs client setting was used.
+
+ Also amended the (currently manual) test suite with tests that demonstated
+ the problem and now verify the fix.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/test-http-client-errors.c
+
+2017-03-28 19:40:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (55ef2c46b1)
+
+ lib-index: Use time_to_local_day_start() instead of reimplementing
+
+
+M src/lib-index/mail-index-transaction-update.c
+
+2017-03-28 19:14:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (27a33f6aaa)
+
+ lib: Add time_to_local_day_start()
+
+
+M src/lib/test-time-util.c
+M src/lib/time-util.c
+M src/lib/time-util.h
+
+2017-03-27 17:44:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c85dd5fbf4)
+
+ lib-index: Code cleanup - expand LOG_WANT_ROTATE() macro
+
+ There was no reason it had to be a macro. Also this fixes off-by-one error
+ when checking for log_rotate_min_size.
+
+M src/lib-index/mail-transaction-log.c
+
+2017-03-27 10:33:42 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (205f29a013)
+
+ var-expand-crypt-plugin: Add test suite
+
+
+M src/plugins/var-expand-crypt/Makefile.am
+A src/plugins/var-expand-crypt/test-var-expand-crypt.c
+
+2017-03-27 11:02:31 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e8d8cff110)
+
+ var-expand-crypt: Fix data decryption
+
+
+M src/plugins/var-expand-crypt/var-expand-crypt-plugin.c
+
+2017-03-27 09:39:03 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5d2c15eaba)
+
+ var-expand-crypt: Add error handling for initialization
+
+
+M src/plugins/var-expand-crypt/var-expand-crypt-plugin.c
+
+2017-03-27 09:34:50 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (820c323f80)
+
+ var-expand-crypt: Do not free dcrypt context twice
+
+ Found by coverity
+
+M src/plugins/var-expand-crypt/var-expand-crypt-plugin.c
+
+2017-03-17 10:28:36 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ea0bf78710)
+
+ test: lib-http: Check write_full return value in test
+
+ Makes static analyzers happier
+
+M src/lib-http/test-http-client.c
+
+2017-03-17 10:26:50 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ab9be857a5)
+
+ test: fts-squat: Ignore gettimeofday return value in test
+
+ Makes static analyzers happier
+
+M src/plugins/fts-squat/squat-test.c
+
+2017-03-17 10:26:06 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (108bb19d23)
+
+ test: lib-index: Ensure conficts_seqs is created in test
+
+ Makes static analyzers happier
+
+M src/lib-index/test-mail-index-transaction-finish.c
+
+2017-03-17 10:25:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (50e44da762)
+
+ test: lib: Ensure item is not null
+
+ Makes static analyzers happier
+
+M src/lib/test-priorityq.c
+
+2017-03-17 10:23:42 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9f99d5a1b5)
+
+ test: lib-program-client: Use i_close_fd instead of close
+
+
+M src/lib-program-client/test-program-client-unix.c
+
+2017-03-17 10:23:14 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (24c5bcb933)
+
+ test: lib-program-client: Ignore some return values in test server
+
+ Makes static analyzers happier
+
+M src/lib-program-client/test-program-client-net.c
+
+2017-03-17 10:21:25 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c34bdea0d7)
+
+ test: lib: Check o_stream_flush return value in proxy test
+
+ Makes static analyzers happier
+
+M src/lib/test-iostream-proxy.c
+
+2017-03-17 10:19:17 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5c97732871)
+
+ test: lib-fts: Ignore uni_utf8_get_valid_data return value
+
+ Makes static analyzers happier
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2017-03-17 10:17:59 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b261fc7c4f)
+
+ test: mail-crypt: Check dcrypt_id_key_private_old return value
+
+ Makes static analyzers happier
+
+M src/plugins/mail-crypt/test-mail-key.c
+
+2017-03-17 10:16:11 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b75580cbe5)
+
+ test: lib-http: Check o_stream_send return value
+
+ Makes static analyzers happier
+
+M src/lib-http/test-http-server.c
+
+2017-03-17 10:13:59 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2935863763)
+
+ test: lib: Check o_stream_send return value
+
+ Make static analyzers happier
+
+M src/lib/test-ostream-escaped.c
+
+2017-03-27 19:50:53 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (01aca4a521)
+
+ driver-cassandra: Add metric for slow queries
+
+
+M src/lib-sql/driver-cassandra.c
+
+2017-03-29 20:04:47 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (620ddd4ab7)
+
+ push-notification-driver-ox: Wait for http requests to finish in deinit
+
+ This is to make sure mail_user is still usable in http response callback.
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2017-03-30 15:53:59 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (b3abfd0ac2)
+
+ director: Log vhost count changes and HOST-UP/DOWN
+
+
+M src/director/director-connection.c
+M src/director/doveadm-connection.c
+M src/director/mail-host.c
+M src/director/mail-host.h
+
+2017-03-30 01:42:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (939f758ca2)
+
+ master: When logging fork() EAGAIN failure, include current ulimit -u value
+
+
+M src/master/service-process.c
+
+2017-03-27 16:33:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5bbc21995d)
+
+ doveadm dump log: Use shared lib-index code for updating modseq
+
+ When MAIL_TRANSACTION_MODSEQ_UPDATE records were seen, the printed modseqs
+ afterwards weren't correct.
+
+ Now that mail_transaction_update_modseq() is used, we don't need to keep
+ this code synchronized with it.
+
+M src/doveadm/doveadm-dump-log.c
+
+2017-03-27 16:30:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fb83662d36)
+
+ doveadm dump log: Cleanup - don't change hdr.size
+
+ Needed by the next commit.
+
+M src/doveadm/doveadm-dump-log.c
+
+2017-03-27 16:26:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f6aa54d259)
+
+ doveadm dump log: Use istream for reading the file.
+
+ Cleans up the code a bit and removes the 1MB record limit.
+
+M src/doveadm/doveadm-dump-log.c
+
+2017-03-29 13:28:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (acfeae4e2b)
+
+ lib-storage: Fix potential dict transaction leak on transaction rollback.
+
+
+M src/lib-storage/index/index-transaction.c
+
+2017-03-29 13:27:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5012586ed3)
+
+ lib-dict: Keep a linked list of all transactions in dict.
+
+ This helps debugging if a transaction is leaked.
+
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+
+2017-03-29 16:15:36 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d56b6dfe67)
+
+ auth: Do not cache username unless it was changed by lookup
+
+ This could've caused usernames to be unexpectedly changed because they were
+ cached by a lookup that did not include username in the cache key.
+
+M src/auth/auth-request.c
+
+2017-03-29 15:37:36 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (257111a99a)
+
+ auth: Mark username changed if it's changes in
+ auth_request_try_update_username
+
+ It was forgotten in by 865a82c1
+
+M src/auth/auth-request.c
+
+2017-03-07 13:32:15 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7c68180934)
+
+ lib: Add uuid support to guid
+
+
+M src/lib/guid.c
+M src/lib/guid.h
+M src/lib/test-guid.c
+
+2017-03-23 14:09:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7f3fe26555)
+
+ mail-log: Differentiate autoexpunges from expunges
+
+
+M src/plugins/mail-log/mail-log-plugin.c
+
+2017-03-23 14:08:30 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6c51e3c3dc)
+
+ lib-storage: Indicate mail is being autoexpunged
+
+ This way plugins, such as mail_log, can detect this.
+
+M src/lib-storage/mail-autoexpunge.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail.c
+
+2017-03-27 15:28:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c9712cd137)
+
+ config: Don't stop the process due to idling.
+
+ If the config process restarts, it also reloads configuration. We'd rather
+ want the configuration reloads to always be explicit.
+
+M src/config/config-settings.c
+
+2017-03-27 13:44:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2a24f3565c)
+
+ cassandra: Fallback consistency fix - it wasn't used permanently
+
+ Because the "do I want to retry using primary consistency?" check was done
+ using the first failure timestamp, after 60 seconds that check always
+ returned TRUE. We should instead be checking the last timestamp for a query
+ that was sent with the primary consistency.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-03-27 13:33:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a8a5f2f8cc)
+
+ cassandra: Fallback consistency fix - max retry interval was set wrong
+
+ The maximum msecs is _MAX_RETRY_MSECS, not _FIRST_RETRY_MSECS
+
+M src/lib-sql/driver-cassandra.c
+
+2017-03-26 19:08:18 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (561a21c8ec)
+
+ lib-http: client: Fix aborting a request that has a delayed error.
+
+ Caused by recent changes in delayed error handling.
+
+M src/lib-http/http-client-request.c
+M src/lib-http/test-http-client-errors.c
+
+2017-03-19 15:35:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (30871b77e6)
+
+ imapc: Add imapc_features=delay-login
+
+ The connection to imapc_host is delayed until it's actually needed to be
+ performed.
+
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-03-19 15:34:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3c90202372)
+
+ imap: Remove imapc-specific "is connection valid?" code
+
+ This is now done by imapc itself in the previous patch
+
+M src/imap/main.c
+
+2017-03-19 15:32:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (92cd929df2)
+
+ imapc: Fail user creation if login to imapc_host fails.
+
+ This causes imapc to actually wait for the login to succeed or fail. Such a
+ wait was already done by the imap code, which will be removed by the next
+ patch.
+
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2017-03-25 15:46:58 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (bd2a176b57)
+
+ quota: Add backend register/unregister
+
+ This way, other mail plugins can register their own quota backends.
+
+M src/plugins/quota/quota-plugin.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2017-03-24 14:46:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (79454ba23e)
+
+ lib-mail: Fix read overflow / crash in message_header_decode()
+
+ If the input string was "=?charset?Q|B?text?", the code attempted to look up
+ the character after it. And if it was "=", the callback was called with
+ size=-1, which ends up in a crash.
+
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/test-message-header-decode.c
+
+2016-11-29 09:38:21 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (7dd7e8ed41)
+
+ ssl: deprecate no_compression in ssl_options
+
+ Compression is now disabled by default.
+
+M doc/example-config/conf.d/10-ssl.conf
+M src/lib-master/master-service-ssl-settings.c
+
+2016-12-16 22:18:02 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (519675ef36)
+
+ doc: mention no_ticket in ssl config example
+
+
+M doc/example-config/conf.d/10-ssl.conf
+
+2016-12-16 22:25:38 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (d25aba3ff9)
+
+ doc: remove obsolete ssl_dh_parameters_length from example config
+
+
+M doc/example-config/conf.d/10-ssl.conf
+
+2016-12-19 11:59:18 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (0c83dfe6a8)
+
+ ssl: change to more secure default ssl_cipher_list
+
+
+M doc/example-config/conf.d/10-ssl.conf
+M src/lib-master/master-service-ssl-settings.c
+
+2017-03-23 20:16:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c4ec7cb598)
+
+ imap-login: Move forward_fields updating code to login-common
+
+ This allows using the new client_add_forward_field() in e.g. plugins.
+
+M src/imap-login/imap-login-client.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2017-03-24 04:21:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7c3717a05b)
+
+ lib-storage: Fix mail_user_autoexpunge() return value to be initialized
+ properly
+
+
+M src/lib-storage/mail-autoexpunge.c
+
+2017-03-23 14:27:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8c0afac054)
+
+ lib-storage: Change mail_user_autoexpunge() to return number of autoexpunged
+ mails
+
+
+M src/lib-storage/mail-autoexpunge.c
+M src/lib-storage/mail-autoexpunge.h
+
+2017-03-23 14:19:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0c9dda2bad)
+
+ lmtp: Trigger autoexpunging only for the last RCPT TO.
+
+ Otherwise if the autoexpunging takes a long time, the LMTP client could
+ disconnect due to a timeout. The mails would still eventually get delivered
+ though, so it would result in duplicate mails being delivered.
+
+ An alternative to this would be to keep all the mail_users referenced until
+ the delivery is finished and then autoexpunge all of them at the end. It
+ increases memory usage though and complicates the code, so at least for now
+ it's not implemented.
+
+M src/lmtp/commands.c
+
+2017-03-23 14:15:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (646817f0cf)
+
+ lib-storage: Replace MAIL_STORAGE_SERVICE_FLAG_AUTOEXPUNGE with explicit
+ mail_user_autoexpunge()
+
+ This allows better control of which users are being autoexpunged. This patch
+ changes behavior at least in two ways now:
+
+ 1) After shared folder access, the owner user isn't autoexpunged at deinit.
+ Although this is a bit questionable of whether it should be or not.
+
+ 2) LMTP's quota check at RCPT TO stage doesn't trigger autoexpunging.
+
+M src/imap/imap-client.c
+M src/imap/main.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+M src/lmtp/commands.c
+M src/lmtp/main.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+
+2017-03-23 14:08:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f9dad58173)
+
+ pop3: Start autoexpunging only after client is disconnected
+
+
+M src/pop3/pop3-client.c
+
+2017-03-23 15:17:44 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (439dab8f70)
+
+ var-expand-crypt: Remove pointless assigment
+
+ It's never used
+
+M src/plugins/var-expand-crypt/var-expand-crypt-plugin.c
+
+2017-03-23 15:12:45 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9e38412ec1)
+
+ var-expand-crypt: Fix base64 encoding
+
+ the break was missing, also removed confusing block.
+
+M src/plugins/var-expand-crypt/var-expand-crypt-plugin.c
+
+2017-03-16 11:15:18 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (bf7dc750b9)
+
+ global: Log internal storage error on failure
+
+
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-deduplicate.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-flags.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-save.c
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/imap/imap-state.c
+M src/indexer/master-connection.c
+M src/lda/main.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-lda/mail-deliver.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/mail-autoexpunge.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lmtp/commands.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+M src/plugins/mail-crypt/mail-crypt-acl-plugin.c
+M src/plugins/mail-crypt/mail-crypt-key.c
+M src/plugins/mail-crypt/test-mail-key.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/push-notification/push-notification-driver-ox.c
+M src/plugins/push-notification/push-notification-event-mailboxcreate.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+
+2017-03-17 09:23:00 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (8d2e45a300)
+
+ lmtp: Log internal error on STATUS_CHECK_OVER_QUOTA failure
+
+
+M src/lmtp/commands.c
+
+2017-03-16 11:12:29 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (98c217499d)
+
+ lib-storage: Add mail_storage_get_last_internal_error()
+
+ This returns the error given to mail_storage_set_critical().
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2017-03-22 18:02:37 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (8fc6dd0572)
+
+ quota: Use mail_user_plugin_getenv_bool to get quota_vsizes
+
+
+M src/plugins/quota/quota.c
+
+2017-03-22 17:17:41 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (7f4fa37676)
+
+ quota: Add quota_max_mail_size setting
+
+
+M doc/example-config/conf.d/90-quota.conf
+M src/plugins/quota/Makefile.am
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-status.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2017-03-23 10:16:30 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (64f889c7c1)
+
+ quota: Use quota_alloc_result in quota_settings.test_alloc
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+M src/plugins/trash/trash-plugin.c
+
+2017-03-23 13:48:04 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (38ce5769db)
+
+ quota: Introduce quota_alloc_result return type
+
+
+M src/plugins/quota/quota-status.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2017-03-23 15:05:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f504be57bf)
+
+ dbox: Allow ":" separator between mail_attachment_fs driver and args.
+
+ The ":" separator is nowadays commonly used elsewhere for the separator, so
+ it should work here as well.
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2016-12-25 10:36:59 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b8596c89dd)
+
+ lib: Add tests for extensions
+
+
+M src/lib/test-var-expand.c
+
+2016-11-18 14:47:05 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (dbc351d8a8)
+
+ var-expand-crypt: Encryption/decryption support for var-expand
+
+ Registers new encrypt and decrypt processors for var-expand.
+
+M configure.ac
+M src/plugins/Makefile.am
+A src/plugins/var-expand-crypt/Makefile.am
+A src/plugins/var-expand-crypt/var-expand-crypt-plugin.c
+
+2016-11-18 09:39:46 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5c00a22fcc)
+
+ lib: Add extension support for var-expand
+
+ This enables loading new var-expand features using plugins.
+
+M src/lib/Makefile.am
+M src/lib/lib.c
+A src/lib/var-expand-private.h
+M src/lib/var-expand.c
+
+2017-03-22 19:33:52 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (0306a3100b)
+
+ lib: Check var_expand_long return value correctly
+
+
+M src/lib/var-expand.c
+
+2016-11-22 10:54:43 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2c2bcffb5d)
+
+ lib: Fix whitespace in var-expand.c
+
+
+M src/lib/var-expand.c
+
+2017-02-25 23:34:03 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (34b724d1d7)
+
+ lib-storage: Add and use default mailbox iterator
+
+ The idea is to allow mail plugins to see also the non-existent autoboxes by
+ feeding them thru the iterator.
+
+ Fixes problem where autocreated boxes are not seen by ACL plugin.
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/mailbox-list-private.h
+
+2017-03-21 13:14:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fbcc3e140d)
+
+ lib-storage: Expose mailbox_list_init_autocreate
+
+ It is needed when backend_ctx is created on the fly
+
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/mailbox-list-private.h
+
+2017-02-25 23:33:20 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7e1600ded6)
+
+ acl: Use MODULE_CONTEXT for mailbox list iterator
+
+
+M src/plugins/acl/acl-mailbox-list.c
+
+2017-02-25 23:59:21 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2e295aaaf0)
+
+ acl: Use mailbox_list_context instead of ctx->ctx
+
+ This prepares for the next commit
+
+M src/plugins/acl/acl-mailbox-list.c
+
+2017-03-22 12:01:18 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (be64b3bbf9)
+
+ lib-dict: Ensure all iterations and transactions are done in deinit
+
+
+M src/lib-dict/dict.c
+
+2017-03-22 12:01:07 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f32da6b73c)
+
+ lib-dict: Track transaction counts
+
+
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+
+2017-03-22 10:33:20 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d42321abd7)
+
+ lib-dict: Fix test-dict linkage
+
+
+M src/lib-dict/Makefile.am
+
+2017-03-22 10:32:58 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7932885c8a)
+
+ lib-dict: Use dict-fail iterator and transaction when missing from dict
+ driver
+
+
+M src/lib-dict/dict.c
+
+2017-03-22 12:05:32 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (10f126b558)
+
+ dict: Update correct counter in dict_iterate_init
+
+
+M src/lib-dict/dict.c
+
+2017-03-22 10:32:04 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d70bf110f2)
+
+ lib-dict: Add dict-fail driver
+
+ It can be used for providing various failures
+
+M src/lib-dict/Makefile.am
+A src/lib-dict/dict-fail.c
+M src/lib-dict/dict-private.h
+
+2017-03-17 12:58:08 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (d4847b9210)
+
+ global: Log mailbox_list internal errors
+
+
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/imap/main.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/mail-autoexpunge.c
+M src/plugins/quota/quota-count.c
+M src/plugins/virtual/virtual-config.c
+M src/pop3/pop3-client.c
+
+2017-03-17 12:38:21 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (8ca217bf3a)
+
+ lib-storage: Add mailbox_list_get_last_internal_error()
+
+ This returns the error given to mailbox_list_set_critical().
+
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2017-03-22 23:19:51 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (4e64ac91c5)
+
+ lib: Download unicode.org files from dovecot.org
+
+
+M src/lib-fts/Makefile.am
+M src/lib/Makefile.am
+
+2017-03-17 23:39:33 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e46130f48a)
+
+ lib-http: client: Implemented http_client_request_url_str() function that
+ accepts an URL string rather than a pre-parsed URL object.
+
+ If the provided HTTP URL is invalid, the callback with the error is called
+ some time later from the ioloop. This change also amends the
+ test-http-client-errors test suite with a new test for this new feature.
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+M src/lib-http/test-http-client-errors.c
+
+2017-03-17 23:51:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7a358ecd89)
+
+ lib-http: client: Make sure a request's log label never gets a duplicate
+ request target part.
+
+ Make sure the URL part of the label always only consists of a
+ http://host:port part and nothing more.
+
+M src/lib-http/http-client-request.c
+
+2017-03-17 23:35:55 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8d84573340)
+
+ lib-http: client: Restructured the handling of delayed errors.
+
+ The req->delayed_error* fields are cleared before the callback is called and
+ before the request is dereferenced. This way, freeing the request never
+ removes it from the delayed request list when the list is being processed.
+ It also makes it possible to resubmit the request from the callback (mainly
+ for future use).
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+
+2017-03-17 23:18:52 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (15fe3500f0)
+
+ lib-http: client: Clear request pointer immediately in
+ http_client_request_error().
+
+
+M src/lib-http/http-client-request.c
+
+2017-03-17 23:00:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (905ada5e56)
+
+ lib-http: test-http-client-errors: Added test for using https:// while SSL
+ is not configured.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2017-03-19 15:47:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (ce3fc9190e)
+
+ global: Use http_response_get_message() to log HTTP responses.
+
+
+M src/auth/auth-policy.c
+M src/lib-http/http-client-connection.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts/fts-parser-tika.c
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2017-03-19 15:09:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (17908b11e2)
+
+ lib-http: Added a function to obtain a message suitable for logging from a
+ response object.
+
+ This prevents logging internal error codes (>= 9000).
+
+M src/lib-http/http-response.h
+
+2017-03-19 15:06:13 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a8741f46cb)
+
+ lib-http: Explicitly define the start of the range of internal response
+ status codes.
+
+
+M src/lib-http/http-client.h
+M src/lib-http/http-response.h
+
+2017-03-17 23:03:03 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4102d9f269)
+
+ lib-http: test-http-client-errors: Always use the proper error status code
+ definitions rather than an integer literal.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2017-03-22 09:03:20 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (89387c6f09)
+
+ doveadm: Send and receive exit codes correctly
+
+ The old code would assume TEMPFAIL for almost everything.
+
+M src/doveadm/client-connection.c
+M src/doveadm/server-connection.c
+
+2017-03-22 19:21:55 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c466bbccb4)
+
+ doveadm: Add exit code/string conversion functions
+
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm.h
+
+2017-03-20 20:22:36 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5b29a2a2eb)
+
+ dict-cdb: Fix API for v2.3
+
+ Broken by 39ea5717264668e2c7f9f7986eb821d21785f47f
+
+M src/lib-dict/dict-cdb.c
+
+2017-03-20 20:21:56 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8e066cce95)
+
+ lib-dict: Ensure init returns dict
+
+
+M src/lib-dict/dict.c
+
+2017-03-10 10:05:14 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (017d99aa1c)
+
+ pop3-login: Add FORWARD for XCLIENT
+
+ This allows passing passdb variables. They are prefixed with forward_ when
+ imported to extra fields.
+
+M src/pop3-login/client.c
+
+2017-03-10 10:04:33 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (67ac9e1493)
+
+ pop3-login: Pass forward_ passdb args using XCLIENT command
+
+
+M src/pop3-login/pop3-proxy.c
+
+2017-02-20 20:37:09 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (998eadc15a)
+
+ imap-login: Allow x-forward- to specify forward fields from trusted networks
+
+
+M src/imap-login/imap-login-client.c
+M src/imap-login/imap-proxy.c
+M src/login-common/client-common-auth.c
+
+2017-02-20 20:36:58 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (53f97800b1)
+
+ auth: Accept forward_fields from auth client
+
+
+M src/auth/auth-request.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.h
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2017-03-16 13:36:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6e76be05e4)
+
+ auth: Add auth_fields_import_prefixed
+
+
+M src/auth/auth-fields.c
+M src/auth/auth-fields.h
+
+2017-03-14 10:01:51 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e88c6613d3)
+
+ auth: Support client_id variable
+
+ When imap_id_retain is turned on, contains the client ID request content
+ with dovecot special vars removed.
+
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request-var-expand.h
+
+2017-03-16 10:01:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a9523ec8f6)
+
+ imap-login: Forward original client ID to next hop
+
+ This will be done if ID is present.
+
+M src/imap-login/imap-proxy.c
+
+2017-02-20 19:11:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2f7c73483f)
+
+ imap-login: Retain ID request without dovecot specials
+
+
+M src/imap-login/imap-login-client.c
+M src/login-common/client-common.h
+
+2017-02-21 14:46:31 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (07142eb1dc)
+
+ imap-login: Add option to retain client id
+
+ This should be enabled if client_id is wanted for auth policy
+
+M src/imap-login/imap-login-settings.c
+M src/imap-login/imap-login-settings.h
+
+2017-02-20 18:58:21 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a8dac1be6a)
+
+ auth: Accept client_id from auth client
+
+ Client ID contains the ID client request string for IMAP.
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.h
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2017-03-09 14:08:40 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b045b66988)
+
+ login-common: Add preproxy pool
+
+ preproxy pool can be used to do allocations that are released once proxying
+ starts.
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/login-proxy.c
+
+2017-01-29 01:03:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d35da39e68)
+
+ imapc: Use LOGOUT to cleanly disconnect from server.
+
+ This makes it clearer in the remote server's logs whether the disconnection
+ was intentional or not.
+
+ Use a hardcoded 5 second timeout for LOGOUT. It should be enough time for
+ the server to finish sending the tagged reply.
+
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-03-16 18:46:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5eb43c3bb4)
+
+ lib-storage: Don't reset \Recent flags when rebuilding index
+
+ The recent flags are tracked with first_recent_uid in the header. If the
+ first_recent_uid is valid in the old index, preserve it. This way all mails
+ don't show as having \Recent flag.
+
+ This was used by sdbox and mdbox code.
+
+M src/lib-storage/index/index-rebuild.c
+
+2017-03-16 09:38:59 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (97f774ab04)
+
+ trash: Move config file to trash user
+
+ Makes static analyser happy
+
+M src/plugins/trash/trash-plugin.c
+
+2017-02-26 16:10:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (95fe5a25ac)
+
+ lib-index: Fix test-mail-index-transaction-update
+
+ It was broken with TZ=Australia/ACT. Fixing it seems too troublesome, so
+ just use TZ=UTC during the test.
+
+M src/lib-index/test-mail-index-transaction-update.c
+
+2017-02-26 16:09:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b0831ed2da)
+
+ lib-index: Minor fix to day_first_uid updating
+
+ mktime() was getting a bit confused around day changes. Giving it only
+ year/month/day makes it less confused.
+
+M src/lib-index/mail-index-transaction-update.c
+
+2017-03-11 19:20:30 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (bb0484f2d2)
+
+ doveadm: Do not crash doveadm-server if input file missing
+
+ save commands expects valid input file for it to work, if we are not running
+ for cli, and input file is not provided, provide EINVAL error to caller via
+ i_stream_error.
+
+M src/doveadm/doveadm-mail.c
+
+2017-03-16 09:36:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3dffcebc7d)
+
+ lib-dcrypt: Add asserts
+
+ Fixes several static analysis reports
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2017-02-27 18:13:54 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (10ac3345fe)
+
+ lib-storage & imap: add MAIL_ERROR_UNAVAILABLE as [UNAVAILABLE]
+
+ [UNAVAILABLE] is defined in RFC 5530 and we were just missing a MAIL_ERROR_*
+ constant to make use of it.
+
+M src/doveadm/doveadm-mail.c
+M src/imap/imap-commands-util.c
+M src/lib-storage/mail-error.h
+
+2017-03-08 15:39:34 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (3c6a7ca2d3)
+
+ imap, pop3, indexer-worker: Add (deinit) to process title before
+ autoexpunging runs.
+
+ lmtp should also do this, but it needs a bit larger changes.
+
+M src/imap/imap-client.c
+M src/imap/main.c
+M src/indexer/master-connection.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+
+2017-03-08 17:09:12 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (7c6347e851)
+
+ pop3: Add client.destroyed boolean
+
+
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+
+2017-03-13 14:23:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (865a82c1e9)
+
+ auth: Auth workers shouldn't return username if it wasn't changed
+
+ This continues the previous fix where username was always added to
+ passdb/userdb cache, even if the username wasn't changed. That could have
+ resulted in wrongly changing usernames if the cache key didn't uniquely
+ identify the user.
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-worker-client.c
+M src/auth/passdb-blocking.c
+M src/auth/userdb-blocking.c
+
+2017-03-13 13:49:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e0a84bcd48)
+
+ auth: passdb/userdb lookups via auth-worker cached too much of the replies
+
+ Only the fields returned by the lookup itself were supposed to be cached.
+ This was especially problematic if the lookup via auth-worker didn't
+ uniquely identify the user. For example doing a passdb lookup for an
+ attribute shared by multiple users could have caused the reply to contain
+ the previous cached user's all extra fields.
+
+M src/auth/auth-worker-client.c
+
+2017-03-15 13:29:11 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c12aed4d81)
+
+ auth: Properly hide all fields with passwords
+
+ client reply line wasn't hiding all items which contain 'pass' substring.
+ This was inconsistent behaviour since elsewhere this was done.
+
+M src/auth/auth-client-connection.c
+
+2017-03-15 18:20:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c5e62353a1)
+
+ *-login: Change API for how login_plugins hook into client allocation.
+
+ The previous API worked badly when there were more than one plugin. The
+ current behavior works similarly to how mail_plugins work.
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/main.c
+
+2017-03-13 22:52:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0098ac3b6d)
+
+ cassandra: Treat CASS_ERROR_SERVER_UNAVAILABLE as "write success is
+ uncertain"
+
+ Looks like the write could still have actually gone through.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-03-16 01:22:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8789156497)
+
+ lib-oauth2: Don't free oauth2_request too early.
+
+ Move the freeing explicitly to only after calling the callback. The previous
+ method of freeing it on when http_request was destroyed could have happened
+ too early when oauth2_parse_json() called i_stream_unref(), which released
+ the last reference to the http_request.
+
+M src/lib-oauth2/oauth2-introspect.c
+M src/lib-oauth2/oauth2-refresh.c
+M src/lib-oauth2/oauth2-token-validate.c
+
+2017-03-16 01:12:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (070caf28f1)
+
+ lib-oauth2: Fix memory leak if HTTP URL parsing fails.
+
+ Also delay calling the callback. The callers don't necessarily expect an
+ immediate callback (auth/db-oauth2.c doesn't).
+
+M src/lib-oauth2/oauth2-introspect.c
+M src/lib-oauth2/oauth2-private.h
+M src/lib-oauth2/oauth2-refresh.c
+M src/lib-oauth2/oauth2-token-validate.c
+M src/lib-oauth2/oauth2.c
+
+2017-03-16 00:54:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d88304d959)
+
+ auth: oauth2 - cleanup db_oauth2_lookup_callback_t
+
+ db parameter isn't needed, because request->db already contains it. Also
+ moved request parameter to be the first.
+
+M src/auth/db-oauth2.c
+M src/auth/db-oauth2.h
+M src/auth/passdb-oauth2.c
+
+2017-03-16 00:51:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (34cb91abb3)
+
+ auth: oauth2 - make it easier to see where db_oauth2_callback() is called
+
+ Doesn't fix anything, but places the db_oauth2_callback() calls into the end
+ of _continue() calls so it's clearer that they're always being called
+ exactly once.
+
+M src/auth/db-oauth2.c
+
+2017-03-16 01:35:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e252a81ca2)
+
+ auth: oauth2 - Clarify token validation success/valid error handling
+
+ result->error is NULL only if result->success && !result->valid. Also
+ !result->success is the more important error handling case. Write out these
+ cases explicitly so it's easier to understand.
+
+M src/auth/db-oauth2.c
+
+2017-03-16 00:42:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b928b757e7)
+
+ auth: oauth2 - remove db_oauth2_request.failed
+
+ It is an unnecessary duplication of passdb_result.
+
+M src/auth/db-oauth2.c
+M src/auth/db-oauth2.h
+M src/auth/passdb-oauth2.c
+
+2017-03-16 00:38:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5e48e30039)
+
+ auth: oauth2 - remove db_oauth2_request.result
+
+ It's not a persistent state. When it's set, the callback needs to be called.
+ This way it's more difficult to forget to set it.
+
+M src/auth/db-oauth2.c
+M src/auth/db-oauth2.h
+M src/auth/passdb-oauth2.c
+
+2017-03-16 00:33:24 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (01484d200b)
+
+ auth: oauth2 - Template expand failure should be an internal error
+
+ Not the default "password mismatch". Also changed the API to be closer to
+ the other nearby functions.
+
+M src/auth/db-oauth2.c
+
+2017-03-16 00:32:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3d365d35f8)
+
+ auth: oauth2 - make db_oauth2_template_export() static
+
+ It's not used outside db-oauth2.c
+
+M src/auth/db-oauth2.c
+M src/auth/db-oauth2.h
+
+2017-03-16 00:25:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6bcf2e4195)
+
+ auth: oauth2 - introspection lookup error should be internal failure
+
+ Not the default, which is "password mismatch".
+
+M src/auth/db-oauth2.c
+
+2017-03-16 00:15:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8fd1d49dca)
+
+ auth: oauth2 - Make sure db_oauth2_request.req is set to NULL when it gets
+ freed.
+
+ Doesn't fix anything, but makes it clearer that req->req must not be aborted
+ anymore after this stage, because it gets freed anyway.
+
+M src/auth/db-oauth2.c
+
+2017-03-16 00:13:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cbf6b2a595)
+
+ auth: oauth2 - Fix aborting auth requests on deinit.
+
+ The auth_request needs to be finished by calling the callback.
+
+M src/auth/db-oauth2.c
+
+2017-03-06 14:59:46 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (000030feb7)
+
+ auth: Do not double-expand key in passdb dict when authenticating
+
+ Broken by 79042f8c
+
+M src/auth/db-dict.c
+
+2017-03-09 11:32:21 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (a8d3f2d03d)
+
+ *-login: Remove unused client.proxy_state
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+
+2017-03-09 10:48:33 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (339726ad7f)
+
+ pop3-login: Remove usage of client.common.proxy_state
+
+
+M src/pop3-login/client.h
+M src/pop3-login/pop3-proxy.c
+
+2017-03-09 10:46:36 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (d77f679dac)
+
+ pop3-login: Log proxy state as human-readable string.
+
+
+M src/pop3-login/client.c
+M src/pop3-login/client.h
+M src/pop3-login/pop3-proxy.c
+M src/pop3-login/pop3-proxy.h
+
+2017-03-09 10:41:52 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (b4bf60434d)
+
+ imap-login: Log proxy state as human-readable string.
+
+ Separate sent/received state and log them as strings.
+
+M src/imap-login/imap-login-client.c
+M src/imap-login/imap-login-client.h
+M src/imap-login/imap-proxy.c
+M src/imap-login/imap-proxy.h
+
+2017-03-09 10:31:39 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (2b96880f2d)
+
+ *-login: Add client.proxy_get_state() for providing human-readable proxy
+ state
+
+ If not implemented, it defaults to the old method of returning proxy_state
+ number.
+
+M src/imap-urlauth/imap-urlauth-login.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/login-proxy.c
+M src/pop3-login/client.c
+
+2017-03-07 14:36:45 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (3e961b1dec)
+
+ pop3: Set process title before syncing mailbox.
+
+ The syncing could be taking a long time, so it's useful to have the username
+ in the process title during that.
+
+M src/pop3/pop3-client.c
+
+2017-03-08 10:07:37 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (7f2cb2e5b2)
+
+ imap: If unhibernation fails due to a mailbox error, log the mailbox name.
+
+
+M src/imap/imap-state.c
+
+2017-03-08 09:28:14 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (42886bc892)
+
+ imap: When disconnecting due to FETCH failure, include "FETCH" in the log
+ message.
+
+
+M src/imap/cmd-fetch.c
+
+2017-03-07 18:10:57 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b1808dcac2)
+
+ lib-sasl: Fix xoauth2 data format
+
+ Authentication data was missing user=
+
+M src/lib-sasl/mech-oauthbearer.c
+
+2017-03-07 10:09:20 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3871fbbab9)
+
+ db-oauth2: Make sure request is removed only once
+
+ Callback might be called twice.
+
+M src/auth/db-oauth2.c
+
+2017-03-07 10:08:08 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (477629dd33)
+
+ lib-oauth2: Use http client destroy callback
+
+ Avoids freeing memory early.
+
+ Fixes signal 11 crash in auth
+
+M src/lib-oauth2/oauth2-introspect.c
+M src/lib-oauth2/oauth2-refresh.c
+M src/lib-oauth2/oauth2-token-validate.c
+
+2017-03-06 13:16:12 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9fedd371d3)
+
+ auth: Apply skips to first passdb
+
+ This is required to apply filters to first passdb, so that mechanism filters
+ can be applied.
+
+M src/auth/auth-request.c
+
+2017-03-05 19:45:04 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (29e074eeea)
+
+ lib-http: test-http-server-errors: Fixed logically dead code.
+
+ Problem reported by Coverity.
+
+M src/lib-http/test-http-server-errors.c
+
+2017-03-02 23:12:45 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (cb12dd3a1d)
+
+ lib-lda: smtp-client: Fixed memory leak of the error message string.
+
+
+M src/lib-lda/smtp-client.c
+
+2017-03-02 23:51:45 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (17e89642b6)
+
+ lib-lda: smtp-client: Fixed cleanup of LMTP client at end of transaction.
+
+ It was not deinitialized, causing a memory leak.
+
+M src/lib-lda/smtp-client.c
+
+2017-03-02 00:42:13 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e422d45a78)
+
+ lib-smtp: lmtp-client: Fixed bug in timeout handling.
+
+ The timeout was erroneously stopped when lmtp_client_send() was invoked
+ before a connection was established. Once the connection finally got
+ established, the timeout was removed. This would cause the client to wait
+ indefinitely.
+
+M src/lib-smtp/lmtp-client.c
+
+2017-03-02 00:03:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8ac67bc3b7)
+
+ lib-lda: smtp-client: Make sure only the first error determines the tempfail
+ status.
+
+ The client is supposed to stop running the moment the first error occurs.
+ However, there is a (very unlikely) possiblity that the encapsulated LMTP
+ client issues both an RCPT and DATA error callback in sequence. In that
+ case, the second callback should not override the tempfail status of the
+ first (the second likely is a tempfail). If the server disconnects right
+ after failing the last of at least two recipients, the lmtp-client would
+ issue a DATA callback with a disconnection error. The disconnect error would
+ set the client->tempfail flag, which caused smtp_client_deinit*() to always
+ return -1 in this scenario.
+
+M src/lib-lda/smtp-client.c
+
+2017-03-03 08:31:50 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2461ec3b9c)
+
+ lib-oauth2: Add missing content-type header
+
+
+M src/lib-oauth2/oauth2-introspect.c
+
+2017-03-02 18:32:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2dc6c073d4)
+
+ example-config: Update deliver_log_format comment
+
+
+M doc/example-config/conf.d/10-logging.conf
+
+2017-03-02 09:15:13 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8f251da1b6)
+
+ lib-ssl-iostream: Ensure verify_remote_cert is true
+
+ Forgotten in 38424b8081a75be3ef93729fed4d30dbafca5885
+
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2017-03-01 13:12:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e0f82a1aa9)
+
+ imap-hibernate: Avoid using casts
+
+
+M src/imap-hibernate/imap-client.c
+
+2017-03-01 12:29:17 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (3751b61dfb)
+
+ fts: Don't add NULL content disposition or type to HTTP header
+
+
+M src/plugins/fts/fts-parser-tika.c
+
+2017-03-01 09:15:29 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (326fb016a2)
+
+ trash: Read settings after namespaces are loaded
+
+ Fixes Panic: file mail-namespace.c: line 709 (mail_namespace_find):
+ assertion failed: (ns != NULL)
+
+M src/plugins/trash/trash-plugin.c
+
+2017-02-27 16:23:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b39dd48436)
+
+ master: Try to listen on master socket even if all services couldn't be
+ listened to.
+
+ This could happen during a settings reload.
+
+M src/master/service-listen.c
+
+2017-02-27 16:22:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9b7a4aa385)
+
+ master: Add missing error logging for master socket listening failure.
+
+
+M src/master/service-listen.c
+
+2017-02-27 16:22:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7369eabcd8)
+
+ master: Don't crash if master socket couldn't be re-opened after settings
+ reload.
+
+
+M src/master/service-monitor.c
+
+2017-02-23 11:47:20 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (71cb0c7469)
+
+ imap-hibernate: Support userdb in var_expand
+
+
+M src/imap-hibernate/imap-client.c
+
+2017-02-27 20:40:43 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1f58bee818)
+
+ doveadm: Add missing newline to proxy kick output
+
+
+M src/doveadm/doveadm-proxy.c
+
+2017-02-27 20:38:43 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (235ef8cd38)
+
+ doveadm: Ensure -- is added to command line before positional arguments for
+ non-mails commands as well
+
+ Was forgotten from 967efe37d1f10a28c0a086cc5919d4ce8917bed8
+
+M src/doveadm/doveadm-cmd.c
+
+2017-02-27 19:12:32 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (967efe37d1)
+
+ doveadm: Ensure -- is added to command line before positional arguments
+
+ This prevents parser from choking on dash.
+
+M src/doveadm/doveadm-mail.c
+
+2017-02-27 19:04:55 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9384ef699a)
+
+ doveadm: Fix allow-empty-mailbox-name handling
+
+ It was supposed to be handled for metadata commands only.
+
+ Broken in 26c41874cf6019c3e39f0ed630b2a07a92b2635f
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2017-02-27 14:21:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6ebe7a974a)
+
+ doveadm move: Use mailbox_move() instead of copy+expunge
+
+ This allows for some optimizations to be done.
+
+M src/doveadm/doveadm-mail-copymove.c
+
+2017-02-27 09:39:06 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e5d0656cb2)
+
+ master: add cassandra to printed build options
+
+
+M src/master/main.c
+
+2017-02-26 15:37:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3e6f1c0a99)
+
+ lib: Fix t_strf*time() unit tests
+
+ Timezone isn't part of the standard struct tm, so %z doesn't necessarily
+ expand as expected outside Linux.
+
+M src/lib/test-time-util.c
+
+2017-02-26 15:21:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (27ccbb0f36)
+
+ dsync: Fix syncing attributes with large values.
+
+ This mainly meant that large Sieve scripts weren't synced properly, because
+ their last_change field was never deserialized, so it was set to 0.
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2017-02-26 14:32:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f05d013c67)
+
+ lazy-expunge: Use mailbox_move() instead of mailbox_copy()
+
+ This allows some optimizations to be performed that are only possible when
+ moving messages.
+
+ It's slightly strange now that mail_expunge() is triggered twice for the
+ same source mail, but lazy_expunge plugin is called very early so most
+ plugins won't see it called twice. Currently only acl plugin sees it, and it
+ doesn't care.
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2017-02-25 21:47:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (061801f2b3)
+
+ lib-dcrypt: Replace #if OPENSSL_VERSION_NUMBER with more explicit checks
+
+
+M m4/ssl.m4
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2017-02-25 21:41:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e47cfc3022)
+
+ lib-dcrypt: Move most of the OpenSSL #if handling to macros
+
+ This avoids #if calls being littered all over the file.
+
+ This change can cause HMAC_CTX_free(NULL) to be called, but that seems to
+ work fine without crashing.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2017-02-24 12:27:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f64f2d4b76)
+
+ mail-filter: Add missing error handling in ostream-ext-filter
+
+
+M src/plugins/mail-filter/ostream-ext-filter.c
+
+2017-02-24 12:17:21 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (850778e1fc)
+
+ auth: Removed dead code from oauth2 mechanism
+
+
+M src/auth/mech-oauth2.c
+
+2017-02-24 12:13:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9307657507)
+
+ acl plugin: Fix Coverity warning
+
+ Just switch the MALLOC_ADD() parameters, so that arithmetic doesn't get
+ inside a sizeof().
+
+M src/plugins/acl/acl-cache.h
+
+2017-02-23 19:38:31 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (97a8fde13e)
+
+ lib-http: client: Fixed i_unreached() failure occurring when a host's list
+ of IPs changes while a connection is still pending.
+
+ In that case, the IP of the pending connection may no longer be associated
+ with that host. If the IP was not found anymore, the i_unreached() error
+ occurred.
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+
+2017-02-23 11:29:17 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d85468c008)
+
+ auth: Export oauth2 pass_attrs to passdb reply
+
+
+M src/auth/db-oauth2.c
+
+2017-02-23 12:41:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7a727b88fd)
+
+ pop3c: Fix compiling due to typo in previous commit
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2017-02-20 17:49:34 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b3c095d1fb)
+
+ global: Fix ssl_set usage
+
+ Remove verify_remote_cert, as it's always TRUE now. Set allow_invalid_cert
+ to TRUE if verification is not required.
+
+M src/auth/db-oauth2.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/server-connection.c
+M src/lib-http/http-client-connection.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2017-02-20 09:32:15 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (38424b8081)
+
+ lib-ssl-iostream: Fix ambiguity with SSL settings
+
+ - lib-ssl-iostream as client: Use only allow_invalid_cert. If it's not set,
+ verify the server cert.
+ - lib-ssl-iostream as server: If verify_client_cert=FALSE, don't ask for the
+ client cert. Otherwise, ask for client cert but still allow it if
+ allow_invalid_cert=TRUE.
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2017-02-23 01:24:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d95c7dbfa4)
+
+ virtual: Include virtual mailbox name in "Mailbox ID unexpectedly lost"
+ error
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2017-02-22 15:29:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e2fd3f13ff)
+
+ lib-storage: Allow mail_storage_set_error() to use existing error_string
+
+ Fixes some code that may be attempting to copy an error from one storage to
+ another, but actually ends up trying to copy within the same storage.
+
+M src/lib-storage/mail-storage.c
+
+2017-02-22 20:05:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fdb838ec87)
+
+ maildir: Fix checking vsize caching decision in "is this pop3 user?"
+
+ If vsize extension is used, it's practically the same as if vsize's caching
+ decision was YES.
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2017-02-22 20:04:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cee43a7b0f)
+
+ pop3c: Remove unnecessarily duplicated code setting vsize to cache
+
+ This is important now that the vsize can be added also to index's vsize
+ extension.
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+
+2017-02-22 20:03:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (dc7a24adea)
+
+ pop3c: Prefetched streams didn't call istream_opened() or set virtual_size
+
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+
+2016-11-01 18:43:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (075081e25e)
+
+ lib-mail: istream-attachment-connector now allows msg_size=-1 for "unknown".
+
+
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-mail/istream-attachment-connector.h
+M src/lib-mail/test-istream-attachment.c
+
+2016-11-01 18:42:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (24d6fd2b8e)
+
+ lib-mail: Make sure istream-attachment-connector detects wrong mail size.
+
+
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-mail/test-istream-attachment.c
+
+2016-11-01 18:35:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (422df9158f)
+
+ lib: Added i_stream_create_min_sized*()
+
+
+M src/lib/istream-sized.c
+M src/lib/istream-sized.h
+M src/lib/test-istream-sized.c
+
+2016-11-01 14:47:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c3c4234260)
+
+ lib: Added i_stream_create_sized_range()
+
+ This is just a small wrapper to i_stream_create_sized() to specify stream's
+ start offset.
+
+M src/lib/istream-sized.c
+M src/lib/istream-sized.h
+
+2017-02-22 17:45:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (dd38c9e814)
+
+ trash plugin: Use correct hook for overriding mail_user vfuncs
+
+ This was always wrong to do, and it crashes after
+ f32382d2da479a4371e08c443679528db37ea988
+
+M src/plugins/trash/trash-plugin.c
+
+2017-02-22 17:21:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (17ac264fe7)
+
+ expire plugin: Use correct hook for overriding mail_user vfuncs
+
+ This was always wrong to do, and it crashes after
+ f32382d2da479a4371e08c443679528db37ea988
+
+M src/plugins/expire/expire-plugin.c
+
+2017-02-22 15:32:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (06c55920c1)
+
+ lazy-expunge: Fix error handling for GUID lookups
+
+ If the mail is already expunged, the error should be ignored. In other
+ situations the original error string should be preserved as part of the
+ logged error message.
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2017-02-22 16:09:07 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d09be27cc4)
+
+ lib-storage: Add missing service_user ref when creating shared mailbox's
+ user.
+
+ Was forgotten from d1bf4ae66b8bf3b9e28df1823d6d4adda2b923b6
+
+ Fixes: Panic: file mail-storage-service.c: line 1513
+ (mail_storage_service_user_unref): assertion failed: (user->refcount > 0)
+
+M src/lib-storage/index/shared/shared-storage.c
+
+2017-02-22 13:30:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f6897616e0)
+
+ lib-storage: Removed mail_storage_service_user_free() backwards
+ compatibility
+
+ Used a separate commit so the macro can be left for v2.2 tree.
+
+M src/lib-storage/mail-storage-service.h
+
+2017-02-22 13:30:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (eb318ea055)
+
+ global: Replace mail_storage_service_user_free() with _unref()
+
+
+M src/doveadm/doveadm-auth-server.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/imap-client.c
+M src/imap/main.c
+M src/indexer/master-connection.c
+M src/lda/main.c
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+M src/plugins/mail-crypt/mail-crypt-acl-plugin.c
+M src/plugins/mail-crypt/test-mail-key.c
+M src/plugins/quota/quota-status.c
+M src/pop3/pop3-client.c
+
+2017-02-22 13:28:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d1bf4ae66b)
+
+ lib-storage: Use refcounting for mail_storage_service_user
+
+ doveadm import was freeing the user too early, which resulted
+ mail_user._service_user pointing to freed memory. More importantly, after
+ 34512eaad8b1b2f929e6d6e3a2f7252c29fba97b user->set was pointing to already
+ freed memory.
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+M src/lib-storage/mail-user.c
+
+2017-02-22 13:02:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (13f507c0df)
+
+ quota: Don't log "Internal quota calculation error"
+
+ It's not very informative and we can't give a better error message without
+ changing the APIs. The real error should have been logged already anyway, so
+ this is just duplication of an error. I think originally this was added
+ because some backend forgot to log an error.
+
+M src/plugins/quota/quota-storage.c
+
+2017-02-22 10:44:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6db1c8a3b8)
+
+ lib-lda: Fix pigeonhole testsuite to not crash
+
+
+M src/lib-lda/mail-deliver.c
+
+2017-02-21 22:34:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (035e7193b4)
+
+ lib: Fix again test-utc-mktime with 32bit time_t
+
+
+M src/lib/test-utc-mktime.c
+
+2017-02-21 12:38:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (87dae9ffcd)
+
+ lib-lda: Fix delivery logging when Sieve performs multiple actions
+
+ Previous code assumed that it would work like:
+ - save/copy
+ - transaction commit
+ - mail_deliver_ctx_get_log_var_expand_table()
+ - repeat for transaction 2
+
+ While it really works:
+ - transaction 1: save/copy
+ - transaction 2: save/copy
+ - transaction 1: commit
+ - mail_deliver_ctx_get_log_var_expand_table()
+ - transaction 2: commit
+ - mail_deliver_ctx_get_log_var_expand_table()
+
+ So the cache needs to be stored per transaction. This code still wouldn't
+ work correctly if Sieve saved mails multiple times within the same
+ transaction, but that doesn't happen (at least currently).
+
+M src/lib-lda/mail-deliver.c
+
+2017-02-21 12:36:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d609c2ffca)
+
+ lib-lda: Refactor - mail_deliver_log_update_cache() doesn't need entire
+ deliver_ctx
+
+
+M src/lib-lda/mail-deliver.c
+
+2017-02-21 12:34:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2e35ede0f3)
+
+ lib-lda: Refactor - Add struct mail_deliver_mailbox
+
+
+M src/lib-lda/mail-deliver.c
+
+2017-02-21 19:55:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (67905cc932)
+
+ lib: Fix test-utc-mktime with 32bit time_t
+
+
+M src/lib/test-utc-mktime.c
+
+2017-02-21 16:25:48 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (5423c3086c)
+
+ lib-mail: Place input/output of message-date tests in one struct
+
+ Define both input and output of a message date test case in a single struct
+ so it is easier to follow and less error prone. Also add some leap second
+ tests.
+
+M src/lib-mail/test-message-date.c
+
+2017-02-21 17:00:14 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (33e83879e0)
+
+ lib: Place input/output of utc_mktime tests in one struct
+
+ Define both input and output of a utc_mktime test case in a single struct so
+ it is easier to follow and less error prone.
+
+M src/lib/test-utc-mktime.c
+
+2017-02-21 16:25:25 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (ac3de45a2b)
+
+ lib: Accept leap second in utc_mktime
+
+ Accept leap second at any time in utc_mktime since utc_mktime is being used
+ before applying the timezone offset everywhere.
+
+M src/lib/test-utc-mktime.c
+M src/lib/utc-mktime.c
+M src/lib/utc-mktime.h
+
+2017-02-21 14:42:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (289bd999f2)
+
+ imap: Fix error message in failed FETCH's NO reply.
+
+ This was broken only with the new imap_fetch_failure = no-after setting.
+
+M src/imap/cmd-fetch.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+
+2017-02-21 15:44:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1b0b44348d)
+
+ imapc: Error handling wasn't setting storage error everywhere.
+
+ This would have used the previous error, which might not have been correct.
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2017-02-21 14:20:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f86436b301)
+
+ lib-storage: Fix mail.access_type for search prefetches
+
+
+M src/lib-storage/index/index-search.c
+
+2017-02-21 13:48:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d03980c62b)
+
+ lmtp: Fix lmtp_user_concurrency_limit when userdb changes the username
+
+ Anvil LOOKUP was done with the original username, while CONNECT/DISCONNECT
+ was done with the changed username. So LOOKUP always thought that there were
+ zero concurrent sessions for the user.
+
+M src/lmtp/commands.c
+
+2017-02-21 11:55:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7c04ede0da)
+
+ cassandra: Don't use i_error() from non-main thread
+
+ It will only cause crashes. This was done only if the internal communication
+ pipe couldn't be written to, which was pretty unlikely to happen.
+
+M src/lib-sql/driver-cassandra.c
+
+2017-02-21 13:08:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (17909931dc)
+
+ lib-storage: Fix assert-crash on corrupted dovecot.list.index with
+ name_id==0
+
+ Fixes: Panic: file hash.c: line 213 (hash_table_insert_node): assertion
+ failed: (key != NULL)
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2017-02-20 19:35:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bc315b1595)
+
+ lib-storage: Add asserts to make sure lookup_abort is being used correctly.
+
+
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort.c
+
+2017-02-20 19:34:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4d690a42c4)
+
+ lib-storage, pop3-migration: Reset lookup_abort before continuing to search
+
+ This doesn't really fix anything right now, but it'll allow adding the
+ asserts in the following commit.
+
+M src/lib-storage/index/index-mailbox-size.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2017-02-21 11:52:59 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (54cad0e500)
+
+ auth: Make sure tokeninfo or introspection URL is given
+
+
+M src/auth/db-oauth2.c
+
+2017-02-21 11:21:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6a986052e4)
+
+ auth: Make tokeninfo optional
+
+ It is not supported by all OAuth2 solutions
+
+M src/auth/db-oauth2.c
+
+2017-02-21 11:18:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (177056ea9a)
+
+ lib-oauth2: Support basic authorization
+
+
+M src/lib-oauth2/oauth2-introspect.c
+M src/lib-oauth2/oauth2-refresh.c
+M src/lib-oauth2/oauth2-token-validate.c
+
+2017-02-20 15:47:33 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a102d18988)
+
+ lib-index: Unconstifty pointer array
+
+ clang complained about the extra const.
+
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction.c
+
+2017-02-20 15:35:02 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (26e5bdf37d)
+
+ lib-index: Add missing initialization for chained hooks
+
+
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction.c
+
+2017-02-20 15:28:36 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6004fdf3cc)
+
+ lib,lib-storage: Move hook building code to lib
+
+ This allows it to be reused elsewhere
+
+M src/lib-storage/mail-storage-hooks.c
+M src/lib/Makefile.am
+A src/lib/hook-build.c
+A src/lib/hook-build.h
+
+2017-02-20 14:50:39 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (23070cb7c5)
+
+ lib-lda: Do not involve mail-deliver plugin unnecessarely
+
+ If no mail delivery by LDA/LMTP is being done, do not hook into the process.
+
+ Fixes signal 11 crash with lazy-expunge.
+
+M src/lib-lda/mail-deliver.c
+
+2017-02-20 14:34:25 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2b8ff102f5)
+
+ lib-index: Allow multiple hooks for transaction creation
+
+
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction.c
+
+2017-02-20 14:26:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b317602a1d)
+
+ lib-compression: Fix test-compression to build without zlib
+
+
+M src/lib-compression/test-compression.c
+
+2017-02-20 09:18:45 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ec3eb53293)
+
+ pop3c: Add no pipelining pop3c feature
+
+ This should help with certain broken pop3c servers that advertise that they
+ support pipelining but they really don't.
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-client.h
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/index/pop3c/pop3c-settings.h
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2016-05-25 01:57:08 +0200 Stephan Bosch <stephan@dovecot.fi> (74bc7e6466)
+
+ Partially implemented IMAP SEARCH=X-MIMEPART capability.
+
+ This capability is currently Dovecot-specific.
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/index/Makefile.am
+M src/lib-storage/index/imapc/imapc-search.c
+A src/lib-storage/index/index-search-mime.c
+M src/lib-storage/index/index-search-private.h
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-search-args-cmdline.c
+M src/lib-storage/mail-search-args-imap.c
+A src/lib-storage/mail-search-mime-build.c
+A src/lib-storage/mail-search-mime-build.h
+A src/lib-storage/mail-search-mime-register.c
+A src/lib-storage/mail-search-mime-register.h
+A src/lib-storage/mail-search-mime.c
+A src/lib-storage/mail-search-mime.h
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/test-mail-search-args-imap.c
+
+2017-02-20 01:24:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d1ab4c39b1)
+
+ example-config: Add mail_sort_max_read_count setting.
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2017-02-20 01:16:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e76721e637)
+
+ example-config: Add mail_vsize_bg_after_count setting.
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2017-02-20 01:00:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (263e4212e5)
+
+ example-config: Add imap_fetch_failure setting.
+
+
+M doc/example-config/conf.d/20-imap.conf
+
+2017-02-19 21:58:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (89f6c7c1fa)
+
+ auth: oauth2 mechanism: Fixed implicit boolean expression involving a
+ pointer.
+
+ Found with Clang -Wstrict-bool.
+
+M src/auth/mech-oauth2.c
+
+2017-02-18 05:01:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a0cd302bcb)
+
+ lib-storage: Add explicit MAIL_ERROR_LOOKUP_ABORT error
+
+ The MAIL_ERROR_NOTPOSSIBLE was a bit too generic to assume to mean the same
+ thing. It doesn't look like there are any external plugins that break
+ because of this change.
+
+M src/doveadm/doveadm-mail.c
+M src/imap/imap-commands-util.c
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/mail-error.h
+M src/lib-storage/mail.c
+M src/pop3/pop3-client.c
+
+2017-02-17 19:29:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (dfaf420c47)
+
+ lib-storage: Add mail.access_type
+
+
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/mail-storage.h
+
+2017-02-17 19:07:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a85cf0bdd8)
+
+ lib-storage: Add mail_sort_max_read_count setting.
+
+ This controls how many slow mail accesses sorting can perform before it
+ fails:
+
+ a NO [LIMIT] Requested sort would have taken too long
+
+ The SORT reply is still returned, but it's likely not correct.
+
+M src/lib-storage/index/index-sort-private.h
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2017-02-17 18:56:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2898ad0028)
+
+ lib-storage: Add MAIL_ERROR_LIMIT
+
+
+M src/doveadm/doveadm-mail.c
+M src/imap/imap-commands-util.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/mail-error.h
+
+2017-02-17 18:32:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (be6bde0e1f)
+
+ imap: If SEARCH/SORT fails but returns some results, send them to client.
+
+ The previous error handling fixes cause SEARCH/SORT to now fail if there are
+ any problems reading mails. This change makes the commands still return the
+ best known results, so the IMAP client can still use them, even though they
+ may not be entirely correct.
+
+M src/imap/imap-search.c
+
+2017-02-17 18:30:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0796f4c0ee)
+
+ lib-storage: Fix error handling when searching mails
+
+ Only expunge errors and failures caused by lookup_abort should be ignored.
+ The rest of the mail errors mean that the search result might not be
+ correct. We'll still run the search as fully as possible, but we just return
+ an error at the end.
+
+M src/lib-storage/index/index-search.c
+
+2017-02-17 18:24:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7f93dd01f6)
+
+ lib-storage: Search optimization - avoid parsing message_parts unnecessarily
+
+ If they're not already cached, the mail is parsed twice: once to get the
+ message_parts and again to perform the actual search. The searching can
+ however do the message_parts parsing internally as well.
+
+M src/lib-storage/index/index-search.c
+
+2017-02-17 18:19:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6cf18519f0)
+
+ lib-storage: Fix error handling when sorting mails.
+
+ All errors were treated the same as if message had been expunged. This
+ caused potentially wrong results to be sent to the client without any
+ indication that they're wrong.
+
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-private.h
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-sort.h
+
+2017-02-17 16:31:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ca004511f3)
+
+ lib-storage: Change vsize calculation to use the new mail_stream_opened
+
+ This avoids calling mail_get_virtual_size() twice and is a bit cleaner
+ approach.
+
+M src/lib-storage/index/index-mailbox-size.c
+
+2017-02-17 16:20:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7204b8112e)
+
+ lib-storage: Add mail.mail_stream_opened and .mail_metadata_accessed
+
+ These allow determining after mail_*() calls how efficiently they were
+ performed.
+
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage.h
+
+2017-02-17 16:14:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (34f2590f3b)
+
+ lib-storage: Clarify what MAIL_LOOKUP_ABORT_READ_MAIL means.
+
+ It should maybe even be renamed to something clearer.
+
+M src/lib-storage/mail-storage.h
+
+2017-02-19 01:44:21 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2da176a0b1)
+
+ dsync: Don't assert-crash if duplicate attributes are seen
+
+ Just ignore the duplicates. Normally this shouldn't happen, but due to some
+ bugs for example a Sieve script could be returned once by doveadm_sieve
+ plugin and another time from mail_attribute_dict.
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2017-02-18 10:39:56 +0100 klemens <ka7@github.com> (211c638d81)
+
+ spelling fixes
+
+
+M NEWS
+M doc/example-config/conf.d/auth-system.conf.ext
+M doc/example-config/dovecot-sql.conf.ext
+M doc/man/doveadm-exec.1.in
+M doc/securecoding.txt
+M m4/dovecot.m4
+M m4/endian.m4
+M src/auth/password-scheme.h
+M src/config/config-filter.c
+M src/doveadm/client-connection-http.c
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/cmd-append.c
+M src/imap/cmd-thread.c
+M src/imap/main.c
+M src/lib-dcrypt/ostream-encrypt.c
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/fts-tokenizer.h
+M src/lib-http/http-client-queue.c
+M src/lib-imap/imap-base-subject.c
+M src/lib-index/mail-cache.c
+M src/lib-mail/message-part-data.h
+M src/lib-program-client/program-client-remote.c
+M src/lib-sasl/dsasl-client.h
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/mailbox-attribute.h
+M src/lib/fdatasync-path.c
+M src/lib/sha1.h
+M src/lib/sha3.c
+M src/lib/test-data-stack.c
+M src/log/log-connection.c
+
+2017-02-19 15:47:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b98f1ffc04)
+
+ imap: Fix running time in tagged command replies.
+
+ The timing information was updated only after command_exec() returned. Most
+ of the commands were handled within a single command_exec() though, so at
+ the time when tagline was sent the running_usecs was still zero.
+
+ The msecs in ioloop timing was correct though, because it relied only on the
+ command start timing info.
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands.c
+M src/imap/imap-commands.h
+
+2017-02-19 02:03:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b4adb461ce)
+
+ doveadm: Add explicit mail_storage_init/deinit() calls
+
+ This mainly prevents losing hooks that were registered by doveadm plugins.
+
+ Otherwise what happens is:
+ - mail_plugins are unloaded and they unregister their hooks
+ - doveadm plugins (e.g. doveadm_sieve) are NOT unloaded
+ - mail_storage_deinit() frees all the registered hooks
+ - next mail_storage_init() initializes all new hooks
+ - All mail_plugins are loaded and they register again their hooks
+ - doveadm plugins are NOT re-loaded or re-initialized, so their existing
+ hooks were lost.
+
+M src/doveadm/doveadm-mail.c
+
+2017-02-19 02:02:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (073353fe5b)
+
+ lib-storage: mail_storage_init/deinit() is now reference counted.
+
+ This allows calling them multiple times and only the final deinit frees the
+ data.
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage.c
+
+2017-02-19 02:01:24 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (798530867b)
+
+ lib-storage: Assert-crash if duplicate internal hooks are added.
+
+
+M src/lib-storage/mail-storage-hooks.c
+
+2017-02-19 15:54:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (43b95471c4)
+
+ fs-posix: Add "no-fsync" parameter.
+
+ This disables calling fdatasync() when fs_write() was done with
+ FS_OPEN_FLAG_FSYNC. Useful for making tests faster.
+
+M src/lib-fs/fs-posix.c
+
+2017-02-19 14:49:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (46e17407ed)
+
+ imap: Code cleanup - Remove duplicate flags from imap_fetch_state
+
+ All the cur_flushed, line_partial and line_finished were about the same
+ thing.
+
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+
+2017-02-19 14:34:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (905627a760)
+
+ imap: Fix sending UID only when necessary on broken FETCHes.
+
+ b748f91d0677fffaa2208b39ebb6db3aeb2e937b changed UID to be sent for most
+ FETCH replies. There was also some existing code that attempted to do this,
+ but didn't fully work.
+
+ So now:
+
+ 1) If there are no non-buffered replies, the entire FETCH response isn't
+ sent.
+
+ 2) If the buffer was already flushed and nothing else was sent, add UID to
+ reply. The code paths for handling this are differently for
+ imap_fetch_failure = disconnect-immediately vs others (depending on
+ imap_fetch_cur_failed() return value).
+
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+
+2017-02-16 20:39:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9036b11c0f)
+
+ imap: Include info about last command in disconnection log line.
+
+ Only if LOGOUT isn't sent, because that's already visible.
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2017-02-16 20:29:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0eba75a2f4)
+
+ imap: Code cleanup - Move code to client_command_stats_append()
+
+
+M src/imap/imap-client.c
+
+2017-02-16 20:17:32 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5334234b15)
+
+ imap: Add imap_client.logged_out at LOGOUT
+
+ This is useful for determining if client did a clean logout
+
+M src/imap/cmd-logout.c
+M src/imap/imap-client.h
+
+2017-02-16 20:14:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (567b56c2d6)
+
+ imap: Code cleanup - move command stats to struct client_command_stats
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands.c
+M src/imap/imap-sync.c
+
+2017-02-17 15:46:38 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (aee9f241f3)
+
+ mech-oauth2: Clarify logging
+
+
+M src/auth/mech-oauth2.c
+
+2017-02-17 15:45:34 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ec87095cf7)
+
+ mech-oauth2: Set user_given=TRUE when username given in OAUTHBEARER
+
+
+M src/auth/mech-oauth2.c
+
+2017-02-17 15:44:17 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8054b019bd)
+
+ mech-oauth2: Fix gs2-header parsing
+
+
+M src/auth/mech-oauth2.c
+
+2017-02-14 18:48:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (abd812f275)
+
+ lib-storage: Update vsize header after sync only if sizes are cached.
+
+ The result isn't needed yet in that case, so if it's slow to get the sizes
+ it might as well be delayd until later. This is especially useful when
+ indexer-worker triggers FTS indexing. The vsizes can be added to index after
+ the mail is already read for FTS. Without this change the vsize update would
+ first open all the mails and then the FTS indexing would open all the mails
+ a second time.
+
+M src/lib-storage/index/index-mailbox-size.c
+
+2017-02-07 16:18:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a758be690d)
+
+ lib-storage: Add mail_vsize_bg_after_count setting.
+
+ If folder vsize calculation requires opening more than this many mails from
+ disk (i.e. mail sizes aren't in cache already), return failure and finish
+ the calculation via indexer process.
+
+ This should be used like:
+
+ protocol !indexer-worker {
+ mail_vsize_bg_after_count = 10
+ }
+
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/plugins/quota/quota-count.c
+
+2017-02-07 13:53:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (abc063522f)
+
+ lib-storage: Don't stop vsize calculation on expunged mails.
+
+ I don't know why I added such logic there in the first place. If we just
+ skip the expunged mails, the end result should still be correct and usable
+ when cached.
+
+M src/lib-storage/index/index-mailbox-size.c
+
+2017-02-14 13:33:47 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (98d09d4454)
+
+ README: Add note that we support OAUTHBEARER and XOAUTH2
+
+
+M README.md
+
+2017-02-13 15:33:21 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9b67017544)
+
+ auth: Add oauth2 passdb
+
+
+M src/auth/Makefile.am
+A src/auth/db-oauth2.c
+A src/auth/db-oauth2.h
+A src/auth/passdb-oauth2.c
+M src/auth/passdb.c
+
+2017-02-04 23:56:04 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d1c565179f)
+
+ auth: Add xoauth2 and oauthbearer mechanisms
+
+
+M src/auth/Makefile.am
+A src/auth/mech-oauth2.c
+M src/auth/mech.c
+
+2017-02-06 12:56:27 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (10f6f2224c)
+
+ auth: Add mechanism filter for passdbs
+
+
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+M src/auth/passdb.c
+M src/auth/passdb.h
+
+2017-02-08 13:06:13 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (edb35cb1ac)
+
+ auth: Add accessor for passdb template arguments
+
+
+M src/auth/passdb-template.c
+M src/auth/passdb-template.h
+
+2017-01-26 10:49:08 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (60c302a89e)
+
+ lib-oauth2: Add support library for OAUTH2
+
+
+M configure.ac
+M src/Makefile.am
+A src/lib-oauth2/Makefile.am
+A src/lib-oauth2/oauth2-introspect.c
+A src/lib-oauth2/oauth2-private.h
+A src/lib-oauth2/oauth2-refresh.c
+A src/lib-oauth2/oauth2-token-validate.c
+A src/lib-oauth2/oauth2.c
+A src/lib-oauth2/oauth2.h
+
+2017-02-15 22:13:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (dfa4b048ec)
+
+ lib-index: Fix updating mail_index_header.day_first_uid
+
+ If user received a mail every day, the day_first_uid wasn't being updated.
+ This caused wrong caching decisions to be made in dovecot.index.cache:
+
+ - Accessing >1 week old emails should have changed caching decision from
+ "tmp" to "yes". This might not have happened, although as long as
+ day_first_uid[7] pointed to an existing mail and email client accessed all
+ the mails, this wouldn't have changed anything.
+
+ - Cache compression is supposed to drop >1 week old mails when caching
+ decision is "tmp". Not enough mails were being dropped because
+ day_first_uid[7] pointed to a much older than 1 week old mails.
+
+ Also added a unit test to make sure this works.
+
+ Broken by d9ee2f9fb3ef7b9391bfeeff1b374aead51667aa
+
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/test-mail-index-transaction-update.c
+
+2017-02-15 22:12:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d97f939b1c)
+
+ lib-index: Add day_stamp parameter to mail_index_update_day_headers()
+
+ This will help creating a unit test.
+
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/test-mail-index-transaction-finish.c
+
+2017-02-15 18:20:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bb9065b1c3)
+
+ lib-storage: Re-open mailbox after it's undeleted.
+
+ This is needed with mailbox formats that didn't fully open the mailbox while
+ it was undeleted.
+
+M src/lib-storage/mail-storage.c
+
+2017-02-15 18:18:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0b8282724f)
+
+ lib-storage: Don't sync mailbox after undeleting it.
+
+ This is useful only when deleting it. With undeletion the syncing isn't
+ useful and might actually be harmful with mailbox formats that didn't fully
+ open the mailbox while it was undeleted.
+
+M src/lib-storage/mail-storage.c
+
+2017-02-15 18:05:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3857e2945a)
+
+ lib-storage: Make sure mailbox undeletion won't go to infinite loop
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2017-02-15 23:32:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (86448bdb60)
+
+ mail-log: Add mail_log_cached_only setting.
+
+ If enabled, everything except "save" event will log only the fields that can
+ be looked up from cache. This improves performance if some of the fields
+ aren't cached and it's not a strict requirement to log them.
+
+M src/plugins/mail-log/mail-log-plugin.c
+
+2017-02-15 13:46:06 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (65148af518)
+
+ lib-imap-client: pass the reply text to the auth-failed state change
+ callback
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2017-02-15 09:13:05 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (7d8fe66fbc)
+
+ lib-imap-client: invoke state change callback on "authentication success"
+
+
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+
+2017-02-15 09:12:35 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (e883e44067)
+
+ lib-imap-client: add callback to notify consumers about state changes
+
+ Add a callback to notify imapc users about failures. Currently, the only
+ failure defined is "authentication failed".
+
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+
+2017-02-14 08:58:10 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (adb27e42fb)
+
+ lib-imap-client: centralize authentication failed error logging
+
+
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-02-04 15:40:41 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (c177bc7c15)
+
+ lib-http: response parser: Drop previous response's pool immediately when
+ parsing continues.
+
+ Prevously, it would only do that when the first byte of the next response
+ was received. This prevents wasting memory when no response is being parsed.
+
+M src/lib-http/http-response-parser.c
+
+2017-02-04 16:21:51 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (88ead42eef)
+
+ lib-http: response parser: Always clear response to prevent referring to
+ stale data.
+
+
+M src/lib-http/http-response-parser.c
+
+2017-02-04 16:15:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5a7107476f)
+
+ lib-http: test-http-response-parse: Properly test multiple sequential
+ responses.
+
+
+M src/lib-http/test-http-response-parser.c
+
+2017-02-04 13:59:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1ec26e0b70)
+
+ lib-http: message parser: Don't allocate a pool for the next message until
+ it is needed.
+
+ This prevents wasting memory when no message is being parsed.
+
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-message-parser.h
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-response-parser.c
+
+2017-02-04 14:11:36 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b04dfad6b0)
+
+ lib-http: message parser: Delay allocation of message header.
+
+
+M src/lib-http/http-message-parser.c
+
+2017-02-04 14:03:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8b223f08b8)
+
+ lib-http: message parser: Don't create the connection_options array, unless
+ it is actually used.
+
+
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-request.c
+
+2017-02-14 17:35:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (201ce62e1d)
+
+ lib-mail: Fix duplicate HEADER_FILTER_ADD_MISSING_EOH callback call
+
+ If headers weren't modified, the second reading of the istream shouldn't
+ call any callbacks.
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2017-02-15 00:08:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (209d29ccf7)
+
+ doveadm: Added "mailbox path" command
+
+ This allows easily printing a path for a mailbox, index, control dir, etc.
+
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2017-02-14 20:23:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2a494f93f4)
+
+ lib-lda: Code cleanup - remove unnecessary dest_mail check
+
+
+M src/lib-lda/mail-deliver.c
+
+2017-02-14 20:20:07 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (04ca05320e)
+
+ lib-lda: Don't set mail_deliver_context.dest_mail too early.
+
+ It must be NULL for the caller, unless save_dest_mail==TRUE
+
+M src/lib-lda/mail-deliver.c
+
+2017-02-13 20:49:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b3523787a7)
+
+ lib-lda: Implement %{storage_id} correctly
+
+
+M src/lib-lda/mail-deliver.c
+
+2017-02-13 20:47:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (eed56fe22f)
+
+ lib-lda: Fix deliver_log_format variables with Sieve
+
+ With Sieve it was using src_mail for getting the values, which weren't
+ correct especially if Sieve had modified the mail.
+
+M src/lda/main.c
+M src/lib-lda/Makefile.am
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+M src/lmtp/main.c
+
+2017-02-13 20:46:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a979111395)
+
+ lib-lda: Code cleanup - mail_deliver_open_mail() now uses uid parameter
+
+
+M src/lib-lda/mail-deliver.c
+
+2017-02-13 20:44:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (796d1ca5e0)
+
+ lib-lda: Remove %{storage_id} setting for now.
+
+ It doesn't work with Sieve. The following patches add it back properly.
+
+M src/lib-lda/mail-deliver.c
+
+2017-02-09 19:00:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (12e28ffc26)
+
+ lib-lda: Redesign mail_deliver_context.var_expand_table cache
+
+
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+
+2017-02-09 18:49:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4f210e191c)
+
+ lib-lda: Avoid using mailbox_save_set_dest_mail()
+
+
+M src/lib-lda/mail-deliver.c
+
+2017-02-09 18:46:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (df71146c7f)
+
+ lib-storage: Add mailbox_save_get_dest_mail()
+
+ This marks mailbox_save_set_dest_mail deprecated. It's not efficient to use
+ since it frees the already-created dest_mail.
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2017-02-09 18:01:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5f1f92d6f3)
+
+ lib-lda: Remove unused mail_deliver_get_log_var_expand_table()
+
+
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+
+2017-02-13 20:23:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8eba883232)
+
+ virtual: Fix saving to a virtual mailbox to work again
+
+ Previous changes broke it.
+
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-storage.h
+
+2017-02-09 17:18:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (880f7a015f)
+
+ plugins: Remove unnecessary mail_save_context.dest_mail==NULL checks
+
+ It can never be NULL after the previous change: "lib-storage: Always create
+ mail_save_context.dest_mail".
+
+M src/plugins/notify/notify-storage.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/zlib/zlib-plugin.c
+
+2017-02-09 17:14:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a825281071)
+
+ lib-storage: Remove unnecessary mail_save_context.dest_mail==NULL checks
+
+ It can never be NULL after the previous change: "lib-storage: Always create
+ mail_save_context.dest_mail".
+
+ The code removal in maildir_transaction_save_commit_pre() seemed potentially
+ dangerous, but I don't think such code path is possible anymore. Also even
+ if it is, it's probably fine since the mail_free() is called even earlier
+ than before (although that itself might have been a problem).
+
+ This also removes last traces of code that made it possible to save mails to
+ mbox without assigning UID to the mail. The previous commit already caused
+ this, so this is just removing dead code.
+
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-save.h
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-sync-private.h
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2017-02-09 16:53:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (897368f75a)
+
+ lib-storage: Always create mail_save_context.dest_mail
+
+ This allows removing similar mail_alloc() from storage backends and plugins
+ that need it.
+
+ As a side effect, this changes mbox code to always assign UIDs to saved
+ mails. This shouldn't be much of a problem, since it happened practically
+ always already.
+
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2017-02-09 16:34:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (58289301ce)
+
+ lib-storage: Fix mailbox list index hook usage
+
+ The previous method appeared to work, but not if the internal hooks were
+ used more than once.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2017-02-13 23:34:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9b08d9d9be)
+
+ dict-sql: Fix error handling in commit
+
+ sql_dict_prev_inc_flush() or sql_dict_prev_set_flush() might set ctx->error,
+ so they need to be done earlier.
+
+M src/lib-dict/dict-sql.c
+
+2017-02-14 10:42:26 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (7707c4b35b)
+
+ lib-index: zero mmap_length after logging error
+
+ Logging that mmap(size=0) failed looks suspicious.
+
+M src/lib-index/mail-cache.c
+
+2017-02-13 19:40:22 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (532bb6cdc2)
+
+ mail-crypt: Do not restrict access in unit test
+
+ This works around problem with docker
+
+M src/plugins/mail-crypt/test-mail-key.c
+
+2017-02-14 10:54:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (833fd67ffe)
+
+ lib: Clarify *_strsplit_spaces() and add unit test
+
+
+M src/lib/strfuncs.h
+M src/lib/test-strfuncs.c
+
+2017-02-13 23:46:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c2664306fc)
+
+ lib: Add pool_alloconly_create_clean()
+
+ This partially reverts 2a2beae3a4c1e75b3aeff996781503138e6f24bc
+
+M src/lib/mempool-alloconly.c
+M src/lib/mempool.h
+
+2017-02-13 20:02:24 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d9cec8211f)
+
+ LAYOUT=index: Fix duplicate mailbox name renaming to actually work
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2017-02-13 20:01:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0e9dc599a3)
+
+ LAYOUT=index: Rename mailbox_list_index_node.corrupted_parent to
+ corrupted_ext
+
+ The code will be useful for other purposes also besides updating corrupted
+ parents.
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2017-01-31 19:43:30 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (07038d3a12)
+
+ driver-cassandra: Add support for speculative execution
+
+
+M m4/want_cassandra.m4
+M src/lib-sql/driver-cassandra.c
+
+2017-02-08 12:03:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (945565e0c9)
+
+ lib-index: Add MAIL_INDEX_OPEN_FLAG_NO_DIRTY
+
+ This way mailbox format backends that don't need dirty flags can use them
+ for other purposes.
+
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index.h
+
+2017-02-10 16:26:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f9cf9852b0)
+
+ cassandra: Track query counts internally and include them in metrics
+
+
+M src/lib-sql/driver-cassandra.c
+
+2017-02-13 18:06:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3715e1d5cb)
+
+ lib-compress: Fix missing .gz header error message
+
+
+M src/lib-compression/istream-zlib.c
+
+2017-02-13 18:05:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d827cffa4b)
+
+ lib-compress: Fix assert-crash when .gz header size exceeds buffer max
+ length
+
+ Instead treat the stream as corrupted and return EINVAL.
+
+ Fixes: Panic: file istream.c: line 182 (i_stream_read): assertion failed:
+ (_stream->skip != _stream->pos)
+
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/test-compression.c
+
+2017-02-10 15:27:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (887c92aa9f)
+
+ lib-http: http_client_request_add_header() - Add key/value asserts
+
+ These don't check that they're entirely correct as required by HTTP
+ specifications. They're mainly there as a quick check that if the caller
+ didn't validate the key/value in any way, we'll crash instead of creating a
+ potential security hole. (Because with line feeds the attacker could add
+ extra headers or even entirely new HTTP requests.)
+
+M src/lib-http/http-client-request.c
+
+2017-02-13 09:09:28 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (8e90ca5758)
+
+ lib-index: clear file->mmap_size only after logging it
+
+ Logging the error with size=0 loses information.
+
+M src/lib-index/mail-transaction-log-file.c
+
+2017-02-13 09:08:25 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (9c7e81a1f5)
+
+ lib-index: don't reset ioloop_time on mmap error
+
+ The variables seems to have been in the wrong order.
+
+M src/lib-index/mail-transaction-log-file.c
+
+2017-02-08 12:47:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bbe7af3946)
+
+ quota: Log why quota_over_flag check is skipped if mail_debug=yes
+
+
+M src/plugins/quota/quota.c
+
+2017-02-07 15:46:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (40edfbbb81)
+
+ quota: If quota_over_script is unset, skip the quota_over check.
+
+
+M src/plugins/quota/quota.c
+
+2017-02-07 15:44:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b711a7fc74)
+
+ quota: If quota_over_flag_value is unset, skip the quota_over check.
+
+
+M src/plugins/quota/quota.c
+
+2017-02-07 15:33:07 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4009eb0bbe)
+
+ quota: Remove quota_over_flag_* from quota_root.
+
+ They are used only in one specific location and don't need to be stored
+ permanently.
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2017-02-10 13:17:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (adea698750)
+
+ global: Add asserts to make static analyzer happier.
+
+
+M src/auth/db-ldap.c
+M src/doveadm/doveadm-mail-index.c
+M src/lib-auth/auth-master.c
+M src/lib-fs/fs-posix.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/mail-autoexpunge.c
+M src/lib/file-dotlock.c
+M src/lib/iostream-temp.c
+
+2017-02-10 13:15:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fd013f9c6a)
+
+ pop3-login: Code cleanup - Make sure destroying client stops processing.
+
+ It would currently do it in any case, but this makes it clearer.
+
+M src/pop3-login/client.c
+
+2017-02-10 13:15:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (963842c00e)
+
+ global: Ignore unnecessary return values.
+
+
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/plugins/virtual/virtual-storage.c
+
+2017-02-10 13:13:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7f51c1ad91)
+
+ mail-filter: Handle handshake write() failure
+
+
+M src/plugins/mail-filter/istream-ext-filter.c
+
+2017-02-10 12:50:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (766ba3eed8)
+
+ fts: Fix crash using fts_autoexpunge_exclude = \Special-use crash
+
+ It crashed whenever seeing a mailbox that didn't have any special-use flags.
+
+M src/plugins/fts/fts-storage.c
+
+2017-02-10 12:46:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4a48987ed0)
+
+ doveadm mailbox metadata list: Fix listing all metadata.
+
+ It was listing only private attributes, because key_type=0 happens to be
+ MAIL_ATTRIBUTE_TYPE_PRIVATE and key was never NULL.
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+
+2017-02-10 12:41:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c1ab825edf)
+
+ mail-crypt-acl: Fix error handling
+
+ Don't crash if mail_user creation failed.
+
+M src/plugins/mail-crypt/mail-crypt-acl-plugin.c
+
+2017-02-10 12:40:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5202ed6f18)
+
+ doveadm mailbox cryptokey generate: Fix error handling
+
+ Don't crash if mail_user creation failed.
+
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2017-02-10 12:33:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (52e31bbdd1)
+
+ doveadm mailbox cryptokey generate: Fix memory leak
+
+ dest_user was set to NULL, but never freed.
+
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2017-02-10 12:20:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (66761ea6a8)
+
+ lib-program-client: Clarify dot_input/dot_output NULL checks.
+
+ Helps to avoid static analyzer false positives about NULL pointer
+ dereference.
+
+M src/lib-program-client/program-client.c
+
+2017-02-10 12:09:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0896246f46)
+
+ doveadm director map: Fix checking if host parameter is required
+
+
+M src/doveadm/doveadm-director.c
+
+2017-02-10 11:58:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ae9c5dd897)
+
+ lib: Avoid unnecessary Coverity warnings in MALLOC_*()
+
+ There doesn't seem to be any other nice way of avoiding these without
+ separately marking every instance.
+
+M src/lib/malloc-overflow.h
+
+2017-02-09 16:33:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ee92a55764)
+
+ TODO: Remove some of the implemented features
+
+
+M TODO
+
+2017-02-08 23:01:32 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (84cccc6b54)
+
+ pop3c: Increase timeout for PASS to 5 minutes.
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2017-02-06 18:34:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c72fbbe632)
+
+ sdbox: Fix assert-crash on mailbox create race
+
+ If another process created the mailbox at the same time, the mailbox_guid
+ wasn't set and opening the mailbox assert-crashed:
+
+ Panic: file mail-storage.c: line 1744 (mailbox_get_metadata): assertion
+ failed: ((items & MAILBOX_METADATA_GUID) == 0 ||
+ !guid_128_is_empty(metadata_r->guid))
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2017-02-07 21:07:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (92c671c166)
+
+ quota: Clarify quota_count() return value.
+
+
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-private.h
+
+2017-02-07 20:41:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cd337e465b)
+
+ quota: Make sure quota_warning doesn't wrap "quota before" value.
+
+ This could happen in some race conditions (and with bugs).
+
+M src/plugins/quota/quota.c
+
+2017-02-07 18:26:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f978663816)
+
+ quota: When executing quota_warning/over_flag script, log the reason why.
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-util.c
+M src/plugins/quota/quota.c
+
+2017-02-06 14:37:05 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (2eeea57b49)
+
+ lib-storage: remove mail_storage_get_driver_settings
+
+ It has been marked obsolete.
+
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2017-02-07 13:19:17 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3e675de58a)
+
+ lib: Check that output max size is non-zero when version specified
+
+ Otherwise we try to send version to non-existent output stream.
+
+M src/lib/connection.c
+
+2017-01-22 13:42:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2a5682a643)
+
+ fts-tika: Fixed HTTPS support by properly propagating SSL client settings
+ from mail_user.
+
+
+M src/plugins/fts/Makefile.am
+M src/plugins/fts/fts-parser-tika.c
+
+2017-01-22 13:41:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (526631052c)
+
+ fts-solr: Fixed HTTPS support by properly propagating SSL client settings
+ from mail_user.
+
+
+M src/plugins/fts-solr/Makefile.am
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-connection.h
+
+2017-01-22 13:40:00 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (26bdbffc35)
+
+ lib-storage: Added mail_user_init_ssl_client_settings().
+
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2016-12-28 12:02:14 -0600 johnkwoods <john.woods@greatplainsmfg.com> (dce4003a35)
+
+ lib-ldap: Remove extra return
+
+ The ldap_connection_queue_request() function returns void. Trying to
+ "return" something from a void function caused compiling issues on Solaris
+ (Oracle Developer Studio 12.5).
+
+M src/lib-ldap/ldap-compare.c
+
+2017-01-22 17:24:02 -0600 J. Nick Koston <nick@cpanel.net> (f817e98f79)
+
+ fts-solr: Allow username/password for solr connction
+
+ Solr comes open to the world by default. For better security, we protect our
+ solr installs with a user and password. This change allows dovecot to
+ connect to these instances.
+
+ Example usage in a fts.conf (permissions 0600)
+ fts_solr = url=http://nick:pass@127.0.0.1:8983/solr/dovecot/
+
+M src/plugins/fts-solr/solr-connection.c
+
+2017-02-06 14:05:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e4109fe523)
+
+ indexer: Don't send more requests directly from worker status callback
+
+ This causes assert-crashes when workers disconnect while having multiple
+ requests:
+
+ indexer: Error: Indexer worker disconnected, discarding 2 requests for
+ user@domain indexer: Panic: file indexer.c: line 69 (queue_try_send_more):
+ assertion failed: (worker_connection_is_connected(conn))
+
+M src/indexer/indexer.c
+
+2017-02-05 16:49:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (704a96fa67)
+
+ imap: Add imap_fetch_failure setting
+
+ This controls what happens when FETCH fails for some mails. The possible
+ values are:
+
+ disconnect-immediately: This is the original behavior. Whenever FETCH fails
+ for a mail, the FETCH is aborted and client is disconnected.
+
+ disconnect-after: The FETCH runs for all the requested mails, skipping any
+ mails that returned failures, but at the end the client is still
+ disconnected.
+
+ no-after: The FETCH runs for all the requested mails, skipping any mails
+ that returned failures. At the end tagged NO reply is returned. If the
+ client attempts to FETCH the same failed mail more than once, the client is
+ disconnected. This is to avoid clients from going into infinite loops trying
+ to FETCH a broken mail.
+
+M src/imap/cmd-fetch.c
+M src/imap/imap-client.h
+M src/imap/imap-commands-util.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+M src/imap/imap-settings.c
+M src/imap/imap-settings.h
+
+2017-02-05 16:24:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (287a58f11a)
+
+ imap: Share mailbox closing code in SELECT/UNSELECT/CLOSE/LOGOUT/deinit
+
+
+M src/imap/cmd-close.c
+M src/imap/cmd-logout.c
+M src/imap/cmd-select.c
+M src/imap/cmd-unselect.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands-util.h
+
+2017-02-05 16:23:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9aa91e371b)
+
+ imap: Free search updates on CLOSE
+
+
+M src/imap/cmd-close.c
+
+2017-02-05 16:10:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b748f91d06)
+
+ imap: Don't send empty FETCH () on failure
+
+ It violates IMAP RFC. Send FETCH (UID n) instead.
+
+M src/imap/imap-fetch.c
+
+2017-02-06 11:02:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2b8c4027ae)
+
+ lib-ssl-iostream: Fix memory leak in RSA_generate_key_ex() usage
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2017-02-06 11:23:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2f2b1b7258)
+
+ auth: Handle delayed credentials identically in auth-workers
+
+
+M src/auth/auth-request.c
+
+2017-02-06 10:55:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (dd6043c05e)
+
+ lib: Make sure NULL is defined to be ((void *)0)
+
+ This avoids us having to do explicit (void *)NULL casts in e.g. io_add(...,
+ NULL) context parameter.
+
+M src/lib/compat.h
+
+2017-02-04 13:51:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (34512eaad8)
+
+ lib-storage: Don't duplicate service user's settings into mail_user
+
+ The mail_storage_service_user.user_set isn't used afterwards, so it can be
+ directly used to avoid wasting memory.
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2017-02-04 13:38:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3c2e763ab0)
+
+ lib-storage: Don't unnecessarily duplicate user's all setting strings
+
+ user->unexpanded_set and user->set have the same life-time, so they can
+ point to same strings.
+
+M src/lib-storage/mail-user.c
+
+2017-02-05 20:29:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c6108c1bfa)
+
+ lib-ssl-iostream: Remove libdovecot_openssl_common.la
+
+ Using such a library results in the same code being duplicated (in OSX) in
+ both libssl_iostream_openssl.so and libdcrypt_openssl.so. This breaks the
+ idea of openssl_init_refcount, because each one will have their own one.
+
+ libdcrypt_openssl.so now links to libssl_iostream_openssl.so, which
+ shouldn't really be a problem, because lib-ssl-iostream is part of the core
+ libdovecot.so already. It would have been possible to also install
+ libdovecot_openssl_common.so and link it to both libssl_iostream_openssl.so
+ and libdcrypt_openssl.so, but that seems unnecessarily complicated.
+
+M src/lib-dcrypt/Makefile.am
+M src/lib-ssl-iostream/Makefile.am
+
+2017-02-05 20:28:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (84e69f2ae8)
+
+ lib-ssl-iostream: Remove empty $(ssl_sources) from Makefile
+
+
+M src/lib-ssl-iostream/Makefile.am
+
+2017-02-05 20:26:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f089a10e48)
+
+ lib-dcrypt: Link unit tests with libssl_iostream.la
+
+ libssl_iostream_openssl.so requires this, and it doesn't get added from
+ anywhere automatically.
+
+M src/lib-dcrypt/Makefile.am
+
+2017-02-05 20:24:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fb8e12a317)
+
+ lib-dcrypt: Remove unnecessary -shared link flag
+
+ Not sure if this is harmful, but since no other plugin uses this it's not
+ needed either.
+
+M src/lib-dcrypt/Makefile.am
+
+2017-02-05 20:22:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d7d1fec9fa)
+
+ lib-dcrypt: Don't link liblib.la to libdcrypt_openssl.so
+
+ At best this does nothing, at worst (like with OSX) it duplicates the entire
+ liblib and creates split state between the two instances.
+
+M src/lib-dcrypt/Makefile.am
+
+2017-02-05 20:20:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5fc85eac8a)
+
+ lib-dcrypt: If dcrypt can't be initialized, log also the reason.
+
+ This is very helpful when debugging linking issues.
+
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dcrypt/test-stream.c
+
+2017-02-05 21:38:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e93dc99f2b)
+
+ lib-ssl-iostream: Detect whether to call ERR_remove_[thread_]state() via
+ configure
+
+
+M m4/ssl.m4
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+
+2017-02-05 21:31:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (04b6c66afd)
+
+ lib-ssl-iostream: Call OBJ_cleanup() for all OpenSSL versions
+
+ Just to reduce the #if checks that uglify the code.
+
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+
+2017-02-05 21:10:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b91659702c)
+
+ lib-ssl-iostream: Detect OPENSSL_cleanup() via configure
+
+ It's ugly to have both OpenSSL version number check and a special LibreSSL
+ check.
+
+M m4/ssl.m4
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+
+2017-02-05 21:04:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (803d5e0092)
+
+ lib-ssl-iostream: Detect OpenSSL memory functions' parameters via configure
+
+ The version number check doesn't work correctly for LibreSSL.
+
+M m4/ssl.m4
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+
+2017-02-05 21:56:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (13479101da)
+
+ lib-ssl-iostream: Use ASN1_STRING_get0_data() if it exists
+
+ This avoids deprecation warnings about ASN1_STRING_data() in OpenSSL v1.1.
+
+M m4/ssl.m4
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl.h
+
+2017-02-05 21:51:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (74feb39854)
+
+ lib-ssl-iostream: Use RSA_generate_key_ex() if it exists
+
+ This avoids deprecation warnings about RSA_generate_key() in OpenSSL v1.1.
+
+M m4/ssl.m4
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2017-02-06 00:11:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f6fd135d15)
+
+ dict-sql: Move USING TIMESTAMP to correct location for INSERTs
+
+
+M src/lib-dict/dict-sql.c
+
+2017-02-06 00:48:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ea7f7e1a7f)
+
+ auth: Pass through passdb extra fields to auth-worker requests
+
+
+M src/auth/auth-request.c
+
+2017-02-06 00:46:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (90e417d32e)
+
+ auth: Code cleanup - Move userdb extra fields exporting to its own function
+
+
+M src/auth/auth-request.c
+
+2017-02-05 19:52:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (da61fd89fa)
+
+ lib: Fix compiler warning with non-Linux
+
+
+M src/lib/nfs-workarounds.c
+
+2017-01-25 23:26:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c7378b542c)
+
+ lib-storage: Expunging now uses GUID only if it's in cache.
+
+ Otherwise the GUID lookup may be expensive, which is especially bad when
+ deleting a large number of mails.
+
+M src/lib-storage/index/index-mail.c
+
+2017-02-03 19:40:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f5ddf3762f)
+
+ lib-storage: Fix autoexpunge locking to actually work correctly.
+
+ It wasn't actually skipping the autoexpunging if the lock already existed.
+ It autoexpunged anyway.
+
+M src/lib-storage/mail-autoexpunge.c
+
+2017-02-04 10:42:21 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f977ec781f)
+
+ lib-storage: Put vsize in index only if it's not there
+
+
+M src/lib-storage/index/index-mail.c
+
+2017-02-03 14:22:02 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (79195413c3)
+
+ fts: Use mailbox_list_created hook
+
+ Otherwise the deinit hook might get lost and fts would not be deinitialized.
+
+ Reverts 11f12ca1c97583b551a4286fa6cd1ab33aa67680 which seems to have been
+ unnecessary
+
+ Fixes indexer-worker signal 11 crash
+
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-storage.h
+
+2017-02-03 16:16:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f32382d2da)
+
+ lib-storage: Once hooks have run, set vlast to NULL to make sure it's not
+ used
+
+ The functions can't be correctly overridden outside their own specific
+ hooks. It would work only if hook_build_update() is called afterwards and
+ currently there's no public API for that.
+
+M src/lib-storage/mail-storage-hooks.c
+
+2017-01-30 21:28:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (093d5c0cdf)
+
+ lib-storage: Add assert to make sure header parsing isn't recursed
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2017-02-02 01:36:50 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b3df4be577)
+
+ lib-http: client: Fixed peer reconnection failure handling.
+
+ The addressed problem occurs in a very specific situation in which the
+ original successful connection is dropped, yet a new connection fails. It
+ manifests as an assertion failure or panic:
+
+ Panic: file ioloop-epoll.c: line 189 (io_loop_handler_run_internal):
+ assertion failed: (msecs >= 0) Panic: BUG: No IOs or timeouts set. Not
+ waiting for infinity.
+
+ The timing is very critical. However, this doesn't mean that the occurrence
+ of this problem is very unlikely; it can happen frequently under high load.
+
+M src/lib-http/http-client-queue.c
+M src/lib-http/test-http-client-errors.c
+
+2017-02-02 01:34:35 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (aa881f8f14)
+
+ lib-http: client: Respect the connection idle timeout, even when all queues
+ have unlinked from a peer.
+
+ Otherwise, the DNS TTL timeout dictates the connection idle timeout in some
+ situations.
+
+M src/lib-http/http-client-peer.c
+
+2017-02-02 11:47:24 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (18c01c2573)
+
+ dict: Fix error logging if TIMESTAMP parameters are wrong.
+
+
+M src/dict/dict-commands.c
+
+2017-02-01 10:48:37 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (000e7cdeba)
+
+ lib-master: Ignore t_readlink ENOENT error on updating instances list
+
+ The list may contain paths that don't exist anymore.
+
+M src/lib-master/master-instance.c
+
+2017-01-31 21:03:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f46f53badf)
+
+ imap: Fix panic on FETCH X-MAILBOX in virtual mailbox when mail is expunged
+
+
+M src/imap/imap-fetch.c
+
+2017-01-31 20:27:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9b5576a265)
+
+ lib: Fix -Wstrict-bool compiler warnings.
+
+
+M src/lib/test-path-util.c
+
+2017-01-30 19:45:28 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (4f2c34337b)
+
+ lib: Implicitly ignore memmove and memcpy return values in path-util
+
+ This is because dovecot code doesn't explicitly ignore the return values of
+ those functions elsewhere either.
+
+M src/lib/path-util.c
+
+2017-01-31 13:41:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e009b0d73b)
+
+ lib-http: server: Fix premature connection destroy in
+ http_server_connection_output().
+
+ Added a reference to the connection object while it is sending the remainder
+ of a response's payload. This is necessary, since
+ http_server_response_send_more() can destroy the connection, for example
+ when the request has a "Connection: close" header. This will only occur for
+ responses with a very large payload, because otherwise the payload is fully
+ sent in in the initial pass.
+
+M src/lib-http/http-server-connection.c
+
+2017-01-09 23:13:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4e87679b75)
+
+ lib-storage: When logging corrupted mail size, disable logging Message-ID
+ for now
+
+ This was causing crashes in some situations. It was originally added to
+ figure out if there were problems with dovecot.index.cache containing data
+ for wrong messages. This was never found to happen, although now thinking
+ about it, the problem may have been
+ 741287129c22cadc14c05584704685b31169dbce. So perhaps this code could be
+ removed permanently as well.
+
+ 6b44fc75c0039d1006ce4d543544552449b8e229 also attempted to fix this, but it
+ wasn't enough. There was still some code path that lead to recursive header
+ parsing.
+
+M src/lib-storage/index/istream-mail.c
+
+2017-01-30 23:20:48 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (6c7b2d544b)
+
+ lib: path-util: Fixed assertion in path_normalize().
+
+ The invariant was using the wrong variable for comparison, causing it to
+ trigger erraticly.
+
+M src/lib/path-util.c
+
+2017-01-30 19:17:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f3370dba57)
+
+ lib: Fix t_get_working_dir() to properly allocate memory in data stack.
+
+
+M src/lib/path-util.c
+
+2017-01-30 21:53:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (89bc31f70e)
+
+ lib-mail: Fix message_part_data_is_plain_7bit()
+
+ Content-Type parameters weren't handled exactly right. Broken by recent
+ changes.
+
+M src/lib-mail/message-part-data.c
+
+2017-01-30 18:55:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b02cd3fca1)
+
+ lib-imap: Fix another compiler warning
+
+ Unnecessary, but older gcc complains.
+
+M src/lib-imap/imap-bodystructure.c
+
+2016-12-29 23:32:04 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (d764f67e46)
+
+ lib, lib-master: Add error_r to t_binary_abspath
+
+
+M src/lib-master/master-service-settings.c
+M src/lib/path-util.c
+M src/lib/path-util.h
+
+2016-12-29 23:04:56 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (b1c85a1f88)
+
+ lib: Add error_r to t_abspath and its callers
+
+
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/main.c
+M src/lda/main.c
+M src/lib/path-util.c
+M src/lib/path-util.h
+M src/lmtp/main.c
+M src/master/main.c
+M src/pop3/main.c
+
+2016-11-29 20:50:28 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (b28403dc4d)
+
+ lib: Add tests for path-util
+
+
+M src/lib/Makefile.am
+M src/lib/test-lib.inc
+A src/lib/test-path-util.c
+
+2016-12-04 12:13:00 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (f6925c43f4)
+
+ lib: Add Pigeonhole realpath functions to path-util
+
+
+M src/lib/path-util.c
+M src/lib/path-util.h
+
+2016-12-04 12:52:51 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (f0913bab58)
+
+ lib: Rename t_get_current_dir to t_get_working_dir
+
+ Also add an error_r parameter that cannot be NULL.
+
+M src/lib/eacces-error.c
+M src/lib/nfs-workarounds.c
+M src/lib/path-util.c
+M src/lib/path-util.h
+M src/lib/unlink-directory.c
+M src/lmtp/main.c
+
+2016-12-04 12:47:22 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (dd645357a6)
+
+ lib: Add error_r to t_readlink and its callers
+
+
+M src/config/doveconf.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-service.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib/path-util.c
+M src/lib/path-util.h
+
+2016-11-30 12:03:30 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (8da8e8a206)
+
+ lib: Add asserts to t_abspath and t_abspath_to
+
+
+M src/lib/path-util.c
+
+2016-11-30 08:40:40 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (dfa2201c6a)
+
+ lib: Rename abspath to path-util
+
+
+M src/config/doveconf.c
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/main.c
+M src/lda/main.c
+M src/lib-http/test-http-payload.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib/Makefile.am
+M src/lib/eacces-error.c
+M src/lib/nfs-workarounds.c
+R098 src/lib/abspath.c src/lib/path-util.c
+R095 src/lib/abspath.h src/lib/path-util.h
+M src/lib/unlink-directory.c
+M src/lmtp/main.c
+M src/master/main.c
+M src/pop3/main.c
+
+2017-01-30 18:29:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (49d0f8cb2e)
+
+ lib-imap: Fix compiler warning
+
+ Unnecessary, but older gcc complains.
+
+M src/lib-imap/imap-envelope.c
+
+2017-01-14 13:33:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (30116399eb)
+
+ lib-imap: Created test-imap-envelope.
+
+
+M src/lib-imap/Makefile.am
+A src/lib-imap/test-imap-envelope.c
+
+2016-12-29 14:02:05 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3b17e4c33a)
+
+ lib-imap: imap-envelope: Added function for parsing ENVELOPE from string.
+
+
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-envelope.h
+
+2016-10-26 23:44:47 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (62306adc17)
+
+ lib-imap: Added more comments to imap-bodystructure and imap-envelope.
+
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-envelope.c
+
+2016-10-24 01:45:18 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (26a2909cb5)
+
+ lib-imap: imap-bodystructure: Added support for making
+ imap_bodystructure_parse() work without a pre-existing message_part tree.
+
+ It can now create the tree from the BODYSTRUCTURE string itself.
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-bodystructure.h
+M src/lib-imap/test-imap-bodystructure.c
+
+2016-10-24 01:01:19 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (6407243c0b)
+
+ lib-mail: message-part-data: Implemented message_part_data_get_filename().
+
+ Gets the message part's filename if it has any.
+
+M src/lib-mail/message-part-data.c
+M src/lib-mail/message-part-data.h
+
+2016-10-24 00:19:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (b674bd911a)
+
+ lib-mail: message-part-data: Renamed struct message_part_envelope_data to
+ message_part_envelope.
+
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-envelope.h
+M src/lib-mail/message-part-data.c
+M src/lib-mail/message-part-data.h
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.h
+
+2016-10-23 22:29:49 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (042a58438d)
+
+ lib-imap: imap-envelope: Moved imap_envelope_headers to
+ lib-mail/message-part-data as message_part_envelope_headers.
+
+
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-envelope.h
+M src/lib-mail/message-part-data.c
+M src/lib-mail/message-part-data.h
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail-headers.c
+
+2016-10-23 20:05:33 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (57e3b63a75)
+
+ lib-imap: imap-bodystructure: Moved message_part_data header parsing and
+ query functions to their own module in lib-mail.
+
+ Moved code from imap-bodystructure and imap-envelope.
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-bodystructure.h
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-envelope.h
+M src/lib-imap/test-imap-bodystructure.c
+M src/lib-mail/Makefile.am
+A src/lib-mail/message-part-data.c
+A src/lib-mail/message-part-data.h
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+
+2016-10-23 19:47:12 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (afd6338f1c)
+
+ lib-imap: imap-bodystructure: Renamed imap_bodystructure_is_plain_7bit() to
+ message_part_data_is_plain_7bit().
+
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-bodystructure.h
+M src/lib-storage/index/index-mail.c
+
+2016-10-23 19:00:10 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (946f22af11)
+
+ lib-imap: imap-envelope: Renamed imap_envelope_parse_header() to
+ message_part_envelope_parse_from_header().
+
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-envelope.h
+M src/lib-storage/index/index-mail-headers.c
+
+2016-10-23 18:10:01 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (535dbe3c37)
+
+ lib-imap: imap-evenvelope: Changed imap_envelope_get_field() into a private
+ equivalent.
+
+
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-envelope.h
+
+2016-10-23 17:51:59 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (df459621b9)
+
+ lib-imap: imap-bodystructure: Renamed imap_bodystructure_parse_header() to
+ message_part_data_parse_from_header().
+
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-bodystructure.h
+M src/lib-imap/test-imap-bodystructure.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+
+2016-10-23 17:27:07 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (341c6814c8)
+
+ lib-imap: imap-bodystructure: Grouped together functions relating to the
+ conversion of BODYSTRUCTURE to BODY.
+
+ This only moves code.
+
+M src/lib-imap/imap-bodystructure.c
+
+2016-10-23 16:50:25 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (2483736d1a)
+
+ lib-imap: imap-bodystructure: Changed struct message_part_body to contain
+ fully decoded data.
+
+ Contained unparsed IMAP string data before.
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-bodystructure.h
+M src/lib-imap/imap-envelope.c
+M src/lib-storage/index/index-mail.c
+
+2016-10-23 16:49:37 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (300daf3c17)
+
+ lib-imap: imap-envelope: Added function to parse struct
+ message_part_envelope_data from parsed imap args.
+
+
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-envelope.h
+
+2016-10-23 14:06:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (9e6c6b34b6)
+
+ lib-imap: imap-bodystructure: Renamed `d' parameter to `data' in
+ parse_content_header() function.
+
+
+M src/lib-imap/imap-bodystructure.c
+
+2016-10-23 13:52:10 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (03d4293829)
+
+ lib-imap: imap-envelope: Removed useless pool field from struct
+ message_part_envelope_data.
+
+
+M src/lib-imap/imap-envelope.c
+
+2016-10-23 13:50:05 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (28dffd17cb)
+
+ lib-imap: imap-bodystructure: Removed useless pool field from struct
+ message_part_data.
+
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-bodystructure.h
+
+2016-10-23 13:29:43 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (c59d22d58c)
+
+ lib-mail: Gave message_part_data its own field in struct message_part.
+
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-bodystructure.h
+M src/lib-mail/message-part.h
+M src/lib-storage/index/index-mail.c
+
+2016-10-23 13:10:11 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1eeb9f4380)
+
+ lib-imap: imap-bodystructure: Renamed struct message_part_body_data to
+ message_part_data.
+
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-bodystructure.h
+M src/lib-storage/index/index-mail.c
+
+2016-10-23 12:10:44 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (dc84547cb2)
+
+ lib-imap: Removed existing envelope parsing function.
+
+ This is currently only used by imaptest. Alternative API is provided in
+ later commit.
+
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-envelope.h
+
+2017-01-08 12:00:15 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (78f92fe96b)
+
+ lib-imap: test-imap-bodystructure: Added normalization tests.
+
+
+M src/lib-imap/test-imap-bodystructure.c
+
+2017-01-09 02:03:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b9de83e56e)
+
+ lib-imap: imap-bodystructure: Allow alternative syntax and omitted optional
+ elements in parser input.
+
+ This makes the parser accept any RFC-compliant BODYSTRUCTURE syntax, instead
+ of only what Dovecot itself produces. This way the parser could reliably be
+ used in the lib-imap-client if ever needed.
+
+M src/lib-imap/imap-bodystructure.c
+
+2017-01-09 16:29:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bac296ef1a)
+
+ lib-imap: test-imap-bodystructure: Added more tests.
+
+
+M src/lib-imap/test-imap-bodystructure.c
+
+2017-01-09 16:20:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (3693d00aeb)
+
+ lib-imap: test-imap-bodystructure: Improved handing of parse errors.
+
+ Actually show the parse error.
+
+M src/lib-imap/test-imap-bodystructure.c
+
+2017-01-09 16:16:46 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (cd1ab1e2ba)
+
+ lib-imap: test-imap-bodystructure: Added support for more than one test
+ case.
+
+
+M src/lib-imap/test-imap-bodystructure.c
+
+2017-01-08 22:50:02 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bf7aee059c)
+
+ lib-imap: imap-bodystructure: Fixed parse error message about invalid
+ Content-M5 field.
+
+
+M src/lib-imap/imap-bodystructure.c
+
+2017-01-30 15:12:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (00b2516ff5)
+
+ lib-storage: Set vsize extension when copying mails.
+
+
+M src/lib-storage/index/index-storage.c
+
+2017-01-30 15:11:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (424633d1a1)
+
+ lib-storage: Add index_mail_get_vsize_extension()
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2017-01-30 15:06:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (134987bc3b)
+
+ lib-storage: Move index_mail.vsize_ext_id to mailbox.mail_vsize_ext_id
+
+ It's mailbox-specific, so it doesn't have to be looked up every time. Also
+ this is needed for the following fix.
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage-private.h
+
+2016-12-14 18:13:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (64a36868b6)
+
+ imapc: Allow using LAYOUT=none without crashing.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-01-29 00:24:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e5d2061f4c)
+
+ imap: Don't unregister internal commands at deinit.
+
+ This allows plugins to unregister commands without errors being logged.
+
+M src/imap/imap-commands.c
+
+2017-01-26 22:42:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (27129cce9e)
+
+ lib-storage: Lock autoexpunging so only a single process does it.
+
+ This hopefully helps to avoid duplicates with lazy_expunge plugin.
+
+M src/lib-storage/mail-autoexpunge.c
+
+2017-01-29 01:08:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (16b3bcea47)
+
+ imap: Use struct mailbox_status.flags for FLAGS reply
+
+
+M src/imap/imap-commands-util.c
+
+2017-01-29 01:06:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4945c8a753)
+
+ lib-storage: Add struct mailbox_status.flags
+
+ This is similar to permanent_flags, except it tells which flags can be
+ changed at all in the session. Mainly it allows plugins to make changes to
+ IMAP's untagged FLAGS reply.
+
+M src/lib-storage/index/index-status.c
+M src/lib-storage/mail-storage.h
+
+2017-01-27 21:36:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1f1a96729e)
+
+ lib: io_loop_set_current() - do nothing if ioloop doesn't change
+
+ There's no need to call the switch callbacks if the ioloop doesn't change.
+
+M src/lib/ioloop.c
+
+2017-01-27 13:56:30 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (5433e85aeb)
+
+ doveadm: add doveadm_http_rawlog_dir setting
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+
+2017-01-24 17:18:07 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c25abb52b0)
+
+ lib-fts: Fix assert-crash in fts_icu_lcase()
+
+ Fixes: Panic: file fts-icu.c: line 152 (fts_icu_lcase): assertion failed:
+ (err != U_BUFFER_OVERFLOW_ERROR)
+
+M src/lib-fts/fts-icu.c
+M src/lib-fts/test-fts-icu.c
+
+2017-01-27 09:41:36 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2b96309988)
+
+ lib-storage: Fix comparison to use virtual size instead of body virtual size
+
+ Was forgotten on 7f1ecb14
+
+M src/lib-storage/index/index-mail.c
+
+2017-01-26 09:55:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0b2c958d1c)
+
+ lib-index: Don't log error on dovecot.index.cache delete if it doesn't exist
+
+ For example if a cache is marked as corrupted and there is no cache, it's
+ not really an error that it doesn't exist.
+
+ Fixes: Error: unlink(.../dovecot.index.cache) failed: No such file or
+ directory (in mail-cache.c:29)
+
+M src/lib-index/mail-cache.c
+
+2017-01-26 19:51:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7f1ecb1481)
+
+ lib-storage: Filling vsize to index on read used wrong size
+
+
+M src/lib-storage/index/index-mail.c
+
+2017-01-26 09:42:26 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c52d5c00e8)
+
+ lib-storage: Clear virtual size from index if size is corrupted
+
+
+M src/lib-storage/index/index-mail.c
+
+2017-01-14 18:34:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (513b045d3c)
+
+ fts: Fix search query generation when tokens are filtered out.
+
+ For example with English stopwords when searching "foo and bar" it should be
+ equilevant to "foo bar", since "and" is filtered out.
+
+M src/plugins/fts/fts-search-args.c
+
+2017-01-09 10:43:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ba706bd508)
+
+ lib: Add t_hash helpers for hashing
+
+
+M src/lib/hash-method.c
+M src/lib/hash-method.h
+
+2017-01-25 10:11:05 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (bcf421b980)
+
+ lib-dict: Fix test-dict-sql in out-of-tree build
+
+
+M src/lib-dict/Makefile.am
+M src/lib-dict/test-dict-sql.c
+
+2017-01-16 15:31:10 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ef6a5a1f1a)
+
+ lib-dict: Add unit tests
+
+
+M src/lib-dict/Makefile.am
+A src/lib-dict/dict.conf
+A src/lib-dict/test-dict-sql.c
+
+2017-01-16 15:30:14 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7b1ce34143)
+
+ lib-sql: Add test driver
+
+ Mock SQL driver
+
+M src/lib-sql/Makefile.am
+A src/lib-sql/driver-test.c
+A src/lib-sql/driver-test.h
+
+2017-01-17 09:59:54 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (be57188913)
+
+ dict-sql: Fix iterator to not fail
+
+ When iterating a prefix without exact key flag, do not fail when no more
+ maps are matched if at least one map has already matched.
+
+ Fixes Error: dict_iterate_deinit failed: sql dict iterate failed for ...:
+ Invalid/unmapped path
+
+M src/lib-dict/dict-sql.c
+
+2017-01-16 15:29:25 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4adf5d2a7c)
+
+ dict-sql: Move struct sql_dict to header
+
+ This allows dereferencing it on test programs
+
+M src/lib-dict/Makefile.am
+A src/lib-dict/dict-sql-private.h
+M src/lib-dict/dict-sql.c
+
+2017-01-16 14:01:57 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5a29609419)
+
+ dict-sql: Do not increment on set
+
+ When merging sets do not use increment mode in builder.
+
+M src/lib-dict/dict-sql.c
+
+2017-01-23 18:02:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a35f064934)
+
+ director: "doveadm director move" to same host now refreshes user's timeout
+
+ This allows keeping user constantly in the same backend by just periodically
+ moving the user there.
+
+M src/director/doveadm-connection.c
+
+2017-01-24 09:56:29 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5a6d4adbdc)
+
+ global: Update http_server_request_set_destroy_callback usage
+
+
+M src/doveadm/client-connection-http.c
+M src/lib-http/test-http-payload.c
+M src/lib-http/test-http-server-errors.c
+
+2017-01-24 09:55:49 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (582b936598)
+
+ lib-http: Improve http_server_request_set_destroy_callback API
+
+ It now allows using non-void* context
+
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server.h
+
+2017-01-22 17:58:55 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8b65acb389)
+
+ global: Update http_client_request_set_destroy_callback usage
+
+
+M src/auth/auth-policy.c
+M src/lib-http/test-http-payload.c
+
+2017-01-22 17:56:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e94584bf65)
+
+ lib-http: Improve http_client_request_set_destroy_callback
+
+ It now allows using non-void* context
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2017-01-22 23:55:24 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bf45537f02)
+
+ lib-http: client: Fixed handling of errors occurring for unsubmitted
+ requests during http_client_request_send_payload().
+
+ When http_client_request_send_payload() is executed for the first time, the
+ request is submitted. Errors occurring during submission don't trigger a
+ callback immediately. Instead, these are queued in the client and will
+ trigger a callback when an ioloop is run with the client. However, in
+ http_client_request_send_payload() the ioloop is never executed when the
+ request fails that way, meaning that the callback was never called. Since
+ for example SOLR assumes the callback is always called for an error in
+ http_client_request_send_payload(), this causes all kinds of problems.
+
+ Fixed by manually handling the delayed request errors in
+ http_client_request_send_payload() explicitly.
+
+M src/lib-http/http-client-request.c
+
+2017-01-18 13:46:12 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (228f1e8d58)
+
+ lib-sasl: Add OAUTHBEARER and XOAUTH2 mechanism
+
+
+M src/lib-sasl/Makefile.am
+M src/lib-sasl/dsasl-client-private.h
+M src/lib-sasl/dsasl-client.c
+A src/lib-sasl/mech-oauthbearer.c
+
+2017-01-18 13:45:27 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2d74a1ed4c)
+
+ lib-sasl: Add API for setting and getting extra values
+
+ This allows setting extra parameters for authentication and recovering
+ extended result information from mechanism.
+
+M src/lib-sasl/dsasl-client-private.h
+M src/lib-sasl/dsasl-client.c
+M src/lib-sasl/dsasl-client.h
+
+2017-01-20 18:19:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fc452ed724)
+
+ imapc: Fix assert-crash on some connect failures
+
+ imapc_storage_has_modseqs() causes imapc_client_get_capabilities() to be
+ called, which assert-crashes if there isn't a valid connection:
+
+ Panic: file imapc-client.c: line 438 (imapc_client_get_capabilities):
+ assertion failed: (conn != NULL)
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2017-01-20 15:57:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (edaf7b320f)
+
+ director: Add more debug logging for moving & killing users
+
+
+M src/director/director.c
+
+2017-01-20 16:06:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (47f09f8480)
+
+ director: Fix USER-MOVE getting stuck if a director already uses the correct
+ host
+
+
+M src/director/director.c
+
+2017-01-20 16:03:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (82641f7aa5)
+
+ director: Ignore doveadm user move if host is already the same.
+
+
+M src/director/doveadm-connection.c
+
+2017-01-20 15:54:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3638fd7bb3)
+
+ director: Make sure USER-KILLED isn't sent before USER-MOVE
+
+ If USER-MOVE was for a user that didn't exist, killing sent USER-KILLED
+ immediately before the forwarding USER-MOVE. This caused the move to get
+ stuck, giving errors like:
+
+ director: Error: Finishing user 3224731354 move timed out, its state may now
+ be inconsistent (state=waiting-for-everyone)
+
+M src/director/director.c
+
+2017-01-20 15:52:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7a380e77af)
+
+ director: Add assert to make sure USER-MOVE doesn't change tag
+
+
+M src/director/director.c
+
+2016-12-27 09:45:58 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (444e2d726b)
+
+ lib-storage: Copy cache decisions from inbox on create
+
+ Otherwise the decisions are definitely wrong, since they are nonexistent.
+ Copying from INBOX would make sense.
+
+M src/lib-storage/mail-storage.c
+
+2016-12-27 09:44:52 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (215cdc8dbd)
+
+ lib-index: Add mail_cache_decisions_copy
+
+ This allows priming cache decisions for a folder.
+
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache.h
+
+2017-01-03 12:50:58 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1211f411e0)
+
+ lib-index: Unconstify mail_cache_register_get_list
+
+ This way the result is usable as input for mail_cache_register_fields.
+
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache.h
+
+2017-01-20 14:46:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (90f9822ad5)
+
+ lib-storage: Fix mailbox's vsize header check for mailboxes not in
+ dovecot.list.index
+
+ If mailbox wasn't yet in the dovecot.list.index, mailbox_list_index_status()
+ for it returns FALSE and doesn't initialize the status. In some situations
+ this may have caused a non-empty mailbox's vsize to be returned as 0.
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2016-10-11 00:13:49 +0200 Juha Koho <juha.koho@trineco.fi> (c4d66e8ccb)
+
+ ssl: add ssl_curve_list setting for selecting ECHDE curves
+
+
+M doc/example-config/conf.d/10-ssl.conf
+M m4/ssl.m4
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+M src/lib-master/master-service-ssl.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+M src/login-common/ssl-proxy-openssl.c
+
+2017-01-10 02:12:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (9465a05072)
+
+ lib-http: client: Make sure req->conn is only not NULL when that connection
+ holds a reference to that request.
+
+ This consolidates the management of req->conn to one place, thereby
+ preventing mishaps. It makes sure req->conn is always properly assigned,
+ making it more reliable. This fixes a problem that emerged in the
+ http-proxy.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+
+2017-01-19 02:16:06 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7945012299)
+
+ lib-http: client: Keep connection reference throughout
+ http_client_connection_return_response().
+
+ Before, it was held in two intervals. Next commit requires this change, but
+ it also simplifies this function significantly.
+
+M src/lib-http/http-client-connection.c
+
+2017-01-17 19:49:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c8ce80f4dd)
+
+ master: Remove unnecessary service listener start
+
+ The listening was already started later on in the same function. Also in
+ some cases it would have been started unnecessarily, like when service was
+ stopped or more processes were created immediately.
+
+M src/master/service-monitor.c
+
+2016-12-30 10:20:32 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e667d5da10)
+
+ doc: add ssl_dh to example-config
+
+
+M doc/example-config/conf.d/10-ssl.conf
+
+2017-01-18 04:46:15 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (fafa639312)
+
+ index: don't try to unlink in-memory cache file
+
+ Avoid these errors:
+
+ Error: unlink((in-memory index).cache) failed: No such file or directory (in
+ mail-cache.c:29)
+
+M src/lib-index/mail-cache.c
+
+2017-01-17 20:34:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (91879fbefd)
+
+ doveadm direcor add: Fix checking number as hostname.
+
+ 521c0460fe705f32ea6899c8b1f101043fe0898c was completely broken.
+
+M src/doveadm/doveadm-director.c
+
+2017-01-17 20:03:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2568cb8daa)
+
+ doveconf: Don't read freed memory.
+
+ Giving -c parameter frees the returned orig_config_path.
+
+M src/config/doveconf.c
+
+2017-01-17 15:22:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (521c0460fe)
+
+ doveadm direcor add: Don't accept number as a valid hostname.
+
+ This is usually a mistake. For example "doveadm director add -t host 100"
+ shouldn't be adding a new IP 100 (0.0.0.100)
+
+M src/doveadm/doveadm-director.c
+
+2017-01-17 16:28:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3d88d8e7bd)
+
+ stats plugin: Fix /proc/self/io fd leak on plugin deinit
+
+ This could have been a problem with doveadm-server processes if they had
+ service_count>1, because doveadm unloads all plugins between commands.
+
+M src/plugins/stats/mail-stats-fill.c
+M src/plugins/stats/mail-stats.h
+M src/plugins/stats/stats-plugin.c
+
+2017-01-17 16:23:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (07af8ef148)
+
+ doveadm: Outgoing dsync TCP connections leaked socket
+
+ If doveadm-server was running with service_count>1, each dsync run leaked a
+ socket.
+
+M src/doveadm/doveadm-dsync.c
+
+2017-01-17 19:21:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7c4ff436f9)
+
+ lib-dict: Compiler warning fix
+
+
+M src/lib-dict/dict.h
+
+2017-01-16 16:58:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (37fed1bc15)
+
+ dict-file: Fix potential crash when doing other dict calls during iteration.
+
+ If file was refreshed, the hash table was cleared, which broke the existing
+ iterators.
+
+M src/lib-dict/dict-file.c
+
+2017-01-16 17:12:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b198cd6da3)
+
+ lib-dict: Add assert to make sure all iterators are deinitialized.
+
+
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+
+2017-01-16 16:57:21 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0fea5292dd)
+
+ lib: Add asserts to make sure hash table isn't freed while it's frozen.
+
+
+M src/lib/hash.c
+
+2017-01-16 23:55:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c32d111cf4)
+
+ fts-solr: Escape {} chars when sending queries
+
+ Fixes: java.lang.IllegalArgumentException: Invalid character found in the
+ request target. The valid characters are defined in RFC 7230 and RFC 3986
+
+ Based on patch by Michael Welsh Duggan
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2017-01-17 01:37:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (355a3cf3f2)
+
+ lib-http: server: Do not generate a payload for a failure response for a
+ HEAD request.
+
+
+M src/lib-http/http-server-request.c
+
+2017-01-17 01:36:10 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1e9424acbc)
+
+ lib-http: server: Prevent sending response payload when it is not allowed by
+ the specification.
+
+ For a HEAD request, the payload is omitted, but the associated headers are
+ generated. For the other cases, an assert failure is now triggered.
+
+M src/lib-http/http-server-response.c
+
+2017-01-16 09:37:05 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fb6734cf23)
+
+ dict-sql: Fix flushing
+
+ Remove flushing from set, and add it to unset. Fixes signal 11 crash caused
+ by infinite recursion.
+
+M src/lib-dict/dict-sql.c
+
+2017-01-03 17:21:33 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ae2bad2324)
+
+ lib-storage: Add vsize extension to index
+
+ Keep virtual size in index, instead of cache when it's less than 2^32-1.
+ This helps when cache becomes corrupted, and goes away, we still have
+ virtual sizes for quota calculations.
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2017-01-15 19:56:32 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2c6a1ceedd)
+
+ lib-storage: Fix assert-crash on mailbox_copy/move() failure
+
+ If mailbox_save_cancel() was being called outside mail_storage_copy() it
+ assert-crashed:
+
+ Panic: file mail-storage.c: line 2168 (mailbox_save_context_reset):
+ assertion failed: (ctx->copying_via_save)
+
+M src/lib-storage/mail-storage.c
+
+2017-01-14 16:11:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fd4130e3e6)
+
+ lib-storage: If namespaces weren't successfully created, don't autoexpunge
+ at deinit.
+
+
+M src/lib-storage/mail-user.c
+
+2017-01-14 16:12:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (71bfb0ac64)
+
+ lib-storage: Add struct mail_user.namespaces_created
+
+ This makes it easier to determine in mail_namespaces_added hook if the
+ namespaces being added are the initial ones or later ones.
+
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-user.h
+
+2017-01-14 16:12:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (da5c7f6eb2)
+
+ lib-storage: Stop namespaces_added|created hooks immediately when user has
+ failed
+
+
+M src/lib-storage/mail-storage-hooks.c
+
+2017-01-14 16:10:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (92b98c7ec5)
+
+ doveadm dict get: Support printing multiple values.
+
+
+M src/doveadm/doveadm-dict.c
+
+2017-01-09 20:32:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fb488019d4)
+
+ dict-sql: Support multiple values for lookups
+
+ The value's fields must be comma-separated without spaces, for example:
+
+ map {
+ value_field = field1,field2
+ value_type = string,uint
+ ...
+
+ Only the first field is used for INSERTs and UPDATEs.
+
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql-settings.h
+M src/lib-dict/dict-sql.c
+
+2017-01-12 20:35:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2176834374)
+
+ dict-client: Support multiple values for lookups
+
+
+M src/dict/dict-commands.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-client.h
+
+2017-01-12 20:22:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (85b234661b)
+
+ lib-dict: Add support for lookup to return multiple values
+
+ Implements only the initial stubs to the drivers.
+
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/plugins/dict-ldap/dict-ldap.c
+
+2017-01-14 16:54:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (415f3f2806)
+
+ dict-sql: Remove unnecessary "affected rows" tracking from dict_set()
+
+ This was useful for dict_atomic_inc(), but not for dict_set().
+
+ Fixes assert-crash with Cassandra: Panic: file driver-cassandra.c: line 1350
+ (driver_cassandra_update): assertion failed: (affected_rows == NULL)
+
+M src/lib-dict/dict-sql.c
+
+2017-01-14 16:45:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (858ce98d62)
+
+ dict-sql: Fix previous "merge sets" to flush at commit
+
+ The last dict_set() within transaction was being ignored.
+
+M src/lib-dict/dict-sql.c
+
+2017-01-14 15:10:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (22ed97ce47)
+
+ lib-storage: Fix accessing the same "raw" mailbox multiple times in process.
+
+ If the same file was opened as the raw mailbox multiple times, the previous
+ mail_index was cached by mail-index-alloc-cache. Opening it the second time
+ already contained a mail in the index, so trying to add another one logged
+ an error:
+
+ Error: Log synchronization error at seq=1,offset=256 for (in-memory index):
+ Append with UID 1, but next_uid = 2
+
+M src/lib-storage/index/raw/raw-sync.c
+
+2017-01-13 20:39:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3b94c8fb69)
+
+ imapc: Fix re-sending retryable commands after reconnect
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+
+2017-01-12 16:20:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (549d0260d6)
+
+ lib-storage: Allow namespaces_created hook to return failure via user error.
+
+
+M src/lib-storage/mail-namespace.c
+
+2017-01-12 00:53:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a7c9ff357c)
+
+ lib-storage: Improve namespace error message - include separator char.
+
+ It wasn't always obvious what the character should have been when namespace
+ didn't have an explicitly configured separator.
+
+M src/lib-storage/mail-namespace.c
+
+2017-01-11 19:43:30 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (80d1ef5ba8)
+
+ lib-dict-sql: Try merge sets to single update
+
+ This attempts to put mergeable keys into same update instead of using
+ multiple SQL statements.
+
+M src/lib-dict/dict-sql.c
+
+2016-12-23 13:17:06 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (aefadb6933)
+
+ lib-dcrypt: istream-decrypt - set stream_errno=EPIPE on unexpected EOF
+
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2017-01-10 19:23:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (16c59052a6)
+
+ configure: Link libsmtp before libdns
+
+ Fixes linking LIBDOVECOT when using .a libraries
+
+M configure.ac
+
+2017-01-10 14:45:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ea5a14af8a)
+
+ lib-storage: Compile & indent fix for previous change.
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2017-01-05 10:50:55 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6b44fc75c0)
+
+ lib-storage: Prevent recursion in header parsing
+
+ If header parsing error occurs and error handling tries to get fields, such
+ as Message-ID, it will cause crash. This fixes problem by preventing reading
+ from non-cached headers while they are being parsed.
+
+ Fixes lmtp: Panic: file ../../../src/lib/array.h: line 219 (array_idx_i):
+ assertion failed: (idx * array->element_size < array->buffer->used)
+
+M src/lib-storage/index/index-mail-headers.c
+
+2017-01-09 17:48:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2599a77a28)
+
+ cassandra: Support configuring heartbeat_interval and idle_timeout
+
+
+M src/lib-sql/driver-cassandra.c
+
+2017-01-10 13:29:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6ce2e6f7ab)
+
+ director: Fix assert-crash when flush script takes too long
+
+ Fixes: Panic: file director.c: line 966 (director_user_move_timeout):
+ assertion failed: (user->kill_ctx->kill_state != USER_KILL_STATE_FLUSHING)
+
+M src/director/director.c
+
+2017-01-09 20:31:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (769cbb608e)
+
+ cassandra: Add support for "bigint" value type.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2017-01-09 22:39:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (904cdf7f28)
+
+ dict-client: When failing to resend commands after reconnect, their success
+ is uncertain.
+
+ It's possible that the writes before the disconnection did actually finish
+ successfully. If any of them were commits, we need to return
+ DICT_COMMIT_RET_WRITE_UNCERTAIN.
+
+M src/lib-dict/dict-client.c
+
+2017-01-09 17:05:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1fbe1b140c)
+
+ dict-sql: Support transaction timestamps with Cassandra driver
+
+
+M src/lib-dict/dict-sql.c
+
+2017-01-09 19:16:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (345fceae2f)
+
+ dict-client: Pass through transaction timestamp to dict-server
+
+
+M src/dict/dict-commands.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-client.h
+
+2017-01-09 16:55:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e28b4fc2b6)
+
+ lib-dict: Add dict_transaction_set_timestamp()
+
+
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+
+2017-01-09 19:10:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (788810ad6d)
+
+ dict-ldap|fs: Explicitly specify used dict_vfuncs methods.
+
+ This was done for other dict drivers in
+ ade5567577dadb0b275c840208d3ad21a9f00a36
+
+M src/lib-dict-extra/dict-fs.c
+M src/plugins/dict-ldap/dict-ldap.c
+
+2016-12-29 13:17:57 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (3fae65c797)
+
+ config: Fix checking if <path needs to be expanded
+
+
+M src/config/config-parser.c
+
+2017-01-09 15:12:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3bb61142ca)
+
+ lmtp: Don't deliver truncated email when client disconnects before "." line
+
+ This didn't happen always, because the EOF was handled in two different
+ places in different ways.
+
+M src/lmtp/commands.c
+
+2017-01-09 09:57:58 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (317689976a)
+
+ auth-policy: Add missing settings
+
+
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+
+2017-01-08 20:09:33 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (77ed2f5f6f)
+
+ auth-policy: Enable SSL connections
+
+
+M src/auth/Makefile.am
+M src/auth/auth-policy.c
+
+2017-01-04 14:02:28 -0800 Greg C <bearggg@users.noreply.github.com> (83277213da)
+
+ auth-policy: hashed_password will always be blank, tell buffer it has data
+ so str_len works when converting to hex
+
+
+M src/auth/auth-policy.c
+
+2017-01-08 18:44:32 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7c9ae3d919)
+
+ lib-program-client: Do not call program_client_fail twice
+
+ Fixes crash in program-client caused by use of freed memory.
+
+M src/lib-program-client/program-client.c
+
+2016-12-25 10:14:07 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (90126be6a0)
+
+ istream-mmap: Mark stream eof on error and copy errno
+
+
+M src/lib/istream-mmap.c
+
+2016-12-16 20:27:09 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (89e0400493)
+
+ lib, lib-http: add HTTP_URL_ALLOW_PCT_NUL flag
+
+ This allows a URL to contain %00.
+
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2016-12-27 14:01:14 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (58fed57a4b)
+
+ autoexpunge: Consider last_rename_stamp on expunge
+
+ When expunging by saved date, see if last_rename_stamp is more recent than
+ saved date, and use that instead.
+
+ This prevents mails getting deleted on a folder that was just renamed, the
+ user probably expects autoexpunge to consider these emails as fresh.
+
+M src/lib-storage/mail-autoexpunge.c
+
+2016-12-28 22:45:22 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3743948b65)
+
+ index-storage: Update mailbox last_rename_stamp on rename
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage-private.h
+
+2016-12-30 16:20:12 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a4692ca37f)
+
+ lib-lda: Moved LMTP client to lib-smtp.
+
+ This makes the LMTP client available without dependency on lib-storage. For
+ Dovecot v2.3, the newly created lib-smtp will evolve into a full
+ client/server SMTP implementation. That will then remove the remaining SMTP
+ code from lib-lda.
+
+M configure.ac
+M dovecot-config.in.in
+M src/Makefile.am
+M src/lib-lda/Makefile.am
+A src/lib-smtp/Makefile.am
+R100 src/lib-lda/lmtp-client.c src/lib-smtp/lmtp-client.c
+R100 src/lib-lda/lmtp-client.h src/lib-smtp/lmtp-client.h
+M src/lmtp/Makefile.am
+
+2017-01-01 13:31:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (2454dfa32c)
+
+ Updated copyright notices to include the year 2017.
+
+
+M doc/man/doveadm-acl.1.in
+M doc/man/doveadm-altmove.1.in
+M doc/man/doveadm-auth.1.in
+M doc/man/doveadm-batch.1.in
+M doc/man/doveadm-deduplicate.1.in
+M doc/man/doveadm-director.1.in
+M doc/man/doveadm-dump.1.in
+M doc/man/doveadm-exec.1.in
+M doc/man/doveadm-expunge.1.in
+M doc/man/doveadm-fetch.1.in
+M doc/man/doveadm-flags.1.in
+M doc/man/doveadm-force-resync.1.in
+M doc/man/doveadm-fs.1.in
+M doc/man/doveadm-fts.1.in
+M doc/man/doveadm-help.1.in
+M doc/man/doveadm-import.1.in
+M doc/man/doveadm-index.1.in
+M doc/man/doveadm-instance.1.in
+M doc/man/doveadm-kick.1.in
+M doc/man/doveadm-log.1.in
+M doc/man/doveadm-mailbox-cryptokey.1.in
+M doc/man/doveadm-mailbox.1.in
+M doc/man/doveadm-move.1.in
+M doc/man/doveadm-penalty.1.in
+M doc/man/doveadm-proxy.1.in
+M doc/man/doveadm-purge.1.in
+M doc/man/doveadm-pw.1.in
+M doc/man/doveadm-quota.1.in
+M doc/man/doveadm-replicator.1.in
+M doc/man/doveadm-search-query.7
+M doc/man/doveadm-search.1.in
+M doc/man/doveadm-stats.1.in
+M doc/man/doveadm-sync.1.in
+M doc/man/doveadm-user.1.in
+M doc/man/doveadm-who.1.in
+M doc/man/doveadm.1.in
+M doc/man/doveconf.1.in
+M doc/man/dovecot-lda.1.in
+M doc/man/dovecot.1.in
+M src/anvil/anvil-connection.c
+M src/anvil/anvil-settings.c
+M src/anvil/connect-limit.c
+M src/anvil/main.c
+M src/anvil/penalty.c
+M src/anvil/test-penalty.c
+M src/auth/auth-cache.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-fields.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-penalty.c
+M src/auth/auth-policy.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request-stats.c
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-stats.c
+M src/auth/auth-token.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/auth.c
+M src/auth/db-checkpassword.c
+M src/auth/db-dict-cache-key.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/auth/db-sql.c
+M src/auth/main.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-dovecot-token.c
+M src/auth/mech-external.c
+M src/auth/mech-plain-common.c
+M src/auth/mech-plain.c
+M src/auth/mech.c
+M src/auth/mycrypt.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-checkpassword.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-imap.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb-template.c
+M src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme-pbkdf2.c
+M src/auth/password-scheme-rpa.c
+M src/auth/password-scheme.c
+M src/auth/test-auth-cache.c
+M src/auth/test-auth-request-var-expand.c
+M src/auth/test-db-dict.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-checkpassword.c
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-nss.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-prefetch.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb-template.c
+M src/auth/userdb-vpopmail.c
+M src/auth/userdb.c
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/config-request.c
+M src/config/config-settings.c
+M src/config/doveconf.c
+M src/config/main.c
+M src/config/old-set-parser.c
+M src/config/sysinfo-get.c
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/dict/dict-settings.c
+M src/dict/main.c
+M src/director/auth-connection.c
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director-request.c
+M src/director/director-settings.c
+M src/director/director-test.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/mail-host.c
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+M src/dns/dns-client-settings.c
+M src/dns/dns-client.c
+M src/doveadm/client-connection-http.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-auth-server.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-dict.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-dump-dcrypt-file.c
+M src/doveadm/doveadm-dump-dcrypt-key.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/doveadm-dump-thread.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-fs.c
+M src/doveadm/doveadm-instance.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-batch.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-deduplicate.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-flags.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-save.c
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/doveadm-master.c
+M src/doveadm/doveadm-mutf7.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-print-flow.c
+M src/doveadm/doveadm-print-formatted.c
+M src/doveadm/doveadm-print-json.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/doveadm-print-tab.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-proxy.c
+M src/doveadm/doveadm-pw.c
+M src/doveadm/doveadm-replicator.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-sis.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm-zlib.c
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-deserializer.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-state.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox.c
+M src/doveadm/dsync/dsync-serializer.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+M src/doveadm/main.c
+M src/doveadm/server-connection.c
+M src/doveadm/test-doveadm-util.c
+M src/imap-hibernate/imap-client.c
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap-hibernate/imap-hibernate-settings.c
+M src/imap-hibernate/imap-master-connection.c
+M src/imap-hibernate/main.c
+M src/imap-login/client-authenticate.c
+M src/imap-login/imap-login-client.c
+M src/imap-login/imap-login-commands.c
+M src/imap-login/imap-login-settings.c
+M src/imap-login/imap-proxy.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-login-settings.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/imap-urlauth/imap-urlauth-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/cmd-append.c
+M src/imap/cmd-cancelupdate.c
+M src/imap/cmd-capability.c
+M src/imap/cmd-check.c
+M src/imap/cmd-close.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-enable.c
+M src/imap/cmd-examine.c
+M src/imap/cmd-expunge.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-genurlauth.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-id.c
+M src/imap/cmd-idle.c
+M src/imap/cmd-list.c
+M src/imap/cmd-logout.c
+M src/imap/cmd-lsub.c
+M src/imap/cmd-namespace.c
+M src/imap/cmd-noop.c
+M src/imap/cmd-notify.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-resetkey.c
+M src/imap/cmd-search.c
+M src/imap/cmd-select.c
+M src/imap/cmd-setmetadata.c
+M src/imap/cmd-sort.c
+M src/imap/cmd-status.c
+M src/imap/cmd-store.c
+M src/imap/cmd-subscribe.c
+M src/imap/cmd-thread.c
+M src/imap/cmd-unselect.c
+M src/imap/cmd-unsubscribe.c
+M src/imap/cmd-urlfetch.c
+M src/imap/cmd-x-cancel.c
+M src/imap/cmd-x-state.c
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands.c
+M src/imap/imap-expunge.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-list.c
+M src/imap/imap-master-client.c
+M src/imap/imap-notify.c
+M src/imap/imap-search-args.c
+M src/imap/imap-search.c
+M src/imap/imap-settings.c
+M src/imap/imap-state.c
+M src/imap/imap-status.c
+M src/imap/imap-sync.c
+M src/imap/mail-storage-callbacks.c
+M src/imap/main.c
+M src/indexer/indexer-client.c
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-settings.c
+M src/indexer/indexer-worker-settings.c
+M src/indexer/indexer-worker.c
+M src/indexer/indexer.c
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-pool.c
+M src/ipc/client.c
+M src/ipc/ipc-connection.c
+M src/ipc/ipc-group.c
+M src/ipc/ipc-settings.c
+M src/ipc/main.c
+M src/lda/main.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/charset-utf8.c
+M src/lib-charset/test-charset.c
+M src/lib-compression/compression.c
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-lz4.c
+M src/lib-compression/ostream-lzma.c
+M src/lib-compression/ostream-zlib.c
+M src/lib-compression/test-compression.c
+M src/lib-dcrypt/dcrypt-gnutls.c
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dcrypt/test-stream.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict-extra/dict-register.c
+M src/lib-dict/dict-cdb.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict-transaction-memory.c
+M src/lib-dict/dict.c
+M src/lib-dict/test-dict-client.c
+M src/lib-dict/test-dict.c
+M src/lib-dns/dns-lookup.c
+M src/lib-dns/dns-util.c
+M src/lib-dns/test-dns-util.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test-async.c
+M src/lib-fs/fs-test.c
+M src/lib-fs/fs-wrapper.c
+M src/lib-fs/istream-fs-file.c
+M src/lib-fs/istream-fs-stats.c
+M src/lib-fs/istream-metawrap.c
+M src/lib-fs/ostream-cmp.c
+M src/lib-fs/ostream-metawrap.c
+M src/lib-fs/test-fs-metawrap.c
+M src/lib-fts/fts-filter-common.c
+M src/lib-fts/fts-filter-contractions.c
+M src/lib-fts/fts-filter-english-possessive.c
+M src/lib-fts/fts-filter-lowercase.c
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-filter-stemmer-snowball.c
+M src/lib-fts/fts-filter-stopwords.c
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-icu.c
+M src/lib-fts/fts-language.c
+M src/lib-fts/fts-library.c
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/fts-tokenizer-common.c
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/fts-tokenizer.c
+M src/lib-fts/test-fts-filter.c
+M src/lib-fts/test-fts-icu.c
+M src/lib-fts/test-fts-language.c
+M src/lib-fts/test-fts-tokenizer.c
+M src/lib-http/http-auth.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-date.c
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-header.c
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-parser.c
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-response.c
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/http-url.c
+M src/lib-http/test-http-auth.c
+M src/lib-http/test-http-client-errors.c
+M src/lib-http/test-http-client.c
+M src/lib-http/test-http-date.c
+M src/lib-http/test-http-header-parser.c
+M src/lib-http/test-http-payload.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-response-parser.c
+M src/lib-http/test-http-server-errors.c
+M src/lib-http/test-http-server.c
+M src/lib-http/test-http-transfer.c
+M src/lib-http/test-http-url.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-msgmap.c
+M src/lib-imap-storage/imap-metadata.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap-urlauth/imap-urlauth.c
+M src/lib-imap/imap-arg.c
+M src/lib-imap/imap-base-subject.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-id.c
+M src/lib-imap/imap-keepalive.c
+M src/lib-imap/imap-match.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-seqset.c
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-utf7.c
+M src/lib-imap/imap-util.c
+M src/lib-imap/test-imap-bodystructure.c
+M src/lib-imap/test-imap-match.c
+M src/lib-imap/test-imap-parser.c
+M src/lib-imap/test-imap-quote.c
+M src/lib-imap/test-imap-url.c
+M src/lib-imap/test-imap-utf7.c
+M src/lib-imap/test-imap-util.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-dummy-view.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-util.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mailbox-log.c
+M src/lib-index/test-mail-index-map.c
+M src/lib-index/test-mail-index-modseq.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-index/test-mail-transaction-log-view.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/lda-settings.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-send.c
+M src/lib-lda/smtp-client.c
+M src/lib-ldap/ldap-client.c
+M src/lib-ldap/ldap-compare.c
+M src/lib-ldap/ldap-connection-pool.c
+M src/lib-ldap/ldap-connection.c
+M src/lib-ldap/ldap-entry.c
+M src/lib-ldap/ldap-iterator.c
+M src/lib-ldap/ldap-search.c
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/istream-nonuls.c
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/mail-html2text.c
+M src/lib-mail/mail-user-hash.c
+M src/lib-mail/mbox-from.c
+M src/lib-mail/message-address.c
+M src/lib-mail/message-binary-part.c
+M src/lib-mail/message-date.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-hash.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-id.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part-serialize.c
+M src/lib-mail/message-part.c
+M src/lib-mail/message-search.c
+M src/lib-mail/message-size.c
+M src/lib-mail/message-snippet.c
+M src/lib-mail/ostream-dot.c
+M src/lib-mail/qp-decoder.c
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-mail/test-istream-binary-converter.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-mail/test-mail-html2text.c
+M src/lib-mail/test-mbox-from.c
+M src/lib-mail/test-message-address.c
+M src/lib-mail/test-message-date.c
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-encode.c
+M src/lib-mail/test-message-header-hash.c
+M src/lib-mail/test-message-header-parser.c
+M src/lib-mail/test-message-id.c
+M src/lib-mail/test-message-parser.c
+M src/lib-mail/test-message-part.c
+M src/lib-mail/test-message-search.c
+M src/lib-mail/test-message-snippet.c
+M src/lib-mail/test-ostream-dot.c
+M src/lib-mail/test-qp-decoder.c
+M src/lib-mail/test-quoted-printable.c
+M src/lib-mail/test-rfc2231-parser.c
+M src/lib-mail/test-rfc822-parser.c
+M src/lib-master/anvil-client.c
+M src/lib-master/ipc-client.c
+M src/lib-master/ipc-server.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-haproxy.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl.c
+M src/lib-master/master-service.c
+M src/lib-master/syslog-util.c
+M src/lib-master/test-master-service-settings-cache.c
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+M src/lib-program-client/program-client.h
+M src/lib-program-client/test-program-client-local.c
+M src/lib-program-client/test-program-client-net.c
+M src/lib-program-client/test-program-client-unix.c
+M src/lib-sasl/dsasl-client.c
+M src/lib-sasl/mech-external.c
+M src/lib-sasl/mech-login.c
+M src/lib-sasl/mech-plain.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-settings/test-settings-parser.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-db-cache.c
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib-stats/stats-connection.c
+M src/lib-stats/stats-parser.c
+M src/lib-stats/stats.c
+M src/lib-storage/fail-mail-storage.c
+M src/lib-storage/fail-mail.c
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-deleted-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/index/index-pop3-uidl.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-search-result.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync-search.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread-links.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/istream-mail.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-filename.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-settings.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-md5-all.c
+M src/lib-storage/index/mbox/mbox-md5-apop3d.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-settings.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync-list-index.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync-update.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/raw/raw-sync.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-notify-tree.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-autoexpunge.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-error.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-search-args-cmdline.c
+M src/lib-storage/mail-search-args-imap.c
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-parser-cmdline.c
+M src/lib-storage/mail-search-parser-imap.c
+M src/lib-storage/mail-search-parser.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search-register.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-thread.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail.c
+M src/lib-storage/mailbox-attribute-internal.c
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-header.c
+M src/lib-storage/mailbox-keywords.c
+M src/lib-storage/mailbox-list-notify.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-recent-flags.c
+M src/lib-storage/mailbox-search-result.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib-storage/mailbox-watch.c
+M src/lib-storage/test-mail-search-args-imap.c
+M src/lib-storage/test-mail-search-args-simplify.c
+M src/lib-storage/test-mailbox-get.c
+M src/lib-test/test-common.c
+M src/lib-test/test-istream.c
+M src/lib-test/test-ostream.c
+M src/lib/abspath.c
+M src/lib/aqueue.c
+M src/lib/array.c
+M src/lib/askpass.c
+M src/lib/backtrace-string.c
+M src/lib/base32.c
+M src/lib/base64.c
+M src/lib/bits.c
+M src/lib/bsearch-insert-pos.c
+M src/lib/buffer.c
+M src/lib/child-wait.c
+M src/lib/compat.c
+M src/lib/connection.c
+M src/lib/crc32.c
+M src/lib/data-stack.c
+M src/lib/eacces-error.c
+M src/lib/env-util.c
+M src/lib/execv-const.c
+M src/lib/failures.c
+M src/lib/fd-close-on-exec.c
+M src/lib/fdatasync-path.c
+M src/lib/fdpass.c
+M src/lib/file-cache.c
+M src/lib/file-copy.c
+M src/lib/file-create-locked.c
+M src/lib/file-dotlock.c
+M src/lib/file-lock.c
+M src/lib/file-set-size.c
+M src/lib/guid.c
+M src/lib/hash-format.c
+M src/lib/hash-method.c
+M src/lib/hash.c
+M src/lib/hash2.c
+M src/lib/hex-binary.c
+M src/lib/hex-dec.c
+M src/lib/home-expand.c
+M src/lib/hostpid.c
+M src/lib/imem.c
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-notify-fd.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-none.c
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+M src/lib/iostream-proxy.c
+M src/lib/iostream-proxy.h
+M src/lib/iostream-pump.c
+M src/lib/iostream-pump.h
+M src/lib/iostream-rawlog.c
+M src/lib/iostream-temp.c
+M src/lib/iostream.c
+M src/lib/ipwd.c
+M src/lib/iso8601-date.c
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-callback.c
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-data.c
+M src/lib/istream-failure-at.c
+M src/lib/istream-file.c
+M src/lib/istream-hash.c
+M src/lib/istream-jsonstr.c
+M src/lib/istream-limit.c
+M src/lib/istream-mmap.c
+M src/lib/istream-rawlog.c
+M src/lib/istream-seekable.c
+M src/lib/istream-sized.c
+M src/lib/istream-tee.c
+M src/lib/istream-timeout.c
+M src/lib/istream-unix.c
+M src/lib/istream.c
+M src/lib/json-parser.c
+M src/lib/json-tree.c
+M src/lib/lib-signals.c
+M src/lib/lib.c
+M src/lib/log-throttle.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-system.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/mempool.c
+M src/lib/mkdir-parents.c
+M src/lib/mmap-anon.c
+M src/lib/mmap-util.c
+M src/lib/module-dir.c
+M src/lib/mountpoint.c
+M src/lib/nfs-workarounds.c
+M src/lib/numpack.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-escaped.c
+M src/lib/ostream-failure-at.c
+M src/lib/ostream-file.c
+M src/lib/ostream-hash.c
+M src/lib/ostream-null.c
+M src/lib/ostream-rawlog.c
+M src/lib/ostream-unix.c
+M src/lib/ostream.c
+M src/lib/pkcs5.c
+M src/lib/primes.c
+M src/lib/printf-format-fix.c
+M src/lib/priorityq.c
+M src/lib/process-title.c
+M src/lib/rand.c
+M src/lib/randgen.c
+M src/lib/read-full.c
+M src/lib/restrict-access.c
+M src/lib/restrict-process-size.c
+M src/lib/safe-memset.c
+M src/lib/safe-mkdir.c
+M src/lib/safe-mkstemp.c
+M src/lib/sendfile-util.c
+M src/lib/seq-range-array.c
+M src/lib/sort.c
+M src/lib/str-find.c
+M src/lib/str-sanitize.c
+M src/lib/str-table.c
+M src/lib/str.c
+M src/lib/strescape.c
+M src/lib/strfuncs.c
+M src/lib/strnum.c
+M src/lib/test-aqueue.c
+M src/lib/test-array.c
+M src/lib/test-base32.c
+M src/lib/test-base64.c
+M src/lib/test-bits.c
+M src/lib/test-bsearch-insert-pos.c
+M src/lib/test-buffer.c
+M src/lib/test-crc32.c
+M src/lib/test-data-stack.c
+M src/lib/test-failures.c
+M src/lib/test-guid.c
+M src/lib/test-hash-format.c
+M src/lib/test-hash-method.c
+M src/lib/test-hash.c
+M src/lib/test-hex-binary.c
+M src/lib/test-hmac.c
+M src/lib/test-ioloop.c
+M src/lib/test-iostream-proxy.c
+M src/lib/test-iostream-pump.c
+M src/lib/test-iostream-temp.c
+M src/lib/test-iso8601-date.c
+M src/lib/test-istream-base64-decoder.c
+M src/lib/test-istream-base64-encoder.c
+M src/lib/test-istream-chain.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-crlf.c
+M src/lib/test-istream-failure-at.c
+M src/lib/test-istream-jsonstr.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-istream-sized.c
+M src/lib/test-istream-tee.c
+M src/lib/test-istream-unix.c
+M src/lib/test-istream.c
+M src/lib/test-json-parser.c
+M src/lib/test-json-tree.c
+M src/lib/test-lib.c
+M src/lib/test-llist.c
+M src/lib/test-log-throttle.c
+M src/lib/test-malloc-overflow.c
+M src/lib/test-mempool-alloconly.c
+M src/lib/test-net.c
+M src/lib/test-numpack.c
+M src/lib/test-ostream-escaped.c
+M src/lib/test-ostream-failure-at.c
+M src/lib/test-ostream-file.c
+M src/lib/test-pkcs5.c
+M src/lib/test-primes.c
+M src/lib/test-printf-format-fix.c
+M src/lib/test-priorityq.c
+M src/lib/test-seq-range-array.c
+M src/lib/test-str-find.c
+M src/lib/test-str-sanitize.c
+M src/lib/test-str-table.c
+M src/lib/test-str.c
+M src/lib/test-strescape.c
+M src/lib/test-strfuncs.c
+M src/lib/test-strnum.c
+M src/lib/test-time-util.c
+M src/lib/test-timing.c
+M src/lib/test-unichar.c
+M src/lib/test-uri.c
+M src/lib/test-utc-mktime.c
+M src/lib/test-var-expand.c
+M src/lib/test-wildcard-match.c
+M src/lib/time-util.c
+M src/lib/timing.c
+M src/lib/unichar.c
+M src/lib/unix-socket-create.c
+M src/lib/unlink-directory.c
+M src/lib/unlink-old-files.c
+M src/lib/uri-util.c
+M src/lib/utc-mktime.c
+M src/lib/utc-offset.c
+M src/lib/var-expand.c
+M src/lib/write-full.c
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/main.c
+M src/log/doveadm-connection.c
+M src/log/log-connection.c
+M src/log/log-error-buffer.c
+M src/log/log-settings.c
+M src/log/main.c
+M src/login-common/access-lookup.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/main.c
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.c
+M src/master/capabilities-posix.c
+M src/master/dup2-array.c
+M src/master/main.c
+M src/master/master-client.c
+M src/master/master-settings.c
+M src/master/service-anvil.c
+M src/master/service-listen.c
+M src/master/service-log.c
+M src/master/service-monitor.c
+M src/master/service-process-notify.c
+M src/master/service-process.c
+M src/master/service.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile-update.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/acl/acl-global-file.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-plugin.c
+M src/plugins/acl/acl-shared-storage.c
+M src/plugins/acl/acl-storage.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/dict-ldap/dict-ldap-settings.c
+M src/plugins/dict-ldap/dict-ldap.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/expire/expire-set.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/fts-squat-plugin.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+M src/plugins/fts/doveadm-fts.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-parser-html.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-parser-tika.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-search-args.c
+M src/plugins/fts/fts-search-serialize.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-user.c
+M src/plugins/fts/xml2text.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-stats/imap-stats-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/listescape/listescape-plugin.c
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+M src/plugins/mail-crypt/fs-crypt-common.c
+M src/plugins/mail-crypt/fs-crypt-settings.c
+M src/plugins/mail-crypt/fs-crypt.c
+M src/plugins/mail-crypt/fs-mail-crypt.c
+M src/plugins/mail-crypt/mail-crypt-acl-plugin.c
+M src/plugins/mail-crypt/mail-crypt-global-key.c
+M src/plugins/mail-crypt/mail-crypt-key.c
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+M src/plugins/mail-crypt/mail-crypt-pluginenv.c
+M src/plugins/mail-crypt/mail-crypt-userenv.c
+M src/plugins/mail-crypt/test-mail-global-key.c
+M src/plugins/mail-crypt/test-mail-key.c
+M src/plugins/mail-filter/istream-ext-filter.c
+M src/plugins/mail-filter/mail-filter-plugin.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+M src/plugins/mail-log/mail-log-plugin.c
+M src/plugins/mailbox-alias/mailbox-alias-plugin.c
+M src/plugins/notify/notify-plugin.c
+M src/plugins/notify/notify-storage.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/pop3-migration/test-pop3-migration-plugin.c
+M src/plugins/push-notification/push-notification-driver-dlog.c
+M src/plugins/push-notification/push-notification-driver-ox.c
+M src/plugins/push-notification/push-notification-drivers.c
+M src/plugins/push-notification/push-notification-drivers.h
+M src/plugins/push-notification/push-notification-event-flagsclear.c
+M src/plugins/push-notification/push-notification-event-flagsclear.h
+M src/plugins/push-notification/push-notification-event-flagsset.c
+M src/plugins/push-notification/push-notification-event-flagsset.h
+M src/plugins/push-notification/push-notification-event-mailboxcreate.c
+M src/plugins/push-notification/push-notification-event-mailboxcreate.h
+M src/plugins/push-notification/push-notification-event-mailboxdelete.c
+M src/plugins/push-notification/push-notification-event-mailboxdelete.h
+M src/plugins/push-notification/push-notification-event-mailboxrename.c
+M src/plugins/push-notification/push-notification-event-mailboxrename.h
+M src/plugins/push-notification/push-notification-event-mailboxsubscribe.c
+M src/plugins/push-notification/push-notification-event-mailboxsubscribe.h
+M src/plugins/push-notification/push-notification-event-mailboxunsubscribe.c
+M src/plugins/push-notification/push-notification-event-mailboxunsubscribe.h
+M src/plugins/push-notification/push-notification-event-message-common.h
+M src/plugins/push-notification/push-notification-event-messageappend.c
+M src/plugins/push-notification/push-notification-event-messageappend.h
+M src/plugins/push-notification/push-notification-event-messageexpunge.c
+M src/plugins/push-notification/push-notification-event-messageexpunge.h
+M src/plugins/push-notification/push-notification-event-messagenew.c
+M src/plugins/push-notification/push-notification-event-messagenew.h
+M src/plugins/push-notification/push-notification-event-messageread.c
+M src/plugins/push-notification/push-notification-event-messageread.h
+M src/plugins/push-notification/push-notification-event-messagetrash.c
+M src/plugins/push-notification/push-notification-event-messagetrash.h
+M src/plugins/push-notification/push-notification-events-rfc5423.c
+M src/plugins/push-notification/push-notification-events-rfc5423.h
+M src/plugins/push-notification/push-notification-events.c
+M src/plugins/push-notification/push-notification-events.h
+M src/plugins/push-notification/push-notification-plugin.c
+M src/plugins/push-notification/push-notification-plugin.h
+M src/plugins/push-notification/push-notification-triggers.c
+M src/plugins/push-notification/push-notification-triggers.h
+M src/plugins/push-notification/push-notification-txn-mbox.c
+M src/plugins/push-notification/push-notification-txn-mbox.h
+M src/plugins/push-notification/push-notification-txn-msg.c
+M src/plugins/push-notification/push-notification-txn-msg.h
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-plugin.c
+M src/plugins/quota/quota-status.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota-util.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/test-quota-util.c
+M src/plugins/replication/replication-plugin.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/stats/mail-stats-connection.c
+M src/plugins/stats/mail-stats-fill.c
+M src/plugins/stats/mail-stats.c
+M src/plugins/stats/stats-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-plugin.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/virtual/virtual-transaction.c
+M src/plugins/welcome/welcome-plugin.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client.c
+M src/pop3-login/pop3-login-settings.c
+M src/pop3-login/pop3-proxy.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-settings.c
+M src/replication/aggregator/aggregator-settings.c
+M src/replication/aggregator/aggregator.c
+M src/replication/aggregator/notify-connection.c
+M src/replication/aggregator/replicator-connection.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/dsync-client.c
+M src/replication/replicator/notify-connection.c
+M src/replication/replicator/replicator-brain.c
+M src/replication/replicator/replicator-queue-auth.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-settings.c
+M src/replication/replicator/replicator.c
+M src/stats/client-export.c
+M src/stats/client-reset.c
+M src/stats/client.c
+M src/stats/fifo-input-connection.c
+M src/stats/global-memory.c
+M src/stats/mail-command.c
+M src/stats/mail-domain.c
+M src/stats/mail-ip.c
+M src/stats/mail-session.c
+M src/stats/mail-stats.c
+M src/stats/mail-user.c
+M src/stats/main.c
+M src/stats/stats-carbon.c
+M src/stats/stats-settings.c
+M src/util/gdbhelper.c
+M src/util/maildirlock.c
+M src/util/rawlog.c
+M src/util/script-login.c
+M src/util/script.c
+M src/util/tcpwrap-settings.c
+M src/util/tcpwrap.c
+
+2016-12-27 15:03:51 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (69eb1a17f4)
+
+ lib-mail: header filter should call callback for added EOH
+
+ If we add a EOH because there wasn't one and HEADER_FILTER_ADD_MISSING_EOH
+ was specified, we should invoke the callback for it. Otherwise, it is
+ unnecessarily difficult for consumers to add a header since there is no way
+ to know if EOH will be present ahead of time.
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2016-12-28 10:49:49 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (75891a354e)
+
+ lib-mail: refactor header filter test code
+
+
+M src/lib-mail/test-istream-header-filter.c
+
+2016-12-27 15:50:31 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (27de85bc03)
+
+ master: revert i_zero change on sd-daemon.c
+
+
+M src/master/sd-daemon.c
+
+2016-12-04 14:58:14 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (16bb1ac73a)
+
+ lib: add separator also if arr[0] is empty in string array joins
+
+ Also add a couple test cases.
+
+M src/lib/strfuncs.c
+M src/lib/test-strfuncs.c
+
+2016-12-21 07:53:52 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (d31a407872)
+
+ lib-compression: use LZ4_compress_default if can
+
+ LZ4_compress is deprecated.
+
+M m4/want_lz4.m4
+M src/lib-compression/ostream-lz4.c
+
+2016-12-18 12:03:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (771cb02c25)
+
+ lib-storage: Update mail_get_headers() API comment
+
+ The API was changed by 990d55ce3fc461eeacce3ef830b1c5dde5c3f150
+
+M src/lib-storage/mail-storage.h
+
+2016-12-18 13:22:15 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (efe78d3ba2)
+
+ global: Replaced all instances of memset(p, 0, sizeof(*p)) with the new
+ i_zero() macro.
+
+ Used the following script:
+
+ C_FILES=`git ls-files *.c` H_FILES=`git ls-files *.h` for F in "$C_FILES
+ $H_FILES"; do
+ echo "$F"
+ perl -p -i -e
+ 's/safe_memset\(&\(?([^,]*)\)?,\s*0,\s*sizeof\(\g1\)\)/i_zero_safe(&$1)/g'
+ $F
+ perl -p -i -e
+ 's/safe_memset\(([^,]*),\s*0,\s*sizeof\(\*\g1\)\)/i_zero_safe($1)/g' $F
+ perl -p -i -e
+ 's/memset\(&\(?([^,]*)\)?,\s*0,\s*sizeof\(\g1\)\)/i_zero(&$1)/g' $F
+ perl -p -i -e 's/memset\(([^,]*),\s*0,\s*sizeof\(\*\g1\)\)/i_zero($1)/g' $F
+ done
+
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/main.c
+M src/auth/passdb-pam.c
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/doveconf.c
+M src/config/old-set-parser.c
+M src/dict/dict-connection.c
+M src/dict/main.c
+M src/director/login-connection.c
+M src/doveadm/client-connection-http.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-auth-server.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-dict.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-fs.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-batch.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-print-formatted.c
+M src/doveadm/doveadm-print-json.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-pw.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm-zlib.c
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/main.c
+M src/doveadm/server-connection.c
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap-login/client-authenticate.c
+M src/imap-login/imap-proxy.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-notify.c
+M src/imap/cmd-select.c
+M src/imap/cmd-setmetadata.c
+M src/imap/cmd-store.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands.c
+M src/imap/imap-fetch.c
+M src/imap/imap-master-client.c
+M src/imap/imap-notify.c
+M src/imap/imap-state.c
+M src/imap/imap-status.c
+M src/imap/main.c
+M src/indexer/indexer-worker.c
+M src/indexer/master-connection.c
+M src/lda/main.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-dcrypt/dcrypt-gnutls.c
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict/dict-cdb.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/test-dict-client.c
+M src/lib-dns/dns-lookup.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-test-async.c
+M src/lib-fs/fs-test.c
+M src/lib-fts/fts-icu.c
+M src/lib-http/http-auth.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-date.c
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-parser.c
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-response.c
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-url.c
+M src/lib-http/test-http-auth.c
+M src/lib-http/test-http-client-errors.c
+M src/lib-http/test-http-client.c
+M src/lib-http/test-http-payload.c
+M src/lib-http/test-http-response-parser.c
+M src/lib-http/test-http-server-errors.c
+M src/lib-http/test-http-server.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-storage/imap-metadata.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-id.c
+M src/lib-imap/imap-url.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/test-mail-index-map.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-transaction-log-view.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/smtp-client.c
+M src/lib-ldap/ldap-compare.c
+M src/lib-ldap/ldap-connection.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/mbox-from.c
+M src/lib-mail/message-address.c
+M src/lib-mail/message-date.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part-serialize.c
+M src/lib-mail/message-search.c
+M src/lib-mail/message-snippet.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-header-hash.c
+M src/lib-mail/test-message-search.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-ssl.c
+M src/lib-master/master-service.c
+M src/lib-master/test-master-service-settings-cache.c
+M src/lib-ntlm/ntlm-message.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-deleted-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/index/index-pop3-uidl.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-search-result.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-sync-list-index.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/list/mailbox-list-notify-tree.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-list.c
+M src/lib/buffer.c
+M src/lib/connection.c
+M src/lib/failures.c
+M src/lib/fd-close-on-exec.c
+M src/lib/file-dotlock.c
+M src/lib/file-lock.c
+M src/lib/file-set-size.c
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop.c
+M src/lib/iso8601-date.c
+M src/lib/istream-sized.c
+M src/lib/istream.c
+M src/lib/lib-signals.c
+M src/lib/md4.c
+M src/lib/md5.c
+M src/lib/mempool-alloconly.c
+M src/lib/mountpoint.c
+M src/lib/net.c
+M src/lib/ostream.c
+M src/lib/restrict-access.c
+M src/lib/sendfile-util.c
+M src/lib/seq-range-array.c
+M src/lib/sha3.c
+M src/lib/test-ioloop.c
+M src/lib/test-utc-mktime.c
+M src/lib/timing.c
+M src/lib/uri-util.c
+M src/lib/var-expand.c
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/main.c
+M src/log/log-connection.c
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy-state.c
+M src/login-common/login-settings.c
+M src/login-common/main.c
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-openssl.c
+M src/master/main.c
+M src/master/sd-daemon.c
+M src/master/service-listen.c
+M src/master/service-log.c
+M src/master/service-monitor.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-backend-vfile-update.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-global-file.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/dict-ldap/dict-ldap-settings.c
+M src/plugins/dict-ldap/dict-ldap.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/doveadm-fts.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-parser-tika.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/xml2text.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+M src/plugins/mail-crypt/mail-crypt-acl-plugin.c
+M src/plugins/mail-crypt/mail-crypt-global-key.c
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+M src/plugins/mail-crypt/mail-crypt-pluginenv.c
+M src/plugins/mail-crypt/test-mail-global-key.c
+M src/plugins/mail-crypt/test-mail-key.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/push-notification/push-notification-driver-ox.c
+M src/plugins/push-notification/push-notification-event-flagsclear.c
+M src/plugins/push-notification/push-notification-event-flagsset.c
+M src/plugins/push-notification/push-notification-event-messageappend.c
+M src/plugins/push-notification/push-notification-event-messagenew.c
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-status.c
+M src/plugins/quota/quota-util.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/test-quota-util.c
+M src/plugins/stats/mail-stats-fill.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3-login/pop3-proxy.c
+M src/pop3/main.c
+M src/replication/replicator/replicator-queue-auth.c
+M src/replication/replicator/replicator-queue.c
+M src/stats/client-export.c
+M src/stats/client-reset.c
+M src/stats/main.c
+M src/util/script-login.c
+
+2016-12-18 13:20:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (08cb8e0ae1)
+
+ lib: Created i_zero() wrapper for memset(p, 0, sizeof(*p)).
+
+ Also creates an i_zero_safe() version for safe_memset().
+
+M src/lib/macros.h
+
+2016-12-17 13:12:39 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (7074600828)
+
+ global: Made all struct initialization using memset() use the same style.
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dict/dict-cdb.c
+M src/lib-dict/dict-db.c
+M src/lib-http/http-url.c
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-url.c
+M src/lib/net.c
+
+2016-12-23 13:58:38 -0800 Nick Wallingford <nick@wallingford.cc> (96de40971a)
+
+ Fix link failure against libressl.
+
+
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+
+2016-12-23 14:15:49 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (aab5704d21)
+
+ lib-mail: Fix memory leak in test-istream-attachment
+
+
+M src/lib-mail/test-istream-attachment.c
+
+2016-12-23 12:53:49 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (c81ec7de30)
+
+ lib: Add unit test for istream-sized
+
+
+M src/lib/Makefile.am
+M src/lib/test-lib.inc
+
+2016-12-23 12:52:45 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (c328d22085)
+
+ lib: istream-sized - consistently set stream_errno=EINVAL if stream is too
+ large
+
+ Earlier it was sometimes done and sometimes not, depending on whether the
+ parent istream happened to stop at the expected boundary.
+
+M src/lib/istream-sized.c
+
+2016-12-23 12:51:41 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (574d36db88)
+
+ lib: istream-sized - set stream_errno=EPIPE if stream is too small
+
+
+M src/lib/istream-sized.c
+M src/lib/istream-sized.h
+A src/lib/test-istream-sized.c
+
+2016-12-23 12:26:17 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (4f22781ec4)
+
+ lib: istream-sized - remove explicit i_error() logging
+
+ The stream_errno is set, so it's the caller's responsibility to log the
+ error. There's no need to log it twice.
+
+M src/lib/istream-sized.c
+
+2016-12-23 13:19:50 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (b7cabbb8fd)
+
+ lib-compression: istream-{bzlib|lz4} - set stream_errno=EPIPE on unexpected
+ EOF
+
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+
+2016-12-23 13:30:56 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (a4883ee9da)
+
+ lib-mail: istream-qp-decoder: set stream_errno=EPIPE on unexpected EOF
+
+
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/test-istream-qp-decoder.c
+
+2016-12-23 13:23:39 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (25463ef4c1)
+
+ lib-fs: istream-metawrap - set stream_errno=EPIPE on unexpected EOF
+
+
+M src/lib-fs/istream-metawrap.c
+
+2016-12-23 13:14:43 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (aba4cdf6d9)
+
+ lib-storage: istream-mail - Use EPIPE if istream is too small
+
+
+M src/lib-storage/index/istream-mail.c
+
+2016-12-23 13:08:59 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (9d0be57bcc)
+
+ lib-mail: Improve istream-attachment-extractor unit test for EIO errors
+
+
+M src/lib-mail/test-istream-attachment.c
+
+2016-12-23 12:59:13 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (3979d59aa4)
+
+ lib-mail: istream-attachment-extractor - use EIO for internal errors
+
+ These happen only if the attachment writing failed for some reason. The
+ input stream itself can't have any errors, so EINVAL isn't proper.
+
+M src/lib-mail/istream-attachment-extractor.c
+
+2016-12-23 12:56:24 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (cd0fe951e5)
+
+ lib-mail: istream-attachment-extractor - remove unnecessary code
+
+ It's enough to set the stream_errno.
+
+M src/lib-mail/istream-attachment-extractor.c
+
+2016-12-23 11:57:59 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (1547bafeb1)
+
+ lib: istream-jsonstr - return EPIPE if end-of-string quote isn't seen
+
+
+M src/lib/istream-jsonstr.c
+M src/lib/test-istream-jsonstr.c
+
+2016-12-23 11:28:48 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (ddf9529d37)
+
+ lib: Add istream-jsonstr unit test.
+
+
+M src/lib/Makefile.am
+A src/lib/test-istream-jsonstr.c
+M src/lib/test-lib.inc
+
+2016-12-21 18:35:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (076c46c651)
+
+ lib: istream-jsonstr - minor code cleanup
+
+ If ret==0 here, it means dest wasn't changed, which must mean that i==0.
+ Make it clear to avoid confusion.
+
+M src/lib/istream-jsonstr.c
+
+2016-12-23 12:13:16 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (e0bd5e6623)
+
+ lib: istream-base64-decoder - use stream_errno=EPIPE for unexpected EOF
+
+
+M src/lib/istream-base64-decoder.c
+M src/lib/test-istream-base64-decoder.c
+
+2016-12-23 11:22:53 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (baf3e87e18)
+
+ global: Use const for all test_functions[] arrays
+
+
+M src/anvil/test-penalty.c
+M src/auth/test-auth-cache.c
+M src/auth/test-auth-request-var-expand.c
+M src/auth/test-db-dict.c
+M src/director/test-user-directory.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+M src/doveadm/test-doveadm-util.c
+M src/lib-charset/test-charset.c
+M src/lib-compression/test-compression.c
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dcrypt/test-stream.c
+M src/lib-dict/test-dict.c
+M src/lib-dns/test-dns-util.c
+M src/lib-fs/test-fs-metawrap.c
+M src/lib-fts/test-fts-filter.c
+M src/lib-fts/test-fts-icu.c
+M src/lib-fts/test-fts-language.c
+M src/lib-fts/test-fts-tokenizer.c
+M src/lib-http/test-http-auth.c
+M src/lib-http/test-http-client-errors.c
+M src/lib-http/test-http-date.c
+M src/lib-http/test-http-header-parser.c
+M src/lib-http/test-http-payload.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-response-parser.c
+M src/lib-http/test-http-server-errors.c
+M src/lib-http/test-http-transfer.c
+M src/lib-http/test-http-url.c
+M src/lib-imap/test-imap-bodystructure.c
+M src/lib-imap/test-imap-match.c
+M src/lib-imap/test-imap-parser.c
+M src/lib-imap/test-imap-quote.c
+M src/lib-imap/test-imap-url.c
+M src/lib-imap/test-imap-utf7.c
+M src/lib-imap/test-imap-util.c
+M src/lib-index/test-mail-index-map.c
+M src/lib-index/test-mail-index-modseq.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-index/test-mail-transaction-log-view.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-mail/test-istream-binary-converter.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-mail/test-mail-html2text.c
+M src/lib-mail/test-mbox-from.c
+M src/lib-mail/test-message-address.c
+M src/lib-mail/test-message-date.c
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-encode.c
+M src/lib-mail/test-message-header-hash.c
+M src/lib-mail/test-message-header-parser.c
+M src/lib-mail/test-message-id.c
+M src/lib-mail/test-message-parser.c
+M src/lib-mail/test-message-part.c
+M src/lib-mail/test-message-search.c
+M src/lib-mail/test-message-snippet.c
+M src/lib-mail/test-ostream-dot.c
+M src/lib-mail/test-qp-decoder.c
+M src/lib-mail/test-quoted-printable.c
+M src/lib-mail/test-rfc2231-parser.c
+M src/lib-mail/test-rfc822-parser.c
+M src/lib-master/test-master-service-settings-cache.c
+M src/lib-settings/test-settings-parser.c
+M src/lib-storage/test-mail-search-args-imap.c
+M src/lib-storage/test-mail-search-args-simplify.c
+M src/lib-storage/test-mailbox-get.c
+M src/plugins/pop3-migration/test-pop3-migration-plugin.c
+M src/plugins/quota/test-quota-util.c
+
+2016-12-23 11:22:11 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (440f9bf580)
+
+ lib-test: test_run*() - use const for test_functions[] array
+
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2016-12-23 17:57:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b7324e421e)
+
+ global: Use "static const" for all struct tests[] arrays
+
+
+M src/auth/test-auth-cache.c
+M src/lib-charset/test-charset.c
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dns/test-dns-util.c
+M src/lib-fts/test-fts-filter.c
+M src/lib-fts/test-fts-tokenizer.c
+M src/lib-imap/test-imap-quote.c
+M src/lib-imap/test-imap-utf7.c
+M src/lib-index/test-mail-index-modseq.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-mail-html2text.c
+M src/lib-mail/test-message-snippet.c
+M src/lib-mail/test-rfc822-parser.c
+M src/lib-settings/test-settings-parser.c
+M src/lib-storage/test-mail-search-args-imap.c
+M src/lib-storage/test-mail-search-args-simplify.c
+M src/lib/test-hash-format.c
+M src/lib/test-ioloop.c
+M src/lib/test-istream-base64-decoder.c
+M src/lib/test-istream-base64-encoder.c
+M src/lib/test-json-parser.c
+M src/lib/test-lib.c
+M src/lib/test-malloc-overflow.c
+M src/lib/test-net.c
+M src/lib/test-numpack.c
+M src/lib/test-seq-range-array.c
+M src/lib/test-str-sanitize.c
+M src/lib/test-strescape.c
+M src/lib/test-strfuncs.c
+M src/lib/test-time-util.c
+M src/lib/test-utc-mktime.c
+M src/lib/test-var-expand.c
+M src/lib/test-wildcard-match.c
+M src/plugins/pop3-migration/test-pop3-migration-plugin.c
+
+2016-12-23 17:48:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b7a60785a9)
+
+ lib-test: test_run_named*() - use const for tests[] array
+
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2016-12-23 15:38:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2c5c293940)
+
+ *-login, imapc: Fix new lib-sasl API usage
+
+ Forgot to include these in a669d351502e15802b121e1a0bd83f27d1d95f01
+
+M src/imap-login/imap-proxy.c
+M src/lib-imap-client/imapc-connection.c
+M src/pop3-login/pop3-proxy.c
+
+2016-12-19 15:31:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ce2312763f)
+
+ lib-index: Fix assert-crash if .log creation unexpectedly fails at the end
+
+ Pretty much the only reason for this to happen is if the index directory was
+ deleted while another process still had the index open. Even this doesn't
+ normally trigger this crash, because there are other checks earlier that
+ usually catch it. So it crashes only in some race conditions.
+
+ Fixes: Error: rename(.../dovecot.index.log.newlock, .../dovecot.index.log)
+ failed: No such file or directory Panic: file mail-transaction-log-file.c:
+ line 105 (mail_transaction_log_file_free): assertion failed: (!file->locked)
+
+M src/lib-index/mail-transaction-log-file.c
+
+2016-12-20 13:40:17 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (405fc7c0f9)
+
+ stats: use o_stream_nsend in client-export
+
+
+M src/stats/client-export.c
+
+2016-12-22 11:58:29 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (d7ff3c153f)
+
+ fs-randomfail: Fix failure handling for fs_read()
+
+
+M src/lib-fs/fs-randomfail.c
+
+2016-12-21 20:56:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (044b0557e9)
+
+ lib-index: Fix checking if cache file becomes >4GB
+
+
+M src/lib-index/mail-cache.c
+
+2016-12-20 13:34:43 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (6d0e6c57cf)
+
+ imap: use o_stream_nsend when not checking failure
+
+
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-thread.c
+M src/imap/imap-master-client.c
+
+2016-12-20 10:03:40 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (ac63c3ce5a)
+
+ replication: ignore o_stream_send errors in doveadm-connection
+
+
+M src/replication/replicator/doveadm-connection.c
+
+2016-12-22 11:53:06 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (266fcf2ad5)
+
+ lib-mail: message_binary_part_deserialize(): Return error if body line count
+ is too large
+
+ The input was unsigned int, so output must also fit into unsigned int.
+
+M src/lib-mail/message-binary-part.c
+
+2016-12-22 10:48:27 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (4329474770)
+
+ dovecot.service.in: Improve [service] examples
+
+ Move them inside [service] section so that simply uncommenting them works.
+ Also give a better example of how Environment might be used.
+
+M dovecot.service.in
+
+2016-12-21 21:33:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1fa1180b97)
+
+ replication plugin: Error handling code cleanup
+
+ The old code happened to work in all cases, but it was more of an accident.
+
+M src/plugins/replication/replication-plugin.c
+
+2016-12-21 20:43:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a669d35150)
+
+ lib-sasl: API change - use size_t type for input/output lengths
+
+ It's highly unlikely that the length is ever >4GB, but this avoids any
+ potential problems with integer truncation.
+
+M src/lib-sasl/dsasl-client-private.h
+M src/lib-sasl/dsasl-client.c
+M src/lib-sasl/dsasl-client.h
+M src/lib-sasl/mech-external.c
+M src/lib-sasl/mech-login.c
+M src/lib-sasl/mech-plain.c
+
+2016-12-21 20:39:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (dcb783533a)
+
+ lib-fts: Change fts_icu_*() to use ARRAY_TYPE(icu_utf16) for UTF16 input.
+
+ This makes it clearer how the API is intended to be used.
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-icu.c
+M src/lib-fts/fts-icu.h
+M src/lib-fts/test-fts-icu.c
+
+2016-12-21 19:50:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (00a15fe7cc)
+
+ Fix compiling when compiler doesn't support typeof()
+
+
+M src/lib-dns/test-dns-util.c
+M src/plugins/dict-ldap/dict-ldap.c
+
+2016-12-19 12:16:20 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (261c0ffe76)
+
+ lib-index: Make sure buffer is not null before freeing
+
+ Fixes signal 11 crash under stress.
+
+M src/lib-index/mail-transaction-log-file.c
+
+2016-12-18 22:54:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f59ff04ef9)
+
+ configure: Define __STDC_LIMIT_MACROS for CXXFLAGS
+
+ Fixes SIZE_MAX being undefined when building fts-lucene.
+
+M configure.ac
+
+2016-12-18 13:20:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (55cdf2ed53)
+
+ master: Update assert to make sure optind != 0
+
+ Hopefully prevents Coverity warning about "doubleops[optind]" access being
+ uninitialized.
+
+M src/master/main.c
+
+2016-12-18 12:54:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b48648a49c)
+
+ lib: Remove dead code from unit test
+
+
+M src/lib/test-malloc-overflow.c
+
+2016-11-29 23:37:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ebe00087d3)
+
+ lib: Allow only known %chars in printf_format_fix_noalloc()
+
+ Otherwise if some libc adds a new unsupported character, our %n check might
+ break.
+
+M src/lib/printf-format-fix.c
+
+2016-11-29 23:29:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4baf980b75)
+
+ lib: Fix %n detection in printf_format_fix_noalloc()
+
+ It's undefined how flags, precision or length modifiers are handled with %n,
+ so make sure we catch all of them to detect an unwanted %n.
+
+M src/lib/printf-format-fix.c
+M src/lib/test-printf-format-fix.c
+
+2016-11-29 23:21:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (51292e327a)
+
+ lib: Optimize printf_format_fix_noalloc()
+
+ Using strchr() is faster than looping through the characters manually. Since
+ this function is being called a lot, it's worth optimizing.
+
+M src/lib/printf-format-fix.c
+
+2016-12-17 20:03:46 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4584794477)
+
+ lib-imap-client: Fixed boolean vs integer mixup in debug message format
+ argument.
+
+ Found with Clang -Wstrict-bool.
+
+M src/lib-imap-client/imapc-connection.c
+
+2016-12-16 23:38:58 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (166fc8ba3b)
+
+ lib-http: client: Added test for premature connection loss to
+ test-http-client-errors.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2016-12-16 23:58:43 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fd54a8a6c4)
+
+ lib-http: client: Added test for normal connection backoff behavior to
+ test-http-client-errors.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2016-12-16 23:36:19 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f17ac27e59)
+
+ lib-http: client: Treat connections that get disconnected prematurely as
+ connection failures.
+
+ This means that the backoff time is increased when this happens. A premature
+ disconnection happens when the connection is disconnected before any data is
+ received from the server.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2016-12-16 22:30:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (bad9931efd)
+
+ lib-http: client: Consolidated connection loss handling into a single
+ function.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2016-12-16 22:00:47 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (50188cf354)
+
+ lib-http: client: Moved connection backoff timer management to separate
+ functions.
+
+
+M src/lib-http/http-client-peer.c
+
+2016-12-16 21:41:29 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (fc0b239ad1)
+
+ lib-http: client: Prevent infinite event loop involving the request handler.
+
+ Could happen when a backoff time is active.
+
+M src/lib-http/http-client-peer.c
+
+2016-12-17 11:31:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (637ea12c03)
+
+ master: PROCESS-STATUS output was duplicated many times
+
+
+M src/master/master-client.c
+
+2016-12-15 17:43:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b80e0097ab)
+
+ imapc: Log server disconnection error only once.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2016-12-15 17:45:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5c0d3b064b)
+
+ imapc: Minor debug logging improvement
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2016-12-15 17:36:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bc6b363c7b)
+
+ imapc: Don't retry a failed reconnection before 10 secs have passed
+
+ This mainly avoids a lot of unnecessary connect attempts within a short time
+ period, for example if the caller attempts to perform some work for all the
+ mailboxes.
+
+M src/lib-imap-client/imapc-connection.c
+
+2016-12-15 17:31:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (af577c1138)
+
+ imapc: Fix infinite reconnect loop to remote server that is down
+
+ This happened only in some situations. Usually there would have bene some
+ command in the queue, which would cause the reconnect-check to fail.
+
+M src/lib-imap-client/imapc-connection.c
+
+2016-12-17 10:55:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ad5ece2a07)
+
+ lib: Compiler warning fix for 32bit systems
+
+
+M src/lib/test-malloc-overflow.c
+
+2016-12-12 07:28:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e7d0bea63a)
+
+ global: Make sure *_malloc() calculations won't cause integer overflows.
+
+
+M src/auth/auth-request-var-expand.c
+M src/doveadm/doveadm-dump-index.c
+M src/lib-imap/imap-utf7.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index.c
+M src/lib-master/master-login.c
+M src/lib-program-client/program-client-local.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/mailbox-list.c
+M src/lib/data-stack.c
+M src/lib/hex-binary.c
+M src/lib/str-find.c
+M src/lib/strfuncs.c
+M src/log/log-error-buffer.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/acl/acl-cache.h
+M src/pop3/pop3-client.h
+M src/pop3/pop3-commands.c
+M src/stats/mail-command.c
+M src/stats/mail-domain.c
+M src/stats/mail-ip.c
+M src/stats/mail-session.c
+M src/stats/mail-user.c
+
+2016-12-12 07:19:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2ac5f36aa7)
+
+ global: Change string position/length from unsigned int to size_t
+
+ Mainly to avoid truncating >4GB strings, which might potentially cause some
+ security holes. Normally there are other limits, which prevent such
+ excessive strings from being created in the first place.
+
+ I'm sure this didn't find everything. Maybe everything could be found with
+ compiler warnings. -Wconversion kind of does it, but it gives way too many
+ unnecessary warnings.
+
+ These were mainly found with:
+
+ grep " = strlen" egrep "unsigned int.*(size|len)"
+
+M src/auth/auth-cache.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/db-checkpassword.c
+M src/auth/db-ldap.c
+M src/auth/mech-gssapi.c
+M src/auth/mech-scram-sha1.c
+M src/auth/password-scheme.c
+M src/auth/userdb-dict.c
+M src/config/config-parser-private.h
+M src/config/config-parser.c
+M src/config/config-request.c
+M src/config/doveconf.c
+M src/config/old-set-parser.c
+M src/director/director-connection.c
+M src/doveadm/doveadm-auth-server.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-fs.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-sis.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/imap/cmd-list.c
+M src/imap/cmd-notify.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-subscribe.c
+M src/imap/imap-list.c
+M src/imap/imap-notify.c
+M src/imap/imap-status.c
+M src/imap/main.c
+M src/ipc/main.c
+M src/lib-compression/compression.c
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-lzma.c
+M src/lib-compression/ostream-zlib.c
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-test.c
+M src/lib-fts/fts-filter-english-possessive.c
+M src/lib-fts/fts-icu.c
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/test-fts-tokenizer.c
+M src/lib-http/http-client-request.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap/imap-match.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-utf7.c
+M src/lib-lda/lmtp-client.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-mail/test-mbox-from.c
+M src/lib-mail/test-message-header-parser.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-sync.h
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-notify-tree.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib/array.c
+M src/lib/env-util.c
+M src/lib/failures.c
+M src/lib/istream-base64-encoder.c
+M src/lib/json-parser.c
+M src/lib/module-dir.c
+M src/lib/net.c
+M src/lib/ostream-file.c
+M src/lib/printf-format-fix.c
+M src/lib/printf-format-fix.h
+M src/lib/str-find.c
+M src/lib/str-sanitize.c
+M src/lib/str.c
+M src/lib/strfuncs.c
+M src/lib/test-printf-format-fix.c
+M src/lib/unlink-old-files.c
+M src/lib/var-expand.c
+M src/lmtp/commands.c
+M src/log/log-error-buffer.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy-state.c
+M src/master/master-settings.c
+M src/master/service-process.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/dict-ldap/dict-ldap.c
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-search-args.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-stats/imap-stats-plugin.c
+M src/plugins/mail-crypt/mail-crypt-pluginenv.c
+M src/plugins/mail-crypt/mail-crypt-userenv.c
+M src/plugins/quota/quota-dirsize.c
+M src/replication/aggregator/replicator-connection.c
+
+2016-12-12 05:16:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (19b9eb5baa)
+
+ lib: Optimization - p_strconcat() doesn't need to allocate from data stack
+
+ Various other parts of the code already rely on p_malloc() not overwriting
+ t_buffer_get()'ed data. p_strconcat() can do that as well.
+
+M src/lib/strfuncs.c
+
+2016-12-12 04:55:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7e90e94244)
+
+ lib: *_new(): Use the new MALLOC_MULTIPLY() macro to avoid overflows
+
+ Cast the sizeof() result to unsigned int, because it's definitely always
+ enough and in many cases this allows optimizing away the wrap-check.
+
+M src/lib/data-stack.h
+M src/lib/mempool.h
+
+2016-12-12 04:53:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b716136fc4)
+
+ lib: Add MALLOC_MULTIPLY() and MALLOC_ADD()
+
+ These can be used for calculating memory allocation sizes. If there's an
+ overflow, the macro panics.
+
+M src/lib/Makefile.am
+M src/lib/lib.h
+A src/lib/malloc-overflow.h
+M src/lib/test-lib.inc
+A src/lib/test-malloc-overflow.c
+
+2016-12-12 03:55:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (618262376e)
+
+ lib: Remove t_buffer_*_type()
+
+ The t_buffer_*() shouldn't normally be used anyway except in some low-level
+ string/buffer manipulation code, so there's not much point in trying to make
+ easier to use versions of them.
+
+M src/lib/data-stack.h
+M src/lib/test-data-stack.c
+
+2016-12-12 03:48:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e8df5cfa65)
+
+ master: Removed unused process_exec(extra_args) parameter
+
+ Removes unnecessarily complicated code marked with @UNSAFE.
+
+M src/master/common.h
+M src/master/main.c
+M src/master/service-process.c
+
+2016-12-15 18:15:21 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fa780a18c4)
+
+ lib-storage: Make dovecot.list.index's filename configurable.
+
+ This is useful when there are multiple namespaces pointing to the same mail
+ root directory. For example mdbox with lazy-expunge:
+
+ namespace {
+ prefix = Expunged/
+ location = mdbox:~/mdbox:MAILBOXDIR=expunged:LISTINDEX=expunged.list.index
+ ..
+ }
+
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2016-12-15 18:13:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (33525312d3)
+
+ lib-storage: Deduplicate code into mailbox_list_settings_init_defaults()
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+
+2016-12-16 18:52:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (08b70fe1d4)
+
+ director: Fix crash when using director_flush_socket
+
+ Broken accidentally when merging b44033e45e9f48f8a6e1ac5905234fec5de6d6cc
+
+M src/director/director.c
+
+2016-12-15 19:03:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6460420c38)
+
+ director: Fix USER-KICK and USER-KICK-ALT forwarding
+
+ The internal IPC command was prefixed, which caused the remote director to
+ reject the commands and disconnect:
+
+ director(...): Command proxy: Unknown command proxy director(...): Remote
+ sent invalid protocol data recently, waiting 57 secs before allowing further
+ communication
+
+M src/director/director.c
+
+2016-12-15 19:02:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (365b5a495a)
+
+ director: doveadm command handling was missing USER-KICK-ALT
+
+
+M src/director/doveadm-connection.c
+
+2016-12-15 15:00:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (41579643ee)
+
+ imap: Fix STORE UNCHANGEDSINCE to work with >32bit modseqs.
+
+
+M src/imap/cmd-store.c
+
+2016-12-15 15:20:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (abb5d20d31)
+
+ lib-storage: Fix "*" in SEARCH seqset/uidset
+
+ 4294967295 is used for "*", which matches the last existing message. Which
+ we don't know what it is at the time of search args simplification, so avoid
+ making any assumptions about it.
+
+ It's a bit ugly that 4294967295 can't be used as a valid UID, but this
+ restriction has already existed since the beginning of Dovecot. A future
+ alternative might be to add MAIL_SEARCH_ARG_FLAG_SEQSET_WITH_STAR, but
+ that's a bit complicated change.
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2016-12-15 15:01:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f2c3abe802)
+
+ imapc: Don't allow "*" in SEARCH replies
+
+ Doesn't fix anything, but makes the parsing a bit more correct.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-search.c
+
+2016-12-14 19:36:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (78b806afb6)
+
+ fts-squat: Use file_cache_new_path() for squat indexes
+
+
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+
+2016-12-14 19:35:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (17018da24e)
+
+ lib-index: Use file_cache_new_path() for dovecot.index.cache
+
+
+M src/lib-index/mail-cache.c
+
+2016-12-14 19:35:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c18dcef4da)
+
+ lib: Add file_cache_new_path() to include path in error messages.
+
+
+M src/lib/file-cache.c
+M src/lib/file-cache.h
+
+2016-12-14 23:20:12 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (dc51682326)
+
+ driver-mysql: Do not hex-encode again
+
+ Use correct syntax to provide data to mysql in hex format, without recoding
+ it in hex format again.
+
+M src/lib-sql/driver-mysql.c
+
+2016-12-13 16:04:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9a8217a728)
+
+ lib-storage: Fix crash in obox's dsync-merge
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2016-12-14 19:03:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9c77606aef)
+
+ auth: Don't log errors when cache_key expansion finds unknown %variables
+
+
+M src/auth/auth-cache.c
+
+2016-12-09 16:01:20 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (05546ccd35)
+
+ mail-crypt: Treat empty values correctly
+
+ If mail_crypt_curve or mail_crypt_save_version is left empty, disable the
+ plugin. Don't error out.
+
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+
+2016-12-14 17:39:04 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (beec8b0a6a)
+
+ mail-crypt: Skip tests if dcrypt cannot be initialized
+
+ Avoids breaking tests on system without working ECC keys.
+
+M src/plugins/mail-crypt/test-mail-global-key.c
+M src/plugins/mail-crypt/test-mail-key.c
+
+2016-12-14 11:42:56 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5afa9b93da)
+
+ auth-policy: Allow unsupported attributes in response
+
+ Do not choke if we receive unsupported attributes in response. This allows
+ better interoperability with different systems that are getting signals from
+ auth policy server that are not (yet) supported by dovecot.
+
+M src/auth/auth-policy.c
+
+2016-12-14 10:32:44 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (182093c9a4)
+
+ sha3: Fix typo in ifdef
+
+ The code was supposed to be used with big endian machines.
+
+ Reported by than@redhat.com
+
+M src/lib/sha3.c
+
+2016-12-12 15:21:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (957d34edbe)
+
+ lib-test: Change test_fatal_func_t to take unsigned int stage as parameter.
+
+ It could never be -1, so this makes it clearer. It also removes annoying
+ casts when comparing stage to e.g. N_ELEMENTS().
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+M src/lib/test-array.c
+M src/lib/test-data-stack.c
+M src/lib/test-mempool-alloconly.c
+M src/lib/test-printf-format-fix.c
+
+2016-12-12 15:17:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bc15567c91)
+
+ lib-test: test_run_with_fatals() now takes a const array
+
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2016-12-12 15:16:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (76d4cc8e7a)
+
+ lib-test: Introduce test_fatal_func_t as typedef and comment how it works.
+
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2016-12-13 20:03:41 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (ec8e55a736)
+
+ auth: silence var_expand_with_funcs in db-ldap
+
+ This needs to be silenced since it's logging errors of variable expansions
+ that are not meant to be successful. The function is used here just for
+ filling the attr_names array in ldap_field_find_context and the resulting
+ string is not used.
+
+M src/auth/db-ldap.c
+
+2016-12-12 09:41:02 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b0e6a65a4b)
+
+ doveadm-mail: Set exit code to EX_TEMPFAIL on timeout
+
+ When running `doveadm save` command on proxy/director and the remote command
+ execution times out, exit code must be set to EX_TEMPFAIL.
+
+ Fixes Panic: file doveadm-mail.c: line 405 (doveadm_mail_next_user):
+ assertion failed: (ctx->exit_code != 0)
+
+M src/doveadm/doveadm-mail.c
+
+2016-12-12 09:39:34 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (60bea13e11)
+
+ doveadm-save: Set exit code to EX_TEMPFAIL on open error
+
+ Prevents potential crash on doveadm_mail_next_user
+
+M src/doveadm/doveadm-mail-save.c
+
+2016-12-14 02:51:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f549b400d5)
+
+ lib-imap: imap-bodystructure: Prevent writing erroneous whitespace between
+ items in an envelope address list.
+
+ Both imap_bodystructure_write() and imap_body_parse_from_bodystructure()
+ produced such invalid output. This caused an RFC 3501 violation in IMAP
+ FETCH BODY and BODYSTRUCTURE responses.
+
+ Test suite is amended to test this situation.
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/test-imap-bodystructure.c
+
+2016-12-13 18:31:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d0ed540d89)
+
+ lib-index: Add mail_index_revert_changes()
+
+ This can be used to revert changes done in a transaction to the specified
+ existing mail.
+
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index.h
+
+2016-12-14 10:23:17 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e41e5d5456)
+
+ mail-crypt: Ensure array is created before accessing it
+
+ Fixes segmentation fault on fs-crypt when keys are not configured.
+
+M src/plugins/mail-crypt/mail-crypt-global-key.c
+M src/plugins/mail-crypt/test-mail-global-key.c
+
+2016-12-14 12:46:50 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5898bb384d)
+
+ doveadm-director: Show tag field from response
+
+ Fix off-by-one in doveadm director dump
+
+M src/doveadm/doveadm-director.c
+
+2016-12-13 14:51:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (02c28668f0)
+
+ acl: Don't set acl_defaults_from_inbox=yes as default after all.
+
+ Reverts b56d462fff46511b7efa0ccf254ba93d72322920 and removes the FIXME. Some
+ people might actually want to give someone else access to their INBOX but
+ not to all the other mailboxes. We should make it possible to use the
+ "" mailbox name as the default ACL instead.
+
+M src/plugins/acl/acl-backend.c
+
+2016-12-12 15:14:52 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f153764d47)
+
+ imap: Fix assert when waiting for input on SEARCH/SORT
+
+ Set cmd->state to CLIENT_COMMAND_STATE_WAIT_EXTERNAL because we are not
+ expecting input or output.
+
+ Fixes Panic: file imap-client.c: line 854 (client_check_command_hangs):
+ assertion failed: (client->io != NULL || (client->output_cmd_lock != NULL &&
+ client->output_cmd_lock != client->input_lock))
+
+M src/imap/imap-search.c
+
+2016-12-12 12:37:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (69a9934b56)
+
+ dsync: Fix .dovecot-sync.lock timeout checking
+
+ Whenever the lock file was recreated, the lock timeout was reset. Switched
+ to using file_create_locked(), which already solves this problem and has
+ compatible locking.
+
+M src/doveadm/dsync/dsync-brain.c
+
+2016-12-12 12:53:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0eb3485b45)
+
+ dsync: Improve process title during initialization
+
+ If something is hanging, this should make it clear what exactly it is.
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain.c
+
+2016-12-12 12:42:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6af4e592a0)
+
+ doveadm-server: Show UNIX socket connections as <local> in process title
+
+ Earlier they were shown as empty string.
+
+M src/doveadm/client-connection.c
+
+2016-12-12 12:43:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6c40413c6e)
+
+ doveadm: Add global doveadm_verbose_proctitle setting.
+
+ This previously existed only for doveadm-server, but adding it to doveadm
+ CLI makes it easier to do process title updates for it as well.
+
+M src/doveadm/doveadm.c
+
+2016-12-12 12:51:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (530b5909a9)
+
+ doveadm: When connecting to doveadm-server via TCP, use 30s timeout
+
+ Should be enough, and better than the kernel's default, which might be a lot
+ more.
+
+M src/doveadm/doveadm-util.c
+
+2016-12-12 10:40:20 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (271b8142d9)
+
+ lib-storage: Do not try to recover missing list index
+
+ Fixes Panic: file mailbox-list-index.c: line 342
+ (mailbox_list_index_parse_records): assertion failed: (node != NULL)
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2016-12-05 15:17:30 +0000 Paul Howarth <paul@city-fan.org> (b405360288)
+
+ configure: Fix some implicit function declarations
+
+ Some configure tests fail unexpectedly if the compiler flag
+ -Werror=implicit-function-declarations is enabled, which can result in the
+ wrong implementations being used.
+
+ This compiler flag is now enabled by default in Fedora Rawhide:
+ https://fedoraproject.org/wiki/Changes/Fedora26CFlags
+
+ <stdlib.h> is needed for exit()
+ <string.h> is needed for strcpy()
+
+M m4/mmap_write.m4
+M m4/size_t_signed.m4
+M m4/time_t_signed.m4
+M m4/vararg.m4
+
+2016-12-07 14:23:12 +0100 manuel <manuel@mausz.at> (e823661ef7)
+
+ openssl: Clear error queue after an incomplete SSL_shutdown
+
+ If the SSL_shutdown-call fails (e.g. because the underlaying socket has
+ already been closed) OpenSSL puts the corresponding error into the queue. We
+ don't care about details so we need to clear the queue.
+
+ Otherwise the error will be pulled while error checking the next OpenSSL
+ call of an unrelated connection.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/login-common/ssl-proxy-openssl.c
+
+2016-12-09 15:06:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ee22a48c8a)
+
+ imapc: Don't send NOOP immediately after SELECT
+
+ NOOP is normally used by mailbox syncing to check if there are any changes
+ done by other concurrent IMAP sessions. But doing it immediately after
+ SELECT is unnecessary, because nothing could have changed.
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2016-12-09 11:11:11 +0000 Timo Sirainen <timo.sirainen@dovecot.fi> (b6188d7d62)
+
+ config: Avoid excessive data stack usage when matching local_name
+
+ Moved config_filter_match_local_name() to its own function to make adding
+ the data stack frame easier.
+
+ Based on patch by J. Nick Koston
+
+M src/config/config-filter.c
+
+2016-12-09 09:57:57 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (5ee3c7784c)
+
+ doveadm-server: http: Fixed temp_path_prefix for iostream-temp.
+
+ The temp_path_prefix was "/tmp", which is extended to
+ "/tmp<hostname>.<pid>.<random>" by safe_mkstemp.
+
+ Obviously, mortal users cannot create a file like that, causing this error:
+ doveadm: Error: safe_mkstemp(/tmp) failed: Permission denied
+
+ The temp_path_prefix should have been "/tmp/doveadm.", as it is elsewhere as
+ well.
+
+M src/doveadm/client-connection-http.c
+
+2016-12-08 13:01:48 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (9983cbb4ce)
+
+ lib: add t_strfgmtime and t_strftime
+
+
+M src/lib/test-time-util.c
+M src/lib/time-util.c
+M src/lib/time-util.h
+
+2016-12-08 19:37:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f7bd22354f)
+
+ lib: Improve seq_range_array_invert() unit tests
+
+ Try all possible combinations for seq=0..7 and seq=4294967288..4294967295
+ and make sure they're inverted correctly.
+
+M src/lib/test-seq-range-array.c
+
+2016-12-07 10:19:02 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2aee623fca)
+
+ lib-storage: Add test for inversion of n->max
+
+ In mail-search-simplify-args, ensure that ALL NOT UID 3:* becomes UID 1:2
+
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2016-12-06 11:50:13 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9432496e6b)
+
+ lib-storage: Fix typo in function name
+
+
+M src/lib-storage/mail-search-args-simplify.c
+
+2016-12-08 18:07:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8927ce341a)
+
+ lib: Comment seq_range_array_invert() that its values must be within
+ min_seq..max_seq
+
+
+M src/lib/seq-range-array.h
+
+2016-12-08 17:50:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (369764cc08)
+
+ lib: Fix seq_range_array_invert() when input contains 2^32-1
+
+ This caused next_min_seq to be wrapped to 0, which was handled wrong later
+ on.
+
+ Fixes: Panic: file mail-index-map.c: line 549
+ (mail_index_map_lookup_seq_range): assertion failed: (first_uid > 0)
+
+M src/lib/seq-range-array.c
+M src/lib/test-seq-range-array.c
+
+2016-12-08 09:23:52 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (97745d12bd)
+
+ configure: Moved pandoc check to m4/dovecot.m4
+
+
+M configure.ac
+M m4/dovecot.m4
+
+2016-12-07 00:14:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b8eb3211af)
+
+ cassandra: Treat "Request timed out" also as
+ SQL_RESULT_ERROR_TYPE_WRITE_UNCERTAIN
+
+ CASS_ERROR_SERVER_WRITE_TIMEOUT is "Write timeout" as reported by Cassandra
+ server, while CASS_ERROR_LIB_REQUEST_TIMED_OUT is timeout as reported by the
+ Cassandra library.
+
+M src/lib-sql/driver-cassandra.c
+
+2016-12-05 09:53:06 +0000 Paul Howarth <paul@city-fan.org> (b363b99361)
+
+ configure: Fix HAVE_MYSQL_SSL_CIPHER check
+
+
+M m4/want_mysql.m4
+
+2016-12-06 18:14:31 +0200 Phil Carmody <phil@dovecot.fi> (0c75bec6f7)
+
+ plugins: mail-crypt - fix static analysis pedantry
+
+ Clang cannot see that ret is -1, 0, or 1 upon assigment, and therefore
+ -1 or 0 upon entry into the if block. Therefore it considers ret==0 not to
+ be a tautology if ret!=-1, and thus falsifiable. It concludes that bad
+ things can later happen.
+
+ The easiest way to persuade it otherwise and make it clear to a human that
+ things are sane is to make the first error check to be for any negative ret
+ value, which forces the else path to explicitly imply ret==0, which means
+ that clause can also be removed. Just removing the ret==0 doesn't make it so
+ clear to the human that there's no third case.
+
+ The final change is simply to mimic the ret==-1 to ret<0 change earlier.
+
+ clang's error message:
+
+ doveadm-mail-crypt.c:290:14: error: variable 'pubid' is used uninitialized
+ whenever '&&' condition is false [-Werror,-Wsometimes-uninitialized]
+ } else if (ret == 0 &&
+ ^~~~~~~~ doveadm-mail-crypt.c:304:35: note: uninitialized use
+ occurs here
+ res->id = p_strdup(_ctx->pool, pubid);
+ ^~~~~ doveadm-mail-crypt.c:290:14: note:
+ remove the '&&' if its condition is always true
+ } else if (ret == 0 &&
+ ^~~~~~~~~~~
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2016-12-05 17:29:08 +0200 Phil Carmody <phil@dovecot.fi> (dc38a5b101)
+
+ lib/macros.h - protect old compilers from use of modern features
+
+ no_sanitize(integer) is not in 3.5 (debian stable's version), but is
+ documented in 3.9. Exactly when it appeared isn't immediately obvious.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/macros.h
+
+2016-12-04 03:45:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (18535eaa6c)
+
+ configure: Fix building without OpenSSL
+
+ AM_CONDITIONAL() needs to be part of the code path that is always run, or it
+ fails with:
+
+ configure: error: conditional "SSL_VERSION_GE_102" was never defined.
+
+M m4/ssl.m4
+
+2016-12-03 20:48:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (db40a9dd97)
+
+ dsync: Fixed boolean expression in dsync_mailbox_import_deinit().
+
+ Found with Clang -Wstrict-bool.
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2016-12-02 22:42:24 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b1533bd0dd)
+
+ dsync: Fix log format string broken by earlier change
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+
+2016-12-01 02:29:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (df8046c9a4)
+
+ lib-storage: Fix simplifying sequence sets and UID sets.
+
+ They were being handled completely wrong. The unit tests testing them were
+ also completely wrong.
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2016-12-01 02:26:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c8bac7666c)
+
+ lib: seq_range_array_*(): Fix seq2=2^32-1 handling
+
+ Adding/merging it when it already existed added duplicated seq_range.
+
+M src/lib/seq-range-array.c
+M src/lib/test-seq-range-array.c
+
+2016-12-01 00:56:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (44e07ea4de)
+
+ lib-storage: Return vsize=0 from mailbox list index for empty mailboxes.
+
+ If it's known that the mailbox has no mails, there's no reason to open the
+ mailbox to see that its size is 0.
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2016-11-30 15:59:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d640b628f2)
+
+ dict-client: Don't timeout lookups without waiting 1sec in dict ioloop.
+
+ What could have happened was:
+
+ - dict-client sends a request to dict-server
+ - dict-client process starts doing something else
+ - dict-server answers
+ - dict-client process continues doing something else for over 30 seconds,
+ not reading the dict-server answer
+ - dict-client process gets back to dict ioloop, which runs the timeout
+ before checking if there is anything available for reading.
+
+ Now we'll wait for 1 second in the last dict ioloop before assuming that
+ there's a timeout.
+
+M src/lib-dict/dict-client.c
+
+2016-12-02 22:29:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cabf98de01)
+
+ dsync: Add mailbox names as well as GUIDs to log messages.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+
+2016-12-01 19:06:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4f7951e711)
+
+ dsync: When logging "Mailbox changed caused a desync", log also the reason.
+
+ The reason is usually somewhere in the debug logs, but it's difficult to
+ find from there.
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2016-12-01 01:38:02 -0600 J. Nick Koston <nick@cpanel.net> (fb13dfaa90)
+
+ config: Match multiple names in local_name
+
+ This can significantly reduce memory usage when using a UCC certificate with
+ multiple names by only loading the certificate and key once.
+
+M src/config/config-filter.c
+
+2016-11-24 04:06:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2ec4ab6f5a)
+
+ quota: Don't skip quota checks when moving mails between different quota
+ roots.
+
+
+M src/plugins/quota/quota-storage.c
+
+2016-11-24 20:40:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d0d37a769d)
+
+ lib-storage: Add struct mail_save_context.copy_src_mail
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2016-11-30 02:17:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0ad3dea8cb)
+
+ man: Update doveadm director flush description
+
+
+M doc/man/doveadm-director.1.in
+
+2016-11-30 12:34:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0bd01b003f)
+
+ lib-storage: If mailbox_create() fails, don't leave box in partially opened
+ state.
+
+ For example with sdbox it may have opened the indexes, but not set mailbox's
+ GUID. A following MAILBOX_METADATA_GUID would then assert-crash because GUID
+ is empty.
+
+M src/lib-storage/mail-storage.c
+
+2016-11-30 00:28:08 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ceb2c6d913)
+
+ mail-crypt: Remove dead assigment
+
+
+M src/plugins/mail-crypt/mail-crypt-key.c
+
+2016-11-29 23:19:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a62b4fb5f0)
+
+ lib: Add test for hmac helper
+
+
+M src/lib/test-hmac.c
+
+2016-11-29 23:18:56 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ffe51a1969)
+
+ lib: Add hmac helpers
+
+ These run hmac for given data with given parameters and returns stack
+ allocated buffer. They are helpful when doing lots of HMACs, such as the
+ AWS4 signing protocol.
+
+M src/lib/hmac.c
+M src/lib/hmac.h
+
+2016-11-29 15:20:26 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (134b5022c0)
+
+ lib: add tests for HMAC-SHA256 from RFC 4231
+
+
+M src/lib/Makefile.am
+A src/lib/test-hmac.c
+M src/lib/test-lib.inc
+
+2016-11-28 23:05:16 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (156e2ce64b)
+
+ mail-crypt: Do not attempt to cache keys on failure
+
+
+M src/plugins/mail-crypt/mail-crypt-key.c
+
+2016-11-29 10:57:49 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (be569425db)
+
+ autogen: Use HTTPS for wiki
+
+
+M autogen.sh
+
+2016-11-28 15:20:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2223b7a448)
+
+ lib-dcrypt: Add error handling for dcrypt_key_id_private
+
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2016-11-28 15:17:55 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (bf2d54df4f)
+
+ mail-crypt: Add error handling for mailbox_open in tests
+
+
+M src/plugins/mail-crypt/test-mail-key.c
+
+2016-11-28 15:15:21 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7a8b59bce6)
+
+ doveadm-mail-crypt: Skip existing keys properly
+
+ When generating new keypairs, handle existing keys correctly when skipping
+ them.
+
+M src/plugins/mail-crypt/doveadm-mail-crypt.c
+
+2016-11-28 14:52:50 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (179e0558e2)
+
+ mail-crypt: Do not attempt to cache freed keypair
+
+
+M src/plugins/mail-crypt/mail-crypt-key.c
+
+2016-11-28 14:51:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a027af9ace)
+
+ mail-crypt-acl: Use mailbox_get_last_error instead of error
+
+
+M src/plugins/mail-crypt/mail-crypt-acl-plugin.c
+
+2016-11-28 14:45:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4b6d6a97c7)
+
+ mail-crypt: Fail if key is not found and save_version less than 2
+
+ Fail if save version is set to 0 or 1, instead of trying to use undefined
+ value for public key.
+
+M src/plugins/mail-crypt/mail-crypt-plugin.c
+
+2016-11-28 13:36:56 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e6459e62bb)
+
+ mail-crypt: Skip undef values if OpenSSL is <1.0.2
+
+ OpenSSL 1.0.1 and earlier generate undef warnings due to using stack as
+ randomness source in a way that valgrind does not like, so we disable undef
+ value checks for mail-crypt-plugin.
+
+M src/plugins/mail-crypt/Makefile.am
+
+2016-11-28 13:32:16 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (85670e2157)
+
+ m4: Detect OpenSSL version 1.0.2
+
+ valgrind cannot work in all cases if openssl version is 1.0.2, so we need to
+ know this to selectively disable valgrind.
+
+M m4/ssl.m4
+
+2016-11-28 14:12:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (704ae505d9)
+
+ dovecot.m4: Add NOUNDEF option to run-test.sh
+
+ Using this environment variable will disable undefined value errors in
+ valgrind.
+
+M m4/dovecot.m4
+
+2016-11-28 13:52:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f9f30736bc)
+
+ lib-index: mail_transaction_log_file_sync(): Don't mix I/O errors and
+ corruption
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2016-11-28 14:40:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9097643138)
+
+ acl: Fix compiler warning
+
+
+M src/plugins/acl/acl-backend.c
+
+2016-11-28 05:21:06 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (b56d462fff)
+
+ acl-plugin: remove acl_defaults_from_inbox option
+
+ INBOX ACLs will be used by default from now on.
+
+M src/plugins/acl/acl-backend.c
+
+2016-11-28 13:04:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9018d05c38)
+
+ lib-index: Fix assert-crash after "log file shrank" error.
+
+ Fixes: Panic: file buffer.c: line 316 (buffer_set_used_size): assertion
+ failed: (used_size <= buf->alloc)
+
+M src/lib-index/mail-transaction-log-file.c
+
+2016-11-25 01:45:29 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (228765c459)
+
+ Add suppression for openssl leak
+
+
+M run-test-valgrind.supp
+
+2016-11-25 00:45:35 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (62534baa3e)
+
+ mail-crypt: Add manpage
+
+
+M .gitignore
+M doc/man/Makefile.am
+A doc/man/doveadm-mailbox-cryptokey.1.in
+M doc/man/doveadm-mailbox.1.in
+
+2016-11-24 14:48:03 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4c78d9e646)
+
+ mail-crypt: Add mail-crypt plugin
+
+
+M configure.ac
+M src/plugins/Makefile.am
+A src/plugins/mail-crypt/Makefile.am
+A src/plugins/mail-crypt/doveadm-mail-crypt.c
+A src/plugins/mail-crypt/fs-crypt-common.c
+A src/plugins/mail-crypt/fs-crypt-settings.c
+A src/plugins/mail-crypt/fs-crypt-settings.h
+A src/plugins/mail-crypt/fs-crypt.c
+A src/plugins/mail-crypt/fs-mail-crypt.c
+A src/plugins/mail-crypt/mail-crypt-acl-plugin.c
+A src/plugins/mail-crypt/mail-crypt-common.h
+A src/plugins/mail-crypt/mail-crypt-global-key.c
+A src/plugins/mail-crypt/mail-crypt-global-key.h
+A src/plugins/mail-crypt/mail-crypt-key.c
+A src/plugins/mail-crypt/mail-crypt-key.h
+A src/plugins/mail-crypt/mail-crypt-plugin.c
+A src/plugins/mail-crypt/mail-crypt-plugin.h
+A src/plugins/mail-crypt/mail-crypt-pluginenv.c
+A src/plugins/mail-crypt/mail-crypt-userenv.c
+A src/plugins/mail-crypt/test-mail-global-key.c
+A src/plugins/mail-crypt/test-mail-key.c
+
+2016-11-25 09:49:25 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b3a968f434)
+
+ lib-dcrypt: Use module_dir setting
+
+
+M src/lib-dcrypt/Makefile.am
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dcrypt/test-stream.c
+
+2016-11-25 09:48:43 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3f6149c3fd)
+
+ lib-dcrypt: Add module_dir setting
+
+ This is needed for unit tests that require dcrypt, so that they can load
+ backend without installing it first.
+
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+
+2016-11-21 23:19:26 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1bb13a311b)
+
+ lib-http: client: Fixed assert failure occurring when a new connection fails
+ for a peer that has active connections.
+
+ Fixes: Panic: file http-client-queue.c: line 481
+ (http_client_queue_connection_failure): assertion failed: (queue->cur_peer
+ == NULL)
+
+M src/lib-http/http-client-queue.c
+M src/lib-http/test-http-client-errors.c
+
+2016-11-28 03:26:01 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (a81d5c3f5a)
+
+ global: Added missing copyright notices.
+
+
+M src/auth/auth-policy.c
+M src/auth/mech-plain-common.c
+M src/auth/mycrypt.c
+M src/auth/password-scheme-rpa.c
+M src/doveadm/doveadm-print-formatted.c
+M src/doveadm/doveadm-print-json.c
+M src/lib-dcrypt/dcrypt-gnutls.c
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dcrypt/test-stream.c
+M src/lib-dns/test-dns-util.c
+M src/lib-fts/fts-library.c
+M src/lib-fts/fts-tokenizer-common.c
+M src/lib-http/http-request.c
+M src/lib-http/http-response.c
+M src/lib/pkcs5.c
+
+2016-11-25 16:14:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (323c4e6d0c)
+
+ lib-storage: Fix raw storage to sync mailboxes correctly.
+
+ Broken by b9da8540e665138b3cad0b637c08c0ab7d7a7eeb
+
+M src/lib-storage/index/raw/raw-sync.c
+
+2016-11-25 15:34:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7a1c347903)
+
+ lib-storage: Fix error handling in mailbox_list_index_refresh_force()
+
+ Broken by recent changes.
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2016-11-22 01:28:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e8e00a579e)
+
+ mkcert.sh: Use umask to create key file as 0600
+
+ Fixes a race condition between creation of the file and a later chmod. This
+ script was mostly meant as an example though, and not really for production
+ use. Especially because it generates self-signed certs. CVE-2016-4983
+
+M doc/mkcert.sh
+
+2016-11-24 18:12:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (96088ba9ef)
+
+ mdbox: Rebuild index after it's been fsck'd
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-map.h
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+
+2016-11-24 18:12:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3d758b4fad)
+
+ sdbox: Rebuild index after it's been fsck'd
+
+
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2016-11-24 17:52:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (22436f3cbb)
+
+ lib-storge: Call mail_storage.list_index_corrupted() when needed
+
+ The callback is called whenever mailbox list index appears to be corrupted
+ with LAYOUT=index. The storage is responsible for adding to the index any
+ mailboxes that are missing.
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2016-11-24 15:50:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (857c471c13)
+
+ lib-storage: Add mail_storage.list_index_corrupted()
+
+ The actual implementation is in the next commit.
+
+M src/lib-storage/fail-mail-storage.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-deleted-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/plugins/virtual/virtual-storage.c
+
+2016-11-24 17:16:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c5073d5b57)
+
+ lib-index: Add mail_index_unset_fscked()
+
+ This can be used to easily remove MAIL_INDEX_HDR_FLAG_FSCKD. It takes a
+ transaction parameter instead of sync_ctx because some index rebuilds are
+ done with a separate transaction while the sync_ctx is rolled back.
+
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index.h
+
+2016-11-24 15:49:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (02d6628c1f)
+
+ lib-index: fsck now adds MAIL_INDEX_HDR_FLAG_FSCKD to header.
+
+ It can only be removed by an explicit header update.
+
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index.h
+
+2016-11-24 15:41:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (de258127e1)
+
+ lib-storage: Rename mailbox_list_index.corrupted to
+ corrupted_names_or_parents
+
+ Makes it clearer what exactly the flag means.
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2016-11-24 15:14:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ca2f326081)
+
+ lib-index: If index open fails with fsck, retry opening once.
+
+ The fsck should have fixed the log offsets and open should work.
+
+M src/lib-index/mail-index-map-read.c
+
+2016-11-24 15:12:21 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (826f767b60)
+
+ lib-index: fsck: Fix log_file_head|tail_offset properly
+
+
+M src/lib-index/mail-index-fsck.c
+
+2016-11-25 10:22:18 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3c503fa10d)
+
+ lib-dcrypt: Add assert that vfs is initialized
+
+
+M src/lib-dcrypt/dcrypt.c
+
+2016-11-24 19:53:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (25e4617fb7)
+
+ lib-storage: Fail if no namespaces have list=yes
+
+ The previous check allowed all namespaces to have list=children. This
+ crashed later on in mail_namespaces_get_root_sep(), because it couldn't find
+ any list=yes namespaces.
+
+M src/lib-storage/mail-namespace.c
+
+2016-11-25 00:17:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7a73401fd0)
+
+ lib-index: Compiler warning fix
+
+
+M src/lib-index/mail-transaction-log.c
+
+2016-11-22 18:34:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0bbddb0182)
+
+ lib-mail: Add randomness test to test-mail-html2text
+
+
+M src/lib-mail/test-mail-html2text.c
+
+2016-11-22 18:33:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e61d5a4bad)
+
+ lib-mail: Fix assert-crash in mail_html2text_more() with invalid input.
+
+ parse_data() continues forward thinking that it might have valid input,
+ until it has enough data and realizes that there's nothing valid. This
+ triggers:
+
+ Panic: file mail-html2text.c: line 312 (mail_html2text_more): assertion
+ failed: (pos >= buf_orig_size)
+
+M src/lib-mail/mail-html2text.c
+M src/lib-mail/test-mail-html2text.c
+
+2016-11-19 02:32:21 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a44866b012)
+
+ lib: Clarify that buffer_write() zero-fills buffer when writing past its
+ size
+
+
+M src/lib/buffer.h
+M src/lib/test-buffer.c
+
+2016-11-19 01:54:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6d40434875)
+
+ global: Code cleanup - avoid passing NULL to functions with non-null
+ parameter
+
+
+M src/lib-dcrypt/test-stream.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib/buffer.c
+M src/lib/istream.c
+
+2016-11-19 02:00:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fced91d631)
+
+ global: Avoid unnecessary unsigned integer wraps.
+
+ Avoids complains from clang -fsanitize=integer
+
+M src/indexer/master-connection.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+
+2016-11-19 01:59:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a05819736f)
+
+ global: Avoid loops unnecessarily decreasing below zero.
+
+ Avoids complains from clang -fsanitize=integer
+
+M src/lib-mail/message-address.c
+M src/lib-mail/message-snippet.c
+M src/lib/sha3.c
+
+2016-11-19 01:57:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (21484e1629)
+
+ lib: Mark md4/md5/sha1/sha2 code with ATTR_UNSIGNED_WRAPS
+
+
+M src/lib/md4.c
+M src/lib/md5.c
+M src/lib/sha1.c
+M src/lib/sha2.c
+
+2016-11-19 01:56:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2c488bf1ca)
+
+ lib-index: mail_index_map_register_ext(ext_offset=-1) now sets hdr_offset=-1
+
+ It shouldn't make any difference, but this is a less confusing value.
+
+M src/lib-index/mail-index-map.c
+
+2016-11-19 01:39:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (08b8883175)
+
+ lib: Add ATTR_UNSIGNED_WRAPS for disabling clang -fsanitize=integer
+
+
+M src/lib/macros.h
+
+2016-11-24 23:26:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (80528a9510)
+
+ lib-index: Compiler warning fix.
+
+
+M src/lib-index/mail-transaction-log.c
+
+2016-11-23 23:19:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ec4beaa760)
+
+ lib-storage: Rotate dovecot.list.index.log* more often.
+
+ The history in these files isn't as important as in mailbox indexes. Reduce
+ disk space usage by rotating them more often and deleting the
+ .log.2 more quickly.
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2016-11-23 23:12:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b66a207ddc)
+
+ lib-index: Add mail_index_set_log_rotation()
+
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+
+2016-11-23 22:42:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (55c8802363)
+
+ lib-storage: Try harder to rename a corrupted mailbox name to its old name.
+
+ If the old name exists, use it as a prefix for the new name. This is
+ especially useful when restoring autocreated mailboxes. A new mailbox could
+ have already been autocreated, but it's still useful to have the broken one
+ renamed with the same prefix, so it'll be clear that these mailboxes should
+ be merged.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2016-11-24 19:32:44 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b78c415868)
+
+ dsync: Do not try replace remote folder GUID when doing oneway sync
+
+ Oneway sync tried to replace remote folder's GUID when running in one way
+ mode. This causes trouble, e.g. when running with imapc, because you can't
+ do this.
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+
+2016-11-23 18:43:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (215fecae37)
+
+ lib-storage: Fix rotation of dovecot.list.index.log
+
+ After b9da8540e665138b3cad0b637c08c0ab7d7a7eeb the tail offsets weren't
+ being updated anymore when mail_index_sync_next() wasn't used to skip over
+ all the data. Mailbox list index wasn't doing this, and so the log was never
+ rotated since tail_offset was never equal to head_offset.
+
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+
+2016-11-23 17:14:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (22788c0ac1)
+
+ imapc: Fix assert that checks if mail is expunged locally.
+
+ The EXPUNGE may have been sent while imapc_sync_index() was issuing remote
+ imapc commands. It would end up being in delayed_expunged_uids, so the
+ assert needs to check that too.
+
+ Fixes: Panic: file imapc-sync.c: line 290 (imapc_initial_sync_check):
+ assertion failed: (mail_index_is_expunged(view, lseq))
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2016-11-23 17:14:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (724c4a962e)
+
+ imapc: Cleanup - change delayed_expunged_uids to seq_range.
+
+ This simplifies the next commit.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2016-11-23 15:57:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (99abb1302a)
+
+ auth: Don't crash expanding %variables when username isn't set.
+
+ This continues the auth-policy fix in
+ c3d3faa4f72a676e183f34be960cff13a5a725ae
+
+M src/auth/auth-request-var-expand.c
+
+2016-11-23 13:25:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (172b6edea3)
+
+ sdbox: Don't log an error if stub is added twice
+
+ There's no locking for them, so it's fine if two processes add the same
+ mail. The second one could be ignored, but it was a bit easier to just let
+ it rename over the first one.
+
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-file.h
+M src/lib-storage/index/dbox-single/sdbox-save.c
+
+2016-11-23 13:16:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c3d3faa4f7)
+
+ auth: Fix auth-policy crash when username is NULL
+
+ If SASL request is invalid, or incomplete, and username is left NULL, handle
+ it gracefully by adding just NUL byte in auth policy digest for username.
+
+M src/auth/auth-policy.c
+
+2016-11-22 10:21:24 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (08e9fd42eb)
+
+ lib-storage: require MAIL_STORAGE_CLASS_FLAG_STUBS when caching
+
+ If we are going to be using the storage for caching, we should check that
+ the storage actually supports mail stubs.
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2016-11-22 18:00:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9d92ea347e)
+
+ lib-fts: Add randomness test to test-fts-tokenizer
+
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2016-11-22 16:35:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b1b0b2b543)
+
+ lib-fts: Make sure address tokenizer can't return empty tokens.
+
+ This happened when address was a token that first looked like it could be a
+ valid address, but then got truncated due to reaching maxlen, followed by
+ truncating the UTF8-sequence and finally all the rest of the '-' or
+ '.' chars that were valid at the beginning of the address are stripped away
+ by fts_tokenizer_delete_trailing_invalid_char(), leaving nothing left.
+
+ Fixes: Panic: file fts-tokenizer.c: line 206 (fts_tokenizer_next): assertion
+ failed: (ret <= 0 || (*token_r)[0] != '\0')
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2016-11-22 17:31:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (edc654a35c)
+
+ lib-fts: Fix fts_tokenizer_delete_trailing_partial_char() unit test
+
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2016-11-22 12:03:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9644b79144)
+
+ lib-index: Handle invalid headers as "corruption", not "temporary error"
+
+ This is especially required for "Header's corrupted flag is set" error,
+ which won't get fixed otherwise.
+
+ It's a bit more questionable if we should treat major version or CPU
+ architecture change as corruption, but it's possible those only exist
+ because of corruption. It's also very unlikely that either is really
+ happening. Ideally there would be a hash that verifies whether the header is
+ corrupted or not.
+
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map-read.c
+
+2016-11-22 10:59:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (542d7a4afa)
+
+ dict-client: dict_lookup*() deleted the first byte of the result.
+
+
+M src/lib-dict/dict-client.c
+
+2016-11-21 14:05:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5de0c65da3)
+
+ quota-clone: Flush quota-clone 10s after quota update if it's not already
+ done
+
+ This way a long-running IMAP session can't keep the quota-clone desynced for
+ a long time.
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+
+2016-11-21 14:02:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (588a057905)
+
+ quota-clone: Code cleanup - moved recursion check to quota_clone_flush()
+
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+
+2016-11-21 23:43:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cacaa94d25)
+
+ lib-dict: Add extra NULL-check to make static analyzer happier
+
+ str_array_length() already checked NULL internally though.
+
+M src/lib-dict/dict-client.c
+
+2016-11-21 13:57:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (52d2b356e3)
+
+ lib-index: Limit mmap errors in txn log file to 1/s
+
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+
+2016-11-21 13:53:50 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e9594e86dc)
+
+ lib-index: Limit mmap errors in index cache to 1/s
+
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+
+2016-11-21 13:34:57 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (12f0c4396d)
+
+ lib-index: Limit mmap syscall errors in index to 1/s
+
+
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-private.h
+
+2016-11-21 13:33:42 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9e0b187933)
+
+ lib-index: Do not crash if log is missing
+
+ Fixes sigfault when index and index.log files are corrupted.
+
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-view.c
+
+2016-11-21 19:05:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (44c54229a1)
+
+ dict-client: Server can now send command replies in any order.
+
+ This way one slow lookup doesn't block all the other ones.
+
+ This change keeps backwards compatibility in the dict protocol for both
+ client and server.
+
+M src/dict/dict-commands.c
+M src/dict/dict-connection.h
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-client.h
+
+2016-11-21 19:04:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1fb0136a1e)
+
+ dict: Make sure iterate doesn't add to ostream when it's already full.
+
+
+M src/dict/dict-commands.c
+
+2016-11-21 18:52:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (af298f9a4c)
+
+ dict: Moved iterate's corking to more correct location.
+
+ Commands' input handling already corks ostream in connection.c. ostream's
+ flush callback corks the ostream automatically. So the only place left for
+ corking is in dict iterate callback.
+
+M src/dict/dict-commands.c
+
+2016-11-21 18:46:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d485968ffb)
+
+ dict-client: Include reconnection-status in slow dict lookup messages.
+
+
+M src/lib-dict/dict-client.c
+
+2016-11-21 16:55:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2525acc19a)
+
+ dict-client: Add warn_slow_msecs setting
+
+ This allows configuring the default 5 seconds "slow dict lookup" warning.
+
+M src/lib-dict/dict-client.c
+
+2016-11-21 16:45:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8e1491e492)
+
+ dict-client: Add time spent in dict-server to "slow dict lookup" messages.
+
+ This way you can see if the slowness was due to some communication problem
+ between dict-client/server or internally in dict server.
+
+ This change keeps backwards compatibility in the dict protocol for both
+ client and server.
+
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/dict/dict-connection.h
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-client.h
+
+2016-11-21 16:44:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fc494f1578)
+
+ dict-client: Code cleanup - handle tab-unescaping before callbacks.
+
+
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-client.h
+
+2016-11-21 13:29:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (95e4021e3e)
+
+ lib-index: Revert log flooding prevention / 3c014db6f
+
+ This was intended only for mmap() errors.
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+
+2016-11-19 04:04:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0c4a3ccaab)
+
+ fts: Fixed potential crash when indexing mails.
+
+ Normally it seems like compilers had built code that had added a NULL after
+ the array, but there was no guarantee for that.
+
+M src/plugins/fts/fts-parser.c
+
+2016-11-18 16:03:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (551fef69c0)
+
+ imap: Fix recent flags importing when un-hibernating
+
+ The initial RECENT counter that was sent didn't include pre-hibernation
+ \Recent flags.
+
+ \Recent flags were also added for mails that were already expunged, which
+ could have caused recent counter to be wrong later on, and possibly
+ assert-crash with:
+
+ Panic: file index-status.c: line 130 (index_storage_get_open_status):
+ assertion failed: (status_r->recent <= status_r->messages)
+
+M src/imap/imap-state.c
+
+2016-11-18 16:58:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (591f83c40a)
+
+ lib-index: Improve errors - return reason in mail_transaction_log_refresh()
+
+
+M src/lib-index/mail-transaction-log.c
+
+2016-11-18 16:52:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c0d1bfc45e)
+
+ lib-index: Improve errors - return reason in
+ mail_transaction_log_file_open()
+
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+
+2016-11-18 16:41:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6321d9d339)
+
+ lib-index: Add more information to "Missing middle file" error.
+
+
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/test-mail-transaction-log-view.c
+
+2016-11-18 16:27:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8dfabfbc77)
+
+ lib-index: mail_transaction_log_find_file() - remove wrong optimization.
+
+ When opening the index, it's possible that:
+
+ process A: .log is opened with seq=1 process B: Rotates the .log and writes
+ a new dovecot.index with
+ log_file_seq=2 process A: dovecot.index is opened.
+ mail_transaction_log_view_set() now
+ wants to file log_file_seq=2 with mail_transaction_log_find_file(), but
+ because open_count==0, the .log isn't refreshed.
+
+M src/lib-index/mail-transaction-log.c
+
+2016-11-18 16:15:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0fd7143c38)
+
+ lib-index: Compiler warning fix
+
+
+M src/lib-index/mail-index-map-read.c
+
+2016-11-18 15:46:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6ade0d7625)
+
+ lib-index: If mmap() fails, include the attempted size in the error.
+
+
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-transaction-log-file.c
+
+2016-11-18 15:39:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ac27e84055)
+
+ lib-storage: Fix checking stub_seq failure in mailbox_save_set_uid()
+
+
+M src/lib-storage/mail-storage.c
+
+2016-11-18 15:17:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e42e27fcc4)
+
+ sdbox: Implement support for mail stubs
+
+
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+
+2016-11-18 15:16:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (61cae213dc)
+
+ lib-storage: Add support for storing "mail stubs"
+
+ These allow treating a storage backend as a cache where the mail bodies
+ don't necessarily exist.
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2016-11-18 14:10:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2f26f75219)
+
+ imapc: %zu isn't standard, use PRIuSIZE_T instead.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2016-11-15 18:39:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a5b64f1abb)
+
+ lib: Add connection.allow_empty_args_input
+
+ This simplifies input_args() callbacks since they don't always have to check
+ for args[0] == NULL. This is enabled by default, because none of the current
+ users want it and it's somewhat unlikely there even will be those in future.
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2016-11-17 15:59:02 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (990d55ce3f)
+
+ lib-storage: fix index_mail_get_headers return value
+
+ And make it more obvious that we're not setting the actual return value in
+ index_mail_get_first_header.
+
+M src/lib-storage/index/index-mail-headers.c
+
+2016-11-18 01:23:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b9da8540e6)
+
+ lib-index: Fix detecting whether caller synced everything in mailbox.
+
+ When mailbox_index_sync_begin() was followed by _commit(), without _next()s
+ in the middle actually syncing the mailbox, the tail_offset was updated to
+ indicate that the mailbox was fully synced. Existing code didn't rely on
+ this, so it probably didn't break anything.
+
+ This code hasn't worked for a long time, because log_view is always read
+ fully to the end in _sync_begin().
+
+M src/lib-index/mail-index-sync.c
+
+2016-11-15 00:42:27 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (30b849c263)
+
+ lib-storage: Add mail_storage_service_user_get_pool()
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2016-11-15 00:41:38 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (096e109f9f)
+
+ global: Replace some settings_parse_line() calls with
+ settings_parse_keyvalue()
+
+
+M src/config/config-parser.c
+M src/doveadm/doveadm-dsync.c
+M src/lib-storage/mail-storage-service.c
+
+2016-11-15 00:36:57 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (e5ce686a6f)
+
+ lib-settings: Add settings_parse_keyvalue()
+
+
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings-parser.h
+
+2016-11-14 23:32:05 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (16402358d7)
+
+ lib-settings: Avoid duplicating settings' values when not needed
+
+
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings-parser.h
+
+2016-11-14 22:57:41 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (431fb3b0f8)
+
+ imapc: Use struct mail_namespace.user_set
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2016-11-14 22:43:07 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (46e917c9fa)
+
+ lib-storage: Add mail_namespace_get_driver_settings() and use it.
+
+ It obsoletes mail_storage_get_driver_settings().
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2016-11-14 22:32:42 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (5b82f3b2f5)
+
+ lib-storage: Add struct mail_namespace.user_set
+
+
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-namespace.h
+
+2016-11-14 18:34:02 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (2c067d5cd0)
+
+ lib-storage: Use mail_namespace_alloc() for mail_namespaces_init_location()
+
+ Based on patch by Jeff Sipek
+
+M src/lib-storage/mail-namespace.c
+
+2016-11-14 18:33:37 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (aafbaa45a6)
+
+ lib-storage: Add mail_namespace_alloc()
+
+ This makes it easier to create new namespaces. Based on patch by Jeff Sipek
+
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-namespace.h
+
+2016-11-10 13:19:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (045d5940e8)
+
+ lib-storage: Add asserts to make sure mailbox_header_lookup_ctx is used
+ correctly.
+
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail.c
+
+2016-11-14 17:41:23 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (9e6d83a3ef)
+
+ lib-index: Added mail_index_transaction_get_highest_modseq()
+
+
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log-file.c
+
+2016-11-14 17:37:31 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (a42d489d99)
+
+ lib-index: Added internal mail_index_transaction_finish_so_far()
+
+ This can be called multiple times before mail_index_transaction_finish().
+ It's going to perform all the work of reordering mails and dropping
+ unnecessary changes that can be done before changing sequences to UIDs.
+
+ This will be needed for the following patch that implements
+ mail_index_transaction_get_highest_modseq().
+
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/test-mail-index-transaction-finish.c
+
+2016-11-14 17:22:53 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (f09d034460)
+
+ lib-index: Assert if mail_index_transaction_sort_appends() sees any uid==0
+
+ Every mail must have an UID at this stage.
+
+M src/lib-index/mail-index-transaction-sort-appends.c
+
+2016-10-31 10:49:38 +0000 Paul Howarth <paul@city-fan.org> (0793a1dbdf)
+
+ configure: Fix build with old OpenSSL without SSL_clear_options
+
+ SSL_clear_options was introduced in OpenSSL 0.9.8m but may be backported to
+ older versions in "enterprise" OS releases, so a version check is
+ insufficient here.
+
+ It was originally implemented as a macro but is a function in more recent
+ OpenSSL versions, so a test that works for both cases is needed.
+
+M m4/ssl.m4
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2016-11-17 17:13:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (57dd2621d4)
+
+ lib-index: Make sure an already-corrupted index/log isn't written
+
+
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-transaction-log-file.c
+
+2016-09-15 11:34:30 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f7060b8499)
+
+ lib: Add test for iostream-proxy
+
+
+M src/lib/Makefile.am
+A src/lib/test-iostream-proxy.c
+M src/lib/test-lib.inc
+
+2016-09-15 11:33:01 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (26e7bc65f1)
+
+ lib: Add iostream-proxy
+
+ iostream-proxy proxies data between two pairs of istream/ostream.
+
+M src/lib/Makefile.am
+A src/lib/iostream-proxy.c
+A src/lib/iostream-proxy.h
+
+2016-09-15 14:33:10 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4d91815187)
+
+ lib: Add tests for iostream-pump
+
+
+M src/lib/Makefile.am
+A src/lib/test-iostream-pump.c
+M src/lib/test-lib.inc
+
+2016-09-15 13:57:46 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (08c0bffa1c)
+
+ lib: Add iostream-pump
+
+
+M src/lib/Makefile.am
+A src/lib/iostream-pump.c
+A src/lib/iostream-pump.h
+
+2016-11-17 02:48:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (08b9350b17)
+
+ imapc: Fix assert-crash when deleting mailbox triggers
+ mailbox_get_open_status().
+
+ For example vsize header updating triggers this.
+
+ Fixes: Panic: file mail-storage.c: line 1683: unreached
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2016-11-16 21:40:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0f242c946b)
+
+ lib-storage: Fix compiler warnings about enum mismatches
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+
+2016-11-16 21:36:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (aeef47104f)
+
+ master: Fix compiling with systemd after /dev/null changes
+
+
+M src/master/service-listen.c
+
+2016-11-16 03:11:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (83d0c8152f)
+
+ LAYOUT=index: Try to rename corrupted mailbox name during mailbox open.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2016-11-16 03:10:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (540555c5b4)
+
+ lib-storage: Added struct mailbox.corrupted_mailbox_name
+
+ This allows backends that are adding lost mailboxes to mailbox list index to
+ indicate that they don't actually know the name of the mailbox, and the
+ mailbox list index should try to figure it out and rename the mailbox to its
+ proper name.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/mail-storage-private.h
+
+2016-11-16 03:06:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (85cbe5d66e)
+
+ LAYOUT=index: Don't write corrupted mailbox names to box-name header.
+
+ This way when opening a mailbox the box-name header isn't overwritten by a
+ corrupted name.
+
+ Keep track of the corrupted names with
+ MAILBOX_LIST_INDEX_FLAG_CORRUPTED_NAME flag in list index records. The flag
+ isn't removed until the mailbox is renamed.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2016-11-16 03:01:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (635f41c84e)
+
+ lib-storage: Preserve box-name header when rebuilding index.
+
+
+M src/lib-storage/index/index-rebuild.c
+
+2016-11-16 01:44:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8463c89764)
+
+ doveadm dump: Add support for the new box-name index header.
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2016-11-16 01:43:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (97a5e150ca)
+
+ LAYOUT=index: Update mailbox name to mailbox index's header when opening.
+
+ This way if the mailbox list index gets lost, a recent mailbox name is still
+ available.
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/mail-storage-private.h
+
+2016-11-16 01:09:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (606e388022)
+
+ lib-storage: Prevent renaming mailbox under itself.
+
+ This resulted earlier in a loop, which broke the mailbox index. Note that
+ IMAP already prevented this, so it could only be triggered by other tools,
+ like doveadm.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2016-11-16 01:04:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bcfeddf8c9)
+
+ lib-storage: Prevent parent loops in mailbox list index
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2016-11-16 01:03:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9130eda2eb)
+
+ lib-storage: Fix invalid parents in LAYOUT=index
+
+ Previously it just kept complaining without fixing the errors.
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2016-11-16 01:01:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (48baf3ac10)
+
+ lib-storage: Improve mailbox list index corruption errors
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2016-11-16 00:57:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b94bcc82e6)
+
+ lib-storage: If LAYOUT=index loses mailbox names, write the generated ones
+ to index.
+
+ Previously it just kept complaining and regenerating new names, without
+ actually fixing up the situation.
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2016-11-16 00:55:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7e3ef84dfa)
+
+ lib-storage: Fix handling LAYOUT=index losing mailbox names
+
+ It lost all the mailbox names.
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2016-11-11 13:40:55 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6baee5cd05)
+
+ config: Match local_name using dns-util
+
+ This way it correctly handles wildcards.
+
+M src/config/Makefile.am
+M src/config/config-filter.c
+
+2016-11-11 13:36:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a7f58d28d4)
+
+ lib-dns: Add tests for dns-util
+
+
+M src/lib-dns/Makefile.am
+A src/lib-dns/test-dns-util.c
+
+2016-11-11 13:13:29 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7cb5a6d1f5)
+
+ lib-dns: Add DNS specific matching algorithms
+
+ RFC4343 and RFCRFC4592 compare and match algorithms
+
+M src/lib-dns/Makefile.am
+A src/lib-dns/dns-util.c
+A src/lib-dns/dns-util.h
+
+2016-11-16 12:47:59 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2ba5c38d7b)
+
+ imap: Use correct format specifier for highestmodseq
+
+
+M src/imap/imap-state.c
+
+2016-11-16 13:29:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (faee566824)
+
+ lib-index: Fix flushing NFS if minimum wanted transaction log file is lost
+
+
+M src/lib-index/mail-transaction-log-view.c
+
+2016-11-15 18:55:36 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6028ef7bd1)
+
+ imap: Add details why unhibernation failed
+
+ This can help understanding why client failed to unhibernate.
+
+M src/imap/imap-state.c
+
+2016-11-16 11:41:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (33a8062282)
+
+ global: Use fd_close_maybe_stdio()
+
+
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/imap-client.c
+M src/lib/connection.c
+M src/lmtp/client.c
+M src/pop3/pop3-client.c
+
+2016-11-16 11:40:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1e766413c7)
+
+ lib: Add fd_close_maybe_stdio()
+
+ The idea is that this should be used whenever closing fds that may be 0 or
+ 1. If they are closed normally, the following code may end up using 0/1 fd
+ for other purposes, which could cause problems.
+
+M src/lib/lib.c
+M src/lib/lib.h
+
+2016-11-16 11:37:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (41ee23907b)
+
+ global: use dev_null_fd instead of opening /dev/null
+
+
+M src/lib-program-client/program-client-local.c
+M src/lib/module-dir.c
+M src/master/common.h
+M src/master/main.c
+M src/master/service-process.c
+
+2016-11-16 11:35:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (be7c7c4e99)
+
+ master: Don't unlink login sockets at startup if someone is listening to
+ them.
+
+ The original check there never worked, because null_fd was always set.
+
+ Normally the master.pid file would prevent this happening, but if it didn't
+ exist, the sockets would be unlinked and usually also created back.
+
+M src/master/common.h
+M src/master/main.c
+M src/master/master-settings.c
+
+2016-11-16 11:17:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (253000d6d4)
+
+ lib-master: Revert redundant stdin/stdout/stderr fd checks
+
+ This is now done by lib_init() in a bit nicer way.
+
+ Reverts 08923d2c956ece3dc604d5842ba152c2bdb11fb9
+
+M src/lib-master/master-service.c
+
+2016-11-16 11:09:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (05475b8318)
+
+ lib: Make sure stdin/stdout/stderr have fd at startup and keep /dev/null
+ always open
+
+ This guarantees we will always have a fd that can be used as /dev/null. It
+ works even inside chroots.
+
+M src/lib/lib.c
+M src/lib/lib.h
+
+2016-11-15 23:56:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (34742a4b92)
+
+ Fix -Wstrict-bool compiler warnings.
+
+
+M src/lib-index/mail-index-sync-update.c
+M src/lib/sha3.c
+
+2016-11-03 15:30:58 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (0bff25fd39)
+
+ doveadm-save: Check stream errno before save
+
+ This is to ensure the file has been really opened.
+
+M src/doveadm/doveadm-mail-save.c
+
+2016-11-15 09:06:10 -0500 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (ed96188c7a)
+
+ lib: fix data stack marker generation
+
+ The line number wasn't getting expanded.
+
+M src/lib/data-stack.h
+
+2016-11-13 20:04:27 +0200 Apollon Oikonomopoulos <apoikos@debian.org> (b4884ca2e6)
+
+ Manually cleanup OpenSSL from dovecot_openssl_common_global_unref()
+
+ OpenSSL 1.1 features a cleanup function that is automatically run on
+ shutdown using atexit(3). This function frees all OpenSSL-allocated
+ resources.
+
+ In dovecot, OpenSSL is loaded indirectly using dlopen(3) against the
+ relevant dovecot crypto module and is finally unloaded using dlclose(3).
+ Until OpenSSL 1.0.1c this worked fine, however OpenSSL 1.0.1c makes sure[1]
+ that the library stays loaded after the initial dlclose() so that the
+ atexit(3) handlers can run on shutdown. This, together with the fact that
+ dovecot uses custom allocation functions for OpenSSL and has already
+ partially free()'d some of OpenSSL's resources in module_free(), leads to a
+ segfault at process shutdown[2].
+
+ We fix this by explicitly calling OPENSSL_cleanup() during module unload.
+ This is safe to do, as long as we will never want to subsequently
+ re-initialize OpenSSL.
+
+ [1]
+ https://github.com/openssl/openssl/commit/4af9f7fe79ff82b90c16969b7e5871435056377b
+ [2]
+ https://buildd.debian.org/status/fetch.php?pkg=dovecot&arch=amd64&ver=1:2.2.26.0-2&stamp=1478873022
+
+ Signed-off-by: Apollon Oikonomopoulos <apoikos@debian.org>
+
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+
+2016-11-15 12:55:44 +0100 Apollon Oikonomopoulos <apoikos@debian.org> (7a6197f909)
+
+ ssl: fix reference to SSLv2 and disable SSLv3
+
+ This is driven by the fact that OpenSSL 1.1 does not know about SSLv2 at all
+ and dovecot's defaults simply make OpenSSL error out with "Unknown protocol
+ 'SSLv2'"[1]. So we change the defaults to refer to SSLv2 iff OpenSSL seems
+ to know something about it.
+
+ While at it, it's also a good idea to disable SSLv3 by default as well.
+
+ [1] https://bugs.debian.org/844347
+
+ Signed-off-by: Apollon Oikonomopoulos <apoikos@debian.org>
+
+M doc/example-config/conf.d/10-ssl.conf
+M src/lib-master/master-service-ssl-settings.c
+
+2016-11-15 11:42:47 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (92f66f98f6)
+
+ lib-http: Use io_wait_timer for tracking wait times.
+
+ The previous code was completely incorrect, since it wasn't even tracking
+ the HTTP request's start usecs.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2016-11-15 11:41:53 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (6d5a7004a7)
+
+ dict-client: Use io_wait_timer for tracking wait times.
+
+ This way the "dict wait" time includes all ioloop waits that wait on the
+ dict-client, not just in dict_wait().
+
+M src/lib-dict/dict-client.c
+
+2016-11-15 11:21:56 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (64f5f4f0e0)
+
+ lib: Added io_wait_timer
+
+ This allows easier tracking of how much time the io_wait_timer has been
+ spending on (multiple) ioloops.
+
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2016-11-15 11:20:41 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (3809334f93)
+
+ lib: Code cleanup - move code to ioloop_add_wait_time()
+
+
+M src/lib/ioloop.c
+
+2016-11-15 11:11:37 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (bd3f036fda)
+
+ lib: Fix ioloop wait times when io_loop_time_refresh() is used
+
+
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+
+2016-11-15 20:10:43 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2dbb7b30d9)
+
+ doveadm: Put doveadm_mail_iter_init parameters to right order
+
+
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-flags.c
+
+2016-11-15 13:40:54 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ede2466e3f)
+
+ lib-storage: Add vsize hdr on empty mailbox
+
+
+M src/lib-storage/index/index-mailbox-size.c
+
+2016-11-15 13:17:05 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a253200318)
+
+ doveadm-director: Include tag in add line
+
+
+M src/doveadm/doveadm-director.c
+
+2016-11-15 09:33:15 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (22728b92af)
+
+ doveadm-import: Open source boxes read-only
+
+ This allows importing emails from read-only locations, such as backups.
+
+M src/doveadm/doveadm-mail-import.c
+
+2016-11-15 09:32:31 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (00b10a9ca5)
+
+ doveadm: Add open read-only parameter to mailbox iterator
+
+ This allows iterating mailboxes so that they are opened for read-only.
+
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-deduplicate.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-flags.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-iter.h
+M src/doveadm/doveadm-mail-search.c
+
+2016-11-06 02:50:52 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4d615d2599)
+
+ stats: Add support for carbon-server
+
+ Allows admin to specify stats_carbon_server=ip:port. Stats are delivered in
+ "key value" format to specified port. Can be received with e.g. metronome.
+
+M src/stats/Makefile.am
+M src/stats/mail-stats.c
+M src/stats/mail-stats.h
+A src/stats/stats-carbon.c
+A src/stats/stats-carbon.h
+M src/stats/stats-settings.c
+M src/stats/stats-settings.h
+
+2016-11-09 15:18:49 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1b6f7fc2c4)
+
+ lib-program-client: Use net_ipport2str
+
+
+M src/lib-program-client/program-client-remote.c
+
+2016-11-09 15:17:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (727d691bba)
+
+ lib: Add net_ipport2str
+
+ Converts struct ip_addr + port into either 127.0.0.1:6000 or [::1]:6000.
+
+M src/lib/net.c
+M src/lib/net.h
+
+2016-11-14 10:52:22 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ece150f1bc)
+
+ doveadm: Fix error reporting for doveadm-dump-dcrypt
+
+
+M src/doveadm/doveadm-dump-dcrypt-file.c
+M src/doveadm/doveadm-dump-dcrypt-key.c
+
+2016-11-14 14:54:37 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (8638c3723e)
+
+ lib: Assert-crash in i_close_fd() if fd == 0
+
+ lib-master now guarantees that fd==0 doesn't normally happen.
+
+M src/lib/macros.h
+
+2016-11-14 14:51:45 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (5a0b58bfcf)
+
+ master: Remove redundant check to guarantee stdin/stdout/stderr fd
+ existence.
+
+ The previous method also wasn't correct, since it was setting close-on-exec
+ flag for the fds. Although this didn't normally make any difference, since
+ stdin & stdout was explicitly dup2()ed to /dev/null and for all except the
+ log process stderr was also being dup2()ed.
+
+M src/master/main.c
+
+2016-11-14 14:48:20 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (08923d2c95)
+
+ lib-master: Make sure stdin/stdout/stderr fds are open.
+
+ We'll just open /dev/null for them if they don't already exist.
+
+M src/lib-master/master-service.c
+
+2016-11-14 16:45:24 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a85c629c5d)
+
+ lib: Mark istream with eof=TRUE on all errors
+
+ Previously only i_stream_read() did this, but i_stream_seek(), _stat(),
+ _get_size() and _create() didn't. This caused assert-crashes on error
+ conditions in code which assumed that when stream_errno != 0, eof==TRUE.
+
+M src/lib/istream.c
+
+2016-10-26 11:03:55 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fa3fc0b4c8)
+
+ quota: Use program-client for quota-warning scripts
+
+
+M src/plugins/quota/Makefile.am
+M src/plugins/quota/quota.c
+
+2016-11-09 15:40:48 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f207fb0f2f)
+
+ lib-program-client: Do not call callback when destroying
+
+
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client.c
+
+2016-11-14 13:22:06 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (87e7fc1f28)
+
+ dict-client: When dict-server times out, log ioloop/lock waits.
+
+
+M src/lib-dict/dict-client.c
+
+2016-11-14 13:18:13 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (c1814529bd)
+
+ dict-client: Code cleanup to timeout handling.
+
+ No functional changes.
+
+M src/lib-dict/dict-client.c
+
+2016-11-14 13:14:25 +0100 Timo Sirainen <timo.sirainen@dovecot.fi> (155e321dd4)
+
+ dict-client: Dict server timeout may have occurred too early.
+
+
+M src/lib-dict/dict-client.c
+
+2016-11-11 17:00:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6a4bfb2b0b)
+
+ lib-index: Improve error messages when transaction log is unexpectedly lost
+
+
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync-private.h
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-view.c
+
+2016-11-10 23:00:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8c0e4118f2)
+
+ dict-client: Forward dict_iterate_set_limit() to dict server
+
+
+M src/dict/dict-commands.c
+M src/lib-dict/dict-client.c
+
+2016-11-10 23:23:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (980b0dbdcb)
+
+ dict-client: Code cleanup - remember all iteration flags
+
+
+M src/lib-dict/dict-client.c
+
+2016-11-10 22:57:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ea90267d45)
+
+ lib-dict: Fix infinite loop when row limit is reached.
+
+ If dict_iterate_has_more() keeps returning TRUE, the caller keeps calling
+ dict_iterate().
+
+M src/lib-dict/dict.c
+
+2016-11-11 13:06:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (321750ab6e)
+
+ director: Don't access freed memory during deinit
+
+
+M src/director/mail-host.c
+
+2016-11-10 18:24:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ecd54acb3f)
+
+ sdbox: Fix crash on mailbox_sync*() when mailbox auto-open fails.
+
+
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2016-11-09 15:17:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (078d7671f5)
+
+ director: Fix crash when receiving USER-MOVE for nonexistent user.
+
+
+M src/director/director.c
+
+2016-11-09 11:27:20 +0200 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (3d2fe17f23)
+
+ director: remove unused variable from doveadm-connection
+
+
+M src/director/doveadm-connection.c
+
+2016-11-09 00:48:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (0cdd27506a)
+
+ lib-http: test-http-client-errors: Add test for server that returns error
+ status early while client is still sending blocking payload.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2016-11-09 00:46:32 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (b284962364)
+
+ lib-http: client: Fixed assert failure occurring when server returns error
+ status early while client is still sending blocking payload.
+
+
+M src/lib-http/http-client-request.c
+
+2016-11-09 00:24:54 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8e2dd12266)
+
+ lib-http: Added blocking client support to test-http-client-errors.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2016-11-08 20:41:15 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7bc3126bb6)
+
+ imap: Free box on error
+
+ Otherwise the box wil leak as it is not assigned anywhere and can cause
+ crash on imap exit due to stats plugin timeout leak.
+
+M src/imap/imap-state.c
+
+2016-10-20 19:06:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b44033e45e)
+
+ director: Keep per-tag directory
+
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+M src/director/mail-host.c
+M src/director/mail-host.h
+M src/director/main.c
+M src/director/notify-connection.c
+
+2016-11-01 14:36:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1a7ed931e5)
+
+ director: Code cleanup - typedef user_free_hook
+
+ This is done because user_free_hook needs to be also used in mail_host. If
+ it changes, this reduces the places that need touching.
+
+M src/director/user-directory.c
+M src/director/user-directory.h
+
+2016-11-01 14:40:49 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (33d70dcbb6)
+
+ director: Code cleanup - Reorder includes
+
+ This is required to enable typedef of user_free_hook
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/mail-host.h
+M src/director/notify-connection.c
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+
+2016-10-20 20:31:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (de92873c36)
+
+ director: Code cleanup - moved username_hash generation to director.h
+
+ It's not really user_directory specific. This is especially important in the
+ following patches that add per-tag user_directories. It's also not always
+ known which tag the username_hash refers to, so there can't be different
+ tag-specific username_hash generators.
+
+M src/director/director-request.c
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+M src/director/notify-connection.c
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+
+2016-10-20 19:38:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1f7f429420)
+
+ director: Code cleanup - added user director_iterate_users_*() wrappers.
+
+ This will shrink the diff for the following changes.
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+
+2016-10-20 19:17:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (68d87d8fb8)
+
+ director: Code cleanup - use temporary users variables
+
+ This will shrink the diff for the following changes.
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+
+2016-10-20 16:14:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e47dd69b09)
+
+ director: Code cleanup - moved code to notify_update_user()
+
+
+M src/director/notify-connection.c
+
+2016-10-20 15:13:04 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4af552f09a)
+
+ director: const mail_host in mail_host_get_tag
+
+
+M src/director/mail-host.c
+M src/director/mail-host.h
+
+2016-11-05 19:06:33 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4217dcdec0)
+
+ lib: Add test vectors for message digests
+
+
+M src/lib/test-hash-method.c
+
+2016-11-05 11:48:27 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (70ee483d32)
+
+ lib: Add SHA3 hashing methods for 256 and 512 bits
+
+
+M src/lib/Makefile.am
+M src/lib/hash-method.c
+A src/lib/sha3.c
+A src/lib/sha3.h
+
+2016-11-05 11:47:40 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6868400686)
+
+ lib: Move sha context and result size to new header
+
+ This is to prepare for SHA3 inclusion
+
+M src/lib/Makefile.am
+A src/lib/sha-common.h
+M src/lib/sha2.h
+
+2016-11-05 21:50:30 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1007721ca5)
+
+ lib-lda: smtp-client: Replaced temp file handling with iostream-temp.
+
+
+M src/lib-lda/smtp-client.c
+
+2016-11-05 20:57:20 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (e7ebceac4b)
+
+ lib-lda: smtp-client: Use program-client for invoking sendmail binary.
+
+
+M src/lib-lda/Makefile.am
+M src/lib-lda/smtp-client.c
+
+2016-11-05 22:34:18 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (1ebd744c8a)
+
+ lib-lda: smtp-client: Made boolean fields single-bit.
+
+
+M src/lib-lda/smtp-client.c
+
+2016-11-05 22:00:09 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (882479071e)
+
+ lib-lda: smtp-client: Renamed "smtp_client" parameters to "client" for
+ consistency.
+
+
+M src/lib-lda/smtp-client.c
+
+2016-11-07 23:27:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9c257ae400)
+
+ m4: Fix compiler warnings
+
+ Makes it work with -Wall -W -Werror
+
+M m4/fd_passing.m4
+M m4/ipv6.m4
+M m4/unsetenv.m4
+
+2016-11-04 12:36:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6264b51bcc)
+
+ lib-storage: Renamed MAIL_SEARCH_ARG_FLAG_USE_TZ to _FLAG_UTC_TIMES
+
+
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-search-args-imap.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search.h
+M src/plugins/expire/doveadm-expire.c
+
+2016-11-04 12:18:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8fc48a7d41)
+
+ lib-storage: Updated MAIL_SEARCH_ARG_FLAG_USE_TZ comment.
+
+
+M src/lib-storage/mail-search.h
+
+2016-11-04 12:04:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2fc91862fa)
+
+ lib-storage: Fix doveadm search query parsing to use timezones correctly.
+
+ When using a date string, e.g. "senton 25-Mar-2007" it should work the same
+ way as IMAP does and show all mails whose sent date is on 25th, ignoring
+ whatever the timezone is in the Date header (or in case of
+ received/saved-date it would be using the timestamps in server's local
+ timezone, again just like IMAP).
+
+ When search with an exact UNIX timestamp or a time interval (e.g.
+ "3 days"), it should be using UTC times for doing all comparisons.
+
+M src/doveadm/doveadm-dsync.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2016-11-04 12:03:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0303b693b8)
+
+ lib-storage: Reverse MAIL_SEARCH_ARG_FLAG_USE_TZ handling again.
+
+ It wasn't really wrong, it was just confusing. And doveadm's tz-handling was
+ wrong.
+
+ Reverses 059e4ac419224598349704b74cb9f6b49278df46
+
+M src/lib-storage/index/index-search.c
+
+2016-11-03 21:06:27 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (4ff193d240)
+
+ lib-http: Fixed potential segfault problem in test-http-client-errors.
+
+ Found by Coverity.
+
+M src/lib-http/test-http-client-errors.c
+
+2016-11-03 19:16:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6525f63717)
+
+ lib: Define ARRAY_TYPE for uint8_t, uint16_t and uint64_t.
+
+
+M src/lib/array-decl.h
+
+2016-10-19 12:33:02 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (9d69283efe)
+
+ data-stack: T_BEGIN should use file & line number as the t_push marker
+
+ Using a function name is not unique if there is more than one T_BEGIN in a
+ function. Therefore, switch the marker passed into t_push to be the
+ concatenation of __FILE__ and __LINE__.
+
+M src/lib/data-stack.h
+
+2016-10-19 12:24:12 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (ccfe24c9fa)
+
+ data-stack: t_push should always keep track of the marker
+
+ Instead of only keeping track of it on DEBUG builds, t_push should always
+ keep the marker around. This will help diagnosing issues on non-debug
+ builds.
+
+
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+
+2016-10-17 09:49:36 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (4ab8814199)
+
+ use __func__ instead of __FUNCTION__
+
+ __FUNCTION__ is a non-standard extension while __func__ is C99.
+
+M src/lib/data-stack.h
+M src/lib/macros.h
+
+2016-11-01 21:50:29 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e1d4f6f6ab)
+
+ auth: Use buffer_truncate_rshift_bits
+
+
+M src/auth/auth-policy.c
+
+2016-10-27 16:20:20 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (14c903cfef)
+
+ lib: Add tests for hashed var-expand
+
+
+M src/lib/test-var-expand.c
+
+2016-10-27 15:37:45 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7c4af1fdcb)
+
+ lib: Add generic hashing support to var-expand
+
+ Enables use of
+
+ %{H;rounds=<rounds>,truncate=<bits>,salt=<salt>:field}
+
+ syntax in any variable expansion. H is any supported hash algorithm or pkcs5
+ for PKCS#5 PBKDF2 using SHA256.
+
+M src/lib/var-expand.c
+
+2016-10-27 16:19:52 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e0dddec702)
+
+ lib: Do not consume {} inside %{}
+
+
+M src/lib/var-expand.c
+
+2016-11-01 20:14:43 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ef2bf290fe)
+
+ lib: Add unit test for buffer truncate
+
+
+M src/lib/test-buffer.c
+
+2016-11-01 20:06:46 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e07b8f034b)
+
+ lib: Add buffer truncate
+
+
+M src/lib/buffer.c
+M src/lib/buffer.h
+
+2016-11-02 23:00:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fb9b9914c9)
+
+ auth: Make static analyzer happier.
+
+ Don't complain about uninitialized static_password being sent to
+ passdb_handle_credentials(). It could only happen for failures, and
+ passdb_handle_credentials() wouldn't have used the password then.
+
+M src/auth/passdb-static.c
+
+2016-11-02 21:59:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b8673ed3de)
+
+ fts: Fix error message when syncing FTS root mailbox fails.
+
+
+M src/plugins/fts/fts-api.c
+
+2016-11-02 15:43:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (dec95fbca4)
+
+ auth: Fixes to previous var_expand() change.
+
+
+M src/auth/auth-request.c
+M src/auth/test-auth-request-var-expand.c
+
+2016-11-02 15:31:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5535f5fb5f)
+
+ lib: ioloop-notify-kqueue wasn't storing source filename.
+
+
+M src/lib/ioloop-notify-kqueue.c
+
+2016-11-02 15:22:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c73ede1a66)
+
+ lib-storage: Fix previous var_expand() change.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2016-10-31 22:05:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bcf1cf2afb)
+
+ lib: API change - var_expand_func_table.func() can now return error.
+
+ None of the existing functions were changed to return errors (yet).
+
+M src/auth/auth-request-var-expand.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/lib/test-var-expand.c
+M src/lib/var-expand.c
+M src/lib/var-expand.h
+M src/login-common/client-common.c
+
+2016-10-31 21:48:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0f5dc4da39)
+
+ lib: API change - var_expand*() now returns error string.
+
+ This allows callers to fail properly if the format string is invalid.
+
+M src/auth/auth-cache.c
+M src/auth/auth-policy.c
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request-var-expand.h
+M src/auth/auth-request.c
+M src/auth/db-checkpassword.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/auth/passdb-imap.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-pam.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb-template.c
+M src/auth/passdb-template.h
+M src/auth/test-auth-cache.c
+M src/auth/test-auth-request-var-expand.c
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb-template.c
+M src/auth/userdb-template.h
+M src/director/director-request.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/notify-connection.c
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+M src/doveadm/doveadm-auth-server.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-print-formatted.c
+M src/imap-hibernate/imap-client.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/imap-client.c
+M src/imap/main.c
+M src/lda/main.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-send.c
+M src/lib-mail/mail-user-hash.c
+M src/lib-mail/mail-user-hash.h
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings-parser.h
+M src/lib-sql/driver-cassandra.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/lib/test-var-expand.c
+M src/lib/var-expand.c
+M src/lib/var-expand.h
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/plugins/acl/acl-shared-storage.c
+M src/plugins/dict-ldap/dict-ldap.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+
+2016-10-31 20:26:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d5e68154e6)
+
+ auth: Code cleanup - Move passwd-file extra fields import to its own
+ function.
+
+ This will shrink the diff output for the following var_expand() change.
+
+M src/auth/passdb-passwd-file.c
+M src/auth/userdb-passwd-file.c
+
+2016-10-31 19:20:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7c3a801caa)
+
+ lib: var_expand() code cleanup - Moved short %v expansion to its own
+ function.
+
+
+M src/lib/var-expand.c
+
+2016-10-01 20:12:13 +0200 Stephan Bosch <stephan@dovecot.fi> (d2fd204b30)
+
+ imap-login: Adjusted IMAP AUTHENTICATE command to return CONTACTADMIN and
+ EXPIRED response codes when appropriate.
+
+
+M src/imap-login/client-authenticate.c
+
+2016-11-01 22:45:16 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (8ac6623677)
+
+ auth,login-common: Added result code for invalid base64-encoded response
+ data.
+
+
+M src/auth/auth-request-handler.c
+M src/imap-login/client-authenticate.c
+M src/lib-auth/auth-client-interface.h
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/pop3-login/client-authenticate.c
+
+2016-11-02 01:31:40 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (04eb0abcf8)
+
+ login-common: Added result codes for mechanism-related failures.
+
+
+M src/imap-login/client-authenticate.c
+M src/lib-auth/auth-client-interface.h
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+M src/login-common/sasl-server.h
+M src/pop3-login/client-authenticate.c
+
+2016-11-01 23:12:25 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (f32d0295c9)
+
+ login-common: Added result code for a nologin code from the auth service.
+
+
+M src/imap-login/client-authenticate.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/pop3-login/client-authenticate.c
+
+2016-11-02 01:39:49 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (529944a355)
+
+ login-common: Added result code for password-expired authentication failure.
+
+
+M src/imap-login/client-authenticate.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+M src/pop3-login/client-authenticate.c
+
+2016-11-01 21:32:42 +0100 Stephan Bosch <stephan.bosch@dovecot.fi> (36b072d84a)
+
+ auth: Added a code= field to the auth FAIL response that replaces the
+ "authz", "temp", "pass_expired", and "user_disabled" fields.
+
+
+M src/auth/auth-request-handler.c
+M src/lib-auth/auth-client-interface.h
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2016-10-25 09:56:34 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3395f5ad01)
+
+ lib-http: Added DNS-related tests to test-http-client-errors.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2016-09-16 20:29:00 +0200 Stephan Bosch <stephan@dovecot.fi> (c4b2dba355)
+
+ lib-http: client: Destroy host and associated queue objects after no more
+ requests remain and an idle timeout expires.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+
+2016-09-16 20:22:17 +0200 Stephan Bosch <stephan@dovecot.fi> (1e63e30812)
+
+ lib-http: client: Implemented host name lookup TTL.
+
+ Host name lookups will now be performed again when the results have expired.
+ Without access to TTL information from DNS lookups, all lookups will use the
+ same default TTL for now.
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2016-09-15 22:49:54 +0200 Stephan Bosch <stephan@dovecot.fi> (c62f15cc13)
+
+ lib-http: client: Added http_client_queue_requests_active().
+
+ It counts how many active requests a queue has.
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+
+2016-09-16 01:58:27 +0200 Stephan Bosch <stephan@dovecot.fi> (6a0e62561f)
+
+ lib-http: client: Create queue->pending_peers array from the beginning.
+
+ This simplifies the code, since the pending peers array is always used.
+
+M src/lib-http/http-client-queue.c
+
+2016-09-16 01:35:09 +0200 Stephan Bosch <stephan@dovecot.fi> (57d86b6fd4)
+
+ lib-http: client: Link peers to queue earlier: during connection attempts.
+
+ This makes sure that queues keep track of which peers are doing stuff on its
+ behalf. This is important to be able to manage the active peers when a new
+ host name lookup was performed; if a peer is no longer listed in the
+ returned IPs it should be dropped.
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+
+2016-09-15 02:14:46 +0200 Stephan Bosch <stephan@dovecot.fi> (1443a6b1be)
+
+ lib-http: client: Created http_client_peer_drop() function that closes a
+ peer object gracefully.
+
+ It checks whether any connections are still present. It checks whether a
+ backoff timer is still active. This change and subsequent changes prepare
+ for being able to destroy a queue when it becomes unused. All peers linked
+ to such a queue are unlinked and dropped when inactive and unlinked.
+
+M src/lib-http/http-client-peer.c
+
+2016-09-15 02:09:47 +0200 Stephan Bosch <stephan@dovecot.fi> (c1423bdba9)
+
+ lib-http: client: Unlink all queues from peer when it is disconnected.
+
+ Before, queues were only destroyed when the whole client was destroyed. This
+ change and subsequent changes prepare for being able to destroy a queue when
+ it becomes unused.
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+
+2016-09-15 01:59:23 +0200 Stephan Bosch <stephan@dovecot.fi> (d675ed17db)
+
+ lib-http: client: Improved logging of connection loss handling in peer.
+
+
+M src/lib-http/http-client-peer.c
+
+2016-09-14 21:37:38 +0200 Stephan Bosch <stephan@dovecot.fi> (ac325a7637)
+
+ lib-http: client: If a peer object is no longer linked to a queue, don't
+ close it until all connections are inactive.
+
+ The peer object is canceled, rather than closed. Which means that any newly
+ started and idle connections are closed immediately. Requests may be pending
+ though. This is only relevant when hosts/queues are removed at some point.
+ This is a preparational change for having a maximum lifetime on
+ hosts/queues, in which case this becomes a possibility.
+
+M src/lib-http/http-client-peer.c
+
+2016-09-14 01:37:05 +0200 Stephan Bosch <stephan@dovecot.fi> (a8f65a7de8)
+
+ lib-http: client: Added debug messages that indicate when a queue is
+ linked/unlinked to a peer.
+
+
+M src/lib-http/http-client-peer.c
+
+2016-09-14 01:30:16 +0200 Stephan Bosch <stephan@dovecot.fi> (66ea898de7)
+
+ lib-http: client: Added function that counts how many connections are active
+ within a peer.
+
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2016-09-14 01:26:10 +0200 Stephan Bosch <stephan@dovecot.fi> (2b9d522a33)
+
+ lib-http: client: Added function that checks whether a connection is
+ currently active.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2016-09-11 19:34:34 +0200 Stephan Bosch <stephan@dovecot.fi> (32ef0bd65f)
+
+ lib-http: client: Created http_client_connection_failure() handler.
+
+
+M src/lib-http/http-client-connection.c
+
+2016-09-11 19:44:32 +0200 Stephan Bosch <stephan@dovecot.fi> (e6c7a2711a)
+
+ lib-http: client: Set conn->connect_request to NULL immediately in
+ http_client_connection_tunnel_response().
+
+ Prevents referring to this completed request in other parts of the code.
+
+M src/lib-http/http-client-connection.c
+
+2016-09-11 17:46:10 +0200 Stephan Bosch <stephan@dovecot.fi> (c936df07cf)
+
+ lib-http: client: Improved handling of hosts with explicit IP address.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+
+2016-09-11 14:51:28 +0200 Stephan Bosch <stephan@dovecot.fi> (58c278560d)
+
+ lib-http: Made test-http-client-errors more reliable.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2016-11-01 12:35:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (df1b2c3ff9)
+
+ lib-index: Don't waste 3 bytes of space in struct mail_index_record.
+
+ It was always supposed to be used mainly for keywords, but it got broken
+ many years ago and nobody noticed.
+
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index.h
+
+2016-11-01 12:43:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e545fb28bc)
+
+ lib-storage: Don't enable modseqs on STATUS_HIGHESTMODSEQ.
+
+ This is requested always by IMAP's SELECT command even when the IMAP client
+ hasn't requested it. We don't want to unnecessarily enable modseqs that use
+ up memory and disk space when they're not really needed. Other callers may
+ also be interested in asking for HIGHESTMODSEQ (which is nowadays actually
+ always available) without enabling full modseq tracking.
+
+M src/lib-storage/mail-storage.c
+
+2016-11-01 15:51:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (059e4ac419)
+
+ lib-storage: Reverse MAIL_SEARCH_ARG_FLAG_USE_TZ handling.
+
+ It was being used the wrong way. SEARCH SENTON/BEFORE/AFTER should have
+ checked the times within the mail's timezone, not UTC.
+
+M src/lib-storage/index/index-search.c
+
+2016-10-31 21:39:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ccf5e99d02)
+
+ doveadm director: Fix memory leaks if hostname lookup fails.
+
+
+M src/doveadm/doveadm-director.c
+
+2016-11-01 17:09:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e0e555a09a)
+
+ lib: Fix str_truncate() when string size is already smaller.
+
+ Previous behavior either added extra NULs to the string or assert-crashed.
+
+M src/lib/str.h
+M src/lib/test-str.c
+
+2016-09-16 09:53:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6d24551e16)
+
+ imap/pop3 proxy: If passdb returns proxy_not_trusted, don't send ID/XCLIENT
+
+ This allows using Dovecot proxying feature towards less trusted servers.
+
+M src/imap-login/imap-proxy.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+M src/pop3-login/pop3-proxy.c
+
+2016-10-31 20:42:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (adea1e1e46)
+
+ auth: Code cleanup - Return void in passdb.set_credentials()
+
+ It's an asynchronous function, so the result will be in the callback
+ parameters.
+
+M src/auth/passdb-sql.c
+M src/auth/passdb.h
+
+2016-10-31 20:19:07 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b4ed649cad)
+
+ auth: If passwd-file can't be read, return tempfail (not user unknown).
+
+
+M src/auth/db-passwd-file.c
+M src/auth/db-passwd-file.h
+M src/auth/passdb-passwd-file.c
+M src/auth/userdb-passwd-file.c
+
+2016-10-31 20:06:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4b50a16fa2)
+
+ auth: If uidgid_file doesn't exist, fail the userdb lookup.
+
+
+M src/auth/auth-request.c
+
+2016-10-28 13:26:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (59a82d4b3a)
+
+ mdbox: Fix assert-crash caused by race condition with multiple doveadm
+ purges.
+
+ This fixes a problem where an email that was just written to a new m.* file
+ gets expunged and purged by another process.
+
+ Fixes: Panic: file mdbox-map.c: line 1359: unreached
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2016-10-31 19:12:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ba1b959d6b)
+
+ fs-randomfail: "write" probability was reversed.
+
+ 0 meant 100% while 100 meant 0%
+
+M src/lib-fs/fs-randomfail.c
+
+2016-10-31 15:37:00 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (955f324bfd)
+
+ lib-test: Do not init/deinit library twice
+
+ If lib is initialized, do not initialize or deinitialize library. This is
+ done to allow using master_service in unit tests which also wants to perform
+ lib init and deinit itself.
+
+M src/lib-test/test-common.c
+
+2016-10-31 15:36:39 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8a20f96498)
+
+ lib: Add function to see if lib is initialized
+
+ This is needed by test-lib to prevent double init/deinit.
+
+M src/lib/lib.c
+M src/lib/lib.h
+
+2016-10-28 21:34:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b73cfe3eab)
+
+ configure: Fix link ordering
+
+ libprogram_client.la needs to be before libdns.la
+
+M configure.ac
+
+2016-10-28 19:38:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f43ce62fa9)
+
+ dsync: Fix potential assert on mailbox deinit.
+
+ Should have happened only in somewhat rare error conditions that require
+ resyncing.
+
+ Fixes: Panic: file dsync-brain-mailbox.c: line 358
+ (dsync_brain_sync_mailbox_deinit): assertion failed: (brain->failed ||
+ brain->sync_type == DSYNC_BRAIN_SYNC_TYPE_CHANGED)
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+
+2016-10-28 14:36:41 +0100 Paul Howarth <paul@city-fan.org> (5546faab38)
+
+ configure: Improve check for OpenSSL without EC support
+
+ The original test was for EC_KEY_new but some systems had that and not
+ EVP_PKEY_CTX_new_id, so the test was switched to that function. However,
+ Fedora releases 12 through 17 have EVP_PKEY_CTX_new_id but not EC_KEY_new.
+ So we need to test for both functions before enabling the dcrypt build.
+
+M m4/ssl.m4
+
+2016-10-28 16:59:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (870bf394d4)
+
+ lib-program-client: Fix building with compilers that have no typeof()
+
+
+M src/lib-program-client/test-program-client-net.c
+M src/lib-program-client/test-program-client-unix.c
+
+2016-10-28 13:02:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (05c1d362cc)
+
+ lib: Removed t_strsplit_tab()
+
+ It's too easy to use it accidentally instead of using
+ t_strsplit_tabescaped(). It's also rarely what is actually wanted.
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/lib/test-strfuncs.c
+
+2016-10-28 12:12:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (026d971be5)
+
+ auth-worker: Fix potential crash when importing passdb/userdb fields without
+ value.
+
+ These were being converted to NULL values in auth-worker, while elsewhere
+ they were converted to "". Changed to "" here as well and added asserts to
+ make sure they won't happen again.
+
+ Most of the NULL values would have been fine, but overriding any IP/port
+ fields would have caused a crash when trying to parse the value.
+
+M src/auth/auth-request.c
+M src/auth/auth-worker-client.c
+
+2016-10-28 11:54:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2c96c51561)
+
+ auth: Fix crash when exporting passdb fields to auth-worker that have NULL
+ values
+
+
+M src/auth/auth-request.c
+
+2016-10-27 13:20:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5507b0c7e5)
+
+ lib-compression: Fixed fd leak in unit test
+
+
+M src/lib-compression/test-compression.c
+
+2016-10-27 11:19:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9199e32b86)
+
+ lib-auth: Minor debug logging improvement.
+
+ Include "PASS" or "USER" in the prefix to make it clear what the reply is
+ for.
+
+M src/lib-auth/auth-master.c
+
+2016-08-13 01:51:32 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (21aaa6affb)
+
+ lib-storage: rename get_real_mail to get_backend_mail
+
+ Also change the function signature so that it returns an int to indicate
+ success or failure.
+
+M src/lib-storage/fail-mail.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+M src/plugins/virtual/virtual-mail.c
+
+2016-10-27 03:58:21 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (8328306902)
+
+ doveadm: fix compile warning in doveadm-dump-index
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2016-10-26 23:20:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7bab7c949c)
+
+ doveadm dump: Dump mailbox names in mailbox.list.index's header.
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2016-10-26 18:06:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (def2e150b2)
+
+ *-login: Removed enforcing maximum calculated fd limit.
+
+ Just use the regular ulimit. Login process has become complicated enough
+ that counting the exact fd size isn't so easy anymore.
+
+ Also apparently this low fd limit is causing errors with new Linux kernels:
+ pop3-login: Error: fd_send(pop3, 18) failed: Too many references: cannot
+ splice
+
+M src/login-common/main.c
+
+2016-10-26 12:21:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (67574bb439)
+
+ lib-program-client: Remove code duplication
+
+ The content is sent on connected already. Do not send it early in async
+ connect.
+
+M src/lib-program-client/program-client.c
+
+2016-10-26 12:20:06 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a0c5766672)
+
+ lib-program-client: Retry connection on EAGAIN
+
+
+M src/lib-program-client/program-client-remote.c
+
+2016-10-26 18:05:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (00bcc83b18)
+
+ Compiler warning fixes with -Wstrict-bool
+
+
+M src/lib-compression/test-compression.c
+M src/lib-sql/driver-cassandra.c
+
+2016-10-26 14:58:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (243c1821db)
+
+ lib: Fixed net_str2port*() comments
+
+
+M src/lib/net.h
+
+2016-10-25 20:52:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f65486adb6)
+
+ doveadm fs get: Use pager formatter by default to avoid extra LF at the end.
+
+
+M src/doveadm/doveadm-fs.c
+
+2016-10-25 20:54:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a4a7440a10)
+
+ doveadm: Code cleanup - add and use DOVEADM_PRINT_TYPE_PAGER macro
+
+
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-master.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print.h
+
+2016-10-25 20:51:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ec186c47c5)
+
+ doveadm: "pager" formatter supports now DOVEADM_PRINT_HEADER_FLAG_HIDE_TITLE
+
+
+M src/doveadm/doveadm-print-pager.c
+
+2016-10-25 22:39:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (faa01447c2)
+
+ director: Avoid assert-crash at deinit if user moves are still being added.
+
+ Fixes: Panic: file user-directory.c: line 312 (user_directory_deinit):
+ assertion failed: (array_count(&dir->iters) == 0)
+
+M src/director/main.c
+
+2016-10-25 22:17:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b93ec4e5b5)
+
+ director: Send user's old and new backend IPs to flush script.
+
+ If user was created due to the user-move, don't execute the flush script
+ since it wouldn't really have any work to do anyway.
+
+M src/director/director.c
+M src/director/director.h
+
+2016-10-25 22:12:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (aad23ef153)
+
+ director: User move - Don't try to kick user's connections if user wasn't
+ even known.
+
+
+M src/director/director.c
+
+2016-10-25 22:06:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3404b66f3f)
+
+ director: Code cleanup - moved user kill startup to its own function.
+
+ No functional changes.
+
+M src/director/director.c
+
+2016-10-25 21:47:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8cafec427a)
+
+ director: Code cleanup - global director is no longer needed.
+
+
+M src/director/director.h
+M src/director/main.c
+
+2016-10-17 01:07:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1b7cd57585)
+
+ director: Moved all user killing state to struct director_kill_context
+
+ This should make it a bit easier to understand the life time of user
+ killing. It also simplifies code by removing struct
+ director_user_kill_finish_ctx.
+
+ Finally, this already reduces memory usage with 32bit systems, and would
+ make it possible to reduce also on 64bit systems if timestamp is shrank to
+ 31 bits and weak bit moved after it. I'm not sure if that would be better
+ for performance though. In any case it would provide free space for 4 extra
+ bytes if that were needed in future.
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+
+2016-10-25 21:41:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (778a9861ee)
+
+ director: Code cleanup - rename director_kill_context.self to
+ kill_is_self_initiated
+
+
+M src/director/director.c
+
+2016-10-20 16:46:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (79ee504bdf)
+
+ director: Code cleanup - added USER_IS_BEING_KILLED() macro
+
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+
+2016-10-20 16:41:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c13fce1637)
+
+ director: Code cleanup - move enum user_kill_state to director.h
+
+ This will be needed by following commits
+
+M src/director/director.c
+M src/director/director.h
+M src/director/user-directory.c
+M src/director/user-directory.h
+
+2016-10-25 23:47:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b1d5d687dd)
+
+ lib-lda: Add back subject sanitization to mail sending.
+
+ Broken by acfda38b75d0f0e899ef692fef01593bd56ed85e
+
+M src/lib-lda/mail-send.c
+
+2016-10-25 21:20:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9954af4b72)
+
+ director: Fix HOST-RESET-USERS with host parameter.
+
+ The logic was reversed: It should flush the specified host, not some other
+ host. Broken by 11ee3b40320a31669bd717fecbe1e332dad4fd84
+
+M src/director/doveadm-connection.c
+
+2016-10-25 01:03:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3cbc0cb7c4)
+
+ doveadm director dump: Fixed output to include LFs
+
+ Otherwise all the output will be mixed up in the same line.
+
+M src/doveadm/doveadm-director.c
+
+2016-10-25 00:48:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6af8cc0573)
+
+ director: Execute director_flush_socket only from one director.
+
+ Having each director do it would be redundant since they're all supposed to
+ be performing the same flush task to the same backend.
+
+M src/director/director.c
+M src/director/user-directory.h
+
+2016-10-25 00:32:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0874d7a4fa)
+
+ director: Improve debug logging output.
+
+
+M src/director/director-connection.c
+M src/director/director.c
+
+2016-10-25 00:25:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fd882f7912)
+
+ director: Fix user move hangs when another move is triggered early.
+
+ Running "doveadm director flush" before the previous flush hadn't fully
+ finished could have caused users to hang until their move timeout:
+
+ director: Error: Finishing user 3249070169 move timed out, its state may now
+ be inconsistent (state=waiting-for-everyone)
+
+M src/director/director-connection.c
+M src/director/director.c
+
+2016-10-25 00:22:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f9c7655930)
+
+ director: Prevent race conditions by adding USER_KILL_STATE_FLUSHING
+
+ In theory it's possible that a user is freed during a flush and added back
+ before flush is finished, possibly even being moved again. This check makes
+ sure that we don't finish such move unless we're actually at the correct
+ flushing state. (If there's another flush also running for the user it'll be
+ ignored.)
+
+ This is also useful for logging purposes.
+
+M src/director/director.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+
+2016-10-25 00:13:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fb9dfa9ea1)
+
+ director: If user host conflict is detected, make sure new host is sent
+ back.
+
+ USER-KICK-HASH was sent, but the sender didn't get back a USER reply with
+ the new host. This could have increased how long user's host differred in
+ directors.
+
+ Avoids repeating this error: Error: User hash 2957018085 is being redirected
+ to two hosts: 10.0.0.30 and 10.0.0.201 (old_ts=1477338836)
+
+M src/director/director-connection.c
+
+2016-10-24 22:42:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b79120aa36)
+
+ doveadm director flush: Added --max-parallel parameter.
+
+
+M src/doveadm/doveadm-director.c
+
+2016-10-24 22:41:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (11ee3b4032)
+
+ director: HOST-RESET-USERS moves users more slowly now.
+
+ By default only 100 users can be moved in parallel. This can be overridden
+ with HOST-RESET-USERS parameter.
+
+ This delaying is especially useful when director_flush_socket is used to
+ avoid huge floods to the script service. Even without the socket it's still
+ good for avoiding unnecessary load spikes when all users are kicked at once
+ and they reconnect back at the same time.
+
+M src/director/doveadm-connection.c
+M src/director/doveadm-connection.h
+M src/director/main.c
+M src/director/user-directory.h
+
+2016-10-25 00:11:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3c89b4794a)
+
+ director: If user move times out, log the state it was in at the time.
+
+
+M src/director/director.c
+
+2016-10-24 22:39:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ade4a0e1a8)
+
+ director: Log user's kill_state with a human-readable string.
+
+
+M src/director/director-connection.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+
+2016-10-24 22:27:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3d76809be2)
+
+ doveadm director: Invalid parameters cause doveadm to fail silently.
+
+ doveadm_cmd_context.cmd doesn't point directly to doveadm_cmd_director.
+
+M src/doveadm/doveadm-director.c
+
+2016-10-24 22:22:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a9ade10461)
+
+ director: Fix sending up/down state in handshakes.
+
+ They were never sent, because HOSTs were sent before director had waited for
+ the remote to send its version number. So sender thought that the remote's
+ minor_version was too old and it didn't send the up/down state at all.
+
+ This caused errors like:
+
+ Warning: director(10.0.0.30:9090/left): Host 10.0.0.30 is being updated
+ before previous update had finished (up -> down) - setting to state=down
+ vhosts=100 Error: director(10.0.0.30:9090/left): Director 10.0.0.30 SYNC
+ request hosts don't match us - resending hosts (seq=6, remote
+ hosts_hash=262126213, my hosts_hash=2458934259)
+
+M src/director/director-connection.c
+
+2016-10-24 21:58:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (67cb14c7fb)
+
+ director: If SYNCs are received during handshake, send them later.
+
+ This fixes delays during handshake: Error: Ring SYNC appears to have got
+ lost, resending
+
+M src/director/director-connection.c
+M src/director/director-host.h
+
+2016-10-24 20:21:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (892e25e1c0)
+
+ director: Code cleanup - Give tab-unescaped args to all doveadm command
+ handlers.
+
+
+M src/director/doveadm-connection.c
+
+2016-10-24 20:20:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (60835f1934)
+
+ director: USER-MOVE didn't handle non-hash username correctly.
+
+ The entire command line was being hashed instead of just the username.
+
+M src/director/doveadm-connection.c
+
+2016-10-24 20:16:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (49ec317299)
+
+ director: Make sure IP address parsing works in DIRECTOR-ADD/REMOVE
+
+ We were passing the entire string through to net_addr2ip(). It seems that
+ inet_aton() stops at whitespace though, so this wasn't actually causing
+ errors at least on Linux.
+
+M src/director/doveadm-connection.c
+
+2016-10-24 20:08:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9ba1a38e2f)
+
+ director: Code cleanup - moved command handling to its own function.
+
+
+M src/director/doveadm-connection.c
+
+2016-10-24 20:07:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d3bae1f9d2)
+
+ director: Show in process title how many users are being moved.
+
+
+M src/director/director.c
+M src/director/director.h
+M src/director/main.c
+
+2016-10-24 20:00:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3751234328)
+
+ director: Code cleanup - Finish user move always in the same function.
+
+
+M src/director/director.c
+
+2016-10-24 19:59:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ffedd89747)
+
+ director: Call state_change_callback on user move timeout.
+
+
+M src/director/director.c
+M src/director/director.h
+M src/director/main.c
+
+2016-10-21 12:50:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3c3001681d)
+
+ director: Code cleanup - allow commands handlers to stop processing input
+
+ Now returning 0 exits the input reading without disconnecting client.
+
+M src/director/doveadm-connection.c
+
+2016-10-25 13:27:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1fce089d56)
+
+ lib-mail: Add tests for dec/hexdec encoded entities
+
+
+M src/lib-mail/test-mail-html2text.c
+
+2016-10-25 12:48:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (eb0cfb4f32)
+
+ lib-mail: Support decimal/hexadecimal encoded entities
+
+ Add support for &#nnn; and &#xnnn; entities.
+
+M src/lib-mail/mail-html2text.c
+
+2016-10-25 10:29:50 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f42024ba93)
+
+ imap-login: Skip NIL value in ID handler
+
+ NIL value can cause hard crash, depending what the key is. For x-proxy-ttl,
+ NIL will crash on any system, x-originating-ip will crash on some nss
+ versions (e.g. centos 6.7).
+
+ Migitating factor here is that the NIL value is only accepted from trusted
+ network.
+
+M src/imap-login/imap-login-client.c
+
+2016-10-24 18:52:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e7f31dfdcf)
+
+ lib-compression: Added unit tests for reading .gz files
+
+
+M src/lib-compression/test-compression.c
+
+2016-10-24 18:31:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (697a4fbe2d)
+
+ lib-compression: Added file uncompression support for test-compression
+
+ This can be useful for debugging.
+
+M src/lib-compression/test-compression.c
+
+2016-10-24 18:29:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0757cf450c)
+
+ lib-compress: Don't assume too early that gz file continues after a trailer.
+
+ Some istreams don't have EOF immediately set after the gz trailer. This
+ fixes errors like "missing gz trailer at 1675"
+
+M src/lib-compression/istream-zlib.c
+
+2016-10-24 17:15:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bc06e3827e)
+
+ istream-zlib: "missing gz trailer" error message was wrong.
+
+
+M src/lib-compression/istream-zlib.c
+
+2016-10-24 15:59:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1ea0aa8e14)
+
+ lib: With FILE_LOCK_SLOW_WARNING_MSECS log a warning also when keeping lock
+ for long.
+
+ This can help catching which process kept the lock for too long.
+
+M src/lib/file-lock.c
+
+2016-10-24 16:01:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (43f6d195de)
+
+ configure: Fixed checking if OpenSSL is too old for lib-dcrypt
+
+ EVP_PKEY_CTX_set_ec_paramgen_curve_nid() is a macro, so it can't be checked
+ with AC_CHECK_LIB().
+
+M m4/ssl.m4
+
+2016-10-24 16:05:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d54edc1ad7)
+
+ lib: Fix compiler warnings in test-ioloop
+
+ Fixes: test-ioloop.c:72: error: ignoring return value of ‘write’, declared
+ with attribute warn_unused_result
+
+M src/lib/test-ioloop.c
+
+2016-10-24 13:08:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (86ab71bf13)
+
+ lib-http: Add ioloop and lock wait information to timeout messages.
+
+ It'll now log for example: 9007 Request timed out (Request sent 7.087 secs
+ ago, 0.076 in other ioloops, 7.012 in locks, connected 7.087 secs ago)
+
+ Which points out that the problem wasn't really with the HTTP, but with
+ locking. This likely should be fixed in some way also in lib-http so that it
+ gives a bit of extra time for reading the request, but that's a separate
+ fix.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2016-10-24 12:17:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e55b5cf82e)
+
+ dict-client: Fix logging how much time was spent in other ioloops in slow
+ lookup warnings.
+
+ The warning's idea is to show why the lookup could have been slow. We
+ differentiate between time spent in dict_wait() waiting only for the dict
+ result and time spent in other ioloops waiting for potentially other things
+ as well (and time spent waiting for locks during this time).
+
+ The previous code didn't work right when multiple ioloops were used, which
+ happened sometimes.
+
+ Also changed %u to %d just in case some calculation is wrong. It's nicer to
+ get a slightly negative value rather than a huge positive one.
+
+M src/lib-dict/dict-client.c
+
+2016-10-24 12:16:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d327ea02dc)
+
+ lib: Added ioloop_global_wait_usecs
+
+ This is helpful when multiple ioloops aren't used and
+ io_loop_get_wait_usecs() can't be easily used for all of them.
+
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2016-10-24 14:05:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f83fd83f9c)
+
+ lib: Add FILE_LOCK_SLOW_WARNING_MSECS environment.
+
+ Log a warning if any locking takes longer than the specified number of
+ milliseconds. This can be enabled globally with:
+
+ import_environment = $import_environment FILE_LOCK_SLOW_WARNING_MSECS=1000
+
+M src/lib/file-dotlock.c
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+
+2016-10-24 13:28:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1c783b6d9c)
+
+ lib-index: Fix potential error when reading from uncommitted cache
+ transaction
+
+ If dovecot.index.cache is compressed during the transaction, the new cache
+ fields mapping doesn't necessarily match what is in the transaction.
+
+ Fixes: Error: Corrupted index cache file .../dovecot.index.cache: field
+ index too large (27 >= 17)
+
+ Although there may be other cache corruption errors it also fixes.
+
+M src/lib-index/mail-cache-transaction.c
+
+2016-10-24 12:25:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (96a4e105f7)
+
+ lib-index: Fix potential assert-crash when reading cache
+
+ Fixes: Panic: file mail-cache-lookup.c: line 258
+ (mail_cache_lookup_iter_next): assertion failed: (ctx->offset != 0)
+
+ Broken by d33fc6c584718efd46159e1d8f46488b9dfc66f5
+
+M src/lib-index/mail-cache-lookup.c
+
+2016-10-24 12:23:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e1c08b1d9b)
+
+ master: If chrooted service's core wasn't dumped, suggest to unset the
+ chroot.
+
+
+M src/master/service-process.c
+
+2016-10-24 11:34:05 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cca98b5acc)
+
+ lib: Add test for ioloop fd polling
+
+
+M src/lib/test-ioloop.c
+
+2016-10-24 10:13:42 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d0d5df1cf9)
+
+ lib: Fix kqueue io_loop_get_wait_time usage
+
+ The code needs to take into consideration, when there is no IO to be waited,
+ but possibly there is io_set_pending used, or just timeouts.
+
+M src/lib/ioloop-kqueue.c
+
+2016-10-24 10:08:42 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3e41b3d0cf)
+
+ lib: Ensure tv_r gets set in io_loop_get_wait_time
+
+ If this does not get reset here to 0 it can cause errors or unpredictable
+ behaviour in select/kqueue polling, such as very long delays.
+
+M src/lib/ioloop.c
+
+2016-10-22 22:45:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9faac59f66)
+
+ director: Fix crash handling director_flush_socket when user is freed.
+
+
+M src/director/director.c
+
+2016-10-13 16:11:48 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cf7857bce6)
+
+ director: Support flush socket
+
+ This allows specifying an URI to execute on user kill. It can be of form
+ exec:/path/to/bin, unix:/path/to/socket or tcp:ip:port
+
+ The location is sent FLUSH username-hash per killed user. You can execute
+ some action there, and you are expected to return '+\nOK\n' as reply once
+ you are done.
+
+M src/director/Makefile.am
+M src/director/director-settings.c
+M src/director/director-settings.h
+M src/director/director.c
+
+2016-10-22 13:00:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (120d33c71c)
+
+ configure: Improved checking if OpenSSL is too old for lib-dcrypt
+
+ Some OpenSSL versions had EC_KEY_new, but not other needed functions.
+
+M m4/ssl.m4
+
+2016-10-21 14:58:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (92c8109f71)
+
+ program-client-unix: Don't retry connecting to UNIX socket.
+
+ Especially with async connections this will just block the whole process
+ when there are errors.
+
+M src/lib-program-client/program-client-remote.c
+
+2016-10-21 14:34:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (958e5ae51a)
+
+ director: Fix shutdown_clients=no to not break
+
+ The director process must shut down even with with shutdown_clients=no.
+ Otherwise the two director processes will try to keep competing with each
+ others and log errors like:
+
+ director: Warning: Director 10.0.0.123:9090/right disconnected us with
+ reason: Replacing with new incoming connection director: Warning: Director
+ 10.0.0.123:9090/right disconnected us with reason: Replacing with
+ 10.0.0.124:9090
+
+M src/director/main.c
+
+2016-10-21 13:55:42 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d83aa94276)
+
+ doveadm: Rewind input early enough
+
+ Command input needs to be rewinded earlier in doveadm_mail_next_user.
+
+M src/doveadm/doveadm-mail.c
+
+2016-10-21 11:05:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4a19721236)
+
+ lib-program-client: Change program_client_create() API to return error
+ string.
+
+
+M src/lib-program-client/program-client.c
+M src/lib-program-client/program-client.h
+
+2016-10-21 00:25:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (28f7995610)
+
+ imap-hibernate: Fix "DONE" handling.
+
+ 1. If only "DONE\r\n" was sent, it randomly failed with BAD because of
+ out-of-bounds buffer read.
+
+ 2. If "DONE\r\n" was followed by a command tag but no space afterwards, we
+ kept waiting for the input to continue. But since the DONE was already sent,
+ we should break the IDLE already at that point without any further waiting.
+
+M src/imap-hibernate/imap-client.c
+
+2016-10-20 18:09:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e8a936d1e2)
+
+ lib: Added unit tests for string tabescaping.
+
+
+M src/lib/test-strescape.c
+
+2016-10-20 17:45:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7a60e1dc9e)
+
+ global: Replaced t_strsplit_tab() calls with t_strsplit_tabescaped()
+
+ This is useful especially in auth code to support LFs in extra fields.
+
+ Other pieces of code were also tab-escaping strings, but never unescaping
+ them. Usually it didn't matter, because nobody would use the escaped
+ characters. Still, the code wasn't exactly behaving correctly.
+
+ One downside to this change is that it's now possible to pass through TABs,
+ CRs and LFs through the various protocols. In theory this shouldn't cause
+ any problems, but combined with other bugs this could trigger some security
+ problems.
+
+M src/anvil/anvil-connection.c
+M src/auth/auth-fields.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-cache.c
+M src/config/config-connection.c
+M src/director/director-connection.c
+M src/director/director-test.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-proxy.c
+M src/doveadm/doveadm-replicator.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/indexer/indexer-client.c
+M src/ipc/ipc-connection.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-service-settings.c
+M src/login-common/login-proxy.c
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2016-10-20 17:21:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ef0c36aa81)
+
+ global: Code cleanup - Use t_strsplit_tabescaped() to avoid
+ str_tabunescape()
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-stats.c
+M src/indexer/indexer-client.c
+M src/lib-auth/auth-master.c
+M src/lib-master/master-login.c
+M src/stats/client.c
+M src/util/script-login.c
+
+2016-10-20 12:39:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (acfda38b75)
+
+ global: Try to initialize var_expand_tab[] directly.
+
+ This avoids accidents with the array numbering being wrong.
+
+M src/imap-hibernate/imap-client.c
+M src/imap/imap-client.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-send.c
+M src/lib-mail/mail-user-hash.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/login-common/client-common.c
+M src/login-common/login-settings.c
+M src/plugins/acl/acl-shared-storage.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+
+2016-10-20 12:08:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4b1781e4c6)
+
+ global: Use i_strchr_to_next() wherever useful.
+
+
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-worker-client.c
+M src/auth/db-ldap.c
+M src/auth/userdb-passwd-file.c
+M src/imap-hibernate/imap-client.c
+M src/lib-dict/dict-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-mail/mail-user-hash.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mailbox-list.c
+M src/login-common/client-common.c
+M src/stats/mail-user.c
+
+2016-10-20 12:08:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f915d2f0b7)
+
+ lib: Added i_strchr_to_next()
+
+
+M src/lib/strfuncs.h
+
+2016-10-20 12:24:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e40aeca4aa)
+
+ pop3: Fix pop3_logout_format=%{deleted_size} expansion when there are no
+ deletions
+
+ Should be "0", not empty string.
+
+M src/pop3/pop3-client.c
+
+2016-10-20 12:06:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (761585b5c8)
+
+ %{auth_domain} shouldn't include the leading '@'
+
+
+M src/imap-hibernate/imap-client.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+
+2016-10-20 18:31:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5e8e8fb013)
+
+ lib-ldap: Fixed compiling with OpenBSD
+
+
+M src/lib-ldap/ldap-search.c
+
+2016-10-20 16:30:49 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (0b808b62a6)
+
+ auth: Escape local_name
+
+
+M src/auth/auth-request.c
+M src/lib-auth/auth-client-request.c
+
+2016-10-20 16:06:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (290b91ad6f)
+
+ login-common: Include local_name in login_var_expand_table
+
+ This way it can be used in login_log_format
+
+M src/login-common/client-common.c
+
+2016-10-20 15:54:40 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (1210c14c35)
+
+ lib-storage: Fixed a boolean expression.
+
+ Problem found with clang -Wstrict-bool.
+
+M src/lib-storage/mail-storage.c
+
+2016-10-20 15:46:01 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (59cd098225)
+
+ lib-program-client: Fixed boolean expressions.
+
+ Problems found with clang -Wstrict-bool.
+
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-remote.c
+
+2016-10-20 15:41:54 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (6aecc29b89)
+
+ lib-program-client: Gave variables pointing to a program-client more logical
+ names.
+
+ Was still based on when it was called the script-client.
+
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-remote.c
+
+2016-10-20 16:30:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3951689971)
+
+ auth: Fixed assert-crash on invalid auth-client input
+
+ For example if client sends invalid input like: auth: Error: BUG:
+ Authentication client sent unknown command: XYZ
+
+ Fixes crash: auth: Panic: key not found from hash
+
+M src/auth/auth-request-handler.c
+
+2016-10-20 14:23:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (80838a8bb1)
+
+ dovecot-config: Added dovecot_statedir
+
+
+M Makefile.am
+M dovecot-config.in.in
+M m4/dovecot.m4
+
+2016-10-20 13:30:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d78f1ac9dc)
+
+ Added "doveadm process status"
+
+ This allows asking for processes' current status in master process.
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-master.c
+M src/master/master-client.c
+
+2016-10-20 13:12:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (eba7f36fee)
+
+ Added "doveadm service status"
+
+ This allows asking for services' current status in master process.
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-master.c
+M src/master/master-client.c
+
+2016-10-20 13:22:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (27bb267255)
+
+ doveadm-master: Code cleanup - simplify sending command args to master.
+
+ This also escapes the parameters to make sure nothing bad can be sent.
+
+M src/doveadm/doveadm-master.c
+
+2016-10-20 13:11:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (de41dbb482)
+
+ doveadm service stop: Convert to doveadm v2 API
+
+
+M src/doveadm/doveadm-master.c
+
+2016-10-20 13:10:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7237f2f0a5)
+
+ doveadm service stop: Code cleanup - Prepare for other service commands.
+
+
+M src/doveadm/doveadm-master.c
+
+2016-10-20 13:09:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c7713320cd)
+
+ doveadm service stop: Moved command handling to doveadm-master.c
+
+ It's talking to master process, and there will be other non-service commands
+ that talk to the master process in the same way.
+
+M src/doveadm/Makefile.am
+M src/doveadm/doveadm-master.c
+D src/doveadm/doveadm-service.c
+
+2016-10-11 12:43:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f7bc2f7085)
+
+ doveadm user: If lookup fails, don't write it to the same line as header.
+
+
+M src/doveadm/doveadm-auth.c
+
+2016-10-19 21:49:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5e327e031d)
+
+ doveadm-server: Show incoming connection's IP and running command is process
+ title.
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/client-connection-private.h
+M src/doveadm/client-connection.c
+M src/doveadm/client-connection.h
+M src/doveadm/doveadm.h
+M src/doveadm/main.c
+
+2016-10-18 00:37:32 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fe791e96fd)
+
+ auth: Pass local_name to auth-request
+
+ This allows using local_name in various places, such as passdb/userdb
+ queries.
+
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request-var-expand.h
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.h
+M src/login-common/client-common.h
+M src/login-common/login-settings.c
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-openssl.c
+
+2016-10-20 10:11:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c67082dca6)
+
+ login proxy: Hanging outgoing SSL connections caused using already-freed
+ memory
+
+ This mainly happened when login proxy closed the connection due to connect
+ timeout. The ssl-proxy still had a reference and existed for a longer time.
+ If SSL handshake still succeeded afterwards, it now called
+ login_proxy_ssl_handshaked(), which accessed the already-freed proxy and
+ likely crashed.
+
+ Fixed the ssl-client proxy code specifically. Alternatively ssl_proxy_free()
+ could be calling ssl_proxy_destroy() always, but since ssl-server side of
+ the code seems to have been working fine, I don't want to accidentally break
+ it.
+
+M src/login-common/login-proxy.c
+
+2016-10-20 10:59:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b60f51bfcc)
+
+ lib-program-client: Linking fix.
+
+
+M src/lib-program-client/Makefile.am
+
+2016-10-19 23:07:58 +0200 Stephan Bosch <stephan.bosch@dovecot.fi> (3781fc206f)
+
+ Fixed copyright notice.
+
+
+M src/lib/test-uri.c
+
+2016-10-19 21:03:39 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e6ba63471b)
+
+ lib-program-client: Deduplicate flush statement
+
+ It can be done below by splitting the else if into separate if statement.
+
+M src/lib-program-client/program-client.c
+
+2016-10-19 21:03:24 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (76516caaa8)
+
+ lib-program-client: Correctly handle error code
+
+
+M src/lib-program-client/program-client-remote.c
+
+2016-10-19 20:40:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (42efa99e84)
+
+ lib: Copy target_uid from restrict_access_settings
+
+ One cannot assign to set->uid, causing compile error.
+
+M src/lib/restrict-access.c
+
+2016-10-19 19:02:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2558976f0b)
+
+ lib-program-client: Try drop setuid root by default
+
+ But not if root privileges are asked for.
+
+M src/lib-program-client/program-client-local.c
+
+2016-10-19 18:44:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ea42ee9ebd)
+
+ lib: Add drop_setuid_root for restrict_access
+
+ drop_setuid_root, when set to true, will detect and try to drop getuid()==0.
+ This is done by recovering current effective UID to set->uid if set->uid ==
+ -1, and then doing seteuid(0). It will also drop out any other extra
+ privileges, such as extra groups not requested for.
+
+M src/lib/restrict-access.c
+M src/lib/restrict-access.h
+
+2016-10-12 14:57:51 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (ac2defed59)
+
+ lib-storage: clean up mailbox_list_create to improve readability
+
+ There is no reason to use mailbox_list_driver_find() here instead of
+ mailbox_list_find_class() as (1) we do not need the index into the list
+ driver array, and (2) dealing with double-pointers is harder than regular
+ pointers.
+
+M src/lib-storage/mailbox-list.c
+
+2016-10-19 19:41:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f948338e87)
+
+ push-notification: Error handling fix and cleanups.
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2016-10-19 18:25:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bad0f9dae6)
+
+ dovecot-ldap.conf.ext: Updated sasl_bind comment.
+
+
+M doc/example-config/dovecot-ldap.conf.ext
+
+2016-10-19 16:31:01 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9b7b07d70c)
+
+ lib-program-client: Fix memory access problem
+
+
+M src/lib-program-client/program-client.c
+
+2016-10-19 16:06:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (bdaa7eb956)
+
+ lib-program-client: Fix local tests
+
+
+M src/lib-program-client/Makefile.am
+M src/lib-program-client/test-program-client-local.c
+
+2016-10-17 09:50:30 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1be27c35ea)
+
+ lib-program-client: Whitespace fixes
+
+
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+M src/lib-program-client/program-client.h
+
+2016-10-17 14:19:40 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (867b2e27d8)
+
+ lib-program-client: Disable valgrind
+
+ For local test, we can't use valgrind, it's too unreliable (breaks execution
+ sometimes).
+
+M src/lib-program-client/Makefile.am
+
+2016-10-17 14:13:28 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a371ea8bd4)
+
+ lib-program-client: Add support for iostream-dot
+
+ This is also made mandatory for TCP client.
+
+M src/lib-program-client/Makefile.am
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+M src/lib-program-client/program-client.h
+M src/lib-program-client/test-program-client-net.c
+
+2016-10-17 11:48:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (541446ac8e)
+
+ lib-program-client: Make sure we delay output in test
+
+ This is to ensure that the client does not prematurely disconnect before
+ output is sent.
+
+M src/lib-program-client/test-program-client-unix.c
+
+2016-10-17 09:46:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1c0dd964c4)
+
+ lib-program-client: Move version string to define
+
+
+M src/lib-program-client/program-client-remote.c
+
+2016-10-13 15:32:49 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (80521bcdd2)
+
+ lib-program-client: Add URI based constructor
+
+
+M src/lib-program-client/program-client.c
+M src/lib-program-client/program-client.h
+
+2016-10-17 09:44:33 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3f67fea2e5)
+
+ lib-program-client: Add tests for TCP client
+
+
+M src/lib-program-client/Makefile.am
+A src/lib-program-client/test-program-client-net.c
+
+2016-10-17 09:44:14 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (366f669495)
+
+ lib-program-client: Add TCP client support
+
+
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.h
+
+2016-10-17 09:35:14 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (204afc1f4f)
+
+ lib-program-client: Add switch_ioloop vfunc
+
+ This lets program-client backends do their own special io loop switching.
+
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+
+2016-10-15 13:59:45 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (17541ea255)
+
+ lib-program-client: Use milliseconds in idle timeout
+
+
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client.c
+M src/lib-program-client/program-client.h
+M src/lib-program-client/test-program-client-local.c
+M src/lib-program-client/test-program-client-unix.c
+
+2016-10-17 09:09:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4fbe0d1090)
+
+ lib-program-client: Use child-wait
+
+ This makes the client waiting asynchronous.
+
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client.c
+
+2016-10-17 09:11:38 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (097dbdf543)
+
+ lib-program-client: Disconnect asynchronously
+
+
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+
+2016-10-12 13:14:03 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1acc8d6538)
+
+ lib-program-client: Use restrict-access
+
+ This makes the program-client execution behave more consistent to the rest
+ of the core code.
+
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client.h
+M src/lib-program-client/test-program-client-local.c
+M src/lib-program-client/test-program-client-unix.c
+
+2016-10-13 10:11:52 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7725d60aea)
+
+ lib: Add reference counting to child_wait_pid
+
+
+M src/lib/child-wait.c
+
+2016-10-17 12:34:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (08d8de8e25)
+
+ lib-storage: Make sure mailbox_uidvalidity_next() doesn't return 0.
+
+ 0 isn't a valid IMAP UIDVALIDITY, and Dovecot treats 0 as "not assigned".
+
+M src/lib-storage/mailbox-uidvalidity.c
+
+2016-10-17 21:03:51 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (b594d84b9f)
+
+ lib-dcrypt: add a test for password change
+
+ Test that you can encrypt a key with password, encrypt a key with the
+ password protected key, change the password, and still load a key that you
+ encrypted with the key encrypted using the first password.
+
+M src/lib-dcrypt/test-crypto.c
+
+2016-10-18 14:57:31 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e0aab219ab)
+
+ doveadm: trim doveadm dump dcrypt-key input
+
+ dcrypt does not like extra newlines at the end of a key.
+
+M src/doveadm/doveadm-dump-dcrypt-key.c
+
+2016-10-18 10:45:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8add900109)
+
+ lib-fs: Fixed fs_metadata_find() to actually work
+
+
+M src/lib-fs/fs-api.c
+
+2016-10-12 14:32:51 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (1c62887aa7)
+
+ imapc: don't mix positional and designated initialization
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2016-10-17 09:18:27 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (1f4d459111)
+
+ imapc: use serialized settings as unique_root_dir
+
+ Without this, it is not possible to instantiate multiple imapc storages. Any
+ attempts to will result in multiple namespaces sharing the same storage,
+ regardless of if that was the intention.
+
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2016-10-17 09:13:21 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (7900eb30ba)
+
+ lib-storage: treat empty root_dir as an empty string
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2016-10-17 09:34:04 +0200 Steffen Templin <steffen.templin@open-xchange.com> (3722c793bb)
+
+ push-notification: Resolve indentation problem
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2016-10-06 07:35:17 +0000 Steffen Templin <steffen.templin@open-xchange.com> (282323a526)
+
+ push-notification: Re-open mailbox and sync it to get unseen count.
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2016-10-05 13:28:49 +0300 Steffen Templin <steffen.templin@open-xchange.com> (5e55914597)
+
+ push-notification: Add unseen count to OX driver.
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2016-10-10 20:38:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (13961419ca)
+
+ global: Handle broken Content-Type headers consistently.
+
+ 1) Only the first Content-Type header is used. (Simpler than using the
+ last.)
+
+ 2) Invalid Content-Types are parsed as far as we can. This is mainly to make
+ sure they aren't treated as missing Content-Types, which could cause them to
+ become text/plain.
+
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-search.c
+M src/plugins/fts/fts-build-mail.c
+
+2016-10-10 20:24:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7f7f771254)
+
+ lib-imap: imap_bodystructure_parse() ignores text/plain flag mismatch for
+ now.
+
+ Maybe we can enable it some day far into the future, but for now this just
+ causes unnecessary cache file rebuilds.
+
+M src/lib-imap/imap-bodystructure.c
+
+2016-10-10 20:23:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (85c1b6c22e)
+
+ lib-imap: Don't write a broken Content-Type as text/plain to BODYSTRUCTURE
+
+ Mainly because it doesn't match with MESSAGE_PART_FLAG_TEXT in message_part.
+
+M src/lib-imap/imap-bodystructure.c
+
+2016-10-15 23:04:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c19c44f87e)
+
+ config: Compare local_name case insensitive
+
+ DNS and certificate names should be compared case insensitive.
+
+M src/config/config-filter.c
+
+2016-10-17 23:25:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (46b0db4a0d)
+
+ lib: Add null_strcasecmp
+
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+
+2016-10-17 19:38:07 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1db4d76258)
+
+ auth-policy: Use request's pool instead of new pool
+
+ This fixes existing memory leak in auth_report, which is caused by using
+ separate memory pool instead of request's pool.
+
+ Thank you for Andrea Carpani for extensive debugging.
+
+M src/auth/auth-policy.c
+
+2016-10-16 22:58:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4de6248022)
+
+ dict-sql: Use LIMIT in SQL queries with dict_iterate_set_limit()
+
+
+M src/lib-dict/dict-sql.c
+
+2016-10-16 22:55:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c27757ca7c)
+
+ dict-sql: Error handling fix & code cleanup
+
+ Only the first sql_dict_iterate_next_query() error was handled correctly.
+
+M src/lib-dict/dict-sql.c
+
+2016-10-16 22:40:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6acd1a48e1)
+
+ lib-dict: Added dict_iterate_set_limit()
+
+
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+
+2016-10-17 19:21:34 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4f051c3082)
+
+ lib-dict: Duplicate result value in mempool
+
+ Duplicate the result value already in callback to avoid it getting lost
+ during async calls.
+
+ Reported & tested by Pierre Jaury.
+
+M src/lib-dict/dict-client.c
+
+2016-10-17 23:06:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9b5fa7fdd9)
+
+ lib-mail: Fixed infinite loop in istream-attachment-extractor
+
+ Broken by 7f74811b7. Pretty much any larger attachment going through this
+ istream had a good potential of going into an infinite loop.
+
+M src/lib-mail/istream-attachment-extractor.c
+
+2016-10-17 10:59:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ece461287e)
+
+ lib-fs: Added FS_METADATA_WRITE_FNAME to allow renaming a file being
+ written.
+
+
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-posix.c
+
+2016-10-11 01:04:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5b302b077a)
+
+ lib-fs: Added internal fs_metadata_find() helper function
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2016-10-11 00:46:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4c649f0338)
+
+ lib-fs: Optimize changing FS_METADATA_INTERNAL_PREFIX metadata.
+
+ file->metadata_changed doesn't need to change in that situation. It's used
+ by fs-metawrap to find out if it needs to rewrite metadata during a write,
+ but internal metadata isn't written to its header.
+
+M src/lib-fs/fs-api.c
+
+2016-10-17 12:41:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5b45af6a88)
+
+ sdbox: Removed duplicated code.
+
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2016-10-17 10:36:17 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e13d38a112)
+
+ lib-dcrypt: change unit test ec curve to secp521r1
+
+ This curve is more common, so unit tests will pass on more machines.
+
+M src/lib-dcrypt/test-crypto.c
+
+2016-10-17 09:13:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (46e5bbded0)
+
+ lib-fs: Lazily initialize timings to save memory.
+
+
+M src/lib-fs/fs-api.c
+
+2016-10-14 17:13:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (db5fdf6055)
+
+ lib-storage: Use MAILDIR_INFO_SEP_S
+
+ Replace hardcoded : with MAILDIR_INFO_SEP_S
+
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2016-10-14 15:28:32 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (58ba06268d)
+
+ lib-dcrypt: Fix uninitialized memory
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/test-crypto.c
+
+2016-10-14 13:48:41 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (9a025a7469)
+
+ lib-dcrypt: str_new to t_str_new in some test-crypto tests
+
+ str_new from default_pool was not properly freed.
+
+M src/lib-dcrypt/test-crypto.c
+
+2016-10-13 23:38:36 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (c42c9ff351)
+
+ lib-dcrypt: enc_key and pw must be NULL on storing unencrypted private key
+
+ Add tests for password and key encryption, and get_info on them. Also give
+ examples of valid cipher values for password and key encryption in dcrypt.h
+ comment.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt.h
+M src/lib-dcrypt/test-crypto.c
+
+2016-10-12 21:29:51 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (5d744144fe)
+
+ lib-dcrypt: fix comment of dovecot format v2 to use colon
+
+ Version 2 field separator was changed to colon.
+
+M src/lib-dcrypt/dcrypt.h
+
+2016-10-12 09:54:04 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (335ac4abc3)
+
+ INSTALL: Use markdown style
+
+
+D INSTALL
+A INSTALL.md
+M Makefile.am
+
+2016-10-12 09:08:51 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (73650a8873)
+
+ README: Use markdown style
+
+
+D README
+A README.md
+
+2016-10-12 09:38:05 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (16d9e9dd87)
+
+ git: Ignore README and INSTALL
+
+
+M .gitignore
+
+2016-10-12 09:36:46 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (48e4a5c73f)
+
+ configure: Detect pandoc for building documentation
+
+
+M Makefile.am
+M configure.ac
+
+2016-10-12 10:30:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8177c14444)
+
+ lib-program-client: Do not use /tmp in testing
+
+
+M src/lib-program-client/test-program-client-unix.c
+
+2016-10-12 12:04:10 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3bfdab7788)
+
+ auth: Pass userdb fields to worker
+
+ If this is not done, then those userdb handlers that need access to userdb
+ variables for e.g. interpolation, cannot access them.
+
+M src/auth/auth-request.c
+M src/auth/auth-worker-client.c
+
+2016-10-11 13:18:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (63b557b1c5)
+
+ auth: Don't re-insert userdb results from auth cache data back to cache.
+
+ This was also breaking TTLs for the cached userdb results, because each
+ re-insert reset the TTL.
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2016-10-10 21:22:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (56774de9cd)
+
+ lib-program-client: Fixed potential panic in test-program-client-local
+
+ If the run finished before io_loop_run(), it would panic with: Panic: BUG:
+ No IOs or timeouts set. Not waiting for infinity.
+
+M src/lib-program-client/test-program-client-local.c
+
+2016-10-10 21:19:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (004be038df)
+
+ lib-program-client: Fixed program_client_run() that succeeds rapidly.
+
+ program_client_run_async() could have called the callback with result=0
+ before io_loop_run(). This happened with local client.
+
+ Fixes in test-program-client-local: Panic: BUG: No IOs or timeouts set. Not
+ waiting for infinity.
+
+M src/lib-program-client/program-client.c
+
+2016-10-10 23:53:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (96e1ed172a)
+
+ fs-metawrap: Don't assert-crash when trying to write an empty file.
+
+ Fixes: Panic: file fs-metawrap.c: line 401
+ (fs_metawrap_write_stream_finish): assertion failed:
+ (file->super_output->offset > 0 || file->super_output->stream_errno != 0)
+
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/test-fs-metawrap.c
+
+2016-10-11 00:31:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d1a82a2555)
+
+ lib-fs: Renamed internal i_stream_mail_read() to i_stream_fs_stats_read()
+
+ Just to make backtraces look clearer. Originally forgot to change this after
+ copy&pasting code from istream-mail.c
+
+M src/lib-fs/istream-fs-stats.c
+
+2016-10-10 20:58:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a694d17a2e)
+
+ lib-program-client: Fixed running test-program-client-local as root.
+
+ uid/gid == -1 isn't treated as "don't change" in here.
+
+M src/lib-program-client/test-program-client-local.c
+
+2016-10-10 20:35:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (144e0b545e)
+
+ auth: Compiler warning fix
+
+
+M src/auth/db-ldap.c
+
+2016-09-21 10:55:47 +0300 Matwey V. Kornilov <matwey.kornilov@gmail.com> (adb497977f)
+
+ auth: Fix default SASL bind for LDAP
+
+ User may configure Dovecot to use SASL bind as default bind method. This
+ can be the case when ldapi:/// (or ldaps:///) with SASL EXTERNAL is used.
+ Currently, Dovecot returns LDAP connection to wrong bind state after first
+ successful auth bind, LDAP simple bind always used to rebind. This may
+ broke setup when ACL in LDAP configured not to allow search/bind for such
+ simple bind.
+
+M src/auth/db-ldap.c
+
+2016-09-21 10:50:02 +0300 Matwey V. Kornilov <matwey.kornilov@gmail.com> (372b7c40bf)
+
+ auth: Introduce db_ldap_bind_sasl() function
+
+ Do refactoring in db_ldap_connect() before fixing the SASL bind issue in the
+ next commit.
+
+M src/auth/db-ldap.c
+
+2016-10-06 15:22:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bfef689156)
+
+ doveadm director kick: Added -f <passdb field> parameter.
+
+ This works for all the user_* passdb fields.
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+M src/doveadm/doveadm-director.c
+
+2016-10-06 15:19:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (26f4264ece)
+
+ doveadm director kick: Escape username properly.
+
+ This only mattered if the username contained \001, TAB or LF characters,
+ which isn't normal.
+
+M src/doveadm/doveadm-director.c
+
+2016-10-06 15:13:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4a4fdb1478)
+
+ director: Escape username when handling USER-KICK.
+
+ This could have caused problems if username parameter contained TABs or LFs,
+ which of course shouldn't normally happen.
+
+M src/director/director.c
+
+2016-10-06 14:54:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9fc9965693)
+
+ doveadm proxy kick: Support multiple user parameters.
+
+
+M src/doveadm/doveadm-proxy.c
+
+2016-10-06 14:53:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (75af6e5ca2)
+
+ doveadm proxy kick: Added -f <passdb field> parameter.
+
+ This works for all the user_* passdb fields.
+
+M src/doveadm/doveadm-proxy.c
+M src/login-common/login-proxy.c
+
+2016-10-06 14:38:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (adad68df46)
+
+ doveadm proxy list: Show all user_* fields in output.
+
+
+M src/doveadm/doveadm-proxy.c
+M src/login-common/login-proxy.c
+
+2016-10-05 23:22:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ce1a6c9b82)
+
+ *-login: Store user_* passdb fields to client->alt_usernames.
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+M src/login-common/login-common.h
+M src/login-common/main.c
+
+2016-10-10 17:37:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0c5ed44cf9)
+
+ last-login: Don't execute last_login on IMAP unhibernation.
+
+
+M src/plugins/last-login/last-login-plugin.c
+
+2016-10-10 17:19:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5563905225)
+
+ quota: Don't execute quota_over_script if userdb lookup was over 10 secs ago
+
+
+M src/plugins/quota/quota.c
+
+2016-10-10 17:19:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1e2b3bd82f)
+
+ imap-hibernate: Preserve mail_user.session_create_time through hibernation
+
+
+M src/imap-hibernate/imap-client.c
+M src/imap-hibernate/imap-client.h
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-master-client.c
+
+2016-10-10 17:19:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a020eb653b)
+
+ lib-storage: Added mail_user.session_create_time and .session_restored
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2016-10-06 14:54:24 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f24edebe36)
+
+ imap-hibernate: Properly fix hibernation
+
+ The previous fix did not properly fix hibernation as the clients still
+ dropped out of hibernate. Also the tag used was no longer following. This
+ change will track tag changes and keeps the hibernation process going on
+ until the user enters something else than DONE\r\ntag IDLE\r\n in same
+ packet.
+
+M src/imap-hibernate/imap-client.c
+M src/imap-hibernate/imap-client.h
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-master-client.c
+M src/imap/imap-state.c
+M src/imap/imap-state.h
+
+2016-10-10 14:42:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4755f8d37a)
+
+ lib-program-client: Compiler warning fixes
+
+
+M src/lib-program-client/test-program-client-unix.c
+
+2016-10-10 13:40:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e564ff0581)
+
+ cassandra: Added latency_aware_routing connect-parameter.
+
+ There's currently no way to change the default settings for it.
+
+M src/lib-sql/driver-cassandra.c
+
+2016-10-10 13:59:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bc37bab86f)
+
+ lmtp: Handle lmtp_user_concurrency_limit before lmtp_rcpt_check_quota
+
+ The quota lookup is more expensive, so it shouldn't be done unnecessarily.
+
+M src/lmtp/commands.c
+
+2016-10-07 19:49:24 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (0a017e924a)
+
+ lib-program-client: Add test suite for program client
+
+
+M src/lib-program-client/Makefile.am
+A src/lib-program-client/test-program-client-local.c
+A src/lib-program-client/test-program-client-unix.c
+
+2016-10-09 20:19:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9f29dfcbf3)
+
+ lib-program-client: Rename remote to unix
+
+ This is to make more clear that the call requires unix path and does not
+ support TCP. There will be TCP based API too later.
+
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.h
+
+2016-10-07 19:48:59 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (98bc2ecdbf)
+
+ lib-program-client: Expose asynchronous API
+
+
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client-remote.c
+M src/lib-program-client/program-client.c
+M src/lib-program-client/program-client.h
+
+2016-10-06 11:57:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (03c6532fe7)
+
+ lib-program-client: Whitespace fix
+
+
+M src/lib-program-client/program-client-local.c
+M src/lib-program-client/program-client-private.h
+M src/lib-program-client/program-client.c
+
+2016-10-10 10:37:24 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (151fc06a44)
+
+ doveadm-sync: Document end-date flag
+
+
+M doc/man/doveadm-sync.1.in
+
+2016-10-10 10:36:52 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ee8294dbc7)
+
+ doveadm-sync: Add end-date support
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2016-10-10 10:13:12 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a11612ec22)
+
+ doveadm-sync: Document start date
+
+
+M doc/man/doveadm-sync.1.in
+M src/doveadm/doveadm-dsync.c
+
+2016-10-09 23:34:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e6ddcc51a5)
+
+ lib-compression: Fixed compler warnings and wrongly triggering asserts.
+
+ Broken by 7f74811b7.
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+
+2016-10-06 13:50:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7f74811b78)
+
+ global: Make sure i_stream_read() calls handle 0 and -2 return values
+ correctly.
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/doveadm-mail-save.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/dsync/dsync-mail.c
+M src/imap/cmd-append.c
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-http/http-client-connection.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/mail-copy.c
+M src/lib/istream-seekable.c
+
+2016-10-06 13:39:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0f27d0c933)
+
+ log: Minor error logging and comment improvement.
+
+
+M src/log/log-connection.c
+
+2016-10-06 13:09:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c23ebb9b0e)
+
+ imapc: Added imapc_max_line_length to limit maximum memory usage.
+
+ The default is still unlimited, but this should be set to something smaller
+ for untrusted servers.
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2016-10-06 12:10:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7f51e86089)
+
+ lib-index: Added test-mail-index-modseq unit test
+
+
+M src/lib-index/Makefile.am
+A src/lib-index/test-mail-index-modseq.c
+
+2016-10-05 23:59:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b106236913)
+
+ lib-test: Fixed assert-crash in test_exit() with --enable-static-checker
+
+ Fixes: Panic: Missing t_pop() call
+
+M src/lib-test/test-common.c
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+
+2016-10-05 14:22:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ceace05582)
+
+ lib: Simplify static checker's job for i_free() macro.
+
+
+M src/lib/imem.h
+M src/lib/mempool-system.c
+M src/lib/mempool.h
+
+2016-10-05 14:18:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cf4bdceafe)
+
+ lib: [ip]_free(mem) is now also guaranteed to set mem=NULL
+
+ It was already doing it, but updated the macros and comments to make it
+ clear that this won't change in future. Changing this would only make it
+ more likely that bugs occur and the performance improvements would be close
+ to nonexistent.
+
+M src/lib/imem.h
+M src/lib/mempool.h
+
+2016-10-05 16:34:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b25ad25cae)
+
+ lib-storage: Fixed assert-crash in mailbox_save_cancel()
+
+ Broken by 05150df8f. Fixes: Panic: file mail-storage.c: line 2137
+ (mailbox_save_context_reset): assertion failed: (ctx->saving)
+
+M src/lib-storage/mail-storage.c
+
+2016-09-12 13:02:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4036c1ca99)
+
+ lib-program-client: Add program-client from pigeonhole
+
+
+M configure.ac
+M dovecot-config.in.in
+M src/Makefile.am
+A src/lib-program-client/Makefile.am
+A src/lib-program-client/program-client-local.c
+A src/lib-program-client/program-client-private.h
+A src/lib-program-client/program-client-remote.c
+A src/lib-program-client/program-client.c
+A src/lib-program-client/program-client.h
+
+2016-09-27 16:15:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (830382ed5d)
+
+ lib: If connect() fails with EADDRNOTAVAIL, retry it 4 more times.
+
+ This is needed on busy systems. Nicely explained in:
+ https://idea.popcount.org/2014-04-03-bind-before-connect/
+
+M src/lib/net.c
+
+2016-10-05 15:03:05 +0300 Phil Carmody <phil@dovecot.fi> (27fdbf79a2)
+
+ plugins/fts - make storage errors more informative
+
+ There are 3 different ways to fail ending a transaction (one of which is
+ itself just a record that something now unknown previously failed). Identify
+ which one in the logs.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/plugins/fts/fts-storage.c
+
+2016-10-04 17:31:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fbfdd1a757)
+
+ lib-storage: autoexpunge mailboxes with wildcards didn't work with namespace
+ prefix.
+
+
+M src/lib-storage/mail-autoexpunge.c
+
+2016-09-27 19:48:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (96d1b0c812)
+
+ lib-index: If view syncing sees index is reset, always mark the view as
+ inconsistent.
+
+ Not only when the mailbox has messages, because that could still mess up
+ assumptions about UIDs. A somewhat better check could have been to do this
+ only when next_uid>1 (= there have been messages at some point in this
+ mailbox), but it's safer to just always mark the view as inconsistent.
+
+M src/lib-index/mail-index-view-sync.c
+
+2016-09-27 19:45:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (83cd96ee87)
+
+ lib-index: When finding a view is reset, don't attempt any further syncing.
+
+ This could cause various errors to be logged, such as: Error: Append with
+ UID 7103, but next_uid = 7242
+
+M src/lib-index/mail-index-view-sync.c
+
+2016-09-27 19:41:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (407d64647d)
+
+ lib-index: Fixed potential assert-crash when view syncing sees a reset
+ marker.
+
+ It should never try to use main index map at that point, because
+ view_sync_have_expunges() looks changes only before the reset marker. Fixes:
+
+ Error: Index .../dovecot.index lost messages without expunging (36 -> 27)
+
+M src/lib-index/mail-index-view-sync.c
+
+2016-09-27 19:39:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2d33fd7fc7)
+
+ lib-storage: Make sure mailbox_sync*() fails if view is inconsistent
+ afterwards.
+
+
+M src/lib-storage/index/index-sync.c
+
+2016-09-27 19:38:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (505561860c)
+
+ imap: If mailbox is inconsistent after syncing, don't try to sync message
+ counts.
+
+ This fixes (e.g. after doveadm force-resync): Panic: Message count decreased
+
+M src/imap/imap-sync.c
+
+2016-09-26 21:04:44 +0200 Stephan Bosch <stephan@rename-it.nl> (458d877d84)
+
+ lib: uri-util: Implemented API to check generic URI syntax.
+
+ This allows checking whether something is a valid URI of any type. This
+ change adds a test suite for the generic URI syntax, which is currently the
+ main purpose of the API addition. Apart from a few simple vality checks, the
+ test suite also tests various URI examples from RFCs.
+
+M src/lib/Makefile.am
+M src/lib/test-lib.inc
+A src/lib/test-uri.c
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2016-10-02 14:18:35 +0200 Stephan Bosch <stephan@dovecot.fi> (957f71b0b0)
+
+ lib-http: uri: Removed unnecessary checking of percent encoding of query and
+ fragment parts.
+
+ This is now always performed in lib/uri-util.
+
+M src/lib-http/http-url.c
+
+2016-10-02 14:14:48 +0200 Stephan Bosch <stephan@dovecot.fi> (61f962e8f3)
+
+ lib: uri-util: Always fully check the syntax of percent encoding while
+ parsing URI components.
+
+
+M src/lib/uri-util.c
+
+2016-10-03 10:08:45 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (27ba8acc6b)
+
+ lib-test: Fix memory leak in test-ostream
+
+
+M src/lib-test/test-ostream.c
+
+2016-10-03 10:08:31 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d60ff60a75)
+
+ lib-test: Fix illegal memory access in test-ostream
+
+
+M src/lib-test/test-ostream.c
+
+2016-10-03 09:11:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (dfa23b2ddc)
+
+ io: Add source filename
+
+ This will make debugging alot easier when you can see what the filename is
+ as well.
+
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-kqueue.c
+M src/lib/ioloop-notify-none.c
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2016-09-30 13:42:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (11d88fd444)
+
+ lib-test: Added test_ostream for testing nonblocking ostreams.
+
+
+M src/lib-test/Makefile.am
+M src/lib-test/test-common.h
+A src/lib-test/test-ostream.c
+
+2016-09-30 13:10:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b3987cf962)
+
+ lib-test: Moved test_istream code to its own test-istream.c file.
+
+
+M src/lib-test/Makefile.am
+M src/lib-test/test-common.c
+A src/lib-test/test-istream.c
+
+2016-09-30 13:04:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f8a9af7713)
+
+ lib-test: Allow test_istream_set_*() for test-istream's children.
+
+ It will internally find the test_istream from parents. This simplifies the
+ testing code so that it doesn't have to keep track of both the test_istream
+ and the final istream.
+
+M src/lib-test/test-common.c
+
+2016-09-27 20:21:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (85601125c9)
+
+ director: Ignore duplicates in director_servers setting.
+
+
+M src/director/director-host.c
+
+2016-09-30 12:36:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9f7441a478)
+
+ lib-storage: mail_user_dup() should duplicate also userdb_fields.
+
+
+M src/lib-storage/mail-user.c
+
+2016-09-29 14:15:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (05150df8fb)
+
+ lib-storage: Don't reset mail_save_context.saving too early.
+
+ If mailbox_save_using_mail() ended up in mail_storage_copy(), saving was set
+ to FALSE before the copy() method was finished running. This caused e.g.
+ notify plugin to think that this was a copy event instead of a save event.
+
+ Added comments and asserts to clarify how the logic should work between all
+ the different copying/moving/saving flags.
+
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2016-09-29 14:00:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fe9459ab43)
+
+ lib-storage: If mailbox_move() fails, reset mail_save_context.moving==FALSE
+
+
+M src/lib-storage/mail-storage.c
+
+2016-09-29 09:51:40 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (042c55b2fd)
+
+ doveadm-import: Update manpage
+
+
+M doc/man/doveadm-import.1.in
+
+2016-09-29 10:17:05 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b35ac65c88)
+
+ doveadm-import: Add -U parameter to specify source user
+
+ When doing import, you can specify which user to use as source user.
+
+M src/doveadm/doveadm-mail-import.c
+
+2016-09-29 10:15:24 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (bc4f0aef75)
+
+ doveadm-import: Use target user as source user
+
+ This is done to avoid spurious error messages caused by being ran as root.
+
+M src/doveadm/doveadm-mail-import.c
+
+2016-09-28 13:34:46 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a7512265bc)
+
+ imap-hibernate: Accept RFC DONE\IDLE
+
+ Change imap-hibernate to accept DONE\r\n<tag> IDLE\r\n as well, which is
+ specified by RFC
+
+M src/imap-hibernate/imap-client.c
+
+2016-09-27 15:50:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f6f50f528f)
+
+ master: Removed hardcoded listen() backlog limit.
+
+ If it's already too large, the kernel will truncate it automatically. So
+ there shouldn't be any reason for us to explicitly limit it.
+
+M src/master/service-listen.c
+
+2016-09-27 13:28:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bf57767df6)
+
+ lib-storage: Update mailbox.recent_flags_count correctly.
+
+ The counter was increased even if the UID was already in recent_flags. This
+ is the only place where I found that recent_flags and recent_flags_count
+ could become desynced (which they definitely were in a core dump), so
+ hopefully this fixes assert-crashes like:
+
+ Panic: file index-status.c: line 130 (index_storage_get_open_status):
+ assertion failed: (status_r->recent <= status_r->messages)
+
+M src/lib-storage/mailbox-recent-flags.c
+
+2016-09-27 13:50:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (93a4387a19)
+
+ dsync: Virtual sizes weren't exported properly with -I parameter.
+
+ Although they were incorrectly being exported with -T parameter. This makes
+ -I work without assert-crashing.
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2016-09-27 13:50:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f538498d8a)
+
+ dsync: Renamed "max sync size" parameter from -S to -I.
+
+ -S can't be used because it was already used for the generic socket path, so
+ it didn't actually work.
+
+M src/doveadm/doveadm-dsync.c
+
+2016-09-26 15:38:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e33462704d)
+
+ dict-client: Fixed lock and ioloop wait timings in log messages.
+
+ Previously it was logging the total amount of time spent on lock waits or on
+ ioloop during the existence of the entire process, rather than how much time
+ the command itself was spending on those. This wasn't very useful. Now it
+ also tries to separate the time spent on the main ioloop and in dict_wait().
+
+M src/lib-dict/dict-client.c
+
+2016-09-26 16:44:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8d72f20904)
+
+ dict-client: Don't return "Dict server timeout" too early.
+
+ This could have happened when many dict commands were being run without the
+ timeout being reset in the middle.
+
+M src/lib-dict/dict-client.c
+
+2016-09-26 16:34:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9fa33a0c56)
+
+ dict-client: Remove timeout when there are only background commands.
+
+ Normally the timeout wasn't added in the first place, but it was if a
+ non-background command was added first and it was followed by a background
+ command.
+
+M src/lib-dict/dict-client.c
+
+2016-09-23 14:59:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (666d85f706)
+
+ login proxy: Don't leak connections if reconnect fails with "Host is down"
+
+ Double-disconnection was also attempting to close the same fd twice, but I
+ think that couldn't have happened before this leak was fixed.
+
+M src/login-common/login-proxy.c
+
+2016-09-22 14:14:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e5a55bb6b8)
+
+ lib: Add test for pending io without timeouts
+
+
+M src/lib/test-ioloop.c
+
+2016-09-22 14:13:43 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (789645e679)
+
+ lib: Update ioloop attributes
+
+ With pending IO, the ioloop attributes still need updating, instead of just
+ returning.
+
+M src/lib/ioloop.c
+
+2016-09-22 14:23:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b75eba4f65)
+
+ lib-mail: message_header_hash_more() now allows input in any slices.
+
+ There wasn't necessarily any guarantees that the input would be sliced in
+ such a way that the repeating '?' would be dropped the same way every time.
+
+M src/doveadm/dsync/dsync-mail.c
+M src/lib-mail/message-header-hash.c
+M src/lib-mail/message-header-hash.h
+M src/lib-mail/test-message-header-hash.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-09-22 14:16:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f4b1d510a8)
+
+ lib-mail: Removed obsolete comment about message_header_hash_more()
+
+ pop3-migration plugin uses this function now, so it doesn't need to be kept
+ in sync.
+
+M src/lib-mail/message-header-hash.c
+
+2016-09-22 13:47:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a415de5243)
+
+ pop3-migration: "first POP3 msg" warning didn't actually show the first one.
+
+ It was showing the first index in an array, which had nothing to do with
+ being the first POP3 message number.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-09-22 13:38:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5bcac2212c)
+
+ dbox: mailbox_update() shouldn't reset pop3-uidl header.
+
+ This broke reading migrated POP3 UIDLs.
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2016-09-21 20:50:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2e5e2047af)
+
+ login-proxy: Fixed "Host is down" never reseting itself.
+
+ Broken by c8eb8314a, which moved adding num_waiting_connections earlier.
+ After that it was never 0 at the check time.
+
+M src/login-common/login-proxy.c
+
+2016-09-21 16:17:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1d4f019ffe)
+
+ lib: test-istream-chain fixes
+
+
+M src/lib/test-istream-chain.c
+
+2016-09-20 18:08:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f2edbc51be)
+
+ lib-dcrypt: Don't finalize encryption on o_stream_flush()
+
+ For example the default o_stream_uncork() implementation enforces flushing
+ and it's probably better not to change that. In general there's really no
+ reason to perform the finalization at flush when the stream can't be written
+ to anymore (whereas lib-compression ostreams allow writes after flushes).
+
+M src/lib-dcrypt/ostream-encrypt.c
+
+2016-09-21 13:26:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bac6427712)
+
+ lib: Fixed istream-chain when it has multiple "previous streams".
+
+ Fixes assert: Panic: file istream-chain.c: line 223 (i_stream_chain_read):
+ assertion failed: (cur_data_pos == data_size)
+
+ Unit test for it by Stephan Bosch.
+
+M src/lib/istream-chain.c
+M src/lib/test-istream-chain.c
+
+2016-09-21 13:47:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a81be83a3b)
+
+ lib: Fixed ostream-failure-at with blocking parent stream.
+
+ Blocking ostream returns either a full success or a full failure. It can't
+ return that only n/m bytes were written.
+
+ Fixes assert: Panic: file ostream.c: line 255 (o_stream_sendv_int):
+ assertion failed: (!stream->blocking)
+
+M src/lib/ostream-failure-at.c
+
+2016-09-21 12:19:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4c9caab452)
+
+ doveadm fs get: Fixed logging error messages.
+
+ The error is in istream, not in fs.
+
+M src/doveadm/doveadm-fs.c
+
+2016-09-20 21:06:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9a6fe61819)
+
+ imap-login: Add missing brace
+
+
+M src/imap-login/imap-proxy.c
+
+2016-09-20 18:51:18 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c24150b68e)
+
+ imap-proxy: Fix typo in comment
+
+
+M src/imap-login/imap-proxy.c
+
+2016-09-20 15:02:42 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (abd4203d97)
+
+ imap-login: Honor nopipelining during preauth
+
+
+M src/imap-login/imap-proxy.c
+
+2016-09-20 08:51:29 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (bd6a805677)
+
+ lib-storage: remove unused internal_attribute argument from
+ attribute_{get,set}
+
+ This removes an argument added in 9f37ef2a9192e7d47e3d7ac959080fd01120f2e9
+ but obsoleted (but not removed) in d1147c225f64596fc5eeb1cb2aab31b3c57d5215.
+
+ Not only does this change simplify the codebase, it actually brings the API
+ closer to what it was back in 2.2.
+
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mailbox-attribute-internal.c
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-attribute.h
+M src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-storage.h
+
+2016-09-20 12:47:32 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f49f1c5fa6)
+
+ lib-dcrypt: Set NOPLUGIN_LDFLAGS to empty
+
+ Avoids -Wl,--as-needed here
+
+M src/lib-dcrypt/Makefile.am
+
+2016-09-20 10:52:08 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (452d0005a4)
+
+ lib-dcrypt: Makefile.am fix
+
+ Remove dcrypt.c from openssl library and add missing slash
+
+M src/lib-dcrypt/Makefile.am
+
+2016-09-16 15:50:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (80cfaba9e2)
+
+ lib: Ensure handler_context is not NULL
+
+ handler context must not be NULL here.
+
+M src/lib/ioloop-epoll.c
+
+2016-09-16 15:49:36 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (15cdc6b0ec)
+
+ lib: Prevent crash in ioloop
+
+ If only non-fd sources and no timeouts are in ioloop, prevent crash and
+ unnecessary waiting when there are pending IOs.
+
+M src/lib/ioloop.c
+
+2016-09-19 16:20:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (17466c7481)
+
+ lib: Assert if i_stream_create_seekable_path(temp_path_prefix==NULL)
+
+ If the stream becomes large enough it would crash then in a callback
+ function, which makes debugging more difficult.
+
+M src/lib/istream-seekable.c
+
+2016-09-19 12:27:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2fcde0841d)
+
+ fts-plugin: Remove NULL assert
+
+ fts_backend_update_deinit will set box to NULL and call update_set_mailbox
+ then. NULL check needs to be done in backends.
+
+M src/plugins/fts/fts-api.c
+
+2016-09-19 12:26:46 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (768ac0aa34)
+
+ fts-backend-solr: Check that box is not NULL
+
+ fts_backend_update_deinit will set box to NULL and call update_set_mailbox
+ then.
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2016-09-19 12:26:08 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f2496be45d)
+
+ fts-backend-lucene: Check that box is not NULL
+
+ fts_backend_update_deinit will set box to NULL and call update_set_mailbox
+ then.
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2016-09-19 11:08:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (db8a5116f6)
+
+ lib-ssl-iostream: The final fix to make the SSL plugin loading not fail..
+
+
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2016-09-18 16:33:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ecc2fb3464)
+
+ lib-ssl-iostream: Fixed OpenSSL module to be actually initialized.
+
+
+M src/lib-http/test-http-client.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2016-09-17 12:57:00 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (609bea0534)
+
+ auth-policy: Ref/unref auth request
+
+ If auth_request is not referenced it can go away before HTTP response is
+ handled.
+
+M src/auth/auth-policy.c
+
+2016-09-16 17:13:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (50072aa424)
+
+ fs-randomfail: Operation is unfinished on EAGAIN, not ENOENT.
+
+ This caused crashes and other problems when using randomfail with
+ asynchronous fs drivers.
+
+M src/lib-fs/fs-randomfail.c
+
+2016-09-16 08:39:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c45da70c96)
+
+ lib-http: Link test-http-client libssl_iostream_openssl.so directly.
+
+ This way it can be run without having to do make install first.
+
+M src/lib-http/Makefile.am
+M src/lib-http/test-http-client.c
+
+2016-09-16 08:35:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fe4058e6f0)
+
+ lib-ssl-iostream: Use more standard _init() & _deinit() to initialize SSL
+ plugin
+
+ This is mainly to make it easier for test programs to link to the plugin
+ directly.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2016-09-15 11:30:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (033e315cc9)
+
+ lib: safe_mkstemp*() didn't always truncate prefix back to original on
+ failure.
+
+ This caused repeated safe_mkstemp*() calls with the same prefix to keep
+ increasing its size. It probably didn't really break anything (unless it was
+ called enough many times to reach 255 filename length), but the filenames
+ were still confusingly ugly.
+
+M src/lib/safe-mkstemp.c
+
+2016-09-15 10:23:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6d2e2c7917)
+
+ pop3-migration: Fixed crash when not specifying pop3_migration_mailbox
+ setting.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-09-14 14:19:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d97f081a3d)
+
+ iostream-temp: If write() to temp file fails at any time, move it back to
+ memory.
+
+ Similarly to if the write() to temp fails during the initial move attempt.
+ This way even if write() fails due to out of disk space, it's not visible to
+ caller. An error message is logged in any case.
+
+M src/lib/iostream-temp.c
+M src/lib/iostream-temp.h
+M src/lib/test-iostream-temp.c
+
+2016-09-14 19:06:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (061046c9aa)
+
+ pop3-migration: Avoid unnecessarily using stream's hdr_size.
+
+ Shouldn't change any behavior, except reduce CPU usage a little bit.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/pop3-migration/pop3-migration-plugin.h
+M src/plugins/pop3-migration/test-pop3-migration-plugin.c
+
+2016-09-14 18:57:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9e904c22e2)
+
+ imapc: mail_get_stream() shouldn't return cached hdr_size
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2016-09-14 07:13:50 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (70e0c96e14)
+
+ doveadm: refactor mailbox attribute get/set/unset/list to share more code
+
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+
+2016-09-13 07:50:04 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (26c41874cf)
+
+ doveadm: allow access to server attributes via empty mailbox name
+
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-09-13 07:49:41 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (d1147c225f)
+
+ lib-storage: remove attribute accessibility checks
+
+ index_storage_attribute_{set,get} should assume that the caller performed
+ due diligence and checked whether or not the user is allowed to store under
+ the key.
+
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-storage.h
+
+2016-09-13 03:33:06 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (ee06e0aa58)
+
+ doveadm: lowercase attribute names before trying to parse them
+
+ This now matches what the imap server does.
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+
+2016-09-13 03:32:06 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (6dd167432a)
+
+ lib-storage: document mailbox and server attribute handling
+
+
+M src/lib-storage/mailbox-attribute.h
+
+2016-09-13 22:54:02 +0200 Stephan Bosch <stephan@dovecot.fi> (1c9f4c14e9)
+
+ lib-http: client: Fixed hang occurring when nested ioloops are used in
+ response callbacks.
+
+ To prevent missing disconnect events, i_stream_read() is called once a
+ change in ioloop is detected. However, if something was actually read into
+ the stream, the input handler was never called. So, a response could linger
+ in the stream buffer, without being handled, thereby causing the connection
+ to hang indefinitely. An additional input event could end the hang, but
+ sometimes this doesn't happen before the request times out.
+
+ This problem was seen in test-http-payload once in about 10 invocations.
+ Obox uses nested ioloops, to this applies there.
+
+M src/lib-http/http-client-connection.c
+
+2016-09-11 22:10:44 +0200 Stephan Bosch <stephan@dovecot.fi> (0873f750d4)
+
+ lib-http: test-http-payload: Fixed problem in nested ioloop test.
+
+ The running ioloop was not always stopped properly at the end of the test.
+ This caused an assert failure in the running ioloop.
+
+M src/lib-http/test-http-payload.c
+
+2016-09-11 22:06:54 +0200 Stephan Bosch <stephan@dovecot.fi> (19f8621e14)
+
+ lib-http: test-http-payload: Improved logging of nested ioloop tests.
+
+
+M src/lib-http/test-http-payload.c
+
+2016-09-10 11:32:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5bfda550bd)
+
+ doveadm-auth: Handle unexpected auth "continue" request without crashing.
+
+
+M src/doveadm/doveadm-auth.c
+
+2016-09-10 11:28:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6b32b849af)
+
+ lib-lda: Cleanup error handling in LMTP client code.
+
+ If there are no successful recipients, we'll need to deinit the client. But
+ at that point we've already called all the callbacks, so the line parameter
+ to lmtp_client_fail_full() isn't actually used anywhere. This was confusing
+ static analyzer because global_fail_string was used as parameter, which
+ could have been NULL and wouldn't have been valid for the callbacks.
+
+M src/lib-lda/lmtp-client.c
+
+2016-09-10 11:16:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d4361f37b2)
+
+ lib-master: Fixed memory leak when IPC server is handling commands.
+
+ This mainly meant that when login processes responded to doveadm proxy
+ list/kick commands memory was leaked.
+
+M src/lib-master/ipc-server.c
+
+2016-09-10 11:15:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5525765548)
+
+ doveadm: Don't allow doveadm_print_header(title==NULL) anymore.
+
+ It's not used anywhere, and if it was used it would have crashed with at
+ least "tab" backend.
+
+M src/doveadm/doveadm-print.c
+
+2016-09-10 11:13:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4598234b35)
+
+ dict-client: Don't crash if dict-server returns broken reply.
+
+ Just treat missing <tab>value as empty value.
+
+M src/lib-dict/dict-client.c
+
+2016-09-09 18:18:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3c30113d27)
+
+ auth: Make sure auth_request_log_info() doesn't crash when there are no
+ passdbs
+
+ auth_request_is_disabled_master_user() could have caused such crash.
+
+M src/auth/auth-request.c
+
+2016-09-09 18:12:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c8a54e1bb7)
+
+ auth: Explicitly ignore return value to make static analyzer happier.
+
+
+M src/auth/auth-policy.c
+
+2016-09-09 18:10:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (abb404575a)
+
+ Added asserts to make static analyzer happier.
+
+
+M src/lib-fs/fs-posix.c
+M src/lib-index/mailbox-log.c
+M src/lib-stats/stats-connection.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib/istream-file.c
+M src/login-common/login-proxy-state.c
+M src/plugins/fts/fts-api.c
+M src/plugins/virtual/virtual-mail.c
+
+2016-09-09 18:07:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3177b41068)
+
+ Removed dead code to make static analyzer happier.
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/mail-storage.c
+M src/plugins/fts-squat/squat-trie.c
+
+2016-09-09 17:55:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (79fff45046)
+
+ lib-storage: Fix potential crash when userdb-returns "key+=value" for a
+ nonexistent setting.
+
+ type would have also happened to be initialized to SET_STR for the crash to
+ happen.
+
+M src/lib-storage/mail-storage-service.c
+
+2016-09-09 17:50:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9474b66acc)
+
+ lib-test: Fixed NULL pointer dereference when using --enable-static-checker
+
+
+M src/lib-test/test-common.c
+
+2016-09-09 17:46:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e87393d3a5)
+
+ pgsql: Fixed clearing sql_commit_result.error_type
+
+ error was correctly set to NULL with the earlier memset(), but error_type
+ may have been garbage. This shouldn't have caused any actual problems.
+
+M src/lib-sql/driver-pgsql.c
+
+2016-09-09 17:40:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (67a0f9eecf)
+
+ fts-squat: Fixed memory leak on corrupted uidlist handling
+
+
+M src/plugins/fts-squat/squat-uidlist.c
+
+2016-09-09 17:39:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (262eeae35e)
+
+ dict-file: Don't leak a lock on temp file creation failure.
+
+
+M src/lib-dict/dict-file.c
+
+2016-09-09 17:36:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b804e2b174)
+
+ lib-imap-urlauth: Don't access freed memory on errors.
+
+
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+
+2016-09-13 07:22:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c46d97e6a2)
+
+ imap, pop3: Added rawlog_dir setting to store IMAP/POP3 traffic logs.
+
+ This at least partially replaces the "rawlog" post-login binary. For now the
+ "rawlog" binary supports some parameters, which aren't configurable for
+ rawlog_dir.
+
+M src/imap/imap-client.c
+M src/imap/imap-settings.c
+M src/imap/imap-settings.h
+M src/pop3/pop3-client.c
+M src/pop3/pop3-settings.c
+M src/pop3/pop3-settings.h
+
+2016-09-12 16:22:24 -0400 Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> (fdf3e1e28e)
+
+ configure: hardening logic is backwards
+
+ Before this change, the argument parsing was busted. The --help string only
+ compounded the incorrect behavior by suggesting that --disable-hardening
+ could take a yes/no argument.
+
+ | before | after
+ ------------------------------+----------+--------
+ <no option> | enable | enable
+ --enable-hardening | disable | enable
+ --enable-hardening=yes | disable | enable
+ --enable-hardening=no | enable | disable
+ --disable-hardening | enable | disable
+ --disable-hardening=yes | error | error
+ --disable-hardening=no | error | error
+
+M configure.ac
+M m4/cc_fortify.m4
+M m4/cc_pie.m4
+M m4/cc_stack_protector.m4
+M m4/ld_relro.m4
+
+2016-09-09 15:51:43 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2bc67190c9)
+
+ pop3-migration-plugin: Add to index after successful retry
+
+ Also change return value to indicate that the hash has been assigned to
+ header.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-09-12 09:47:26 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (12f86e86d9)
+
+ doveconf: Hide any _api_key
+
+
+M src/config/doveconf.c
+
+2016-09-05 16:26:56 +0300 Phil Carmody <phil@dovecot.fi> (ea125b1c39)
+
+ plugins: fts - replace i_assert under _expunge_log_subtract with warning
+ (API change)
+
+ The helper whose interface is changing currently has no other known clients
+ (there's little need for it to be exposed at all).
+
+ This should never happen, but if it does, just tally the number of times it
+ happened, and squirt out a warning message after the whole subtract. If it
+ happens at all, there's no reason not to expect a lot, so only warn once per
+ file.
+
+ In particular - do not assert crash when this is seen - it has been seen on
+ live test systems where file corruption seems to have occured. As this can
+ only be associated with corrupt fts indexes, seeing this error implies that
+ the whole FTS index should be rebuilt for that user.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-expunge-log.h
+
+2016-08-10 13:07:01 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (bedb7f3695)
+
+ lib-storage: Limit folder full name only
+
+ Before we had limit of 16 levels and 255 bytes per name which is same as
+ 4096 bytes. Now we limit only the total length of the name to
+ MAILBOX_LIST_NAME_MAX_LENGTH. For compability reasons, we are restricting
+ individual component names to 255 characters.
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+
+2016-09-09 14:34:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7b9e289e4f)
+
+ fs-metawrap: Fixed assert that checks we don't create empty files.
+
+ If the entire write failed, offset could be 0.
+
+M src/lib-fs/fs-metawrap.c
+
+2016-09-09 14:07:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8c81109dca)
+
+ lib-storage: Fixed accessing user as root when user has no uid.
+
+ This shouldn't normally be done, but might as well fix it. Fixes:
+
+ Fatal: mail-storage-service: seteuid(4294967295) failed: Invalid argument
+
+M src/lib-storage/mail-storage-service.c
+
+2016-09-09 10:38:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d3cc15f20e)
+
+ lib-test: Added missing va_end() call.
+
+
+M src/lib-test/test-common.c
+
+2016-09-09 00:59:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2485e31c7e)
+
+ lib-index: Fixed mail_index_modseq_get_next_log_offset() when accessing
+ .log.2
+
+ file->sync_offset was set only after header, so sync_highest_modseq was also
+ same as initial_modseq. The previous code then just returned offset pointing
+ to sync_offset, which was too early.
+
+M src/lib-index/mail-transaction-log-file.c
+
+2016-09-08 23:54:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1ff03d2244)
+
+ lib-index: Make sure new dovecot.index.log files start tracking modseqs.
+
+ This will make mail_index_modseq_get_next_log_offset() work correctly even
+ if modseqs haven't been explicitly enabled.
+
+M src/lib-index/mail-transaction-log-file.c
+
+2016-08-23 22:36:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (da8556f591)
+
+ lib-storage: Code cleanup for mailbox_get_expunge*()
+
+ The previous code did actually work as well, but it wasn't very obvious that
+ it did.
+
+M src/lib-storage/mailbox-get.c
+
+2016-09-09 01:31:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f818f91a2e)
+
+ imap: When hibernating, wait for old imap process to cleanup before creating
+ new ones.
+
+ This fixes stats errors:
+
+ stats: Error: FIFO input error: CONNECT: Duplicate session ID
+ Y7Q6E4U7xO1/AAAB for user testuser service imap stats: Warning: Couldn't
+ find session ID: Y7Q6E4U7xO1/AAAB
+
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap/imap-client-hibernate.c
+
+2016-09-09 02:50:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bd7ae8952d)
+
+ lib-fs: Moved fs_write_stream_abort_parent() to fs-api-private.h
+
+ Only fs wrapper drivers are supposed to call it.
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.h
+
+2016-09-09 02:48:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (19126597f9)
+
+ fs-randomfail: Fixed assert-crash in fs_write_stream_abort_error()
+
+
+M src/lib-fs/fs-randomfail.c
+
+2016-09-08 19:01:54 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (3c014db6f2)
+
+ lib-index: limit mail_index error prints to one per ioloop_time
+
+ This is to prevent log flooding.
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+
+2016-09-09 03:05:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a20a8a9fcd)
+
+ lib-test: test_expect_errors() now works for the entire log string, not just
+ format parameter
+
+
+M src/lib-test/test-common.c
+
+2016-09-09 01:42:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4b9355028a)
+
+ imap-hibernate: Increased imap-master communication timeout from 5s to 30s
+
+ Looks like 5s isn't enough in loaded environments. It's also not really a
+ problem if the timeout is large, it's just going to take a while longer to
+ restore the connection. When timeout is reached the client would just get
+ disconnected anyway.
+
+M src/imap-hibernate/imap-master-connection.c
+
+2016-09-09 01:08:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4fca0e3056)
+
+ stats: Include PIDs in "Duplicate session ID" errors.
+
+
+M src/stats/mail-session.c
+
+2016-09-08 22:08:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (85cce7caba)
+
+ lib-index: mail_index_modseq_get_next_log_offset() shouldn't return offset
+ beyond view's head
+
+ This also allows removing the same workaround from dsync code.
+
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/lib-index/mail-index-modseq.c
+
+2016-09-08 23:00:56 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (75771bd32a)
+
+ imap-acl: acl plugin deinit returns 1 on non-empty
+
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2016-09-08 22:59:58 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (bbc7e2c2e7)
+
+ acl: Deinit will return 1 on non-empty
+
+
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+
+2016-09-08 21:31:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e90d9eaa3e)
+
+ lib: Allow static analyzers to check for t_pop() leaks.
+
+ They should be able to detect the missing free() call from code paths
+ missing a t_pop().
+
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+M src/lib/mempool-datastack.c
+
+2016-09-08 21:31:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f2ed47f806)
+
+ configure: Added --enable-static-checker parameter
+
+
+M configure.ac
+
+2016-09-07 11:52:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cd9cf45dcf)
+
+ imap: Avoid wrongly assert-crashing in client_check_command_hangs()
+
+ Fixes assert:
+
+ Panic: file imap-client.c: line 837 (client_check_command_hangs): assertion
+ failed: (client->io != NULL)
+
+M src/imap/imap-client.c
+
+2016-09-08 20:23:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (80943492e5)
+
+ stats plugin: Don't send any stats before CONNECT was successfully sent.
+
+ After stats write failures this fixes warnings like: Warning: stats:
+ Couldn't find session ID: smqAXQE8pIp/AAAB
+
+M src/plugins/stats/mail-stats-connection.c
+M src/plugins/stats/mail-stats-connection.h
+M src/plugins/stats/stats-plugin.c
+M src/plugins/stats/stats-plugin.h
+
+2016-09-08 20:18:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a94f1909a9)
+
+ lib-stats: stats_connection_send() now returns whether it succeeded or not
+
+
+M src/lib-stats/stats-connection.c
+M src/lib-stats/stats-connection.h
+
+2016-09-08 16:50:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (af2cc755b9)
+
+ doveadm flags: Sync mailbox after committing transaction.
+
+
+M src/doveadm/doveadm-mail-flags.c
+
+2016-09-07 16:45:09 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c7f6992db4)
+
+ acl-plugin: Adjust to API changes
+
+
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2016-09-07 22:06:55 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a4804621ea)
+
+ lmtp: Always read settings before dropping privs
+
+ If lmtp is ran explicitly as root, settings were not read.
+
+M src/lmtp/main.c
+
+2016-09-07 22:00:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (82b3d02b73)
+
+ imap: Fixed assert-crash if un-hibernation failed to initialize user.
+
+ master_service_client_connection_destroyed() was also being called in
+ imap_master_client_destroy() so it was done twice.
+
+ Fixes: Panic: file master-service.c: line 775
+ (master_service_client_connection_destroyed): assertion failed:
+ (service->total_available_count > 0)
+
+M src/imap/imap-master-client.c
+
+2016-09-05 12:42:08 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fdef08644b)
+
+ fs-api: Retrieve errno before dest->copy_output is NULL'ed
+
+ CID 10144: When aborting output, errno retrieval is attempted after
+ dest->copy_output has already been unreffed. Found by coverity.
+
+M src/lib-fs/fs-api.c
+
+2016-09-03 15:26:39 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b607b432d1)
+
+ acl-plugin: Whitespace fixes
+
+
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-api.h
+M src/plugins/acl/acl-attributes.c
+
+2016-09-03 15:23:11 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5f63ee5a91)
+
+ acl-plugin: Deinit acl_iter on deinit too
+
+
+M src/plugins/acl/acl-attributes.c
+
+2016-09-03 13:14:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (37c72fa0cd)
+
+ acl-plugin: Make iterators more conforming
+
+ The *_next functions return true/false, deinit will report errors and end
+ result.
+
+M src/plugins/acl/acl-api-private.h
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-api.h
+M src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.h
+M src/plugins/acl/doveadm-acl.c
+
+2016-09-06 09:24:06 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ae5330824a)
+
+ lib-storage: Check that UID is set before caching
+
+
+M src/lib-storage/index/index-mail-binary.c
+
+2016-09-06 09:23:54 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4269461e31)
+
+ lib-imap-storage: Check that UID is assigned before caching
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2016-09-05 15:56:05 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (741287129c)
+
+ zlib-plugin: Check that UID is assigned
+
+ When caching, code has to check whether UID is assigned to avoid reusing
+ cache for different email since they all have UID = 0 before they are
+ actually committed.
+
+M src/plugins/zlib/zlib-plugin.c
+
+2016-09-06 16:17:13 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9d3f82fe68)
+
+ quota: Flush quota after recalc
+
+ Correctly fix issue where the dict commit is left unfinished.
+
+M src/plugins/quota/doveadm-quota.c
+
+2016-09-06 02:56:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8a2f21f2b0)
+
+ lib-dcrypt: Avoid infinite loop if istream header is too large.
+
+ We'll return an error now instead. We can't just return -2 here, because
+ nothing was actually being returned to the caller. Attempting to do that
+ would just trigger an assert:
+
+ Panic: file istream.c: line 182 (i_stream_read): assertion failed:
+ (_stream->skip != _stream->pos)
+
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/test-stream.c
+
+2016-09-05 11:21:30 +0300 Ville Savolainen <ville.savolainen@dovecot.fi> (9913ea5ea6)
+
+ dovecot.service.in: removed ExecStartPre and ExecStopPost default
+ definitions
+
+ Additional definitions currently added to dovecot.service.d/ by packaging
+
+M dovecot.service.in
+
+2016-08-25 12:27:51 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7d0d1c5613)
+
+ dcrypt: Test for stream prefetch
+
+
+M src/lib-dcrypt/test-stream.c
+
+2016-08-25 12:26:55 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4b4e8dcad1)
+
+ dcrypt: Allow stream prefetch
+
+ We might get stream that has already been buffered, so we must try read it
+ in case buffer is full.
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2016-09-01 08:41:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (32c3ba3ba5)
+
+ lib: If DEBUG is enabled, use a pointer type for data_stack_frame_t
+
+ This allows telling static analyzers to treat t_push() and t_pop() similarly
+ to malloc()/free() and check for leaks.
+
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+
+2016-09-01 08:24:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3c5ee51327)
+
+ lib: Changed t_pop() API to make it a bit more like free()
+
+
+M src/lib-master/master-service.c
+M src/lib-test/test-common.c
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+M src/lib/ioloop.c
+M src/lib/test-data-stack.c
+
+2016-09-01 08:34:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (28bf8f762f)
+
+ lib-master: master_service_init_finish() now verifies that t_pop() wasn't
+ leaked
+
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+
+2016-09-01 08:31:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e2588872c1)
+
+ lib: Created data_stack_frame_t type for data_stack_frame
+
+
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+M src/lib/ioloop.c
+M src/lib/mempool-datastack.c
+M src/lib/test-data-stack.c
+
+2016-08-31 19:13:36 -1000 Timo Sirainen <timo.sirainen@dovecot.fi> (7bc9e4a3b0)
+
+ lib: Small code cleanup to data-stack - use explicit data_stack_initialized
+
+ This will make it easier to change data_stack_frame's type.
+
+M src/lib/data-stack.c
+
+2016-08-31 19:11:46 -1000 Timo Sirainen <timo.sirainen@dovecot.fi> (8cf55b1c05)
+
+ lib: Minor t_push() optimization - use unlikely()
+
+
+M src/lib/data-stack.c
+
+2016-08-29 00:03:54 +0200 Stephan Bosch <stephan@dovecot.fi> (79fe1b28df)
+
+ lib: var-expand: Removed var_expand_table_build().
+
+ Replaced it with explicit table construction at the one place it was used.
+ Clang -Wvargargs complained about passing a char argument to va_start().
+
+M src/auth/userdb-vpopmail.c
+M src/lib/var-expand.c
+M src/lib/var-expand.h
+
+2016-08-31 20:14:41 +0300 Phil Carmody <phil@dovecot.fi> (14cac26dcb)
+
+ Fix control flow and T_BEGIN/T_END hygiene
+
+ You mustn't goto, break, continue, or return from out of a T_BEGIN {...}
+ T_END block, as that will lose a t_pop(). This has been seen in the wild:
+ Panic: Leaked t_pop() call
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/director/login-connection.c
+M src/lib/file-lock.c
+
+2016-08-31 09:20:49 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b8f4e3aa58)
+
+ lib-fs: Do not abort parent of parent
+
+
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-wrapper.c
+M src/plugins/fs-compress/fs-compress.c
+
+2016-08-29 10:40:24 +0200 Stephan Bosch <stephan@dovecot.fi> (abf999f62b)
+
+ configure.ac: Forgot to invoke DOVECOT_WANT_VPOPMAIL.
+
+ It was thereby impossible to enable Vpopmail support.
+
+M configure.ac
+
+2016-08-28 18:40:01 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (05069f025d)
+
+ doveadm-server: Reset error code between calls
+
+
+M src/doveadm/client-connection.c
+
+2016-08-28 19:55:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7bde80dd07)
+
+ stats: Reset nearly all global mail stats
+
+ We leave num_connected_sessions alone.
+
+M src/stats/client-reset.c
+
+2016-08-28 19:14:08 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f4203c92ae)
+
+ stats: Fix user login counters
+
+ Before we would count all users twice, because the same counters would get
+ increment in both CONNECT and ADD-USER. Now we do not increment them at all
+ on ADD-USER.
+
+M src/stats/mail-domain.c
+M src/stats/mail-session.c
+M src/stats/mail-user.c
+
+2016-08-28 17:00:30 +0200 Stephan Bosch <stephan@dovecot.fi> (9a4542801f)
+
+ auth: GSSAPI mechanism: Fix CLang -Wstrict-bool warnings.
+
+ The GSS_ERROR() macro yields an integer rather than an actual bool value.
+ The krb5_kuserok() function returns a krb_boolean type, which is unsigned
+ int rather than a bool.
+
+M src/auth/mech-gssapi.c
+
+2016-08-24 03:56:44 -0400 Josef 'Jeff' Sipek <jeffpc@josefsipek.net> (85b4143f07)
+
+ lib-master: don't leak config path
+
+ The config path can already be non-NULL thanks to the default config path
+ code or the CONFIG_PATH environmental variable.
+
+M src/lib-master/master-service.c
+
+2016-08-23 23:31:40 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1d8622b44b)
+
+ lib-fs: abort parent in fs_file_write_stream_abort_parent
+
+
+M src/lib-fs/fs-api.c
+
+2016-08-23 13:06:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9ac30c648a)
+
+ imap: Track how much time was spent on waiting for locks.
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands.c
+
+2016-08-23 12:55:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9578698c44)
+
+ dict-client: In slow query warnings, log time spent in ioloop and lock
+ waits.
+
+ Possibly we want to remove the warnings entirely if most of the time has
+ been spent on lock waits (or alternatively: not spent in ioloop).
+
+M src/lib-dict/dict-client.c
+
+2016-08-23 12:48:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4a7e04d325)
+
+ lib: Track how much time has been spent on waiting for locks.
+
+
+M src/lib/file-dotlock.c
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+
+2016-08-23 20:12:47 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (16161da671)
+
+ lib-fts: Add missing include
+
+
+M src/lib-fts/fts-filter-common.c
+
+2016-08-23 14:08:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (18efe79858)
+
+ imap: Fixed expunge handling when un-hiberanting
+
+ Fixes these errors:
+
+ Failed to import client state: Message count mismatch after handling
+ expunges Message UIDs CRC32 mismatch
+
+M src/imap/imap-state.c
+
+2016-08-16 14:07:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (97e5119609)
+
+ lib: Changed unlink_directory() API to return error string.
+
+ There are many different reasons why it could fail, which a simple errno
+ can't very clearly indicate.
+
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-delete.h
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib/unlink-directory.c
+M src/lib/unlink-directory.h
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2016-08-19 13:15:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5965eaa2d9)
+
+ global: Added uchar_empty_ptr and use it instead of &uchar_nul.
+
+ This makes Coverity happier about not treating a char as an array. For now
+ this is a pointer to a 0, but could as well become a pointer that crashes if
+ dereferenced. Shouldn't be NULL anyway because clang's
+ -fsanitize=nonnull-attribute will complain about them.
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/mech.c
+M src/auth/userdb-static.c
+M src/lib-imap/imap-parser.c
+M src/lib-sasl/mech-login.c
+M src/lib/istream.c
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+
+2016-08-23 13:41:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (72e25ec1e5)
+
+ lib-fs: Fixes to previous fs_write_stream_abort*() changes.
+
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-randomfail.c
+
+2016-08-23 13:40:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2d349bb70f)
+
+ lib-storage: Fixed istream-attachment-extractor error handling.
+
+
+M src/lib-storage/index/index-attachment.c
+
+2016-08-23 13:40:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d3aecee1eb)
+
+ lib-mail: Clarify istream-attachment-extractor's error handling API usage.
+
+
+M src/lib-mail/istream-attachment-extractor.h
+
+2016-08-22 09:42:26 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (0c1f911643)
+
+ lib-fs: Add fs_write_stream_abort_parent and use it
+
+ Will do all the things abort_error does, but leaves error untouched. You are
+ expected to set one yourself.
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-wrapper.c
+M src/plugins/fs-compress/fs-compress.c
+
+2016-08-19 18:57:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6d035effc2)
+
+ lib-fs: Remove fs_write_stream_abort
+
+ Do not use fs_write_stream_abort anymore, instead use
+ fs_write_stream_abort_error to provide upstream some reason when it's used.
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test-async.c
+
+2016-08-19 16:00:30 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (be6fab2b1e)
+
+ fs-api: Add and use fs_write_stream_abort_error
+
+ This lets caller to specify error instead of setting it with fs_error. Doing
+ it like this lets us percolate the error upwards.
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-wrapper.c
+M src/lib-storage/index/index-attachment.c
+M src/plugins/fs-compress/fs-compress.c
+
+2016-08-23 10:53:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1cc5027b90)
+
+ lib-storage: Added mailbox_recent_flags_expunge_uid()
+
+ For storage backends where it's useful.
+
+M src/lib-storage/mailbox-recent-flags.c
+M src/lib-storage/mailbox-recent-flags.h
+
+2016-08-22 23:41:05 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (35eb3a2394)
+
+ lib-fts: Change normalizer filter to use new truncate.
+
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/test-fts-filter.c
+
+2016-08-21 22:12:33 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (5fcd30add8)
+
+ lib-fts: Cut overlong strings in lowercase filter.
+
+ Added new common truncate function for filters. It also removes any partial
+ characters, that would remain from plain truncation.
+
+M src/lib-fts/Makefile.am
+A src/lib-fts/fts-filter-common.c
+A src/lib-fts/fts-filter-common.h
+M src/lib-fts/fts-filter-lowercase.c
+M src/lib-fts/test-fts-filter.c
+
+2016-08-17 16:47:19 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (a754c3be2b)
+
+ lib-fts: Add max_length to common filter struct. Reorder fields.
+
+ The latter is for for imaginary alignment enhancements.
+
+M src/lib-fts/fts-filter-private.h
+
+2016-08-22 16:13:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (69b8187b29)
+
+ fs-metawrap: Added assert to make sure we don't create empty files.
+
+ It seems like this could be happening in some situation.
+
+M src/lib-fs/fs-metawrap.c
+
+2016-08-19 14:47:33 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3764f786a6)
+
+ quota-dict: Make sure all transactions complete
+
+
+M src/plugins/quota/quota-dict.c
+
+2016-08-18 13:37:28 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (563c1e3b45)
+
+ systemd.service: Add required attributes
+
+
+M dovecot.service.in
+
+2016-08-18 14:48:50 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7424d35ff1)
+
+ pop3: Fix deleted_count expansion
+
+
+M src/pop3/pop3-client.c
+
+2016-08-08 18:14:07 +0300 Phil Carmody <phil@dovecot.fi> (f946ee9814)
+
+ lib: test-json-tree - decouple from internals
+
+ Use the new helper functions, so that implementation can change without
+ needing to change the tests.
+
+ Patch best viewed with git diff/show --color-words.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-json-tree.c
+
+2016-06-22 11:17:09 +0300 Phil Carmody <phil@dovecot.fi> (fcd3d6214c)
+
+ lib: json-tree - API change to permit more featureful implementation
+
+ Provide accessors for the innards of the tree's nodes, so that the node
+ internals can be changed freely (needed for DAPI). Constify params where
+ sensible.
+
+ NOTE: this enforced const-correctness may *break* (cause a failure to build)
+ some clients that didn't use const where they could have. Only obox2 is
+ known to break.
+
+ Add sibling functions with more parameters to expand the range of
+ functionality, and inline rewire the old simple functions to call the more
+ generic ones.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/json-tree.c
+M src/lib/json-tree.h
+M src/lib/test-json-tree.c
+
+2016-08-18 11:22:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6b2b18f8bb)
+
+ lmtp: Support %{userdb:*} variables in mail_log_prefix
+
+
+M src/lmtp/commands.c
+
+2016-08-15 23:43:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8f7e81b327)
+
+ quota, last-login: Disable "slow dict commit" warnings
+
+ Anything (especially long lock waits) can happen between the commit and when
+ we read their replies.
+
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/quota/quota-dict.c
+
+2016-08-15 23:40:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (aef407f147)
+
+ lib-dict: Added dict_transaction_no_slowness_warning()
+
+
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+
+2016-08-15 23:36:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (56558eb46c)
+
+ dict-client: Keep transaction's pointer in command until it's finished.
+
+
+M src/lib-dict/dict-client.c
+
+2016-08-15 23:16:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5d234d36b4)
+
+ dict-client: Improve "slow dict operation" warnings in error conditions.
+
+ There's no need to log both an error and a warning.
+
+M src/lib-dict/dict-client.c
+
+2016-08-17 17:57:16 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (31bed8d0da)
+
+ imap-hibernate: fix input_pending check in client_unhibernate_cmp
+
+ Check c2->input_pending instead of c1->input_pending when calculating
+ comparison value for c2.
+
+M src/imap-hibernate/imap-client.c
+
+2016-08-17 17:20:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a84b413ef7)
+
+ lib-dcrypt: Fixed accessing out-of-bounds data in istream.
+
+ Also some small cleanups to make it clearer what's actually happening.
+
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/ostream-encrypt.c
+
+2016-08-17 16:25:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b99357fa19)
+
+ lib-dcrypt: Fixed partial reads in header and limit header's max size.
+
+ Also fixes test-stream to actually test nonblocking reads correctly.
+
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/test-stream.c
+
+2016-08-16 14:49:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ca74790a71)
+
+ fts-squat: Ensure child is not NULL
+
+ Makes static analysers happy
+
+M src/plugins/fts-squat/squat-trie.c
+
+2016-08-16 14:47:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (25b183ad22)
+
+ lib-master: Check for NULL in input/output
+
+ Makes static analysers happy
+
+M src/lib-master/master-login-auth.c
+
+2016-08-16 14:46:08 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4ad29d6839)
+
+ auth: Ensure username can't be left unset in APOP
+
+ Makes static analysers happy
+
+M src/auth/mech-apop.c
+
+2016-08-16 14:42:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cfdcfc8245)
+
+ imapc: Make sure imail.stream is not NULL
+
+ Makes static analysers happy
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2016-08-16 14:39:37 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2fa3e62e49)
+
+ lib-storage: Make sure data->stream isn't NULL
+
+ Makes static analysers happy
+
+M src/lib-storage/index/index-mail-headers.c
+
+2016-08-16 14:36:07 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3b986520ba)
+
+ auth: Check for NULL auth token
+
+ Makes static analysers happy
+
+M src/auth/mech-dovecot-token.c
+
+2016-08-16 13:49:01 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8d3358d148)
+
+ lib: Fix SENTRY_CHAR to different kind of number
+
+ Makes static analysers happier
+
+M src/lib/test-mempool-alloconly.c
+
+2016-08-16 13:46:09 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6eeed94a59)
+
+ lib-http: Ensure fstream is not NULL in test
+
+ Makes static analysers happier
+
+M src/lib-http/test-http-payload.c
+
+2016-08-16 13:44:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d9ee2f9fb3)
+
+ lib-index: Do not do pointless memmove
+
+ Makes static analysers happier, since moving the data when days is 0 or days
+ is 8 is effectively non-op.
+
+M src/lib-index/mail-index-transaction-update.c
+
+2016-08-16 13:31:48 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (05448f7b2d)
+
+ test-priorityq: Ensure item is not NULL
+
+ Makes static analysers happy
+
+M src/lib/test-priorityq.c
+
+2016-08-16 13:30:36 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e07ae96671)
+
+ md5: Initialize block
+
+ Makes static analysers happy
+
+M src/lib/md5.c
+
+2016-08-16 17:15:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5641711845)
+
+ config: Fixed pkgsysconfdir path in ssl_dh warnings.
+
+
+M src/config/Makefile.am
+
+2016-08-16 12:41:00 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (551f3b2ebd)
+
+ doveconf: Fix ssl_dh parameter handling some more
+
+ Move empty check to master-service ssl settings, also handle ENOENT in read
+ as well. Do not touch the setting if it could not be composed due to no such
+ file.
+
+M src/config/config-request.c
+M src/config/old-set-parser.c
+M src/lib-master/master-service-ssl-settings.c
+
+2016-08-16 12:28:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ef55b15744)
+
+ doveconf: hide ssl_key and ssl_dh without -P
+
+
+M src/config/doveconf.c
+
+2016-08-16 14:53:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2e441a8e3d)
+
+ lib-storage: If chdir to home doesn't work, chdir to root instead.
+
+ Most importantly this fixes unlink_directory() when current directory after
+ dropping privileges can't be open()ed.
+
+M src/lib-storage/mail-storage-service.c
+
+2016-08-16 14:04:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6178620324)
+
+ lib-storage: Minor error message fix
+
+
+M src/lib-storage/list/mailbox-list-delete.c
+
+2016-08-16 11:05:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (099737facc)
+
+ lib-mail: Compiling fix for message-snippet change - U'x' isn't standard.
+
+
+M src/lib-mail/message-snippet.c
+
+2016-03-29 22:30:17 +0200 nikwrt <nikwrt@gmx.de> (d5db0fd38f)
+
+ fts-squat: fix Corrupted squat uidlist bug
+
+
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-trie.h
+M src/plugins/fts-squat/squat-uidlist.c
+
+2016-08-16 10:11:04 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (de4869f239)
+
+ config: Only require ssl_dh is ssl is turned on
+
+
+M src/config/config-request.c
+
+2016-08-15 19:22:31 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (73083841b9)
+
+ lib-mail: Fix snippet generation
+
+ Now we won't add leading whitespace for no reason, and also strip BOM when
+ found.
+
+M src/lib-mail/message-snippet.c
+
+2016-08-15 13:30:44 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (902677f2ed)
+
+ dcrypt: Fix encrypted test keys
+
+
+M src/lib-dcrypt/test-crypto.c
+
+2016-08-15 11:32:31 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8d9ee7e1c3)
+
+ dcrypt: Update v2 sample
+
+
+M src/lib-dcrypt/sample-v2.asc
+
+2016-08-15 11:27:04 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (36c6e4995b)
+
+ dcrypt: Retrieve key length correctly
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-08-13 02:26:16 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (0206dc57f2)
+
+ lib-storage: remove set_cache_corrupted_reason from mail_vfuncs
+
+ Change set_cache_corrupted signature to what set_cache_corrupted_reason used
+ to be.
+
+M src/imap/imap-fetch-body.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-storage/fail-mail.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/istream-mail.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+M src/plugins/virtual/virtual-mail.c
+
+2016-08-13 14:31:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (196a07da7d)
+
+ lib: Avoid compiler warning if off_t has the same size as ssize_t.
+
+
+M src/lib/mmap-util.c
+
+2016-08-13 01:18:03 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (436adac819)
+
+ lib-storage: remove mailbox-recent-flags.h from index-storage.h
+
+
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/index/raw/raw-sync.c
+M src/plugins/virtual/virtual-sync.c
+
+2016-08-13 14:16:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e6c139397e)
+
+ dsync: Further fixes to received_timestamp and virtual_size parsing (-t and
+ -S parameters)
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2016-08-12 23:57:59 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (6e2856a5be)
+
+ lib: move sort and search from strfuncs.h to sort.h
+
+
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/lib-imap-client/imapc-msgmap.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/mailbox-header.c
+M src/lib/Makefile.am
+M src/lib/module-dir.c
+A src/lib/sort.c
+M src/lib/sort.h
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/plugins/acl/acl-backend.c
+M src/plugins/fts-squat/squat-uidlist.c
+
+2016-08-13 00:20:43 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (1ae87afde3)
+
+ auth: remove #define default_cache_key cache_key
+
+
+M src/auth/passdb.h
+M src/auth/userdb.h
+
+2016-08-13 00:35:23 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (28f18734bd)
+
+ lib-http: rename http_header_field.key to name
+
+
+M src/lib-http/http-header.c
+M src/lib-http/http-header.h
+
+2016-08-13 00:50:57 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (62ab347bb8)
+
+ lib-http: remove http_header_field from http_response
+
+
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-response.h
+
+2016-08-13 01:02:42 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (26449edd31)
+
+ lib-lda: remove obsolete smtp-client code
+
+
+M src/lib-lda/smtp-client.c
+M src/lib-lda/smtp-client.h
+
+2016-08-13 01:30:51 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (153e08d8f0)
+
+ lib-storage: remove obsolete constants
+
+
+M src/lib-storage/mail-error.h
+
+2016-08-13 02:10:52 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (bef286ce12)
+
+ lib-storage: remove obsolete MAIL_FETCH_UIDL_FILE_NAME
+
+
+M src/lib-storage/mail-storage.h
+
+2016-08-13 01:00:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (18e4afdd3b)
+
+ dsync: Added missing fields to ibc-stream.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2016-08-12 01:24:16 +0200 Stephan Bosch <stephan@rename-it.nl> (a9a928e40e)
+
+ lib: Implemented i_stream_create_copy_from_data().
+
+ Unlike i_stream_create_from_data(), this function makes a copy of the
+ provided data block. This way, the application does not need to worry about
+ keeping it allocated for the lifetime of the stream. The copied data is
+ allocated durably on the system pool and freed once the stream is destroyed.
+
+M src/lib/istream-data.c
+M src/lib/istream.h
+
+2016-07-25 10:24:44 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (76b002343d)
+
+ lib,lib-test: stop calling memcmp and memcpy with NULL in tests
+
+
+M src/lib-test/test-common.c
+M src/lib/test-istream-base64-decoder.c
+M src/lib/test-istream-crlf.c
+
+2016-07-25 10:21:43 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (d4488f314d)
+
+ lib-mail: stop calling str_append_n and memcmp with NULL in tests
+
+
+M src/lib-mail/test-istream-dot.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-message-header-parser.c
+M src/lib-mail/test-message-parser.c
+
+2016-07-22 11:23:11 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (651e194860)
+
+ lib: iterate all fds in fd_debug_verify_leaks, fail with i_fatal
+
+ There is no benefit in failing with i_panic here since the error is most
+ likely not in the stack trace here.
+
+M src/lib/fd-close-on-exec.c
+
+2016-07-19 18:34:08 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (39d97b496a)
+
+ lib: stop using first_fd as loop counter in fd_debug_verify_leaks
+
+ Use a separate int fd to iterate [first_fd, last_fd] instead.
+
+M src/lib/fd-close-on-exec.c
+
+2016-08-08 13:12:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0ee8b8cf17)
+
+ Moved cc-wrapper.sh handling to dovecot.m4
+
+ When configuring Dovecot --without-shared-libs and pointing external plugins
+ to uninstalled sources --with-dovecot, any binaries complied for plugins
+ weren't using cc-wrapper.sh, which could have caused runtime failures when
+ they attempted to load plugins dynamically. Now it's possible to add
+ DC_CC_WRAPPER to plugins' configure.ac to build with the cc-wrapper.sh.
+
+M Makefile.am
+D cc-wrapper.sh.in
+M configure.ac
+M m4/dovecot.m4
+
+2016-08-11 14:34:05 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cd24dc2196)
+
+ configure: Fix dcrypt build conditionals
+
+
+M m4/ssl.m4
+M src/lib-dcrypt/Makefile.am
+
+2016-08-10 15:40:23 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (fd0146e601)
+
+ lib-storage: don't crash when pop3c-client timeouts
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2016-08-11 12:46:42 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (2511d4cccf)
+
+ doveadm-dump: Add missing include
+
+
+M src/doveadm/doveadm-dump-dcrypt-key.c
+
+2016-08-11 17:27:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b544772a99)
+
+ -Wstrict-bool warning fixes
+
+
+M src/doveadm/doveadm-auth-server.c
+M src/doveadm/doveadm-dump-dcrypt-file.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2016-08-11 17:23:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (11566139fe)
+
+ doveadm sync: Fixed -S parameter parsing to actually work.
+
+
+M src/doveadm/doveadm-dsync.c
+
+2016-07-01 14:30:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ae949831f1)
+
+ doveadm sync/backup: Added -S <max size> parameter to skip too large mails.
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-export.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2016-07-13 09:51:08 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a3783f8a3c)
+
+ auth-db-dict: Allow key name expansion
+
+ This allows expansion of dictionary keys based on userdb variables on dict
+ lookup mapping. Example: key userdb {
+ key = %{userdb:nspace:default}/userdb
+ format = json
+ }
+
+M src/auth/db-dict.c
+
+2016-08-09 18:29:19 +0300 Phil Carmody <phil@dovecot.fi> (bd1e1a9720)
+
+ lib-test: test-exit helper to stop valgrind complaining about fork()s
+
+ fork()s that want to _exit() will cause valgrind's full memory leak checker
+ to complain a lot - this performs a quick cleanup first.
+
+ Before:
+ phil@phil:~/repos/dovecot-core$ valgrind --trace-children=yes
+ --leak-check=full --show-leak-kinds=all src/lib/test-lib --match unix
+ ==19576== total heap usage: 4 allocs, 0 frees, 17,858 bytes allocated
+ istream unix ......................................................... : ok
+ 0 / 1 tests failed
+ ==19575== total heap usage: 7 allocs, 7 frees, 19,327 bytes allocated
+
+ After:
+ phil@phil:~/repos/dovecot-core$ valgrind --trace-children=yes
+ --leak-check=full --show-leak-kinds=all src/lib/test-lib --match unix
+ istream unix ......................................................... : ok
+ ==4993== total heap usage: 4 allocs, 4 frees, 17,858 bytes allocated
+ 0 / 1 tests failed
+ ==4992== total heap usage: 7 allocs, 7 frees, 19,327 bytes allocated
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+M src/lib/test-istream-unix.c
+
+2016-08-09 11:48:10 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c281d66309)
+
+ openssl: Fix v1.1 compability
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/login-common/ssl-proxy-openssl.c
+
+2016-08-08 15:31:50 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (345f36ebc7)
+
+ OpenSSL: link against OpenSSL libs explicitly
+
+
+M src/lib-dcrypt/Makefile.am
+M src/lib-ssl-iostream/Makefile.am
+
+2016-07-23 23:40:15 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (35de0999dd)
+
+ doveadm: add doveadm-dump-dcrypt-key
+
+
+M doc/man/doveadm-dump.1.in
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-dump-dcrypt-key.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-dump.h
+
+2016-06-07 14:54:43 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (42cb779853)
+
+ config: Use ssl-parameters.dat if ssl_dh is missing
+
+
+M src/config/Makefile.am
+M src/config/config-request.c
+M src/config/old-set-parser.c
+M src/config/old-set-parser.h
+M src/lib-master/master-service-ssl-settings.c
+
+2016-03-03 12:41:24 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (bb5eac87b3)
+
+ ssl-proxy: Use ssl_dh setting from config
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2016-03-03 12:41:12 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (878734e3d9)
+
+ lib-master: Load DH string from config file
+
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+M src/lib-master/master-service-ssl.c
+
+2016-03-03 12:40:38 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (61969c3073)
+
+ lib-ssl-iostream: Read dh parameters from PEM string
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2016-03-03 11:55:59 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (00b722cca0)
+
+ dovecot: Remove ssl-params
+
+
+M configure.ac
+M src/Makefile.am
+M src/lib-ssl-iostream/Makefile.am
+M src/lib-ssl-iostream/iostream-openssl-context.c
+D src/lib-ssl-iostream/iostream-openssl-params.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+D src/ssl-params/Makefile.am
+D src/ssl-params/main.c
+D src/ssl-params/ssl-params-settings.c
+D src/ssl-params/ssl-params-settings.h
+D src/ssl-params/ssl-params.c
+D src/ssl-params/ssl-params.h
+
+2016-08-10 19:15:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5b5da56e47)
+
+ quota: If quota lookup updates vsize header, lock it earlier to avoid a
+ deadlock.
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2016-08-10 19:13:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d6b606142e)
+
+ quota: Fixed handling when mail size lookup fails due to mail already being
+ expunged.
+
+ We don't want to fail it as a quota allocation failure, but just pass
+ through the "mail is expunged" error to the original caller.
+
+M src/plugins/quota/quota.c
+
+2016-08-10 17:56:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cf1b9b686b)
+
+ dict-client: Improved timeout error message.
+
+
+M src/lib-dict/dict-client.c
+
+2016-08-10 17:54:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d951320d49)
+
+ lib: Added connection_input_timeout_reason()
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2016-08-10 17:44:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2c5c70e123)
+
+ lib: Added connection.connect_started/finished timestamps.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2016-08-11 03:40:58 +0200 Stephan Bosch <stephan@dovecot.fi> (22140eb9d0)
+
+ Fixed copyright notices.
+
+
+M src/auth/password-scheme-pbkdf2.c
+
+2016-08-10 23:53:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (287b5ba23f)
+
+ lib-storage: Added mail_user_set_plugin_getenv_bool()
+
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2016-08-10 12:01:50 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (66c87722e0)
+
+ global: Update mailbox_attribute_get API usage
+
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/lib-imap-storage/imap-metadata.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-storage.h
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2016-08-04 09:51:40 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9f37ef2a91)
+
+ lib-storage: Change mailbox_attribute_get* API
+
+ lib-storage/mailbox-attribute.h: mailbox_attribute_get() and
+ mailbox_attribute_get_stream() now has struct mailbox_transaction_context as
+ their first parameter. This isn't good for performance, because opening a
+ transaction requires opening mailbox indexes first. But reading attributes
+ wouldn't actually require opening the indexes, so this is just wasteful.
+
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mailbox-attribute-internal.c
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-attribute.h
+
+2016-08-09 18:06:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ad759d5e89)
+
+ quota: Don't get message sizes when updating mailbox that ignores quotas.
+
+ Nothing is done with the size anyway.
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2016-08-10 19:07:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8e4f0949ee)
+
+ lib-storage: Fixed potential .vsize.lock deadlock.
+
+
+M src/lib-storage/index/index-storage.c
+
+2016-08-10 17:15:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (749b9176d6)
+
+ auth: Removed redundant noauthenticate checks.
+
+ Now that noauthenticate also adds nopassword field.
+
+M src/auth/auth-request.c
+M src/auth/passdb-sql.c
+
+2016-08-10 17:14:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (91272432ce)
+
+ auth: When setting noauthenticate=yes, also set nopassword=yes
+
+ There are various places which check only "nopassword", but not
+ "noauthenticate".
+
+M src/auth/auth-request.c
+
+2016-08-10 17:41:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a238c6fede)
+
+ lib: Added connection.last_input_tv for more accuracy
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2016-08-10 17:37:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a2d962e729)
+
+ lib: connection_disconnect() now resets last_input
+
+ If we reconnect, its value would otherwise be wrong.
+
+M src/lib/connection.c
+
+2016-08-10 17:11:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cbcddb51cf)
+
+ auth: Blocking userdb lookup shouldn't reset extra fields.
+
+
+M src/auth/userdb-blocking.c
+
+2016-08-10 14:05:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c8eb8314aa)
+
+ login-proxy: Fixed assert-crash/hang on connect errors.
+
+ The internal BUG would have left the host hanging. "Host is down" or any
+ immediate connect() error would have assert-crashed with:
+
+ Panic: file login-proxy.c: line 470 (login_proxy_disconnect): assertion
+ failed: (proxy->state_rec->num_waiting_connections > 0)
+
+M src/login-common/login-proxy.c
+
+2016-08-10 01:38:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (accba2f170)
+
+ lmtp: Fixed using default port 24
+
+ Broken by dfe53c824.
+
+M src/lmtp/commands.c
+
+2016-08-08 19:25:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2593d6105e)
+
+ doveadm: Fixed -A and -u wildcard handling with server connections.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-08-08 19:24:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4e7bbab858)
+
+ doveadm: Fixed hanging when printing output from different server
+ connections.
+
+
+M src/doveadm/server-connection.c
+
+2016-08-08 19:22:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bab7538be6)
+
+ doveadm: Avoid recursively calling server input callback
+
+ Probably doesn't fix anything, but it could cause confusing backtraces at
+ least.
+
+M src/doveadm/server-connection.c
+
+2016-08-08 19:16:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (be25bbb904)
+
+ doveadm-server: Fixed potential hang when reading replies to multiple
+ commands
+
+
+M src/doveadm/server-connection.c
+
+2016-08-08 19:11:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (483f53880b)
+
+ doveadm: Revert earlier NUL-printing change 793b024bf.
+
+ It changes the output in ways that are a bit difficult to fix. Also the the
+ important part where NULs printing is useful is in a message body, which
+ should work even without this change. So for now just revert it.
+
+M src/doveadm/server-connection.c
+
+2016-08-08 17:56:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c7aa61396c)
+
+ lib-auth: Avoid crash after user iteration if connection failed.
+
+
+M src/lib-auth/auth-master.c
+
+2016-08-08 17:13:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (60eebc543f)
+
+ doveadm: Removed unused code.
+
+
+M src/doveadm/doveadm-mail-save.c
+
+2016-08-08 16:15:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (94a1fedb51)
+
+ dsync: Fixed empty-header-workaround
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2016-08-08 16:06:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (905780639d)
+
+ dsync_features: For consistency use '-' and not '_'
+
+ Other _features and _workarounds settings use also '-'.
+
+M src/doveadm/doveadm-settings.c
+
+2016-08-08 15:49:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (431c0aba57)
+
+ lib: Small improvements to iostream-temp unit test.
+
+
+M src/lib/test-iostream-temp.c
+
+2016-08-08 14:39:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (793b024bf9)
+
+ doveadm: When printing input from doveadm-server, don't truncate at NUL.
+
+
+M src/doveadm/server-connection.c
+
+2016-08-08 13:21:34 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (65a8a3c667)
+
+ doveadm: Pass connection to mail context
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-mail.c
+
+2016-08-08 11:38:54 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cde4b81189)
+
+ doveadm: Use str_append_tabescaped_n
+
+
+M src/doveadm/doveadm-print-server.c
+
+2016-08-08 11:23:02 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (51aceed49d)
+
+ lib: Add binary-safe tabescape
+
+
+M src/lib/strescape.c
+M src/lib/strescape.h
+
+2016-08-08 09:29:26 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9ca065aa3c)
+
+ doveadm: Streamline tabunescape
+
+
+M src/doveadm/server-connection.c
+
+2016-08-08 12:36:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b3db9827bd)
+
+ doveadm: Extra safety - initialize cmd_input_fd to -1
+
+ Just to be sure it's never attempted to be accessed as 0 (stdin) before
+ being initialized. (It didn't happen with current code as far as I know.)
+
+M src/doveadm/doveadm-mail.c
+
+2016-07-12 13:31:32 +0300 Phil Carmody <phil@dovecot.fi> (6335b1be38)
+
+ lib: tests - give the tests names, using the new macros
+
+ The lists of test function declarations and of test functions to call was
+ basically the same list. Use the new test macros to squash them into one
+ list, and then chose to name all the tests, so that you can select which
+ ones to run. This can simplify the debug cycle when some of the tests are
+ lengthy.
+
+ e.g.:
+ phil@phil:~/repos/dovecot-core$ src/lib/test-lib --match crc
+ crc32 ................................................................ : ok
+ 0 / 1 tests failed
+
+ src/lib is clearly the most complicated case, conversions of others where
+ filtering would be useful should be trivial following this example.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M .gitignore
+M src/lib/Makefile.am
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+A src/lib/test-lib.inc
+
+2016-07-12 13:28:54 +0300 Phil Carmody <phil@dovecot.fi> (d48ce437e3)
+
+ lib-test: enable naming of tests, such that only a subset is run
+
+ How to use these will become clear in a subsequent patch. Even if you don't
+ want to name tests, the macros can reduce redundancy in the code, as the
+ list of test function prototypes and the list of test functions to call
+ become the same lists, expanded through 2 different macros.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2016-06-01 13:57:34 +0300 Phil Carmody <phil@dovecot.fi> (0e0a294cfa)
+
+ lib-test: improve expected error handling
+
+ If we expect a specific error string, then when we see it, suppress it.
+
+ We do not suppress errors expected by count, because if we get unexpected
+ errors, then we do not want them suppressed, and we have no way of
+ distinguishing between the expected and unexpected errors.
+
+ This of course favours the use of the expected string version of the helper,
+ but alas that's not always usable, as you can only expect one at a time.
+
+ Additionally, if we failed to see an expected message, then when we no
+ longer expect to see it, reset the expected message state to not cascade
+ further test assertion failures.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+ Conflicts:
+ src/lib-test/test-common.c
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+M src/lib/test-failures.c
+
+2016-08-03 12:46:21 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (ceee39b0d2)
+
+ doveadm: add doveadm dump dcrypt-file
+
+
+M doc/man/doveadm-dump.1.in
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-dump-dcrypt-file.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-dump.h
+
+2016-08-06 22:12:13 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (ebd1c50bc4)
+
+ lib-dcrypt: make decrypt_istream format and flags visible
+
+
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/istream-decrypt.h
+
+2016-08-06 22:07:00 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (17fbd200b7)
+
+ lib-dcrypt: add dcrypt-iostream.h
+
+ Move everything from dcrypt-iostream-private.h and enum
+ io_stream_encrypt_flags to the new dcrypt-iostream.h file.
+
+M src/lib-dcrypt/Makefile.am
+D src/lib-dcrypt/dcrypt-iostream-private.h
+A src/lib-dcrypt/dcrypt-iostream.h
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/ostream-encrypt.c
+M src/lib-dcrypt/ostream-encrypt.h
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dcrypt/test-stream.c
+
+2016-08-05 15:21:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (afd6d387ea)
+
+ dsync: Add support for features
+
+ Add empty_header_workaround as first feature
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2016-04-09 18:21:23 -0500 J. Nick Koston <nick@cpanel.net> (0d1d485939)
+
+ quota_clone plugin: quota_clone_mail_user_created warned without debug
+
+ "The quota_clone_dict setting is missing from configuration" warning would
+ be thrown when debug mode was not enabled. This warning happens under
+ normal circumstances when prefix="" namespace is not defined (usually when
+ set to INBOX.)
+
+ See http://dovecot.org/list/dovecot-cvs/2012-October/021981.html for more
+ details on the automagic prefix="" namespace.
+
+ This change suppresses the spurious warning.
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+
+2016-04-09 13:43:16 +0200 Wido den Hollander <wido@widodh.nl> (dfe53c824f)
+
+ lmtp: Use port 24 if no port has been provided
+
+ This allows using the LMTP, IMAP and POP3 proxy on the same Dovecot
+ installation without the userdb providing the port to connect to.
+
+ TCP port 24 is registered at IANA as: "any private mail system"
+
+ LMTP being the Local Mail Transfer Protocol classifies as a private mail
+ system and thus justifies the usage of port 24.
+
+ Prior to this patch the LTMP client would connect to TCP port 0 by default
+ if the userdb did not provide a port to connect to.
+
+M src/lmtp/commands.c
+
+2016-08-06 17:59:10 +0200 Stephan Bosch <stephan@dovecot.fi> (0b9667003a)
+
+ istream-base64-encoder: Implemented proper stat function that returns the
+ encoded size of the stream.
+
+ For Base64 encoding, the size of the encoded data can be determined from the
+ input data size exactly.
+
+M src/lib/istream-base64-encoder.c
+M src/lib/test-istream-base64-encoder.c
+
+2016-08-05 22:57:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (48aee87c1c)
+
+ dict-client: Fixed error message for failed synchronous dict_lookup()
+
+ The error message was allocated from data stack, but freed too early.
+
+M src/lib-dict/dict-client.c
+
+2016-08-04 22:15:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (58764929b6)
+
+ lib-dcrypt: Fixed test-stream unit test not to leak memory
+
+ Broken by previous change.
+
+M src/lib-dcrypt/test-stream.c
+
+2016-08-04 21:51:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a9e71f5a05)
+
+ lib-auth: Unescape passdb/userdb extra fields.
+
+ This only affected \001, \t, \r and \n characters which were left
+ tab-escaped (e.g. \t as "\001t").
+
+M src/lib-auth/auth-master.c
+
+2016-08-04 21:44:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b671974c5a)
+
+ lib-dcrypt: Added unit tests to nonblocking istream-decrypt
+
+
+M src/lib-dcrypt/test-stream.c
+
+2016-08-04 21:38:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (12fed80134)
+
+ lib-dcrypt: test-stream writes now to buffer, not to temp-iostream
+
+ This simplifies the following change.
+
+M src/lib-dcrypt/test-stream.c
+
+2016-08-04 21:29:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4930d4fef1)
+
+ lib-dcrypt: Support nonblocking istreams.
+
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2016-08-04 19:45:35 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (68f961acac)
+
+ lib-dcrypt: add 0 to 400 byte stream test
+
+ Remove 8 byte speacial case also.
+
+M src/lib-dcrypt/test-stream.c
+
+2016-08-04 18:35:53 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (23386f0e8c)
+
+ lib-dcrypt: error message on missing decrypt key or password
+
+ Return a sensible error message when loading an encrypted private key is
+ attempted but the decrypt key or password is missing.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-08-04 17:11:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5b6bfa3948)
+
+ lib-http: Support per-request timeout and max_attempts
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2016-08-02 23:25:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c3a2a487e2)
+
+ director: Throttle user move/kill failure errors after 100/sec.
+
+ If it happened to a lot of users, they can take a lot of space in logs.
+
+M src/director/director.c
+M src/director/director.h
+M src/director/main.c
+
+2016-08-02 23:14:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ed1e909434)
+
+ lib: Added log throttling API.
+
+
+M src/lib/Makefile.am
+A src/lib/log-throttle.c
+A src/lib/log-throttle.h
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+A src/lib/test-log-throttle.c
+
+2016-08-04 17:39:02 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (7e3adf79eb)
+
+ lib-dcrypt: don't give strstr NULL in test-crypto
+
+
+M src/lib-dcrypt/test-crypto.c
+
+2016-07-15 09:53:12 +0200 x16a0 <m.k-92@gmx.de> (42c773260c)
+
+ Fixed searching multiple mailboxes
+
+ When searching multiple mailboxes, a condition to search these mailboxes is
+ added to the query string. However, this condition has to be separated from
+ the preceding condition by a space (a '+' in this case, as it's encoded);
+ otherwise, Solr considers it to be part of the previous condition, in which
+ case it will fail to parse it properly. Therefore, this patch adds that one
+ missing character so it works again.
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2016-08-02 22:31:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9224645cf6)
+
+ director: Added more debug information to "Ping timed out" error
+
+
+M src/director/director-connection.c
+
+2016-08-04 20:21:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (43ca8bce8a)
+
+ istream-decrypt: Fix error handling in stream header
+
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2016-08-04 19:39:56 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b91d91633b)
+
+ lib-dcrypt: Skip checks if no backend found
+
+
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dcrypt/test-stream.c
+
+2016-08-04 12:57:58 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (fadd4c9294)
+
+ lib-dcrypt: drop format from key_load_public
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dcrypt/test-stream.c
+
+2016-08-04 12:52:20 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (401160c5ca)
+
+ lib-dcrypt: drop format from key_load_private
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dcrypt/test-stream.c
+
+2016-08-04 12:19:05 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e18373bc58)
+
+ lib-dcrypt: get_info in openssl_load_private_key
+
+ Use dcrypt_openssl_key_string_get_info to determine the key format instead
+ of taking it as a parameter.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-08-04 10:54:20 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (2931ea8e17)
+
+ lib-dcrypt: get_info in openssl_load_public_key
+
+ Use dcrypt_openssl_key_string_get_info to determine the key format instead
+ of taking it as a parameter.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-08-03 17:55:15 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (0be9997551)
+
+ lib-dcrypt: change v2 key field separator to ':'
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/test-crypto.c
+
+2016-08-04 15:57:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b617e6cf36)
+
+ lib-dcrypt: Do not unref key twice
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-08-03 10:14:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (dd49f99333)
+
+ lib-dcrypt: Handle short reads in header correctly
+
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2016-07-25 14:04:47 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e78065a719)
+
+ lib-dcrypt: add crashing 8 byte garbage read test
+
+
+M src/lib-dcrypt/test-stream.c
+
+2016-07-15 16:31:01 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cce36a2c55)
+
+ dcrypt: Update API for testing
+
+
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dcrypt/test-stream.c
+
+2016-07-15 16:30:51 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (55a7fe1e46)
+
+ dcrypt-iostream: Ref/unref keys
+
+
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/ostream-encrypt.c
+
+2016-07-15 16:27:03 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a53b81d08b)
+
+ dcrypt: Use refcounting on keys
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+
+2016-08-04 08:55:12 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f9258697fe)
+
+ last-login: Add error handling for commit
+
+
+M src/plugins/last-login/last-login-plugin.c
+
+2016-08-03 13:18:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (feda872009)
+
+ lib-index: Fixed debug logging.
+
+
+M src/lib-index/mail-cache-lookup.c
+
+2016-07-29 01:02:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f883b315ca)
+
+ lib-index: If mail_debug=yes, log cache compressions.
+
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-index.h
+M src/lib-storage/index/index-storage.c
+
+2016-07-25 14:20:05 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (02b78558dc)
+
+ Use mail_get_*stream_because() wherever possible.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-copy.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/pop3/pop3-commands.c
+
+2016-07-29 00:37:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (99d5f0bf1e)
+
+ lib-index: Added mail_cache_get_missing_reason()
+
+
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache.h
+
+2016-07-25 14:16:39 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (2c8ca7e88e)
+
+ lib-storage: Added mail_get_stream_because() and
+ mail_get_hdr_stream_because()
+
+ With mail_debug=yes each mail access is now logged with a reason. This can
+ be helpful when figuring out why something isn't in dovecot.index.cache.
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+
+2016-08-02 21:16:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (350d6194f7)
+
+ doveadm proxy kick: Fixed output message.
+
+
+M src/doveadm/doveadm-proxy.c
+
+2016-08-02 21:10:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (85b6e401b7)
+
+ lib-lda: Support %{storage_id} in deliver_log_format
+
+
+M src/lib-lda/mail-deliver.c
+
+2016-08-02 21:09:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6f3244c599)
+
+ lib-lda: Code cleanup - move code to mail_deliver_open_mail()
+
+ No functional changes. On its own this is a rather useless cleanup, but
+ simplifies the next patch.
+
+M src/lib-lda/mail-deliver.c
+
+2016-08-02 20:09:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (50da38c080)
+
+ imap: When un-hibernating, send notification to imap-hibernate process
+ earlier.
+
+ The initialization shouldn't take a long time, but there's really no need to
+ keep imap-hibernate itself waiting (and maybe timing out) if it does.
+
+M src/imap/imap-master-client.c
+
+2016-08-02 20:03:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c7a9a1fdd4)
+
+ imap-hibernate: If un-hibernation failed due to timeout, log whether we saw
+ version line.
+
+ Could help with debugging.
+
+M src/imap-hibernate/imap-master-connection.c
+
+2016-07-19 10:16:17 -0600 Timo Sirainen <timo.sirainen@dovecot.fi> (1706240503)
+
+ imap-hibernate: If imap-master socket is busy, retry un-hibernation later.
+
+
+M src/imap-hibernate/imap-client.c
+M src/imap-hibernate/imap-client.h
+M src/imap-hibernate/imap-master-connection.c
+M src/imap-hibernate/imap-master-connection.h
+M src/imap-hibernate/main.c
+
+2016-08-02 13:41:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e539ff946a)
+
+ lib: var_has_key() properly ignores key=='\0' now.
+
+
+M src/lib/test-var-expand.c
+M src/lib/var-expand.c
+M src/lib/var-expand.h
+
+2016-08-02 13:38:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7a556ac46f)
+
+ lib: var_get_key() didn't handle %{long_variables} correctly
+
+ This also fixes var_has_key()'s long_key handling.
+
+M src/lib/test-var-expand.c
+M src/lib/var-expand.c
+M src/lib/var-expand.h
+
+2016-08-02 01:04:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6d38e3f15f)
+
+ --without-shared-libs was linking libdovecot.so to mail binaries.
+
+ Broken by e42dd7149.
+
+M src/lib-storage/Makefile.am
+
+2016-07-23 12:02:29 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (a63cd84128)
+
+ lib-fs: Added fs_get_nlinks()
+
+ Although fs_stat() could return this, its caller can't indicate whether it
+ actually wants the link count. Usually fs_stat() is used only to get the
+ file's size. In some backends it's not cheap to get the link count, so
+ adding this function allows the caller to explicitly ask for it.
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test.c
+M src/lib-fs/fs-wrapper.c
+M src/lib-fs/fs-wrapper.h
+M src/plugins/fs-compress/fs-compress.c
+
+2016-07-22 10:47:20 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (6657aee0bb)
+
+ lib: return non-NULL pointer in i_stream_get_data when size is 0
+
+
+M src/lib/istream.c
+M src/lib/istream.h
+
+2016-07-25 17:41:36 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (878c4d5eed)
+
+ dict-client: Don't keep a request timeout when there are only background
+ commands.
+
+
+M src/lib-dict/dict-client.c
+
+2016-07-25 17:32:11 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (8604a0675d)
+
+ dict-client: When we get disconnected, reconnect and re-send commands.
+
+
+M src/lib-dict/dict-client.c
+
+2016-07-25 17:08:18 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (d0fa29db7d)
+
+ dict-client: Improved timeout error message
+
+
+M src/lib-dict/dict-client.c
+
+2016-08-02 01:02:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ee8c7d8ee0)
+
+ dict-client: Fixed hang in async iteration if it failed.
+
+
+M src/lib-dict/dict-client.c
+
+2016-08-01 22:18:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (13a2b020c7)
+
+ quota: Log an error if mail's size can't be read.
+
+ We were still logging "Internal quota calculation error" but not necessarily
+ any other reason.
+
+M src/plugins/quota/quota.c
+
+2016-07-23 23:58:46 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (9745f03bba)
+
+ lib,lib-test: i_warning to i_debug on alloc growing messages
+
+
+M src/lib-test/test-common.c
+M src/lib/data-stack.c
+M src/lib/mempool-alloconly.c
+
+2016-07-29 00:59:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (62736944d8)
+
+ lib-storage: mbox_min_index_size setting didn't work correctly.
+
+
+M src/lib-storage/index/index-storage.c
+
+2016-07-28 21:15:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9200ff3f72)
+
+ lib-storage: Don't crash fetching body.snippet when multipart/alternative
+ part has no Content-Type
+
+
+M src/lib-storage/index/index-mail.c
+
+2016-07-26 13:54:37 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (e03bbb0f23)
+
+ imap: Fixed assert-crash when detecting if client IO is hanging.
+
+ This was broken by 89d88a5bc.
+
+M src/imap/imap-client.c
+
+2016-07-26 13:53:56 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (3b782d7e82)
+
+ auth: Fixed caching to support %{passdb} and %{userdb}
+
+
+M src/auth/auth-cache.c
+M src/auth/test-auth-cache.c
+
+2016-07-26 13:52:44 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (6dd436dbf0)
+
+ auth: Set userdb_lookup flag correctly for blocking userdb lookups.
+
+ This caused at least userdb-related logging to log the passdb instead.
+
+M src/auth/auth-worker-client.c
+
+2016-07-26 13:52:20 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (4154415071)
+
+ auth: Code cleanup - use const for struct auth_request.
+
+
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request-var-expand.h
+
+2016-07-25 14:09:38 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (782a1e245a)
+
+ lazy-expunge: If lazy-expunge transaction failed already, stop further
+ expunges.
+
+ Most importantly if the lazy-expunge mailbox opening fails, we don't now
+ retry opening the mailbox for each expunged mail.
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2016-07-24 18:26:50 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (5140f38cb3)
+
+ lib: Potential compiling fix.
+
+ STATIC_ARRAY apparently requires that the parameter is named in some gcc
+ versions? In any case doesn't hurt.
+
+M src/lib/sha1.h
+
+2016-07-13 09:46:08 +0200 Stephan Bosch <stephan@dovecot.fi> (e6bc5e7393)
+
+ Calling i_stream_next_line() on a chain stream would sometimes erroneously
+ use the stream->w_buffer.
+
+ It used the wrong check to assess whether the w_buffer is usable. The chain
+ stream only uses the w_buffer when partial stream data needs to be merged.
+ Otherwise, a parent stream's buffer is used directly. However, this does not
+ mean that w_buffer will be NULL in that case, which is what
+ i_stream_next_line() assumed.
+
+M src/lib/istream.c
+
+2016-07-11 20:27:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f52366af68)
+
+ lib-dcrypt: Allow flushing ostream multiple times.
+
+ The first time flushes the encryption and the following times just flush the
+ parent stream.
+
+M src/lib-dcrypt/ostream-encrypt.c
+
+2016-07-11 20:27:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0835df7f2c)
+
+ lib-dcrypt: Improved error message when istream isn't encrypted.
+
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2016-07-19 18:28:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cf6118fe7f)
+
+ master: Don't leak master socket to child processes.
+
+
+M src/master/service-listen.c
+
+2016-07-17 13:51:05 -0600 Timo Sirainen <timo.sirainen@dovecot.fi> (2e6356f8d3)
+
+ fts: Fixed fts_autoindex when no fts_autoindex_exclude settings existed.
+
+
+M src/plugins/fts/fts-storage.c
+
+2016-07-16 11:30:39 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (c5d27aee77)
+
+ lib-dict: Added DICT_COMMIT_RET_WRITE_UNCERTAIN
+
+
+M src/dict/dict-commands.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-client.h
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.h
+
+2016-07-16 11:23:52 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (9a38289472)
+
+ lib-dict: Added enum dict_commit_ret.
+
+
+M src/dict/dict-commands.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.h
+
+2016-07-16 09:31:04 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (bb2b3656ef)
+
+ lib-sql: Added error_type to commit callback.
+
+
+M src/auth/passdb-sql.c
+M src/lib-dict/dict-sql.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api.h
+
+2016-07-15 16:40:31 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (5d9ecbcec0)
+
+ cassandra: Support returning SQL_RESULT_ERROR_TYPE_WRITE_UNCERTAIN
+
+
+M src/lib-sql/driver-cassandra.c
+
+2016-07-15 16:40:05 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (1601169d6f)
+
+ lib-sql: Added sql_result_get_error_type().
+
+ For now the only special error type is
+ SQL_RESULT_ERROR_TYPE_WRITE_UNCERTAIN.
+
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-api.h
+
+2016-07-15 11:31:25 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6c969ac21a)
+
+ auth: Remove i_assert for credentials scheme
+
+
+M src/auth/auth-request.c
+
+2016-07-14 20:53:46 +0200 Stephan Bosch <stephan@rename-it.nl> (49f2e4b6dd)
+
+ Added LIBDOVECOT_PUSH_NOTIFICATION_INCLUDE to dovecot.m4.
+
+
+M m4/dovecot.m4
+
+2016-07-14 16:16:52 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (ab2f731c44)
+
+ dict: Fixed crash on iteration handling.
+
+
+M src/dict/dict-commands.c
+
+2016-07-14 07:22:04 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (1cfe369d12)
+
+ dict-client: Improved logging for slow queries.
+
+ Especially commits now say what the first query within the commit was.
+
+M src/lib-dict/dict-client.c
+
+2016-07-14 06:53:54 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (0d16e4b4ba)
+
+ doveadm fetch: Fixed body.snippet.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2016-07-13 15:10:57 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (a956137aa8)
+
+ dbox: Initialize pop3-uidl header on INBOX creation.
+
+ This way we don't add any UIDLs to dovecot.index.cache on the first POP3
+ UIDL access. We'll assume that pop3-uidl header is updated whenever any
+ backend UIDLs are added, which should happen nowadays.
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2016-07-13 14:07:02 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (9342a5f69c)
+
+ lib-storage: Initialize pop3-uidl header also when no backend UIDLs exist.
+
+ The first time POP3 UIDL command is used, set the header even when there are
+ no backend UIDLs to prevent any further UIDL caching.
+
+M src/lib-storage/index/index-pop3-uidl.c
+
+2016-07-11 14:56:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e84ffebc21)
+
+ auth: Fail request if last passdb is noauthenticate
+
+
+M src/auth/auth-request.c
+
+2016-07-11 14:56:25 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ec18e73789)
+
+ gssapi: Add missing PASSDB_RESULT_NEXT clause
+
+
+M src/auth/mech-gssapi.c
+
+2016-07-11 16:13:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (185f63aeff)
+
+ lib-fs: Added fs_metadata_init_or_clear() helper
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2016-07-11 14:18:36 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (448e068f2f)
+
+ passdb: Skip credentials handling for noauthenticate
+
+
+M src/auth/passdb.c
+
+2016-07-07 08:59:18 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (85bc1cc40b)
+
+ lib-dovecot: Turn on RELRO
+
+
+M src/lib-dovecot/Makefile.am
+
+2016-07-11 11:28:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a1943bdb82)
+
+ lib-storage: Fixed crash on subscription listing if subscription refresh
+ fails.
+
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2016-07-09 20:11:45 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6e5a4cdf7e)
+
+ auth: Skip authentication with noauthenticate
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-worker-client.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-sql.c
+M src/auth/passdb.h
+
+2016-07-11 11:55:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3aae884476)
+
+ mdbox: Fixed crash when saving POP3 UIDLs to a non-empty mailbox.
+
+ Fixes assert:
+
+ Panic: file mdbox-save.c: line 337: unreached
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2016-07-11 11:40:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d546cddd14)
+
+ pop3c: Fixed crash in syncing when local indexes existed but UIDL wasn't
+ cached.
+
+
+M src/lib-storage/index/pop3c/pop3c-sync.c
+
+2016-07-11 10:22:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1c6d55fc29)
+
+ lmtp: Don't send double-DISCONNECT to anvil.
+
+ Happened with lmtp_user_concurrency_limit > 0. Fixes errors like:
+
+ Error: connect limit: disconnection for unknown pid 123 + ident
+ lmtp/username
+
+M src/lmtp/commands.c
+
+2016-07-06 23:41:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cbe62867ab)
+
+ Compiler warning fix
+
+
+M src/doveadm/doveadm-zlib.c
+
+2016-07-06 15:11:54 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (99c74b7e9d)
+
+ m4: Include BINARY_*
+
+
+M m4/dovecot.m4
+
+2016-04-19 16:02:38 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b200bc3875)
+
+ Add PIE and RELRO to binaries
+
+
+M src/anvil/Makefile.am
+M src/auth/Makefile.am
+M src/config/Makefile.am
+M src/dict/Makefile.am
+M src/director/Makefile.am
+M src/dns/Makefile.am
+M src/doveadm/Makefile.am
+M src/imap-hibernate/Makefile.am
+M src/imap-login/Makefile.am
+M src/imap-urlauth/Makefile.am
+M src/imap/Makefile.am
+M src/indexer/Makefile.am
+M src/ipc/Makefile.am
+M src/lda/Makefile.am
+M src/lib-dict/Makefile.am
+M src/lib-ntlm/Makefile.am
+M src/lib-otp/Makefile.am
+M src/lmtp/Makefile.am
+M src/log/Makefile.am
+M src/master/Makefile.am
+M src/plugins/fts/Makefile.am
+M src/plugins/quota/Makefile.am
+M src/pop3-login/Makefile.am
+M src/pop3/Makefile.am
+M src/replication/aggregator/Makefile.am
+M src/replication/replicator/Makefile.am
+M src/ssl-params/Makefile.am
+M src/stats/Makefile.am
+M src/util/Makefile.am
+
+2016-04-19 14:52:56 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (14a7cd4667)
+
+ configure: Check for hardening flags
+
+
+M configure.ac
+M dovecot-config.in.in
+A m4/cc_fortify.m4
+A m4/cc_pie.m4
+A m4/cc_stack_protector.m4
+A m4/ld_relro.m4
+
+2016-07-01 03:08:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c5924dd8f1)
+
+ global: Removed redundant corking in ostream flush callbacks.
+
+
+M src/director/director-connection.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/server-connection.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/imap-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-lda/lmtp-client.c
+M src/login-common/login-proxy.c
+M src/pop3/pop3-client.c
+M src/stats/client.c
+
+2016-07-01 03:03:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (89d88a5bcf)
+
+ lib: ostream-file now automatically corks during flush callback.
+
+
+M src/lib/ostream-file.c
+
+2016-07-05 18:15:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8b3f557cda)
+
+ fs-sis*: Use fs_wrapper_*() wherever possible
+
+
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+
+2016-07-05 18:12:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e4d6ec3088)
+
+ fs-sis*: Minor error handling function cleanups.
+
+ We don't really need to go to the parent fs, so just use what is easiest.
+
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+
+2016-07-05 18:03:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bc5c7fcade)
+
+ fs-sis*: Removed unnecessary error copying.
+
+ It was probably needed in the beginning, but nowadays the parent-most fs
+ keeps the error. There's no need to copy it around.
+
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+
+2016-07-05 17:59:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (35f48128b3)
+
+ fs-metawrap: Use fs_wrapper_*() wherever possible
+
+
+M src/lib-fs/fs-metawrap.c
+
+2016-07-05 17:55:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b8584946d3)
+
+ fs-compress: Use fs_wrapper_*() wherever possible
+
+
+M src/plugins/fs-compress/fs-compress.c
+
+2016-07-05 17:52:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (edfd009103)
+
+ lib-fs: Implement all lib-fs functions as wrappers to parent stream.
+
+
+M src/lib-fs/Makefile.am
+M src/lib-fs/fs-api-private.h
+A src/lib-fs/fs-wrapper.c
+A src/lib-fs/fs-wrapper.h
+
+2016-07-06 13:15:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1ec1404c01)
+
+ lib-dcrypt: istream-decrypt now differentiates between temporary errors and
+ corruption.
+
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2016-07-06 13:11:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b4fd67490c)
+
+ lib-dcrypt: Set stream_errno on istream-decrypt read failures.
+
+ Fixes assert-crashes that would happen otherwise.
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2016-07-06 13:31:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (87a6b7df39)
+
+ lib: Updated istream's stream_errno comments.
+
+
+M src/lib/istream.h
+
+2016-07-06 13:24:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ad31916e2a)
+
+ lib-compression: istream-zlib/lzma now differentiates between temporary
+ errors and corruption.
+
+
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+
+2016-07-05 20:58:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bb1da4a632)
+
+ lib-storage: Clarify that mail_namespace_find_inbox() never returns NULL.
+
+ If namespaces==NULL, this function isn't even supposed to be called.
+
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-namespace.h
+
+2016-07-05 14:41:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (0a58543e24)
+
+ passdb-static: Support password scheme
+
+ This allows password argument to provide scheme instead of defaulting to
+ plain. If no scheme is provided, plain is defaulted.
+
+M src/auth/passdb-static.c
+
+2016-07-04 18:25:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (626098f335)
+
+ doveadm-pw: Use debug value when loading modules
+
+
+M src/doveadm/doveadm-pw.c
+
+2016-07-04 18:06:56 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d6ff5e9d21)
+
+ configure: Fix static array check
+
+
+M m4/static_array.m4
+
+2016-07-04 11:57:43 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (58562739e5)
+
+ lib-dcrypt: tell in error_r that RSA key has to be converted to pkey
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/test-crypto.c
+
+2016-07-04 15:05:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ffd8dc9325)
+
+ master: Add master socket's io listener later.
+
+ Most importantly this fixes startup failure with kqueue:
+
+ Panic: kevent(EV_ADD, READ, 56) failed: Bad file descriptor
+
+ kqueue doesn't survive a fork(), so this change delays its creation until
+ after fork().
+
+M src/master/service-listen.c
+M src/master/service-monitor.c
+
+2016-07-04 14:44:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c4138be2a0)
+
+ master: Make sure stdout isn't closed on startup failures.
+
+ closing master_fd might have tried to close(0) since it wasn't initialized
+ to -1.
+
+M src/master/service.c
+
+2016-07-01 17:42:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b11e9673b0)
+
+ dict-client: Attempt to connect to dict socket for 1 second before failing.
+
+
+M src/lib-dict/dict-client.c
+
+2016-07-01 16:37:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f733f54c88)
+
+ lib-http: Clarify response message when retries have happened.
+
+ "1 attempts" sounds like 1 attempt in total, while this was actually the
+ second attempt.
+
+M src/lib-http/http-client-request.c
+
+2016-07-01 16:36:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (38fa43690a)
+
+ dict-client: Make sure query's start_time is up-to-date.
+
+
+M src/lib-dict/dict-client.c
+
+2016-07-01 16:34:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (701eb90460)
+
+ dict-client: Don't log slow background async commit/iteration replies.
+
+ If a caller has already finished iteration, or does async commit without a
+ callback, it means that it started the query without caring when it
+ finishes. The caller may already have been doing blocking work while waiting
+ for the dict reply. We don't want to log a warning, because it could be
+ completely wrong.
+
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+
+2016-07-01 16:31:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (14189e0d0a)
+
+ cassandra: Added debug_queries connect setting.
+
+ This logs all the queries and how long they took, without having to log all
+ the other Cassandra library debug messages.
+
+M src/lib-sql/driver-cassandra.c
+
+2016-07-01 16:31:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e401fa68eb)
+
+ cassandra: If query fails, include how long the reply took in the error
+ message.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2016-07-01 16:30:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8952d797ec)
+
+ cassandra: Warn if queries take too long (default 5 secs)
+
+ Can be changed with e.g. "connect = ... warn_timeout=30s"
+
+M src/lib-sql/driver-cassandra.c
+
+2016-07-01 16:27:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (395aa4fe46)
+
+ LAYOUT=index: Make sure error is preserved if created mailbox can't be added
+ to list index.
+
+ mailbox_delete() could overwrite the error.
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2016-07-01 15:13:55 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (78d3297718)
+
+ man: Provide usage for doveadm mailbox update
+
+
+M doc/man/doveadm-mailbox.1.in
+
+2016-07-01 12:23:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (29026989fc)
+
+ lib-storage: Fixed mailbox_delete_empty() error message when mails exist
+
+
+M src/lib-storage/index/index-storage.c
+
+2016-07-01 11:56:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (98b7ea1744)
+
+ dict-client: When skipping connect() due to earlier failure, preserve the
+ original error.
+
+
+M src/lib-dict/dict-client.c
+
+2016-07-01 11:41:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e13bef0a49)
+
+ dict-client: If commit fails to send BEGIN, don't try sending anything else.
+
+ Fixes memory leak and also fixes overwriting the original error message.
+
+M src/lib-dict/dict-client.c
+
+2016-07-01 11:12:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (94b21eb8db)
+
+ lib-storage: Autoexpunging should ignore nonexistent mailboxes.
+
+ The check was done too late after recent changes.
+
+M src/lib-storage/mail-autoexpunge.c
+
+2016-07-01 11:07:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (59849b39ad)
+
+ doveadm mailbox update: Avoid assert-crash on errors.
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+
+2016-07-01 02:49:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7dd5d993bb)
+
+ login-proxy: cork+uncork in flush callbacks
+
+ Potentially reduces latency at the end of a larger data transfer.
+
+M src/login-common/login-proxy.c
+
+2016-07-01 01:14:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d82c8af717)
+
+ lib-dcrypt: Removed dead code.
+
+
+M src/lib-dcrypt/ostream-encrypt.c
+
+2016-07-01 01:11:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f54d511597)
+
+ lib: Fix to compiling STATIC_ARRAY in C++ code
+
+
+M src/lib/macros.h
+
+2016-06-30 20:24:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bc3586bca8)
+
+ configure: Check if C99 "static" keyword is supported for array sizes.
+
+
+M configure.ac
+A m4/static_array.m4
+M src/lib/macros.h
+
+2016-06-30 22:35:59 +0200 Stephan Bosch <stephan@rename-it.nl> (744c06ab0d)
+
+ lib-http: client: Fixed potential segfault problem in
+ http_client_connection_server_close().
+
+ Used wrong variable: it is set to NULL by http_client_request_unref() before
+ it is used. Problem found by Coverity.
+
+M src/lib-http/http-client-connection.c
+
+2016-06-30 18:13:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3ba8511f99)
+
+ lib-dcrypt: Compiling fix
+
+
+M src/lib-dcrypt/dcrypt.c
+
+2016-06-30 16:21:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3dc508b528)
+
+ imap: Fixed reading LDA settings from config.
+
+
+M src/imap/imap-settings.c
+
+2016-06-30 14:08:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0fb6d16959)
+
+ master: Stopping didn't close dead-pipes early enough.
+
+ This caused stopping to be too slow. Broken by 0153cf542.
+
+M src/master/service-monitor.c
+
+2016-06-30 12:10:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a29670d7a9)
+
+ lmtp: Removed assert, which triggers if anvil connect fails.
+
+
+M src/lmtp/commands.c
+
+2016-06-30 12:08:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ddf6020f6f)
+
+ lmtp: Fixed pipelining of commands after RCPT TO
+
+ We should stop while waiting for anvil reply. Broken by ced943b0a.
+
+M src/lmtp/commands.c
+
+2016-06-30 11:57:19 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (77bb5db43a)
+
+ auth-request: Whitespace fix
+
+
+M src/auth/auth-request.c
+
+2016-06-30 10:03:18 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7d7a97e889)
+
+ auth-request: Correctly allocate mech_password and credentials_scheme
+
+
+M src/auth/auth-request.c
+
+2016-06-30 09:29:26 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3a2f060811)
+
+ dcrypt: Free keys in test-stream
+
+
+M src/lib-dcrypt/test-stream.c
+
+2016-06-30 09:06:51 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7de7bc1f75)
+
+ dcrypt: Add tests for 0 and 1 byte data
+
+
+M src/lib-dcrypt/test-stream.c
+
+2016-06-30 09:06:33 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7a71f23262)
+
+ dcrypt: Fix bugs in 0 and 1 byte payload files
+
+
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/ostream-encrypt.c
+
+2016-06-30 01:27:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (20b857d311)
+
+ lib-ssl-iostream: Compiler fix to previous commit
+
+
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+
+2016-06-30 01:15:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a0f2b68fe4)
+
+ lib-ssl-iostream: Disable "CRYPTO_set_mem_functions() was called too late"
+ for now
+
+ It always happens at least with Ubuntu 16.04.
+
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+
+2016-06-29 23:56:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4df7af0da0)
+
+ auth: delay_until can optionally now have +<max random secs> suffix.
+
+
+M src/auth/auth-request.c
+
+2016-06-29 23:54:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2fa0de8e55)
+
+ auth: Fixed checking if delay_until is too large
+
+
+M src/auth/auth-request.c
+
+2016-06-29 22:29:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e229fe8455)
+
+ dsync: When full resync is wanted in a stateful sync, output empty state.
+
+ This continues 3d49dc64d, which didn't actually work because
+ brain->require_full_resync was either cleared earlier or it was never even
+ set in this brain.
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-private.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-ibc.h
+
+2016-06-29 21:09:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c1fc5a97a1)
+
+ doveadm: Read settings with service=doveadm
+
+ This was done for mail commands while initializing the mail user, but other
+ commands weren't using it. This meant that doveadm was using only global
+ settings instead of protocol doveadm { .. } settings for everything except
+ mail commands.
+
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+
+2016-06-29 20:44:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (eb8a1a587a)
+
+ doveadm user: Avoid potential crashes when running via doveadm-server
+
+
+M src/doveadm/doveadm-auth-server.c
+
+2016-06-29 19:22:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7b97d8b3f6)
+
+ dict-sql: Treat NULL value the same as "key not found"
+
+
+M src/lib-dict/dict-sql.c
+
+2016-06-28 23:12:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (53309922d2)
+
+ doveadm: Added "service stop" command to stop specific services.
+
+
+M src/doveadm/Makefile.am
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+A src/doveadm/doveadm-service.c
+
+2016-06-26 23:04:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (164f8e81a0)
+
+ master: Allow stopping specific services via master socket.
+
+
+M src/master/Makefile.am
+M src/master/main.c
+A src/master/master-client.c
+A src/master/master-client.h
+M src/master/service-listen.c
+M src/master/service-monitor.c
+M src/master/service.h
+
+2016-06-28 23:38:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0796736253)
+
+ master: Added service_monitor_stop_close() to stops service and close its
+ listeners.
+
+
+M src/master/service-monitor.c
+M src/master/service-monitor.h
+
+2016-06-28 23:38:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0153cf5428)
+
+ master: Added support for stopping specific services.
+
+ We need to have a per-service fd for detecting a dead master.
+
+M src/master/service-monitor.c
+M src/master/service-process.c
+M src/master/service.c
+M src/master/service.h
+
+2016-06-29 19:12:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9881c3ec44)
+
+ lib-storage: Fixed search arg initialization tracking for INTHREAD
+
+
+M src/lib-storage/mail-search.c
+
+2016-06-29 18:49:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (391970ed20)
+
+ virtual: Fixed error handling when matching mailboxes by metadata.
+
+
+M src/plugins/virtual/virtual-config.c
+
+2016-06-29 18:34:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b0ab23e6fd)
+
+ maildir: Improved "Filename keeps changing" error handling/logging
+
+
+M src/lib-storage/index/maildir/maildir-util.c
+
+2016-06-29 18:33:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (815fc205d6)
+
+ maildir: Code comment update
+
+
+M src/lib-storage/index/maildir/maildir-sync.c
+
+2016-06-29 18:33:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (034375aa3a)
+
+ dsync: Add session ID to log line prefix.
+
+
+M src/doveadm/doveadm-dsync.c
+
+2016-06-29 18:31:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (38920bff33)
+
+ maildir: Fixed updating filenames in existing uidlist
+
+ Broken by 042668c0c.
+
+ This could have caused errors like:
+
+ - maildir_file_do(...): Filename keeps changing
+ - Expunged message reappeared, giving a new UID
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2016-06-03 17:30:58 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3a429da1ec)
+
+ doveadm-server: Do not crash if empty data in authorization
+
+
+M src/doveadm/client-connection-http.c
+
+2016-05-31 22:22:37 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (a13b1245be)
+
+ doveadm: Implement user and auth cache flush to server
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-auth-server.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+
+2016-06-04 08:14:45 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (bd13998cde)
+
+ doveadm-server: Skip doveadm_print_init
+
+ Some commands need to do output that is not doable with doveadm_print, so we
+ need to have a flag to indicate this.
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/doveadm-cmd.h
+
+2016-06-29 16:34:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3edfbca796)
+
+ lmtp: If anvil lookup fails, ignore lmtp_user_concurrency_limit
+
+ Previously it was randomly allowing or disallowing the client.
+
+M src/lmtp/commands.c
+
+2016-06-29 15:25:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (808261fdd4)
+
+ auth: Added delay_until passdb extra field.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2016-06-29 16:01:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f000a3cda9)
+
+ auth: Fixed plaintext authentication when auth policy was already processed.
+
+ Broken by e82511362.
+
+M src/auth/auth-request.c
+
+2016-06-29 15:49:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ea591a8685)
+
+ lib-fts: Added maxlen parameter to icu-normalizer.
+
+ This is needed because the normalization can increase the token's length.
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-filter.h
+M src/lib-fts/test-fts-filter.c
+
+2016-06-28 22:20:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f43d65df4f)
+
+ auth: Added ":remove" suffix for passdb/userdb extra fields to remove
+ fields.
+
+
+M src/auth/auth-request.c
+
+2016-06-29 00:56:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ca5b3ec533)
+
+ auth: userdb passwd iteration now skips users not in first/last_valid_gid
+ range
+
+ Patch by Michal Hlavinka / Red Hat
+
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+M src/auth/userdb-passwd.c
+
+2016-06-29 00:50:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d080f54d2b)
+
+ *-login: Don't disable auth penalty for login_trusted_networks.
+
+ It might or might not be a webmail (or something) that has its own penalty.
+ If the old behavior is still wanted, it's possible to do nowadays with e.g.:
+
+ passdb {
+ driver = passwd-file
+ args = username_format=%{rip} /etc/dovecot/passdb
+ }
+
+ /etc/dovecot/passdb: 192.168.10.123:::::::nodelay=yes
+ 192.168.10.124:::::::nodelay=yes
+
+M src/login-common/sasl-server.c
+
+2016-06-29 14:09:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (553a131edd)
+
+ lmtp: Increase user's concurrency limit already after RCPT TO.
+
+ This way it's not possible for a lot of mails to arrive to user concurrently
+ and bypass the lmtp_user_concurrency_limit.
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2016-06-29 14:07:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ced943b0a9)
+
+ lmtp: If user has rached lmtp_user_concurrency_limit, fail at RCPT TO stage.
+
+ Otherwise LMTP client would have to send the entire email body before
+ getting the failure.
+
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2016-06-20 14:43:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cf91b6b3ac)
+
+ lib-storage: Fixed MAILBOX_METADATA_FIRST_SAVE_DATE with
+ mailbox_list_index=no
+
+ This also meant that autoexpunging wasn't working then.
+
+M src/lib-storage/index/index-status.c
+
+2016-06-29 14:55:12 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (e82511362e)
+
+ auth-policy: Do not do policy checks every time
+
+
+M src/auth/auth-request.c
+
+2016-06-29 14:43:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ecbc1c76e4)
+
+ auth: Finish policy.[ch] renaming..
+
+
+M src/auth/Makefile.am
+M src/auth/auth-policy.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/main.c
+
+2016-06-29 14:31:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5165bc0ffc)
+
+ auth: Avoid nonstandard #pragma once
+
+
+M src/auth/auth-policy.h
+
+2016-06-29 14:30:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2346f16435)
+
+ auth: Rename policy.[ch] to auth-policy.[ch]
+
+
+R100 src/auth/policy.c src/auth/auth-policy.c
+R100 src/auth/policy.h src/auth/auth-policy.h
+
+2016-06-28 13:24:09 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (fba8aa9864)
+
+ lib-dcrypt: correctly set version 2 on key info
+
+ Dovecot format version 2 keys were incorrectly reported as version 1 before.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/test-crypto.c
+
+2016-06-29 14:16:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (41a6be2852)
+
+ lib-index: Fixed view syncing when changes couldn't be read from transaction
+ logs
+
+ Fixes errors like:
+
+ Log synchronization error at seq=0,offset=0 for .../dovecot.index: Append
+ with UID 5, but next_uid = 6
+ .../dovecot.index view syncing failed to apply changes
+
+M src/lib-index/mail-index-view-sync.c
+
+2016-06-29 14:12:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d35bb9e2d7)
+
+ auth-policy: Do not allow/report when master query
+
+ This way auth policy isn't consulted when e.g. doveadm is used.
+
+M src/auth/policy.c
+
+2016-06-29 13:52:09 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (95087a44db)
+
+ auth-policy: Report success earlier
+
+
+M src/auth/auth-request-handler.c
+
+2016-06-29 00:37:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f3904862b2)
+
+ configure: Detect SSL_COMP_free_compression_methods() by linking
+
+ Fixes using libressl.
+
+M m4/ssl.m4
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+
+2016-06-28 21:59:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (61d57efe9d)
+
+ lib: Added assert to iostream-temp
+
+ Input stream isn't expected to shrink here. Potentially this could be
+ changed to an error instead.
+
+M src/lib/iostream-temp.c
+
+2016-06-28 19:45:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6181ecf4d9)
+
+ lazy-expunge: Fixed crash when copying from internal namespace
+
+ Most importantly fixes crash in LDA.
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2016-06-28 19:41:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ce8a9d73b1)
+
+ lda: Fixed data stack usage in initialization.
+
+ For example -p parameter was broken. Broken by 0679f8a70.
+
+M src/lda/main.c
+
+2016-06-28 10:25:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3b340beaa3)
+
+ dict-ldap: Fixed linking with OSX
+
+
+M src/plugins/dict-ldap/Makefile.am
+
+2016-06-28 10:15:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (afddc9e5e6)
+
+ auth: Compiler warning fixes
+
+
+M src/auth/policy.c
+
+2016-06-03 21:35:48 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ef1ff1af5a)
+
+ auth-policy: Hook auth policy to auth code
+
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request-var-expand.h
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/main.c
+
+2016-06-03 20:21:42 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (203bb27280)
+
+ auth-policy: Add policy implementation
+
+
+M src/auth/Makefile.am
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request-var-expand.h
+M src/auth/auth-request.h
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+A src/auth/policy.c
+A src/auth/policy.h
+M src/config/settings-get.pl
+
+2016-06-10 14:31:00 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (fd16501d91)
+
+ fts plugin: Added fts_autoindex_exclude settings.
+
+ fts_autoindex_exclude setting specifies special-use flag or mailbox name to
+ be excluded.
+
+ - If a name starts with '\', it's treated as a case-insensitive special-use
+ flag.
+
+ - Multiple names can be specified with serial numbers, for example:
+
+ plugin {
+ fts_autoindex_exclude = \Junk
+ fts_autoindex_exclude2 = \Trash
+ fts_autoindex_exclude3 = DUMPSTER
+ fts_autoindex_exclude4 = New folder
+ }
+
+M src/plugins/fts/fts-storage.c
+
+2016-06-27 16:37:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bd5684768b)
+
+ lib-dcrypt: Make static analyzer happier
+
+
+M src/lib-dcrypt/test-crypto.c
+
+2016-06-27 14:43:58 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5efce91019)
+
+ dcrypt: Add tests for v1 and v2 public keys and RSA
+
+
+M src/lib-dcrypt/test-crypto.c
+
+2016-06-27 14:43:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f92d3b2e68)
+
+ dcrypt-openssl: Various fixes
+
+ Fix v1 and v2 key handling and some allocation issues.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-06-27 14:13:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7c9a9ac8cd)
+
+ lib-dcrypt: Added sample-v1_short.asc to EXTRA_DIST
+
+
+M src/lib-dcrypt/Makefile.am
+
+2016-06-27 13:21:05 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (80449618d5)
+
+ istream-decrypt: Ensure we can open short v1 files
+
+
+A src/lib-dcrypt/sample-v1_short.asc
+M src/lib-dcrypt/test-stream.c
+
+2016-06-27 13:19:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (97846eaedc)
+
+ istream-decrypt: Correctly check the header length for v1
+
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2016-06-24 12:14:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ce3a152df5)
+
+ last-login: Ignore the plugin if last_login_dict setting is empty
+
+
+M src/plugins/last-login/last-login-plugin.c
+
+2016-06-23 18:04:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (123d1cb83e)
+
+ lib-ssl-iostream: Use ENGINE_set_default()
+
+
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+
+2016-06-23 17:21:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b7e29199cb)
+
+ lazy_expunge: Optimize checking for last instance when moving a mail.
+
+ It's never the last instance, so we don't need to even check it.
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2016-06-22 01:24:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0f801c1bd3)
+
+ fts-lucene: Fixed crash on error or auto-rebuild conditions.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2016-06-21 22:08:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (000ac73575)
+
+ welcome plugin: -Wstrict-bool warning fix
+
+
+M src/plugins/welcome/welcome-plugin.c
+
+2016-06-21 22:06:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (22d6302b54)
+
+ virtual: Compiler warning fix for list_index_has_changed() API change
+
+
+M src/plugins/virtual/virtual-storage.c
+
+2016-06-21 21:26:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5f1b68c3aa)
+
+ LAYOUT=index: Existence or GUID lookups don't need to refresh mailboxes.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2016-06-21 21:21:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (aa47c9bd1d)
+
+ lib-storage: Added quick parameter to list_index_has_changed()
+
+
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.h
+M src/lib-storage/index/mbox/mbox-sync-list-index.c
+M src/lib-storage/index/mbox/mbox-sync-private.h
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/mail-storage-private.h
+
+2016-06-21 21:06:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (85c9cf2c39)
+
+ LAYOUT=index: Avoid unnecessary work for setting \Marked flags in LIST
+ reply.
+
+ If MAILBOX_LIST_ITER_RETURN_NO_FLAGS is set, the caller doesn't care about
+ the flags.
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+
+2016-06-20 11:33:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fbf29f41d2)
+
+ lib-dcrypt: dcrypt_keypair_generate() no longer assumes pair_r to be
+ initialized.
+
+ It wasn't clear that it should have been zeroed. It also likely isn't very
+ useful to be able to place the generated key to existing keys.
+
+M src/lib-dcrypt/dcrypt.c
+
+2016-06-19 22:27:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6b136bb200)
+
+ lib-dcrypt: Check for all the return values in unit tests
+
+
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dcrypt/test-stream.c
+
+2016-06-19 22:21:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b9240a9115)
+
+ lib-dcrypt: Added missing error handling.
+
+ Most of these are probably unnecessary now that malloc() no longer fails.
+ Also some of the NULL checks may not be needed since OpenSSL functions
+ (usually?) return failure on NULL parameters, but sometimes they perform a
+ different operation. So overall, probably safer to include these checks.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-06-19 22:18:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0eaf77d8c2)
+
+ lib-dcrypt: Don't ignore BIO errors.
+
+ Might happen due to out of memory?
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-06-19 21:21:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (394391e78f)
+
+ lib-dcrypt: dcrypt_key_type_public/private() can no longer fail.
+
+ Removed unnecessary failure handling.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+M src/lib-dcrypt/ostream-encrypt.c
+
+2016-06-19 21:20:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (955c276b9d)
+
+ lib-dcrypt: dcrypt_key_convert_private_to_public() can no longer fail.
+
+ Removed unnecessary failure handling.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+M src/lib-dcrypt/test-crypto.c
+
+2016-06-19 20:55:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f85f12e3f9)
+
+ lib-dcrypt: Assert-crash if key parameter is NULL.
+
+ If it happens, it's a bug.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-06-19 20:48:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4b14487036)
+
+ lib-dcrypt: Assert-crash if impossible private/public keys are seen.
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-06-21 18:47:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (035d6e469a)
+
+ doveadm fs delete: Allow multiple paths also with -R parameter.
+
+
+M src/doveadm/doveadm-fs.c
+
+2016-06-21 18:30:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a18ba96c4e)
+
+ doveadm: Fixed --long-parameters handling
+
+
+M src/doveadm/doveadm-cmd.c
+
+2016-06-20 20:06:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2b9dbb270a)
+
+ dbox: Optimize POP3 MAIL_FETCH_UIDL_BACKEND.
+
+ We keep track of the highest UID known to have POP3 UIDL in index's header.
+ If saving adds a newer message, it'll also update the header. When fetching
+ UIDL_BACKEND, we can need to check only mails with lower UIDs. There are
+ some race conditions here, but normally UIDLs are set only once during
+ migration so it shouldn't matter.
+
+M src/lib-storage/index/Makefile.am
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-save.h
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+A src/lib-storage/index/index-pop3-uidl.c
+A src/lib-storage/index/index-pop3-uidl.h
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/mail-storage-private.h
+
+2016-06-20 11:39:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ba16a89e4e)
+
+ Added welcome plugin.
+
+
+M configure.ac
+M src/plugins/Makefile.am
+A src/plugins/welcome/Makefile.am
+A src/plugins/welcome/welcome-plugin.c
+
+2016-06-21 15:11:04 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (cf46097528)
+
+ doc: fix wrong tense in doveadm-expunge man page
+
+
+M doc/man/doveadm-expunge.1.in
+
+2016-06-21 17:25:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (06c1f686fd)
+
+ fs-posix: Use ":" instead of space as the parameter separator.
+
+ This makes it consistent with all the other fs drivers.
+
+M src/lib-fs/fs-posix.c
+
+2016-06-21 17:24:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9826e14054)
+
+ fs-posix: Added "dirs" parameter to enable explicit directory removal.
+
+
+M src/lib-fs/fs-posix.c
+
+2016-06-21 16:49:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (aed5d5c058)
+
+ fs-posix: Autodelete directories also when "prefix" parameter is used.
+
+
+M src/lib-fs/fs-posix.c
+
+2016-06-20 15:10:55 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (8f0503ea11)
+
+ lib-storage: Add autoexpunge_max_mails configuration to autoexpunge
+
+ Mails are expunged until mail count is at autoexpunge_max_mails or below.
+
+ In below example, autoexpunge will expunge 1 mail when message count > 100
+ and *then* try to expunge mails that are still older than 2 minutes:
+
+ namespace {
+ ..
+ mailbox Trash {
+ autoexpunge = 2 mins
+ autoexpunge_max_mails = 100
+ }
+ }
+
+M src/lib-storage/mail-autoexpunge.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2016-06-21 12:04:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ade5567577)
+
+ lib-dict: Explicitly specify used dict_vfuncs methods for drivers.
+
+ This allows adding more methods without modifying all the existing drivers.
+
+M src/lib-dict/dict-cdb.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql.c
+
+2016-05-10 10:00:57 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (027f9b6159)
+
+ auth: passdb-ldap Logging message is modified.
+
+
+M src/auth/passdb-ldap.c
+
+2016-06-08 16:41:04 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (0d6f8e7e23)
+
+ lib-fts: add unit test to fts_tokenizer_delete_trailing_partial_char()
+
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2016-06-07 16:37:27 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (eb568e46e8)
+
+ lib-fts: allow hyphen character in domain part
+
+ Allow hyphen character and remove possible trailing hyhpen character when
+ email tokenization is done.
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/fts-tokenizer-common.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2016-06-07 15:58:38 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (507ea0bc5b)
+
+ lib-fts: remove trailing period character from email-address
+
+ any trailing period character '.' should be removed when email tokenization
+ is done.
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/fts-tokenizer-common.c
+M src/lib-fts/fts-tokenizer-common.h
+M src/lib-fts/test-fts-tokenizer.c
+
+2016-06-07 16:01:03 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (3c16f16e00)
+
+ lib-test: add test_assert_failed_strcmp to expose strings.
+
+ the macro is used to facilitate any test to show string comparision contents
+ when they doesn't match.
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2016-06-20 21:38:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0d8dc754e9)
+
+ Makefile: Added run-test-valgrind.supp to EXTRA_DIST
+
+
+M Makefile.am
+
+2016-06-20 20:47:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f78e977b4a)
+
+ lib-http: s/unsigned int:1/bool:1/
+
+
+M src/lib-http/test-http-server-errors.c
+
+2016-06-20 20:30:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (eda0261e75)
+
+ lib-settings: Minor error message fix.
+
+
+M src/lib-settings/settings-parser.c
+
+2016-06-20 18:46:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7a6a11d7f5)
+
+ Updated run-test-valgrind.supp
+
+
+M run-test-valgrind.supp
+
+2016-06-20 17:52:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ee0a6db8fe)
+
+ lib: file_create_locked() - Unexpectedly deleted temp file is error.
+
+ This shouldn't happen and we shouldn't be silently retrying if it does.
+
+M src/lib/file-create-locked.c
+
+2016-06-20 14:29:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bb54eb9840)
+
+ Added valgrind suppression for OpenSSL <v1.0.2
+
+ This one works at least for CentOS 6. Because the OpenSSL library is loaded
+ as a plugin and unloaded before exit, valgrind sees only "???" as the
+ addresses. That's why we're using "obj:*". But the number of obj:* lines is
+ also important, so this may not work everywhere.
+
+M run-test-valgrind.supp
+
+2016-06-20 13:37:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (864e580b62)
+
+ openssl: Use our own malloc()/realloc() that will die on out-of-memory.
+
+ This is likely safer rather than caller thinking for example that some input
+ is invalid when it's only a temporary memory allocation problem.
+
+M src/lib-ssl-iostream/dovecot-openssl-common.c
+
+2016-06-20 13:33:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a62dad9ec8)
+
+ lib-dcrypt: Allow specifying crypto_device (OpenSSL engine).
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+M src/lib-dcrypt/test-crypto.c
+M src/lib-dcrypt/test-stream.c
+
+2016-06-20 13:33:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ff95c6488e)
+
+ lib-dcrypt: Added library dependencies to unit tests
+
+
+M src/lib-dcrypt/Makefile.am
+
+2016-06-20 12:58:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (285bfe946c)
+
+ lib-dcrypt, lib-ssl-iostream: Share OpenSSL init/deinit code.
+
+
+M src/Makefile.am
+M src/lib-dcrypt/Makefile.am
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-ssl-iostream/Makefile.am
+A src/lib-ssl-iostream/dovecot-openssl-common.c
+A src/lib-ssl-iostream/dovecot-openssl-common.h
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2016-06-20 13:05:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a7ad754fca)
+
+ lib-dcrypt: Fix to backend module loading.
+
+ Especially don't die if we fail to load the module.
+
+M src/lib-dcrypt/dcrypt.c
+
+2016-06-19 21:31:10 +0200 Stephan Bosch <stephan@dovecot.fi> (f98d562bc4)
+
+ lib-http: server: Created test program that tests error conditions.
+
+ Currently it is very limited, but it is due to be extended soon towards
+ testing most common error conditions.
+
+M src/lib-http/Makefile.am
+A src/lib-http/test-http-server-errors.c
+
+2016-06-20 02:41:37 +0200 Stephan Bosch <stephan@dovecot.fi> (b154be7ad1)
+
+ lib-http: Restructured Makefile.am to have less duplicated lines for the
+ test suite.
+
+
+M src/lib-http/Makefile.am
+
+2016-06-20 01:25:02 +0200 Stephan Bosch <stephan@dovecot.fi> (47fee1a942)
+
+ lib-http: server: Added settings to configure the connection's socket kernel
+ buffer sizes.
+
+ This is mainly useful for use in the lib-http test suite.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server.c
+M src/lib-http/http-server.h
+
+2016-06-20 01:20:33 +0200 Stephan Bosch <stephan@dovecot.fi> (17f37f252a)
+
+ lib-http: server: Make sure provided connection FDs are non-blocking.
+
+
+M src/lib-http/http-server-connection.c
+
+2016-06-20 01:15:18 +0200 Stephan Bosch <stephan@dovecot.fi> (f60fe422cd)
+
+ lib-http: server: Wrap request payload in a timeout input stream.
+
+ The server cannot reset the timeout properly while the payload is being read
+ by the application. The HTTP client solved this same problem by identical
+ means.
+
+M src/lib-http/http-server-connection.c
+
+2016-06-19 22:31:18 +0200 Stephan Bosch <stephan@dovecot.fi> (cd1c11375b)
+
+ lib-http: server: Fixed handling of idle timeout when request just starts
+ processing on the server.
+
+
+M src/lib-http/http-server-connection.c
+
+2016-06-19 22:35:43 +0200 Stephan Bosch <stephan@dovecot.fi> (861aff347b)
+
+ lib-http: server: Added more detailed debugging about when idle timeouts are
+ started/stopped.
+
+
+M src/lib-http/http-server-connection.c
+
+2016-06-17 16:59:37 +0200 Stephan Bosch <stephan@dovecot.fi> (8bc6217080)
+
+ lib-http: client: Added tests for manual handling of connection loss retries
+ to test-http-client-errors.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2016-06-17 16:59:15 +0200 Stephan Bosch <stephan@dovecot.fi> (486c7c8d9e)
+
+ lib-http: client: Implemented no_auto_retry setting that disables all
+ automatic request retries.
+
+ This currently only applies to requests sent over a connection that is
+ subsequently lost before a response is received. Before, such requests were
+ always implicitly resumbitted for a new connection, without the application
+ knowing about it. By enabling the no_auto_retry client setting, the
+ application is always notified of connection loss through the request's
+ response callback. As a consequence, requests need to be retried explicitly
+ using the http_client_request_try_retry().
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2016-06-17 15:39:36 +0200 Stephan Bosch <stephan@dovecot.fi> (d6a88217c2)
+
+ lib-http: client: Allow retrying requests that failed internally.
+
+
+M src/lib-http/http-client-request.c
+
+2016-06-20 03:08:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d470d4addd)
+
+ lib-dict-extra: Compiler warning fix
+
+
+M src/lib-dict-extra/dict-fs.c
+
+2016-06-13 17:10:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a5ec975555)
+
+ lib-dict: Added dict_switch_ioloop()
+
+
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/plugins/dict-ldap/dict-ldap.c
+
+2016-06-13 16:55:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a9e079feb9)
+
+ lib-dict: Added test-dict-client to stress test async dict operations
+
+
+M src/lib-dict/Makefile.am
+A src/lib-dict/test-dict-client.c
+
+2016-06-02 00:57:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a7e46c0535)
+
+ lib-dict: dict-client rewrite to support async operations
+
+
+M src/lib-dict/dict-client.c
+
+2016-06-20 02:25:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1a0b3d438c)
+
+ lib-dcrypt: Use a more supported EC curve in unit test
+
+ Fixes running the test on CentOS 6.
+
+M src/lib-dcrypt/test-crypto.c
+
+2016-06-20 01:47:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d697aa99bb)
+
+ lib-index: Don't break indexes on syscall failures during index refreshing.
+
+ Especially mmap() failures due to out of memory could have triggered this.
+ We treated the open as successful, which meant that an empty index was
+ opened.
+
+M src/lib-index/mail-index-sync-update.c
+
+2016-06-19 23:18:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b0c472c7a9)
+
+ lib-dcrypt: Fixed running unit tests in build directory.
+
+
+M src/lib-dcrypt/Makefile.am
+M src/lib-dcrypt/test-stream.c
+
+2016-06-19 20:23:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (49b6ea5856)
+
+ mailbox-alias: Fixed renaming mailboxes when the plugin is loaded.
+
+
+M src/plugins/mailbox-alias/mailbox-alias-plugin.c
+
+2016-06-19 18:44:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2f04dd9abc)
+
+ lib-dcrypt: Fixed memory leak in test-crypto unit test
+
+
+M src/lib-dcrypt/test-crypto.c
+
+2016-06-19 18:38:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (763e74b20d)
+
+ doveadm dump: Updated obox's oid output.
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2016-06-16 22:02:08 +0200 Stephan Bosch <stephan@dovecot.fi> (44005db1ca)
+
+ lib-http: client/server: Enable the TCP_NODELAY option for all connections.
+
+ This disables the TCP Nagle algorithm. With the Nagle algorithm enabled, TCP
+ waits a little to accumulate more data in a small segment before it is sent.
+ For transfer of large continuous payloads, this is not useful and even
+ harmful. If the final remaining bit of the payload is small, the TCP layer
+ will wait for a significant amount of time at the end of the payload. For
+ many sequential transfers, this amounts to much waiting time. This is
+ particularly evident in the test-http-payload test suite tool. Setting
+ TCP_NODELAY decreases its run time from up to 20 minutes to about half a
+ minute my system.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-server-connection.c
+
+2016-06-16 22:01:06 +0200 Stephan Bosch <stephan@dovecot.fi> (2dca65ba61)
+
+ lib: Created net_set_tcp_nodelay(), which enables the TCP_NODELAY socket
+ option.
+
+ This disables the TCP Nagle algorithm.
+
+M src/lib/net.c
+M src/lib/net.h
+
+2016-06-16 11:23:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (095481fee8)
+
+ lib-ssl-iostream: Changed require_valid_cert -> allow_invalid_cert
+
+ We should default to being safe.
+
+M src/doveadm/server-connection.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/test-http-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl.h
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2016-06-14 22:47:31 +0200 Stephan Bosch <stephan@dovecot.fi> (97d67b7b07)
+
+ lib-http: client: Added test for http_client_request_delay_msecs() in
+ test_http_client_errors.
+
+
+M src/lib-http/test-http-client-errors.c
+
+2016-06-15 01:54:25 +0200 Stephan Bosch <stephan@dovecot.fi> (a0923d7d09)
+
+ lib-http: client: Added more debug logging about the submission of delayed
+ requests.
+
+
+M src/lib-http/http-client-queue.c
+
+2016-06-15 01:53:44 +0200 Stephan Bosch <stephan@dovecot.fi> (8bca5ef713)
+
+ time-util: Fixed usec comparison in timeval_cmp_margin().
+
+
+M src/lib/time-util.c
+
+2016-06-14 22:42:09 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (d86910a956)
+
+ lib-dcrypt: Fix error_r pointer verification.
+
+
+M src/lib-dcrypt/dcrypt.c
+
+2016-06-14 22:32:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (507dcd9fee)
+
+ lib-fs: Added write_bytes to statistics
+
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2016-06-14 12:30:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f86bd28cf4)
+
+ dcrypt: Arm deinitialization code
+
+
+M src/lib-dcrypt/dcrypt.c
+
+2016-06-14 12:08:49 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1471b42397)
+
+ dcrypt: Add test for public key loading
+
+
+M src/lib-dcrypt/test-crypto.c
+
+2016-06-14 12:08:34 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5029a19465)
+
+ dcrypt-openssl: Pass pointer safely
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-06-14 10:49:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f19b3f14f5)
+
+ lib-index: Fixed test-mail-index-sync-ext
+
+
+M src/lib-index/test-mail-index-sync-ext.c
+
+2016-06-14 01:14:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3403e054ea)
+
+ lib-index: Fixes to handling resized records.
+
+
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-private.h
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-transaction-export.c
+
+2016-06-13 20:16:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (54b88816e4)
+
+ dict: Increased max number of pipelined requests from 5 to 1000.
+
+ The client is supposed to be the one throttling the requests. We mainly want
+ to avoid accidental abuses. Using 1000 is hopefully "large enough" without
+ being "too large".
+
+M src/dict/dict-connection.c
+
+2016-06-13 17:59:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (84801834c5)
+
+ dict: Avoid potentially using 100% CPU
+
+ Continuing 65c570f18 fix.
+
+M src/dict/dict-connection.c
+
+2016-06-13 17:11:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8296531314)
+
+ lib-fs: Added fs_switch_ioloop()
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test.c
+M src/plugins/fs-compress/fs-compress.c
+
+2016-06-13 17:31:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e597ab14b6)
+
+ lib-fs: Code cleanup for fs-sis: Use struct fs.parent
+
+
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+
+2016-06-13 12:49:19 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (269a38b5e6)
+
+ lib-dcrypt: Use hex encoded public key ID in callback
+
+
+M src/lib-dcrypt/istream-decrypt.c
+M src/lib-dcrypt/istream-decrypt.h
+
+2016-06-13 12:44:09 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8d0e0f0983)
+
+ lib-dcrypt: Use dcrypt_key_id_private when applicable
+
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2016-05-11 08:02:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (57614d9fe0)
+
+ ldap: Fix cyclic dependency
+
+
+M configure.ac
+M src/Makefile.am
+M src/lib-dict-extra/Makefile.am
+M src/plugins/Makefile.am
+A src/plugins/dict-ldap/Makefile.am
+R100 src/lib-dict-extra/dict-ldap-settings.c src/plugins/dict-ldap/dict-ldap-settings.c
+R100 src/lib-dict-extra/dict-ldap-settings.h src/plugins/dict-ldap/dict-ldap-settings.h
+R100 src/lib-dict-extra/dict-ldap.c src/plugins/dict-ldap/dict-ldap.c
+
+2016-06-13 12:18:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ce90869523)
+
+ dovecot-config: Add lib-dcrypt to LIBDOVECOT_INCLUDE
+
+ Since lib-dcrypt is part of libdovecot.
+
+M dovecot-config.in.in
+
+2016-05-19 11:14:46 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (5a521f9352)
+
+ master: make setting listen empty an error
+
+
+M src/master/master-settings.c
+
+2016-06-06 10:28:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d34b8a75f3)
+
+ lib-fs: fs_wait_async() can't fail, so make it return void.
+
+ The individual requests can timeout, but not the waiting itself.
+
+M src/doveadm/doveadm-fs.c
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test.c
+M src/plugins/fs-compress/fs-compress.c
+
+2016-06-13 09:56:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (725051a12a)
+
+ lmtp: Don't permanently allocate from data stack during init.
+
+
+M src/lmtp/main.c
+M src/lmtp/main.h
+
+2016-06-12 20:11:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (760528b713)
+
+ lib-index: mail_index_ext_resize() was broken when record_size wasn't
+ changed.
+
+
+M src/lib-index/mail-index-transaction-update.c
+
+2016-06-12 18:57:10 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (7e1a69e513)
+
+ lib-dcrypt: Fix various problems
+
+
+M src/lib-dcrypt/Makefile.am
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dcrypt/dcrypt-private.h
+M src/lib-dcrypt/dcrypt.c
+M src/lib-dcrypt/dcrypt.h
+
+2016-06-11 21:23:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (aeaf818613)
+
+ lib-mail: Improved message-parser unit tests.
+
+
+M src/lib-mail/test-message-parser.c
+
+2016-06-11 21:23:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1bc6f1c54b)
+
+ lib-mail: Fixed message_parser_init_from_parts() with truncated MIME headers
+
+
+M src/lib-mail/message-parser.c
+
+2016-06-11 21:20:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (20faa69d80)
+
+ lib-mail: message-header-parser now keeps istream referenced.
+
+
+M src/lib-mail/message-header-parser.c
+
+2016-06-11 20:50:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9202c66061)
+
+ lib-storage: mail_set_cache_corrupted*() now sets internal error to storage.
+
+ At least index_mail_set_message_parts_corrupted() assumed that this was
+ being done.
+
+M src/lib-storage/index/index-mail.c
+
+2016-06-11 20:36:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f36c418547)
+
+ doveadm: Don't use already-freed data stack after init.
+
+ Broken by 0679f8a70.
+
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+
+2016-06-11 17:13:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2522acb523)
+
+ cassandra: Try fallback_consistency also for write timeout failures.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2016-06-07 08:50:12 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (8266226f9a)
+
+ doveadm-server: Disable idle timeout for now
+
+
+M src/doveadm/client-connection-http.c
+
+2016-06-07 03:47:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1b35793525)
+
+ Fixed linking with OSX.
+
+
+M src/lib-dcrypt/Makefile.am
+M src/lib-ldap/Makefile.am
+
+2016-06-07 03:41:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (49b6e2d72c)
+
+ -Wstrict-bool warning fixes
+
+
+M src/lib-fs/fs-randomfail.c
+M src/lib-mail/message-address.c
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-poll.c
+
+2016-06-07 03:25:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c87f187b49)
+
+ lib-dcrypt: Fixed library dependencies
+
+ _DEPENDENCIES needs an explicit paths, not "-lssl" and such. Fixes building
+ with e.g. OSX.
+
+M src/lib-dcrypt/Makefile.am
+
+2016-06-07 03:04:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7598711757)
+
+ lib-lda: Don't assert-crash if home directory isn't set.
+
+
+M src/lib-lda/duplicate.c
+
+2016-06-06 17:10:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (64a07a73e7)
+
+ lib-mail: Fixed to 91fdb25b5
+
+ Caused by my manual edits to avoid the -Wstrict-bool warnings.
+
+M src/lib-mail/message-address.c
+
+2016-06-03 22:23:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0679f8a70a)
+
+ lib-master: Add automatic data stack frame to init unless disabled.
+
+
+M src/config/doveconf.c
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+M src/master/main.c
+
+2016-06-05 17:17:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (761c441db5)
+
+ mbox: mbox_index_header.dirty_flag isn't boolean, so don't use TRUE/FALSE
+ with it.
+
+
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2016-06-05 16:54:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a5286dc8a0)
+
+ lib: define FALSE to be (!1)
+
+ This allows the patched clang to treat FALSE as a boolean expression.
+
+M src/lib/macros.h
+
+2016-06-05 16:35:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f0339f522d)
+
+ global: Use only explicit int -> bool conversions
+
+ These were checked with a patched clang.
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+M src/imap-login/client-authenticate.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-mail/message-address.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-otp/otp-parse.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib/istream-sized.c
+M src/lib/istream.c
+M src/lib/net.c
+M src/lib/restrict-access.c
+M src/login-common/client-common-auth.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/quota/Makefile.am
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/replicator-queue.c
+
+2016-06-05 05:06:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (23bdbb7b18)
+
+ global: Require comparisons to be strict boolean expressions
+
+ * No implicit integer -> boolean or pointer -> boolean conversions
+ * !expr can be used only if expr is boolean type
+
+ These were checked with a patched clang. It found various actual bugs, which
+ were fixed by the previous commits.
+
+M src/auth/db-ldap.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-ntlm.c
+M src/auth/mech-scram-sha1.c
+M src/auth/password-scheme-md5crypt.c
+M src/auth/password-scheme-rpa.c
+M src/director/director-connection.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/imap/imap-sync.c
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-dict-extra/dict-ldap-settings.c
+M src/lib-http/http-server-request.c
+M src/lib-http/test-http-client-errors.c
+M src/lib-http/test-http-payload.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-lda/duplicate.c
+M src/lib-ldap/ldap-connection.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part-serialize.c
+M src/lib-mail/test-message-header-encode.c
+M src/lib-mail/test-message-parser.c
+M src/lib-master/test-master-service-settings-cache.c
+M src/lib-ntlm/ntlm-des.c
+M src/lib-ntlm/ntlm-encrypt.c
+M src/lib-ntlm/ntlm-message.c
+M src/lib-otp/otp-parse.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-filename.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+M src/lib/askpass.c
+M src/lib/buffer.h
+M src/lib/compat.h
+M src/lib/file-cache.c
+M src/lib/file-lock.c
+M src/lib/hash.c
+M src/lib/ioloop-select.c
+M src/lib/macros.h
+M src/lib/md4.c
+M src/lib/md5.c
+M src/lib/net.c
+M src/lib/test-timing.c
+M src/lib/test-unichar.c
+M src/lib/var-expand.c
+M src/lib/wildcard-match.c
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-openssl.c
+M src/master/service-process.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/push-notification/push-notification-event-flagsclear.c
+M src/plugins/push-notification/push-notification-event-flagsset.c
+M src/plugins/push-notification/push-notification-event-messageappend.c
+M src/plugins/push-notification/push-notification-event-messagenew.c
+M src/plugins/push-notification/push-notification-event-messageread.c
+M src/plugins/push-notification/push-notification-event-messagetrash.c
+M src/plugins/push-notification/push-notification-plugin.c
+M src/plugins/quota/Makefile.am
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+
+2016-06-05 16:30:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c1277b66e1)
+
+ global: uint32_t:1 -> bool:1
+
+ They were uint32_t because I wanted to be sure that there wouldn't be any
+ padding added to the struct. But this should be true also with bool:1.
+
+M src/auth/auth-cache.h
+M src/lib-storage/index/index-sort-string.c
+
+2016-06-05 14:37:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0dffa25d21)
+
+ global: unsigned int:1 -> bool:1
+
+ perl -i -pe 's/unsigned int ([^,:;]+):1;/bool $1:1;/' **/*.[ch]
+
+M src/anvil/anvil-connection.c
+M src/anvil/penalty.c
+M src/auth/auth-client-connection.h
+M src/auth/auth-master-connection.h
+M src/auth/auth-penalty.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.h
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/db-checkpassword.c
+M src/auth/db-passwd-file.h
+M src/auth/db-sql.h
+M src/auth/mech-digest-md5.c
+M src/auth/passdb-pam.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/config/config-connection.c
+M src/config/config-parser-private.h
+M src/config/doveconf.c
+M src/dict/dict-connection.h
+M src/director/director-connection.c
+M src/director/director-host.h
+M src/director/director.h
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/mail-host.h
+M src/director/user-directory.h
+M src/doveadm/client-connection.h
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/doveadm-print-flow.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print-tab.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-ibc-private.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+M src/doveadm/server-connection.c
+M src/imap-login/imap-login-client.h
+M src/imap-urlauth/imap-urlauth-client.h
+M src/imap-urlauth/imap-urlauth-login.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/cmd-append.c
+M src/imap/cmd-idle.c
+M src/imap/cmd-list.c
+M src/imap/cmd-select.c
+M src/imap/cmd-urlfetch.c
+M src/imap/imap-client.h
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.h
+M src/imap/imap-notify.h
+M src/imap/imap-search.h
+M src/imap/imap-sync.c
+M src/indexer/indexer-client.c
+M src/indexer/indexer-queue.h
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+M src/ipc/ipc-connection.h
+M src/lib-auth/auth-client-private.h
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+M src/lib-auth/auth-server-connection.h
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-lzma.c
+M src/lib-compression/ostream-zlib.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict-sql.c
+M src/lib-fs/fs-api-private.h
+M src/lib-http/http-client-private.h
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-message-parser.h
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request.h
+M src/lib-http/http-response.h
+M src/lib-http/http-server-private.h
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-storage/imap-metadata.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.h
+M src/lib-imap-urlauth/imap-urlauth-private.h
+M src/lib-imap/imap-arg.h
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-url.h
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-private.h
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-view-private.h
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log-view-private.h
+M src/lib-index/mail-transaction-log.h
+M src/lib-lda/duplicate.c
+M src/lib-lda/lmtp-client.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-header-parser.h
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-search.c
+M src/lib-master/ipc-server.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-login.h
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service-settings-cache.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service.h
+M src/lib-master/service-settings.h
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-sql/sql-api-private.h
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/dbox-common/dbox-file.h
+M src/lib-storage/index/dbox-common/dbox-save.h
+M src/lib-storage/index/dbox-multi/mdbox-map-private.h
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.h
+M src/lib-storage/index/imapc/imapc-list.h
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.h
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-rebuild.h
+M src/lib-storage/index/index-search-private.h
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread-private.h
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/istream-mail.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-storage.h
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-storage.h
+M src/lib-storage/index/mbox/mbox-sync-private.h
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-storage.h
+M src/lib-storage/index/raw/raw-storage.h
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-sync.h
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/mail-namespace.h
+M src/lib-storage/mail-search-register.c
+M src/lib-storage/mail-search.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail-user.h
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-search-result-private.h
+M src/lib-storage/mailbox-tree.c
+M src/lib/buffer.c
+M src/lib/connection.h
+M src/lib/file-dotlock.c
+M src/lib/file-dotlock.h
+M src/lib/ioloop-private.h
+M src/lib/istream-crlf.c
+M src/lib/istream-file-private.h
+M src/lib/istream-jsonstr.c
+M src/lib/istream-mmap.c
+M src/lib/istream-private.h
+M src/lib/istream-tee.c
+M src/lib/istream.h
+M src/lib/mempool.h
+M src/lib/module-dir.h
+M src/lib/ostream-file-private.h
+M src/lib/ostream-private.h
+M src/lib/ostream.h
+M src/lmtp/client.h
+M src/lmtp/lmtp-proxy.c
+M src/log/log-connection.c
+M src/login-common/client-common.h
+M src/login-common/login-proxy.c
+M src/login-common/ssl-proxy-openssl.c
+M src/master/service-process.h
+M src/master/service.h
+M src/plugins/acl/acl-api-private.h
+M src/plugins/acl/acl-api.h
+M src/plugins/acl/acl-backend-vfile.h
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/squat-trie-private.h
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-storage.h
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+M src/pop3/pop3-client.h
+M src/replication/replicator/dsync-client.c
+M src/replication/replicator/notify-connection.c
+M src/replication/replicator/replicator-brain.c
+M src/replication/replicator/replicator-queue.h
+
+2016-06-05 16:01:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8e047750fa)
+
+ mbox: Code cleanup - use bool instead of int for tracking locked-status
+
+
+M src/lib-storage/index/mbox/mbox-lock.c
+
+2016-05-09 14:28:08 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e93184a905)
+
+ lib: remove autoclose parameter from [io]_stream_create_fd
+
+ Use [io]_stream_create_fd_autoclose() for autoclose.
+
+M src/anvil/anvil-connection.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/db-passwd-file.c
+M src/config/config-connection.c
+M src/config/doveconf.c
+M src/dict/dict-connection.c
+M src/director/auth-connection.c
+M src/director/director-connection.c
+M src/director/director-test.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/notify-connection.c
+M src/dns/dns-client.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-zlib.c
+M src/doveadm/doveadm.c
+M src/doveadm/server-connection.c
+M src/imap-hibernate/imap-client.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/imap-client.c
+M src/indexer/indexer-client.c
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+M src/ipc/client.c
+M src/ipc/ipc-connection.c
+M src/lda/main.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-compression/test-compression.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-file.c
+M src/lib-dns/dns-lookup.c
+M src/lib-http/test-http-payload.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/smtp-client.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-master/anvil-client.c
+M src/lib-master/ipc-client.c
+M src/lib-master/ipc-server.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-settings.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib/connection.c
+M src/lib/file-copy.c
+M src/lib/istream-file.c
+M src/lib/istream-rawlog.c
+M src/lib/istream.h
+M src/lib/ostream-file.c
+M src/lib/ostream-rawlog.c
+M src/lib/ostream.h
+M src/lib/test-iostream-temp.c
+M src/lib/test-ostream-file.c
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/log/doveadm-connection.c
+M src/log/log-connection.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/mail-filter/istream-ext-filter.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/pop3/pop3-client.c
+M src/replication/aggregator/notify-connection.c
+M src/replication/aggregator/replicator-connection.c
+M src/replication/replicator/dsync-client.c
+M src/replication/replicator/notify-connection.c
+M src/stats/client.c
+M src/stats/fifo-input-connection.c
+M src/util/rawlog.c
+
+2016-05-02 18:27:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (39dea5f2e7)
+
+ quota: Differentiate between forced and non-forced quota recalc
+
+ The "count" backend doesn't need to recalc quota unless an explicit "doveadm
+ quota recalc" command is called.
+
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2016-05-02 18:16:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e2e64c1098)
+
+ quota: Skip reading mail sizes when quota backend doesn't need it.
+
+ If quota backend is updating the quota internally, it's just going to ignore
+ the looked up size. The only reason for looking up the sizes is to check
+ with quota_try_alloc() whether user is going over quota.
+
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2016-06-05 15:48:20 +0200 Pali Rohár <pali.rohar@gmail.com> (99df8a838c)
+
+ lib-mail: Update tests for message address
+
+
+M src/lib-mail/test-message-address.c
+
+2016-06-05 15:48:19 +0200 Pali Rohár <pali.rohar@gmail.com> (b435147a71)
+
+ lib-mail: message_address_write: Quote and escape strings if needed
+
+ ATEXT characters must be properly quoted when are in phrase.
+
+ Test case:
+
+ { name = "test\"test", mailbox = "user", domain = "host" }
+
+ converts to:
+
+ "test\"test" <user@host>
+
+M src/lib-mail/message-address.c
+
+2016-06-05 15:48:18 +0200 Pali Rohár <pali.rohar@gmail.com> (91fdb25b5a)
+
+ lib-mail: parse_mailbox: Set display name instead mailbox when parsing
+ failed
+
+ It does not make sense to set mailbox without domain on incorrect input.
+ Rather set display name which is more likely useable value.
+
+ Test case:
+
+ test
+
+ is parsed as:
+
+ { name = "test", mailbox = NULL, domain = NULL }
+
+M src/lib-mail/message-address.c
+
+2016-06-05 15:48:17 +0200 Pali Rohár <pali.rohar@gmail.com> (9835bb7e5b)
+
+ lib-mail: parse_addr_spec: Email address without local-part is invalid
+
+ Add explicit invalid_syntax flag also when end of input occure because
+ address is without domain invalid and in this case it was not correctly
+ propagated.
+
+M src/lib-mail/message-address.c
+
+2016-06-05 15:48:16 +0200 Pali Rohár <pali.rohar@gmail.com> (f185d56a96)
+
+ lib-mail: parse_addr_spec: Like in rfc822_skip_comment() check if
+ last_comment is not NULL
+
+ This will fix possible NULL pointer dereference when caller does not set
+ last_comment.
+
+M src/lib-mail/message-address.c
+
+2016-06-05 15:48:15 +0200 Pali Rohár <pali.rohar@gmail.com> (d56bcbb354)
+
+ lib-mail: message_address_write: Fix generating group list with empty name
+
+ Empty name for group list must be quoted.
+
+ Test case:
+
+ { { name = NULL, mailbox = "", domain = NULL }, { name = NULL, mailbox =
+ NULL, domain = NULL } }
+
+ converts to:
+
+ "":;
+
+M src/lib-mail/message-address.c
+
+2016-06-05 15:48:14 +0200 Pali Rohár <pali.rohar@gmail.com> (b98e122661)
+
+ lib-mail: message_address_write: Fix generating empty group list
+
+ Empty group list ends with ": " not with ", ".
+
+ Test case:
+
+ { { name = NULL, mailbox = "group", domain = NULL }, { name = NULL,
+ mailbox = NULL, domain = NULL } }
+
+ converts to:
+
+ group:;
+
+M src/lib-mail/message-address.c
+
+2016-06-06 02:27:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (90dd3c6ed3)
+
+ fs-randomfail: Support failures after asynchronous commands have already
+ finished.
+
+
+M src/lib-fs/fs-randomfail.c
+
+2016-06-06 02:26:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (65c570f185)
+
+ dict: Fixed hang when pipelining multiple commands.
+
+
+M src/dict/dict-connection.c
+
+2016-06-06 00:07:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c6c2b49bf4)
+
+ lib-index: Extension record size resizing was still broken.
+
+ Fixes assert-crash: Panic: file mail-index-util.c: line 143
+ (mail_index_seq_array_add): assertion failed: (array->arr.element_size ==
+ sizeof(seq) + aligned_record_size)
+
+M src/lib-index/mail-index-transaction-update.c
+
+2016-06-05 17:48:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4cc0466556)
+
+ global: More fixes to mismatched bool vs int handling
+
+
+M src/auth/mech-skey.c
+M src/lib-imap/test-imap-utf7.c
+M src/lib-ntlm/ntlm-encrypt.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/test-mailbox-get.c
+M src/lib/test-array.c
+
+2016-06-05 15:37:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d9a7e950a9)
+
+ global: Fixed mismatched bool vs. int/pointer handling
+
+ I don't think these fix any actual bugs.
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth.c
+M src/auth/mech-otp-skey-common.c
+M src/auth/mech-otp-skey-common.h
+M src/dict/dict-connection.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/lib-dcrypt/dcrypt-openssl.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-http/test-http-payload.c
+M src/lib-http/test-http-response-parser.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-parser.c
+M src/lib-mail/mbox-from.c
+M src/lib-mail/message-date.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-ntlm/ntlm-message.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/mailbox-list.c
+M src/lib/file-lock.c
+M src/lib/strfuncs.c
+M src/lib/wildcard-match.c
+M src/master/master-settings.c
+M src/master/service-listen.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-user.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2016-06-05 16:51:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ba3dc5075c)
+
+ lib-mail: Added comment about invalid timezones in message_date_parse()
+
+
+M src/lib-mail/message-date.c
+
+2016-06-05 16:40:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (389a9fe163)
+
+ director: Fixed error handling when directors support incompatible tags
+
+ Connection should have been disconnected immediately, not after the next
+ command that would have produced "Incompatible protocol".
+
+M src/director/director-connection.c
+
+2016-06-05 15:57:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (759edc211f)
+
+ lib-dcrypt: Fixed error handling in dcrypt_key_id_public()
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-06-05 15:35:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (28846a7260)
+
+ lib-storage: Fixed error handling in list=children checking
+
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2016-06-05 15:32:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (063fb94038)
+
+ fts-lucene: Fixed error handling when checking if settings had changed.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2016-06-05 15:31:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e9fdf11b70)
+
+ mailbox-alias plugin: Fixed error handling
+
+
+M src/plugins/mailbox-alias/mailbox-alias-plugin.c
+
+2016-06-05 15:26:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4ee1a83538)
+
+ lib-storage: Search args equalness checks didn't compare keywords correctly.
+
+ This may have broken the search in some situations.
+
+M src/lib-storage/mail-search.c
+
+2016-06-05 15:23:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dcf24a3cd6)
+
+ mbox: Fixed expunging first mail with CRLF linefeeds.
+
+
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+
+2016-06-05 15:18:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e1230c9891)
+
+ mdbox: Fix want_altpath flags/boolean mixup
+
+ There was only a single flag, so this wasn't actually currently broken.
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2016-06-05 15:11:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (84ec868b0e)
+
+ auth: Fixed error handling in passdb/userdb dict config parsing
+
+
+M src/auth/db-dict.c
+
+2016-06-05 14:54:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (12f8ffba02)
+
+ director: Fixed ignoring an obsolete up/down change while host is desynced.
+
+
+M src/director/director-connection.c
+
+2016-06-05 04:29:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a21d4eb322)
+
+ lib-dcrypt: Fixed function return type.
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-06-04 03:47:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (eaebcff84c)
+
+ lazy-expunge: Fixed crash on error handling
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2016-06-03 20:14:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f27c7e633e)
+
+ lib-index: Fix duplicate fields in mail_cache_register_fields()
+
+ Broken by hash_table_insert() API change. The earlier code was also a bit
+ wrong by allocating a bit too much memory when there were duplicate fields
+ being registered.
+
+M src/lib-index/mail-cache-fields.c
+
+2016-06-03 20:10:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (379b166bed)
+
+ lib-index: Fixed extension resizing
+
+ Broken by 8483af4ff.
+
+M src/lib-index/mail-index-sync-ext.c
+
+2016-06-03 20:00:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1af0c5d881)
+
+ lib-index: Added header-size asserts
+
+
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+
+2016-06-03 19:58:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (909a45f03f)
+
+ lib-index: Fixed fsck handling extension with invalid header size
+
+ Fixes:
+
+ Panic: file mail-index-sync-ext.c: line 393 (mail_index_sync_ext_init_new):
+ assertion failed: (hdr_buf->used == map->hdr.header_size)
+
+M src/lib-index/mail-index-fsck.c
+
+2016-06-03 19:31:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c224fff79d)
+
+ global: Use hash_table_update() instead of _insert() where necessary.
+
+
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-stats.c
+M src/lib-dict/dict-file.c
+M src/lib-lda/duplicate.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/plugins/push-notification/push-notification-drivers.c
+M src/pop3/pop3-commands.c
+
+2016-06-03 19:20:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2a6c02a5e7)
+
+ lib-storage: Detect duplicate mailbox GUIDs in guid-cache.
+
+ Also fixes assert-crashing in hash_table_insert() when it happens.
+
+M src/lib-storage/mailbox-guid-cache.c
+
+2016-06-03 19:18:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (32d69cb079)
+
+ maildir: Detect duplicate keywords in dovecot-keywords file
+
+ Use the first such keyword's index, not the last.
+
+ Also fixes assert-crashing in hash_table_insert() when it happens.
+
+M src/lib-storage/index/maildir/maildir-keywords.c
+
+2016-06-03 19:17:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (042668c0cd)
+
+ maildir: Avoid extra memory usage on duplicate uidlist entries
+
+ Also fixes assert-crashing in hash_table_insert() when it happens.
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2016-06-03 17:54:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (765b5eec22)
+
+ lib-index: Allow growing ext record_size after mail_index_update_ext()
+
+ The existing records will just get some zero-padding at the end of records.
+
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-util.c
+M src/lib-index/mail-index-util.h
+
+2016-06-03 17:52:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8483af4fff)
+
+ lib-index: Fixed changing extension record sizes.
+
+ map needs to be cloned before any extension record size changes are done.
+ Otherwise the map cloning will crash or do something broken.
+
+M src/lib-index/mail-index-sync-ext.c
+
+2016-06-03 17:40:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6aa6fdaba3)
+
+ lib-index: Minor code cleanup - use better variable names
+
+
+M src/lib-index/mail-index-sync-ext.c
+
+2016-05-18 14:42:21 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (cbc8f9d714)
+
+ lib-storage: add no_fts in struct mail_search_arg
+
+ When flag is set, FTS will not be performed.
+
+ fts plugin: handle no_fts flag
+
+ No fts will be performed once flag is set. Original patch from Timo Sirainen
+ <timo.sirainen@dovecot.fi>
+
+M src/lib-storage/mail-search.h
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-storage.c
+
+2016-05-17 11:45:50 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (3b22ecd866)
+
+ hash: refactor hash_table_insert_node() and its callers reference
+
+ Refactor *changes* the behavior of hash_table_insert().
+ * hash_table_insert() will assert when a key already exsists. And
+ hash_table_update() remains updating value when a key already exsists.
+
+ Refactor also changes the argument list referred by all its callers:
+ * hash_table_insert/update/resize().
+
+M src/lib/hash.c
+M src/lib/hash.h
+
+2016-05-17 11:42:30 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (0531c48178)
+
+ lib-fts: fixup misuse of hash_table_insert()
+
+ Instead use hash_table_update() to replace value when a key exsists.
+
+M src/lib-fts/fts-filter-stopwords.c
+
+2016-05-30 19:07:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (aa41b2e179)
+
+ virtual: Moved virtual_mailbox_vfuncs to lib-storage.
+
+ This allows implementing other virtual storage backends.
+
+M src/lib-storage/mail-storage-private.h
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+
+2016-06-01 12:37:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (54647e7d2f)
+
+ master: Give a nicer error if unix/fifo_listener path is empty.
+
+ The previous error was simply:
+
+ unlink(/var/run/dovecot/) failed: Is a directory
+
+M src/master/master-settings.c
+
+2016-06-02 15:11:21 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (6f00b37199)
+
+ print CFLAGS on ./configure
+
+
+M configure.ac
+
+2016-05-09 15:24:28 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (db623deb12)
+
+ lib: net_get_ip_any[46]() to struct net_ip[46]_any
+
+ Also add struct net_ip[46]_loopback.
+
+M src/director/director.c
+M src/lib-http/test-http-server.c
+M src/lib/net.c
+M src/lib/net.h
+M src/master/service.c
+
+2016-05-09 14:04:47 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (74835112bd)
+
+ lib: remove useless NULL check after calling vstrconcat
+
+ behavior change accordingly.
+
+M src/lib/imem.c
+M src/lib/strfuncs.c
+
+2016-04-20 17:28:24 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (a0c3a13887)
+
+ liblib: *_strndup() and *_strconcat() shouldn't pass through NULLs.
+
+ Assert NULL string pointer in below functions: i_strndup(), t_strndup() and
+ p_strconcat(), t_strconcat(), i_strconcat() and vstrconcat. Replace former
+ NULL condition check accordingly.
+
+M src/lib/imem.c
+M src/lib/strfuncs.c
+
+2016-04-28 11:47:59 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (3927a2114a)
+
+ lib-fs: do NOT feed i_strconcat() with NULL
+
+ fill the string with valid content beforehand.
+
+M src/lib-fs/fs-api.c
+
+2016-04-12 13:08:05 +0300 Baofeng <baofeng.wang@dovecot.com> (7279da2bd6)
+
+ storage: do NOT feed p_strconcat() with NULL.
+
+ p_strconcat will never take NULL as an valid argument. So
+ ns->list->set.alt_dir has to be checked NULL.
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+
+2016-04-11 21:20:48 +0300 Baofeng <baofeng.wang@dovecot.com> (a713bc6d09)
+
+ auth: do NOT feed p_strconcat() with NULL
+
+ p_strconcat will never take NULL as an valid argument. Check possible NULL
+ string before calling it.
+
+M src/auth/auth.c
+
+2016-06-01 12:24:57 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (3f3c1b6291)
+
+ lib-fts: Improved stopword file reading.
+
+ The reading tries to be a little bit stricter now. Only stopwords at the
+ start of a new line are accepted now. Changed fi stopwords accordingly. Also
+ removed superfluous stack allocation in parsing.
+
+M src/lib-fts/Makefile.am
+M src/lib-fts/fts-filter-stopwords.c
+M src/lib-fts/stopwords/stopwords_fi.txt
+A src/lib-fts/stopwords/stopwords_malformed.txt
+M src/lib-fts/test-fts-filter.c
+
+2016-05-30 12:40:00 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (0605ff6f25)
+
+ lib-fts: Add stopword files for more languages.
+
+
+M src/lib-fts/Makefile.am
+A src/lib-fts/stopwords/stopwords_da.txt
+A src/lib-fts/stopwords/stopwords_de.txt
+A src/lib-fts/stopwords/stopwords_es.txt
+A src/lib-fts/stopwords/stopwords_it.txt
+A src/lib-fts/stopwords/stopwords_nl.txt
+A src/lib-fts/stopwords/stopwords_pt.txt
+A src/lib-fts/stopwords/stopwords_ro.txt
+A src/lib-fts/stopwords/stopwords_ru.txt
+
+2016-05-30 11:54:26 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (abfc91b502)
+
+ lib-fts: Move stopwords to subdirectory.
+
+ All files incluided in dist are explicitly mentioned. The whole subdirectory
+ 'stopwords' could also be distributed, but that is more error prone.
+
+M src/lib-fts/Makefile.am
+R100 src/lib-fts/stopwords_en.txt src/lib-fts/stopwords/stopwords_en.txt
+R100 src/lib-fts/stopwords_fi.txt src/lib-fts/stopwords/stopwords_fi.txt
+R100 src/lib-fts/stopwords_fr.txt src/lib-fts/stopwords/stopwords_fr.txt
+R100 src/lib-fts/stopwords_no.txt src/lib-fts/stopwords/stopwords_no.txt
+R100 src/lib-fts/stopwords_sv.txt src/lib-fts/stopwords/stopwords_sv.txt
+
+2016-06-02 16:06:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (690425efbe)
+
+ dict-sql: Improve error message for invalid value fields.
+
+ It'll now show which map's pattern matched, making it easier to find from
+ the config file.
+
+M src/lib-dict/dict-sql.c
+
+2016-06-02 00:52:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8bb454924c)
+
+ dict: Pipelined iteration replies may have been hanging.
+
+ For example:
+ - lookup start
+ - iterate start
+ - iterate finished, but can't reply yet
+ - lookup finished
+ - iterate reply can be sent now, but wasn't previously
+
+M src/dict/dict-commands.c
+
+2016-06-02 00:51:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (680e9da0fe)
+
+ dict: Fixed crash when reaching max (5) pending commands.
+
+
+M src/dict/dict-connection.c
+
+2016-06-01 18:11:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0928812e72)
+
+ global: Use i_stream_get_max_buffer_size() wherever possible
+
+ After 7be8ba0c0 it's no longer correct to access stream->max_buffer_size
+ directly. These changes fix using istream-chain with various wrapper
+ streams.
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-fs/istream-fs-file.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-test/test-common.c
+M src/lib/istream-concat.c
+M src/lib/istream.c
+
+2016-06-01 18:09:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (71aed7ba87)
+
+ lib: i_stream_get_max_buffer_size() checks also parents' max sizes
+
+ This fixes i_stream_get_max_buffer_size() to work correctly with
+ istream-chain.
+
+M src/lib/istream.c
+M src/lib/istream.h
+
+2016-06-01 18:03:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7be8ba0c04)
+
+ lib: istream-chain didn't update its max_buffer_size
+
+ I had this code at some point earlier, but looks like it got lost from the
+ final commit.
+
+M src/lib/istream-chain.c
+
+2016-06-01 17:52:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (26cf1f4e5f)
+
+ lib-compression: istream.max_buffer_size == 0 isn't unlimited.
+
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+
+2016-06-01 17:18:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (082e10a9d0)
+
+ fs-metawrap: Removed unnecessary code.
+
+ As mentioned in a0cf7d392, this can't happen.
+
+M src/lib-fs/fs-metawrap.c
+
+2016-06-01 17:12:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b162e16ade)
+
+ lib-fs: Improved unit tests.
+
+
+M src/lib-fs/Makefile.am
+A src/lib-fs/fs-test-async.c
+M src/lib-fs/fs-test.c
+M src/lib-fs/fs-test.h
+M src/lib-fs/test-fs-metawrap.c
+
+2016-06-01 17:12:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (68ee8d7e68)
+
+ fs-metawrap: Removed unnecessary code.
+
+ The caller already set success==FALSE if ostream was closed.
+
+M src/lib-fs/fs-metawrap.c
+
+2016-06-01 17:11:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (98ff8998f6)
+
+ lib-fs: Added more asserts
+
+
+M src/lib-fs/fs-api.c
+
+2016-06-01 17:06:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a0cf7d3924)
+
+ lib-fs: Clarified fs_write_stream_abort() API and dropped its _async().
+
+ We can't handle an abort after an async fs_write_stream_finish() is already
+ going.
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2016-06-01 15:15:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (adb9f4a606)
+
+ lib-fs: Added fs_write_stream_abort_async()
+
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2016-06-01 13:30:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (597db47e06)
+
+ lib: Fix to previous istream-chain max_buffer_size handling
+
+ We were casting the wrong stream.
+
+M src/lib/istream-chain.c
+
+2016-05-31 22:33:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (38b9e0b198)
+
+ fs-metawrap: Fixed buffer size while reading metadata header.
+
+ It's not enough to have the buffer size set to "large enough" at the time of
+ the stream creation, because i_stream_set_max_buffer_size() could be called
+ afterwards.
+
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/istream-metawrap.c
+
+2016-05-31 22:19:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (04f9886078)
+
+ lib: Fixed max_buffer_size handling in istream-chain
+
+ The default max_buffer_size=256 was wrong in all situations.
+
+ We're now assuming that the underlying istreams' max_buffer_size is always
+ correct. While gluing together two streams we're now allocating enough
+ memory to hold all of the wanted data (instead of assert-crashing as could
+ have happened earlier). This means that the max memory usage is actually the
+ two streams' max_buffer_size summed together. Ideally this would be fixed to
+ limit the max_buffer_size to maximum of the two, but that would require
+ further changes.
+
+M src/lib/istream-chain.c
+
+2016-05-10 10:19:57 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (9625595c47)
+
+ [LEN] to [static LEN] on some function parameters
+
+ Also add STATIC_ARRAY macro to hide it in c++ compilation.
+
+M src/auth/mech-rpa.c
+M src/auth/passdb.c
+M src/auth/passdb.h
+M src/auth/userdb.c
+M src/auth/userdb.h
+M src/lib-storage/index/mbox/mbox-md5-all.c
+M src/lib-storage/index/mbox/mbox-md5-apop3d.c
+M src/lib-storage/index/mbox/mbox-md5.h
+M src/lib/guid.c
+M src/lib/guid.h
+M src/lib/macros.h
+M src/lib/md4.c
+M src/lib/md4.h
+M src/lib/md5.c
+M src/lib/md5.h
+M src/lib/sha1.c
+M src/lib/sha1.h
+M src/lib/sha2.c
+M src/lib/sha2.h
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/pop3-migration/pop3-migration-plugin.h
+
+2016-06-01 08:43:23 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (fed9f797a9)
+
+ doveadm: Do not use INT64 with mail cmds yet
+
+
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-mailbox.c
+
+2016-06-01 02:01:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b90dc2ae3d)
+
+ lib-dcrypt: Fixed check program dependencies
+
+
+M src/lib-dcrypt/Makefile.am
+
+2016-06-01 00:19:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4372103cb6)
+
+ lib-dcrypt: Fixed dcrypt_openssl_generate_keypair()
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-06-01 00:12:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0f56c2ae33)
+
+ lib: Fixed file_copy() after recent changes.
+
+
+M src/lib/file-copy.c
+
+2016-05-31 17:16:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (567ace1f60)
+
+ dict-client: Fixed idle_msecs setting.
+
+
+M src/lib-dict/dict-client.c
+
+2016-05-31 17:06:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1cc7a6c6a9)
+
+ lib-fs: Don't duplicate backend name in fs_init() errors.
+
+ fs_init() already adds the "backend: " prefix to the error_r, so the callers
+ shouldn't do it again.
+
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+
+2016-05-31 17:01:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3d1ef0818c)
+
+ lib-storage: Fixed error_r with mail_storage_service_lookup_next()
+
+ We no longer want to hide the actual error message.
+
+M src/lib-storage/mail-storage-service.c
+
+2016-05-31 12:24:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e20f592075)
+
+ lib: iostream-temp: Fixed o_stream_send_istream()
+
+
+M src/lib/iostream-temp.c
+
+2016-05-30 22:39:39 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (de1c645a79)
+
+ lib-dcrypt: Use base64 encoded test samples
+
+
+M src/lib-dcrypt/Makefile.am
+A src/lib-dcrypt/sample-v1.asc
+D src/lib-dcrypt/sample-v1.bin
+A src/lib-dcrypt/sample-v2.asc
+D src/lib-dcrypt/sample-v2.bin
+M src/lib-dcrypt/test-stream.c
+
+2016-05-30 22:33:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (99e5f462c7)
+
+ lib-dcrypt: Fix strict type-punning warning
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-05-30 22:30:31 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (47d4ae26cd)
+
+ lib-dcrypt: Fix various OpenSSL API usage issues
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-05-30 22:05:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (87abc256d6)
+
+ lib-dcrypt: Remove duplication of samples
+
+
+M src/lib-dcrypt/Makefile.am
+
+2016-05-30 21:41:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4fbd5c5e11)
+
+ lib-dcrypt: Finish previous t_malloc() change.
+
+
+M src/lib-dcrypt/istream-decrypt.c
+
+2016-05-17 11:38:14 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (11f02cda5a)
+
+ Replace some t_malloc_no0 calls with t_malloc0
+
+ This might increase safety.
+
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-utf7.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/login-common/ssl-proxy-openssl.c
+
+2016-05-17 10:56:53 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (657d704a51)
+
+ Use t_new in complicated t_malloc_no0 calls
+
+
+M src/auth/auth-request-var-expand.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib/net.c
+
+2016-05-17 10:35:35 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (0175d37a5a)
+
+ Remove t_malloc in favour of t_malloc_no0
+
+ Using either t_malloc_no0 or t_malloc0 makes it clear whether the allocated
+ memory is zeroed or not.
+
+M src/auth/auth-request-var-expand.c
+M src/auth/password-scheme.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-dump-log.c
+M src/imap-hibernate/imap-client.c
+M src/imap/imap-client.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-utf7.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-send.c
+M src/lib-mail/mail-user-hash.c
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mailbox-list.c
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+M src/lib/hex-binary.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/net.c
+M src/lib/strfuncs.c
+M src/lib/test-data-stack.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-seekable.c
+M src/lib/var-expand.c
+M src/login-common/client-common.c
+M src/login-common/login-settings.c
+M src/login-common/ssl-proxy-openssl.c
+M src/plugins/acl/acl-shared-storage.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+M src/ssl-params/ssl-params.c
+
+2016-05-20 15:16:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (378e6cb162)
+
+ o_stream_send_istream() API changed again
+
+ The new API enforces the caller to correctly handle all the possible
+ situations. It also makes in unambiguous whether to wait for input or output
+ stream.
+
+M src/doveadm/server-connection.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-urlfetch.c
+M src/imap/imap-fetch-body.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/ostream-metawrap.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-server-response.c
+M src/lib-http/test-http-payload.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-response-parser.c
+M src/lib-http/test-http-transfer.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/index-storage.c
+M src/lib/file-copy.c
+M src/lib/iostream-temp.c
+M src/lib/ostream-file.c
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+M src/lib/ostream.h
+M src/lib/test-iostream-temp.c
+M src/lib/test-ostream-file.c
+M src/plugins/mail-filter/istream-ext-filter.c
+
+2016-05-30 21:14:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1ada45cd38)
+
+ lib-dcrypt: Always allow error_r to be NULL.
+
+ Especially dcrypt_openssl_private_to_public_key() was called with
+ error_r=NULL by the dcrypt.c itself.
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-05-30 19:38:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f7ce05fb17)
+
+ lib-dcrypt: sample-v2.bin shouldn't be executable
+
+
+M src/lib-dcrypt/sample-v2.bin
+
+2016-05-30 15:36:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8d5a200b82)
+
+ lib-dcrypt: Compiler warning fixes
+
+
+M src/lib-dcrypt/dcrypt-openssl.c
+
+2016-05-27 13:01:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (61d3fd1482)
+
+ lib-storage: mail_storage_service_next() now returns error string.
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-mail.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+M src/lmtp/commands.c
+
+2016-05-27 12:55:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6dc2060d6e)
+
+ lib-storage: mail_storage_service_lookup() now returns the full error.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2016-05-27 12:49:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f6008a666d)
+
+ lmtp, quota-status: Don't send mail_storage_service_lookup() error to
+ client.
+
+ This is in preparation for changing the returned error to contain the full
+ error string. The current error string is pretty useless for any purpose.
+
+M src/lmtp/commands.c
+M src/plugins/quota/quota-status.c
+
+2016-05-27 22:18:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4673195d0f)
+
+ doveadm mailbox delete: Added --unsafe option.
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+
+2016-05-27 22:15:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f8a63c14a4)
+
+ lib-storage: Added MAILBOX_FLAG_DELETE_UNSAFE
+
+
+M src/lib-storage/mail-storage.h
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/quota/quota-storage.c
+
+2016-05-06 00:29:16 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9385b31756)
+
+ configure: Include lib-dcrypt in core
+
+
+M configure.ac
+
+2016-04-27 14:08:00 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (316cbe3235)
+
+ lib-dcrypt: Initial implementation
+
+
+M configure.ac
+M src/Makefile.am
+A src/lib-dcrypt/Makefile.am
+A src/lib-dcrypt/dcrypt-gnutls.c
+A src/lib-dcrypt/dcrypt-iostream-private.h
+A src/lib-dcrypt/dcrypt-openssl.c
+A src/lib-dcrypt/dcrypt-private.h
+A src/lib-dcrypt/dcrypt.c
+A src/lib-dcrypt/dcrypt.h
+A src/lib-dcrypt/istream-decrypt.c
+A src/lib-dcrypt/istream-decrypt.h
+A src/lib-dcrypt/ostream-encrypt.c
+A src/lib-dcrypt/ostream-encrypt.h
+A src/lib-dcrypt/sample-v1.bin
+A src/lib-dcrypt/sample-v2.bin
+A src/lib-dcrypt/test-crypto.c
+A src/lib-dcrypt/test-stream.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+
+2016-05-30 14:45:09 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5d16ff58f9)
+
+ doveadm-director: Fix commands so that they compile
+
+
+M src/doveadm/doveadm-director.c
+
+2016-05-27 11:29:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2a9af9ae38)
+
+ doveadm mailbox delete: Added -e parameter to delete only empty mailboxes.
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+
+2016-02-24 12:10:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (264a0f2420)
+
+ doveadm-director: Convert to ver2 infra
+
+
+M src/doveadm/doveadm-director.c
+
+2016-05-29 19:14:58 +0200 Stephan Bosch <stephan@dovecot.fi> (d8aa10df6d)
+
+ imap: Implemented support for the LITERAL- capability.
+
+ This replaces the LITERAL+ capability when the imap_literal_minus setting is
+ enabled.
+
+M configure.ac
+M doc/example-config/conf.d/20-imap.conf
+M src/imap-login/imap-login-client.c
+M src/imap-login/imap-login-settings.c
+M src/imap-login/imap-login-settings.h
+M src/imap/cmd-append.c
+M src/imap/cmd-setmetadata.c
+M src/imap/imap-client.c
+M src/imap/imap-settings.c
+M src/imap/imap-settings.h
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-parser.h
+
+2016-05-29 19:23:39 +0200 Stephan Bosch <stephan@dovecot.fi> (0adc24c0c5)
+
+ lib-imap: imap-parser: Turned the fatal error flag into a proper error code.
+
+
+M src/imap-login/imap-login-client.c
+M src/imap/cmd-append.c
+M src/imap/cmd-setmetadata.c
+M src/imap/imap-client.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-parser.h
+M src/lib-imap/test-imap-parser.c
+
+2016-05-29 19:58:55 +0200 Stephan Bosch <stephan@dovecot.fi> (7bb3714856)
+
+ lib-imap: imap-parser: Made the fatal result parameter of
+ imap_parser_get_error() optional.
+
+
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-parser.h
+M src/plugins/virtual/virtual-config.c
+
+2016-05-29 19:39:13 +0200 Stephan Bosch <stephan@dovecot.fi> (468440fab1)
+
+ lib-imap: imap-parser: Renamed error field to error_msg.
+
+
+M src/lib-imap/imap-parser.c
+
+2016-05-27 21:55:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c866a0378c)
+
+ dbox: Revert cache changes if some save/copy fails but transaction is
+ committed.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+
+2016-05-27 21:34:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f819fafff4)
+
+ lazy-expunge: Don't fail expunge if mail was already expunged.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2016-05-27 21:32:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (567d2fd59e)
+
+ lazy-expunge: Fixed error logging.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2016-05-27 18:30:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (589bc28b54)
+
+ dsync: Debug logging improvement.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2016-05-27 14:38:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f48452dad1)
+
+ lib-fs: Fix to previous fs-metawrap commit
+
+ Argh. I was sure I compiled this before pushing it.
+
+M src/lib-fs/istream-metawrap.c
+
+2016-05-27 14:33:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d22b6aeafd)
+
+ lib-fs: fs-metawrap: Improved error logging on corrupted files.
+
+
+M src/lib-fs/istream-metawrap.c
+
+2016-05-27 13:33:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0af543c1f5)
+
+ lib-http: Default port for http should be 80, not 443.
+
+
+M src/lib-http/http-client-request.c
+
+2016-05-26 19:13:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (4fecb0a09c)
+
+ doveadm: Fixed sending command -parameters to doveadm-server
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-05-26 21:40:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (901f498331)
+
+ sdbox: Make sure we don't crash when altmove-flag is set but alt path is
+ missing.
+
+
+M src/lib-storage/index/dbox-single/sdbox-file.c
+
+2016-05-26 18:27:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bcb07f51d8)
+
+ lib-http: Improved error logging for net_set_*_buffer_size() failures.
+
+
+M src/lib-http/http-client-connection.c
+
+2016-05-26 18:25:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (db0f43524a)
+
+ dict-sql: Fixed memory leak
+
+
+M src/lib-dict/dict-sql-settings.c
+
+2016-05-22 10:38:18 +0200 Stephan Bosch <stephan@dovecot.fi> (03142e79fb)
+
+ lib-http: client: Created test program that triggers most possible error
+ conditions.
+
+
+M src/lib-http/Makefile.am
+A src/lib-http/test-http-client-errors.c
+
+2016-05-24 03:11:07 +0200 Stephan Bosch <stephan@dovecot.fi> (b44c460e19)
+
+ lib-http: test-http-payload: Added tests for the use of nested ioloops.
+
+
+M src/lib-http/test-http-payload.c
+
+2016-05-23 21:57:18 +0200 Stephan Bosch <stephan@dovecot.fi> (7362ba25c4)
+
+ lib-http: test-http-payload: Added cleanup code to make sure no child
+ processes get orphaned at failures.
+
+ Also handles SIGSEGV and SIGABRT.
+
+M src/lib-http/test-http-payload.c
+
+2016-05-22 19:16:42 +0200 Stephan Bosch <stephan@dovecot.fi> (844b0294f9)
+
+ lib-http: test-http-payload: Added -D option to easily enable debug mode.
+
+
+M src/lib-http/test-http-payload.c
+
+2016-05-23 03:16:07 +0200 Stephan Bosch <stephan@dovecot.fi> (f3f5732b20)
+
+ lib-http: test-http-client: Callback is not called for explicitly aborted
+ requests.
+
+ Test request context was not freed in that case.
+
+M src/lib-http/test-http-client.c
+
+2016-05-25 23:41:47 +0200 Stephan Bosch <stephan@dovecot.fi> (57c339f4e3)
+
+ lib-http: client: Fixed bug in handling of lost connections while returning
+ from another ioloop.
+
+ At one instance the http_client_connection_is_ready() function could have
+ destroyed the connection while the caller still depended on it. Renamed the
+ http_client_connection_is_ready() function to
+ http_client_connection_check_ready(). This now returns -1 when the
+ connection got destroyed. Before it returned a bool that just indicated
+ whether the connection was ready or not. So, there is no need anymore to
+ preserve a connection reference while calling this function.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2016-05-23 02:38:49 +0200 Stephan Bosch <stephan@dovecot.fi> (8a6dc50255)
+
+ lib-http: client: Reworked connection close handling.
+
+ Now, the peer is immediately notified of the lost connection. Before, this
+ step was only taken when the connection was fully dereferenced. To prevent
+ recursive notifications between peer and connection, handling the loss of a
+ connection is deferred to the request handler. When a peer is freed, any
+ associated lingering connections have conn->peer set to NULL.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2016-05-23 02:36:10 +0200 Stephan Bosch <stephan@dovecot.fi> (7abab3b191)
+
+ lib-http: client: Improved labeling of debug messages.
+
+ Request label is corrected. Labels are now pre-composed and stored.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2016-05-22 12:48:37 +0200 Stephan Bosch <stephan@dovecot.fi> (6ab81c81be)
+
+ lib-http: client: Prevent useless and unexpected request callbacks during
+ http_client_deinit().
+
+ Requests are now destroyed before queues, hosts, peers and connections. As a
+ side-effect, requests are now removed from the client request list at
+ http_client_request_destroy(), so that requests with lingering references
+ will no longer make http_client_wait() hang.
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+
+2016-05-20 00:04:12 +0200 Stephan Bosch <stephan@dovecot.fi> (c972eaa356)
+
+ lib-http: client: Added settings to configure the connection's socket kernel
+ buffer sizes.
+
+ This is mainly useful for use in the lib-http test suite.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2016-05-20 00:02:49 +0200 Stephan Bosch <stephan@dovecot.fi> (8848174ce2)
+
+ lib: Implemented net_set_send_buffer_size() and net_set_recv_buffer_size().
+
+ These functions allow manipulating the kernel socket buffer sizes for a
+ socket file descriptor.
+
+M src/lib/net.c
+M src/lib/net.h
+
+2016-05-19 23:42:14 +0200 Stephan Bosch <stephan@dovecot.fi> (1569b12af7)
+
+ lib-http: client: Removed curiously duplicated code.
+
+ Probably a patch got applied with sufficient fuzz that it duplicated this
+ code fragment, while it actually already existed.
+
+M src/lib-http/http-client-request.c
+
+2016-05-21 13:17:58 +0200 Stephan Bosch <stephan@dovecot.fi> (481b066e8f)
+
+ lib-http: client: peer: Improved debug message that shows the loss of a
+ connection.
+
+
+M src/lib-http/http-client-peer.c
+
+2016-05-21 00:16:21 +0200 Stephan Bosch <stephan@dovecot.fi> (ebe0f5e387)
+
+ lib-http: client: Made peer object reference-counted to prevent invalid
+ memory access in request handling routine.
+
+ Resetting the peer->handling_requests flag risked triggering a segfault,
+ since the peer object could be deleted from within the request handler loop.
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.c
+
+2016-05-21 13:16:08 +0200 Stephan Bosch <stephan@dovecot.fi> (3e9055cee8)
+
+ lib-http: client: Improved request reference counting in connection code.
+
+ It should now always be clear when the connection object holds a reference
+ to a request and when it is released. Only while the reference is held,
+ req->conn points to a connection. This also makes the assertion in
+ http_client_request_unref() more robust and clear.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+
+2016-05-22 10:42:01 +0200 Stephan Bosch <stephan@dovecot.fi> (6bdb1b488a)
+
+ lib-http: client: Fixed reference counting for requests that are aborted due
+ to an early server response.
+
+ An additional http_client_request_unref() is (now) unneccessary.
+
+M src/lib-http/http-client-connection.c
+
+2016-05-19 23:40:26 +0200 Stephan Bosch <stephan@dovecot.fi> (43c49be6f1)
+
+ lib-http: client: Fixed reference counting for requests that are aborted due
+ to having a broken outgoing payload stream.
+
+
+M src/lib-http/http-client-request.c
+
+2016-05-18 19:40:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d5c665cf29)
+
+ lib-http: Changed http_client_request_error to set request to NULL
+
+ It's going to internally unreference it, so the caller should be aware of it
+ also.
+
+ I also changed request state check to be an assert, since I don't think
+ there's any safe way this could work otherwise.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+
+2016-05-21 00:16:38 +0200 Stephan Bosch <stephan@dovecot.fi> (1c2f122ae9)
+
+ lib-http: response parser: Added check for the range of the response status
+ value.
+
+ A value of 666 was accepted inappropriately.
+
+M src/lib-http/http-response-parser.c
+
+2016-05-25 22:29:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ba4626cd5b)
+
+ cassandra: Added metrics=path connect setting.
+
+ Cassandra's metrics are written to the path in JSON format. It can be a file
+ or a FIFO. The path supports expanding the standard global %variables, such
+ as %{pid}
+
+M src/lib-sql/driver-cassandra.c
+
+2016-05-25 22:08:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2c2934e719)
+
+ dict: Added missing main.h from previous commit
+
+
+A src/dict/main.h
+
+2016-05-25 20:00:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cbe49ba128)
+
+ dict: Show command statistics in process title.
+
+
+M src/dict/Makefile.am
+M src/dict/dict-commands.c
+M src/dict/dict-commands.h
+M src/dict/dict-connection.c
+M src/dict/dict-connection.h
+M src/dict/dict-settings.c
+M src/dict/dict-settings.h
+M src/dict/main.c
+
+2016-05-25 19:56:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b1d2b70ec6)
+
+ lib: Fixed crashes in timing_get_median() and timing_get_95th()
+
+ These were writing outside allocated memory. They weren't actually used
+ anywhere yet though.
+
+M src/lib/test-timing.c
+M src/lib/timing.c
+
+2016-05-25 19:45:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (65da088073)
+
+ lib: Added timing_reset()
+
+
+M src/lib/test-timing.c
+M src/lib/timing.c
+M src/lib/timing.h
+
+2016-05-19 19:15:49 -0500 J. Nick Koston <nick@cpanel.net> (9f2f22889a)
+
+ dsync: race condition where done/finish is received after one side has
+ closed
+
+ We do not tell the remote we are closing if they have already told us
+ because they close the connection after sending ITEM_FINISH or ITEM_DONE and
+ will not be ever receive anything else from us unless it just happens to get
+ combined into the same packet as a previous response and is already in the
+ buffer.
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2016-05-24 15:52:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (838c70b2a1)
+
+ lib-stats: Allow unregistering + re-registering stats.
+
+ Fixes: Panic: stats_register() called after stats_alloc_size() was already
+ called - this will break existing allocations
+
+ This could have happened with doveadm HTTP API when using multiple commands
+ in same HTTP connection.
+
+M src/lib-stats/stats.c
+
+2016-05-23 23:24:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5b47087754)
+
+ lib-index: Fixed assert-crash caused by previous cache compression change.
+
+ We can't call mail_cache_map() when cache file isn't open or we'll crash:
+
+ Panic: file mail-cache.c: line 468 (mail_cache_map): assertion failed:
+ (cache->need_compress_file_seq != 0 ||
+ MAIL_INDEX_IS_IN_MEMORY(cache->index))
+
+M src/lib-index/mail-cache-compress.c
+
+2016-05-23 18:46:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (230586a166)
+
+ lib-index: Make sure cache compression doesn't clear the file unneededly.
+
+ This probably never happened with current code, except when the cache file
+ was already broken.
+
+ mail_cache_compress() unmapped cache when map_with_read==TRUE, but we never
+ mapped it back. This would cause cache copying code to think cache was
+ unusable and not copy anything.
+
+M src/lib-index/mail-cache-compress.c
+
+2016-05-23 17:47:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (86c4dc0121)
+
+ auth: Support %variable expansion for LDAP field names.
+
+ For example this is now allowed:
+
+ user_attrs = \
+ =namespace/%{ldap:enabledNamespace}/enabled=yes \
+ ...
+
+M src/auth/db-ldap.c
+
+2016-05-23 13:12:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e181e75d20)
+
+ lib-ldap: Use ldap_unbind_ext() instead of ldap_destroy()
+
+ This allows it to compile with older LDAP libraries. Their behavior (at
+ least in OpenLDAP) is identical as long as LDAP_OPT_CLIENT_CONTROLS haven't
+ been changed, which we haven't.
+
+M src/lib-ldap/ldap-connection.c
+
+2016-05-23 13:08:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7e35289ecb)
+
+ lib-ldap: Support libldap without LDAP_OPT_X_TLS_NEWCTX.
+
+
+M src/lib-ldap/ldap-connection.c
+
+2016-05-20 15:55:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8c8f6ed0a4)
+
+ doveadm backup: Fixed unnecessary mailbox deletion.
+
+ Broken by 79490ec1a. The idea is to delete the mailbox early to avoid
+ unnecessary work, but we deleted it too early. If the last mail(s) were
+ deleted instead of just expunging them we deleted the whole mailbox.
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2016-05-20 13:53:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c8920d5f3d)
+
+ lib: Minor panic message improvement.
+
+
+M src/lib/ioloop-epoll.c
+
+2016-05-19 23:19:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (71ecc97593)
+
+ lib-mail: Fixed istream-header-filter calling callback(hdr=NULL)
+
+ It should do it on the following parsings as well if there were any
+ callbacks that were called, or if the hdr==NULL callback added any headers.
+ This is important because the hdr==NULL call could do some cleanups.
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2016-05-19 15:19:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (da574ef2db)
+
+ lib: iostream-temp is a blocking ostream.
+
+ It goes either to in-memory buffer or to a file.
+
+M src/lib/iostream-temp.c
+
+2016-05-16 11:34:05 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (b27a8a9731)
+
+ config: fix possible out-of-bound access in parsing function
+
+ Add low-bound check when decreasing string pointer from tail.
+
+M src/config/config-parser.c
+
+2016-05-18 22:38:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (456602d34c)
+
+ lib-fs: istream-metawrap can now safely have a readable fd
+
+
+M src/lib-fs/istream-metawrap.c
+
+2016-05-18 22:36:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d28179fd78)
+
+ lib: Changed istream.abs_start_offset to be relative start_offset
+
+ i_stream_get_absolute_offset() walks through the stream's parents to get the
+ absolute offset. This allows streams to change their start_offset after they
+ have already created (e.g. istream-metawrap).
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-fs/istream-metawrap.c
+M src/lib/iostream-temp.c
+M src/lib/istream-mmap.c
+M src/lib/istream-private.h
+M src/lib/istream.c
+M src/lib/ostream-file.c
+
+2016-05-18 22:59:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (79fff61b8f)
+
+ dict: Removed duplicate commit reply character
+
+ This broke dict-client with error: Invalid commit reply, expected id=1: OO1
+
+M src/dict/dict-commands.c
+
+2016-05-18 22:51:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (30be8c9bea)
+
+ lib: Compiler warning fix
+
+
+M src/lib/process-title.c
+
+2016-05-18 22:51:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cd07d97b7d)
+
+ lib: Fixed memory leak in ostream-file unit test
+
+
+M src/lib/test-ostream-file.c
+
+2016-05-18 16:03:34 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1904e2fc78)
+
+ Make libbsd optional
+
+ Also use setproctitle properly if libbsd is indeed used.
+
+M m4/arc4random.m4
+M src/lib-master/master-service.c
+M src/lib/process-title.c
+M src/lib/process-title.h
+
+2016-05-18 22:26:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7a17490564)
+
+ lib-fs: istream-metawrap can't have a readable fd currently
+
+
+M src/lib-fs/istream-metawrap.c
+
+2016-05-18 22:26:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a39c48f798)
+
+ lib: ostream-file unit test: Test sendfile()
+
+
+M src/lib/test-ostream-file.c
+
+2016-05-18 22:12:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e6e5e9c030)
+
+ lib: ostream-file: Fixed o_stream_send_istream() within same file
+
+ When copying content backwards.
+
+M src/lib/ostream-file.c
+M src/lib/test-ostream-file.c
+
+2016-05-18 21:46:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (21d094cf5f)
+
+ lib-imap-storage: Fixed fetching partial headers for message/rfc822 part
+
+ Again broken by 333602c40.
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2016-05-18 21:41:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (76d21e3004)
+
+ lib-imap-storage: Don't sort uninitialized array on invalid header list.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2016-05-18 21:14:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (564b73a662)
+
+ lib-imap-storage: Removed wrong assert.
+
+ Now that we're no longer putting the headers through istream-header-filter
+ it doesn't necessarily have CRLFs. Broken by 333602c40.
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2016-05-18 14:56:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (07bba7cf54)
+
+ lib-mail: istream-header-filter - Don't return -2 too early
+
+ We returned -2 after we already added the data to the buffer. We should have
+ returned -2 only on the next read() call if nothing was skipped.
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2016-05-18 14:52:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3f75daca24)
+
+ lib-mail: Added asserts to message_get_*_size()
+
+
+M src/lib-mail/message-size.c
+
+2016-05-18 14:27:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (333602c404)
+
+ lib-imap-storage: Don't double-filter HEADER.FIELDS (..) headers.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2016-05-18 14:24:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (049e3eaf84)
+
+ lib-imap-storage: Minor error logging cleanup/fix.
+
+ We read from input, not from mail_input. In theory it could have the actual
+ error instead of mail_input (although right now it couldn't).
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2016-05-18 19:22:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (56f5cea321)
+
+ lib: istream-file: Fixed o_stream_send_istream()
+
+
+M src/lib/ostream-file.c
+
+2016-05-18 18:51:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (43f651585c)
+
+ lib-http: Fixed checking if istream or ostream needs waiting.
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-server-response.c
+
+2016-05-18 18:48:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7420207c4e)
+
+ lib: If epoll_ctl() fails, panic instead of just fatal.
+
+ This makes it easier to fix such bugs.
+
+M src/lib/ioloop-epoll.c
+
+2016-05-18 18:44:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ea854edb5e)
+
+ lib-mail: Improve ostream-dot unit test
+
+
+M src/lib-mail/test-ostream-dot.c
+
+2016-05-18 18:41:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bcab95c672)
+
+ lib: ostream-escaped: Fixed setting offset
+
+
+M src/lib/ostream-escaped.c
+M src/lib/test-ostream-escaped.c
+
+2016-05-18 18:42:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bf87a5247c)
+
+ lib: Added comment to what ostream.offset actually is
+
+
+M src/lib/ostream.h
+
+2016-05-18 17:56:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fbae84cc7a)
+
+ lib-fs: ostream-metawrap: Fixed o_stream_send_istream() offset updates
+
+
+M src/lib-fs/ostream-metawrap.c
+
+2016-05-18 17:45:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a067446575)
+
+ lib: Don't set ostream buffer as blocking
+
+
+M src/lib/ostream-buffer.c
+
+2016-05-18 17:42:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (25ec868bd8)
+
+ lib: iostream-temp: Fixed sending more output after o_stream_send_istream()
+
+
+M src/lib/iostream-temp.c
+M src/lib/test-iostream-temp.c
+
+2016-05-18 17:41:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c076ad69e2)
+
+ lib: iostream-temp: Fixed o_stream_send_istream()
+
+
+M src/lib/iostream-temp.c
+M src/lib/test-iostream-temp.c
+
+2016-05-16 13:21:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f6d5c9fbda)
+
+ Removed buffer_reset().
+
+ It was just a wrapper to buffer_set_used_size() and its comment was a bit
+ confusing (or obsolete), since it wasn't actually immediately zeroing out
+ the buffer.
+
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-mail/istream-header-filter.c
+M src/lib/buffer.c
+M src/lib/buffer.h
+M src/lib/test-pkcs5.c
+
+2016-05-16 13:19:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (94a6b3df81)
+
+ lib: Updated buffer_set_used_size() comment and added unit test.
+
+
+M src/lib/buffer.h
+M src/lib/test-buffer.c
+
+2016-05-16 21:03:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d04f3e064c)
+
+ global: Simplify code with the new o_stream_send_istream() API
+
+
+M src/doveadm/server-connection.c
+M src/imap/cmd-urlfetch.c
+M src/imap/imap-fetch-body.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/ostream-metawrap.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-server-response.c
+M src/lib-http/test-http-payload.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib/file-copy.c
+M src/lib/ostream.c
+M src/plugins/mail-filter/istream-ext-filter.c
+
+2016-05-16 20:17:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1fb4c7c4cd)
+
+ lib: istream-sized should log errors with its own name, not parent's name
+
+
+M src/lib/istream-sized.c
+
+2016-05-16 20:12:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0e0fe9bed9)
+
+ imap: Code cleanup - use istream-sized for GETMETADATA reply
+
+ This avoids doing the same work explicitly.
+
+M src/imap/cmd-getmetadata.c
+
+2016-05-16 20:06:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6f187ae859)
+
+ global: Use o_stream_nsend_istream() where useful
+
+ We can skip all of the io error handling and just leave it to
+ o_stream_nfinish().
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/doveadm-fs.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-lda/mail-send.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/plugins/fs-compress/fs-compress.c
+
+2016-05-16 20:04:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b90fb7f78a)
+
+ lib: Added o_stream_nsend_istream()
+
+
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2016-05-16 19:48:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6adf683655)
+
+ lib: Simplified and clarified o_stream_send_istream() API
+
+
+M src/lib-fs/ostream-metawrap.c
+M src/lib/iostream-temp.c
+M src/lib/ostream-file.c
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2016-05-16 19:33:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8b2cf1c1bd)
+
+ lib: Added ostream.blocking boolean
+
+ Similar to istream.blocking.
+
+M src/lib/ostream-buffer.c
+M src/lib/ostream-file.c
+M src/lib/ostream-null.c
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2016-05-16 19:26:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9de176ef7f)
+
+ lib: Don't silently ignore partial writes for o_stream_nsend()
+
+ Normally o_stream_nsend() should be used only for blocking streams or
+ streams with infinite (or "enough") buffer space.
+
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2016-05-16 19:16:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (61d89b0ca0)
+
+ lmtp: Fixed error logging when writing to temp file
+
+
+M src/lmtp/commands.c
+
+2016-05-16 16:58:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f988b93c2e)
+
+ lib: Removed ostream.last_failed_errno
+
+ It's been identical to ostream.stream_errno for a while now.
+
+M src/lib-index/mail-index-strmap.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2016-05-16 16:55:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (08ab0b21d9)
+
+ lib-compression: Changed impossible errors to asserts.
+
+ o_stream_flush() no longer calls the stream's flush() if stream has failed.
+
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-lzma.c
+M src/lib-compression/ostream-zlib.c
+
+2016-05-16 16:27:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2fb246462d)
+
+ lib: istream-file: Code cleanup
+
+ No functional changes
+
+M src/lib/ostream-file.c
+
+2016-05-16 16:09:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f339a8e73b)
+
+ global: Don't assume o_stream_send_istream() return bytes sent.
+
+ This won't be true soon after its API changes.
+
+M src/imap/cmd-getmetadata.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+M src/lib-fs/fs-api.c
+M src/lib-http/test-http-payload.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib/file-copy.c
+
+2016-05-16 15:49:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0f3d4fbcf8)
+
+ global: Use [io]_stream_get_error() insted of %m
+
+
+M src/auth/mech-winbind.c
+M src/auth/userdb-passwd-file.c
+M src/director/director-connection.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-replicator.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm-zlib.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-http/http-server-response.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/smtp-client.c
+M src/lib-master/anvil-client.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-service-settings.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib/json-parser.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile-update.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/fts-expunge-log.c
+
+2016-05-16 15:34:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (43cc944340)
+
+ global: Code cleanup - remove unnecessary errno changes.
+
+ These were left behind from changing %m to [io]_stream_get_error()
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/imap/cmd-append.c
+M src/imap/cmd-urlfetch.c
+M src/lib-http/http-client-request.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-storage/index/index-mail-binary.c
+
+2016-05-16 15:22:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8acb8deef1)
+
+ dbox: iostream error logging improvements.
+
+
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+
+2016-05-16 21:53:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (651f981ca0)
+
+ global: Replaced all i_stream_read_data() with _more() and _bytes()
+
+
+M src/imap-hibernate/imap-client.c
+M src/lib-compression/compression.c
+M src/lib-compression/istream-zlib.c
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/test-http-payload.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-size.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/login-common/login-proxy.c
+
+2016-05-16 21:51:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d868a04630)
+
+ global: Fixed slighty wrong i_stream_read_data() with _read_bytes()
+
+ These calls were reading one byte more than they were intended to read. This
+ didn't really cause any problems, but now they're correct.
+
+M src/lda/main.c
+M src/lib-compression/istream-lz4.c
+M src/lib-lda/duplicate.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/plugins/fts/fts-expunge-log.c
+
+2016-05-18 09:33:15 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4b5a2e923b)
+
+ doveadm-mailbox-delete: Restore recursive parameter
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+
+2016-05-18 09:29:04 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c7fd0af4fd)
+
+ dict: Fix crash when no dictionaries defined
+
+
+M src/dict/dict-connection.c
+
+2016-05-17 00:00:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5ceeb24b0d)
+
+ imap: Include sync timing information in tagged command replies. Show it
+ only when it's larger than 0 to avoid unnecessary output.
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-sync.c
+
+2016-05-17 23:51:43 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5f7f5baf6c)
+
+ doveadm-mail-mailbox: Whitespace fix
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+
+2016-05-17 23:31:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c220c8cd34)
+
+ doveadm-mailbox: Add update subcommand
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-05-15 14:53:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (44ef49403a)
+
+ lib-mail: Fixed istream-header-filter callback's matched with eoh
+
+ Reversed the matched-parameter handling for hdr->eoh, so it's consistent
+ with non-eoh headers.
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-05-12 17:45:34 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (2a444bfedc)
+
+ lib-ldap: Fixed assert-crash when killing LDAP connection.
+
+ libldap may have already closed the fd, so with epoll io_remove() would try
+ to remove it and crash with:
+
+ Panic: epoll_ctl(del, 12) failed: Bad file descriptor
+
+M src/lib-ldap/ldap-connection.c
+
+2016-05-16 18:43:52 +0200 Stephan Bosch <stephan@rename-it.nl> (d3b0b5d238)
+
+ uri-util: Changed URI host/authority parsing API to not use a boolean.
+
+ The boolean indicated whether the basic reg-name syntax or the more limited
+ Internet host name syntax was to be expected. This change creates separate
+ functions for this.
+
+M src/lib-http/http-url.c
+M src/lib-imap/imap-url.c
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2016-05-16 18:21:30 +0200 Stephan Bosch <stephan@rename-it.nl> (14383bf2be)
+
+ uri-util: Two ATTR_NULL specifications were misplaced or wrong.
+
+
+M src/lib/uri-util.c
+
+2016-05-16 18:19:24 +0200 Stephan Bosch <stephan@rename-it.nl> (f95afa9df1)
+
+ uri-util: The uri_parse_host_name_dns() would segfault if the hostname_r
+ parameter was NULL.
+
+
+M src/lib/uri-util.c
+
+2016-02-08 19:30:39 +0200 Phil Carmody <phil@dovecot.fi> (9184983183)
+
+ lib: istream - migrate more to i_stream_read_more()
+
+ More coccinelle semantic patching, again hand-checked.
+
+ git grep 'i_stream_read_data' | sed s/:.*// | \
+ while read f; do spatch --sp-file istream0.cocci --in-place "$f" ; done
+
+ -- 8< --- istream0.cocci ---
+ @@ expression e1, e2, e3;
+ @@
+
+ - i_stream_read_data(e1, e2, e3, 0)
+ + i_stream_read_more(e1, e2, e3)
+ -- 8< --- end
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/lib-compression/istream-lz4.c
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-lda/lmtp-client.c
+
+2016-02-08 19:26:20 +0200 Phil Carmody <phil@dovecot.fi> (573424407a)
+
+ lib: istream - more migration to i_stream_read_bytes()
+
+ This time a coccinelle semantic patch, again hand checked:
+
+ git grep 'i_stream_read_data' | sed s/:.*// | \
+ while read f; do spatch --sp-file istream.cocci --in-place "$f" ; done
+
+ -- 8< --- istream.cocci ---
+ @@ expression e1, e2, e3, e4;
+ @@
+
+ - i_stream_read_data(e1, e2, e3, e4 - 1)
+ + i_stream_read_bytes(e1, e2, e3, e4)
+
+ -- 8< --- end
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-compression/compression.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-zlib.c
+M src/lib-fs/fs-api.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-lda/duplicate.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib/istream.h
+M src/lib/ostream-file.c
+M src/plugins/fts/fts-expunge-log.c
+
+2016-02-08 18:55:32 +0200 Phil Carmody <phil@dovecot.fi> (534e41e436)
+
+ lib: istream - migrate to i_stream_read_bytes()
+
+ Scripted to pick off the low hanging fruit, one liners with an explicit
+ '-1' in the final parameter, but hand-checked.
+
+ git grep 'i_stream_read_data.*, [^,]*- \?1)' | sed s/:.*// | \
+ xargs sed -i -e 's/i_stream_read_data(\(.*\), \(.*\), \(.*\), \(.*[^ ]\)
+ \?- \?1)/i_stream_read_bytes(\1, \2, \3, \4)/'
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/doveadm/doveadm-dump-dbox.c
+M src/lib-compression/compression.c
+M src/lib-fs/ostream-cmp.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/list/subscription-file.c
+M src/lib/istream.h
+
+2016-02-08 18:43:32 +0200 Phil Carmody <phil@dovecot.fi> (3858a7a5da)
+
+ lib: istream - migrate to i_stream_read_more()
+
+ Scripted to find all the low-hanging-fruit (single line calls), but
+ hand-checked:
+
+ git grep i_stream_read_data.*,\ 0\) | sed s/:.*// | \
+ xargs sed -i -e 's/i_stream_read_data(\(.*\), \(.*\), \(.*\),
+ 0)/i_stream_read_more(\1, \2, \3)/'
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/director/director-test.c
+M src/doveadm/doveadm-fs.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-zlib.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/cmd-setmetadata.c
+M src/lda/main.c
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/test-compression.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-fs/fs-api.c
+M src/lib-http/http-message-parser.c
+M src/lib-http/test-http-client.c
+M src/lib-http/test-http-transfer.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/message-size.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-mail/test-istream-binary-converter.c
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/mailbox-attribute.c
+M src/lib/ostream.c
+M src/lib/test-istream-unix.c
+M src/login-common/client-common-auth.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts/fts-parser-tika.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/pop3/pop3-commands.c
+
+2016-02-08 18:32:10 +0200 Phil Carmody <phil@dovecot.fi> (09142ea116)
+
+ lib: istream - provide alternatives to i_stream_read_data()
+
+ Providing as a parameter the number of bytes that you would be disappointed
+ to receive was confusing compared to providing the number that you would be
+ happy to receive. This lets us get rid of all the '-1's in the callers. The
+ callers which used 0 as a parameter were so common that it's worth providing
+ a separate API just to simplify their demands.
+
+ Deep down, these are still the same underlying function. Currently we route
+ the new API through the old one, but eventually, the old API can be routed
+ through the new one, so that the friendlier interface has the simplest
+ implementation.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/istream.h
+
+2016-05-15 00:22:12 +0200 Stephan Bosch <stephan@dovecot.fi> (9aa483ebcb)
+
+ uri-util: Added documentation for all functions in header.
+
+
+M src/lib/uri-util.h
+
+2016-05-08 23:44:42 +0200 Stephan Bosch <stephan@rename-it.nl> (4e52bade0f)
+
+ uri-util: Made URI encoding functions accept NULL pointer for additional
+ escaped characters.
+
+
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2016-05-08 23:40:38 +0200 Stephan Bosch <stephan@rename-it.nl> (e4e9ba5f43)
+
+ uri-util: Made uri_data_encode() public.
+
+
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2016-05-08 23:30:05 +0200 Stephan Bosch <stephan@rename-it.nl> (af53c056cf)
+
+ uri-util: Improved implementation of uri_data_encode().
+
+
+M src/lib/uri-util.c
+
+2016-05-08 23:12:07 +0200 Stephan Bosch <stephan@rename-it.nl> (b4167b174b)
+
+ uri-util: Reworked URI scheme parsing.
+
+ Made uri_cut_scheme() use uri_parse_scheme() internally rather than the
+ other way around.
+
+M src/lib-http/http-url.c
+M src/lib-imap/imap-url.c
+M src/lib/uri-util.c
+
+2016-05-08 23:09:33 +0200 Stephan Bosch <stephan@rename-it.nl> (66134fbce1)
+
+ lib-imap: Started using struct uri_host in struct imap_url.
+
+
+M src/imap-login/client-authenticate.c
+M src/lib-imap-urlauth/imap-urlauth.c
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-url.h
+M src/lib-imap/test-imap-url.c
+
+2016-05-08 23:08:00 +0200 Stephan Bosch <stephan@rename-it.nl> (f74dbd3ff6)
+
+ lib-http: Started using struct uri_host in struct http_url.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+M src/lib-http/test-http-client.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-url.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts/fts-parser-tika.c
+
+2016-05-08 23:06:23 +0200 Stephan Bosch <stephan@rename-it.nl> (8d2d2780c9)
+
+ uri-util: Split struct uri_host from uri_authority.
+
+ Adds support for parsing host separately and manipulating host struct.
+
+M src/lib-http/http-url.c
+M src/lib-imap/imap-url.c
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2016-05-08 23:03:38 +0200 Stephan Bosch <stephan@rename-it.nl> (62ed3307fb)
+
+ uri-util: Added complete syntax comment.
+
+
+M src/lib/uri-util.c
+
+2016-05-09 00:31:43 +0200 Stephan Bosch <stephan@rename-it.nl> (a643e1e3e5)
+
+ uri-util: Added support for initializing the URI parser from data.
+
+
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2016-05-09 00:30:14 +0200 Stephan Bosch <stephan@rename-it.nl> (b7e953d7ee)
+
+ uri-util: Parsing of unreserved syntax erroneously included percent
+ encoding.
+
+ This functionality is currently not used, so no problems would occur.
+
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2016-05-08 22:59:09 +0200 Stephan Bosch <stephan@rename-it.nl> (b0dfc8fc0d)
+
+ uri-util: Implemented proper parsing of DNS-based host name for URI schemes
+ that use DNS host names, such as http and imap.
+
+
+M src/lib-http/http-url.c
+M src/lib-http/test-http-url.c
+M src/lib-imap/imap-url.c
+M src/lib-imap/test-imap-url.c
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2016-05-08 22:56:59 +0200 Stephan Bosch <stephan@rename-it.nl> (32f28ff765)
+
+ uri-util: Added public function for parsing single percent encoding
+ instances.
+
+
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2016-05-08 22:55:25 +0200 Stephan Bosch <stephan@rename-it.nl> (f883bf3eff)
+
+ uri-util: Removed have_port and have_host_ip flags.
+
+ Presence of port can be tested with port != 0. Presence of IP can be tested
+ with ip->family != 0.
+
+M src/imap-login/client-authenticate.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+M src/lib-http/test-http-client.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-url.c
+M src/lib-imap-urlauth/imap-urlauth.c
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-url.h
+M src/lib-imap/test-imap-url.c
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2016-05-15 17:25:17 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (0edb839b5f)
+
+ lib-ldap: Do not create new context and lose settings
+
+
+M src/lib-ldap/ldap-connection.c
+
+2016-05-14 22:49:53 +0200 Stephan Bosch <stephan@dovecot.fi> (a29f6be099)
+
+ lib-mail: istream-qp-decoder: For efficiency, avoid copying data between
+ decode buffer and stream buffer.
+
+ Instead, use the decode buffer directly as stream buffer.
+
+M src/lib-mail/istream-qp-decoder.c
+
+2016-05-15 01:17:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ec9ed7c725)
+
+ lib-ldap: Compiling fix - don't pass through void return
+
+
+M src/lib-ldap/ldap-client.c
+
+2016-05-13 14:22:40 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (47d4398789)
+
+ imap: Set command start timestamps earlier.
+
+ Previously timing statistics in taglines weren't shown commands that didn't
+ read any parameters.
+
+ Also the timings now include the time speng reading command parameters from
+ client. For example:
+
+ a list "" {1}
+ + OK
+ %
+ * LIST (\HasNoChildren) "/" INBOX a OK List completed (0.001 + 1.214 secs).
+
+M src/imap/imap-client.c
+
+2016-05-13 13:35:50 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (31fc5ca967)
+
+ lib: Fixed istream_seekable.stat() to return correct size.
+
+ It was supposed to read until end of the stream, but it did it only when
+ stat() was called while stream was still fully in memory.
+
+M src/lib/istream-seekable.c
+
+2016-05-13 09:56:08 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (ed47ce764b)
+
+ lib-fs: Make sure fs-metawrap catches all write errors.
+
+ The full istream may not have been written in case ostream only partially
+ wrote the data (e.g. out of disk space?)
+
+M src/lib-fs/fs-metawrap.c
+
+2016-05-13 09:48:13 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (da653f2088)
+
+ lib-fs: If fs-metawrap sees truncated header, it should return error.
+
+
+M src/lib-fs/istream-metawrap.c
+
+2016-05-13 09:23:52 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (6eb0192085)
+
+ lib: Fixed potential crash in i_stream_stat() failures.
+
+ We shouldn't have been copying parent's stream_errno here. Especially
+ because the parent can be NULL.
+
+M src/lib/istream.c
+
+2016-05-13 13:10:04 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (75a7ba70c7)
+
+ dict: Set default transaction commit callback
+
+ Removes need for NULL check on drivers
+
+M src/lib-dict/dict.c
+
+2016-05-10 17:09:02 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (25761530d6)
+
+ lib-storage: Fixed istream error handling while saving mails.
+
+ We might have logged them as write errors, or we might have ignored the
+ error if i_stream_read() failed. Now the behavior is consistent.
+
+M src/lib-storage/index/index-storage.c
+
+2016-05-10 17:06:54 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (c68f28e2cf)
+
+ lib-storage: Moved common code to index_storage_save_continue()
+
+
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-save.c
+
+2016-05-10 20:37:55 +0200 Stephan Bosch <stephan@rename-it.nl> (7c91b85fac)
+
+ Added LIBDOVECOT_SQL_INCLUDE to dovecot-config and dovecot.m4.
+
+
+M dovecot-config.in.in
+M m4/dovecot.m4
+
+2016-05-09 11:08:33 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (2da53a58a4)
+
+ lib: remove failed bool from sized_istream struct
+
+ This is no longer needed as we are now checking for stream_errno also in
+ istream.c
+
+M src/lib/istream-sized.c
+
+2016-05-10 13:51:29 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (a298a43f65)
+
+ doc: remove doveadm mount manpages
+
+
+M doc/man/Makefile.am
+D doc/man/doveadm-mount.1.in
+M doc/man/doveadm.1.in
+
+2016-05-12 15:10:47 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (c24b4f9c4a)
+
+ lib-fs: Added FS_PROPERTY_FASTCOPY_CHANGED_METADATA
+
+
+M src/lib-fs/fs-api.h
+
+2016-05-12 08:09:56 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (52ac19fa60)
+
+ lib-http: Queue's delayed timeout handler wasn't removed after work was
+ done.
+
+
+M src/lib-http/http-client-queue.c
+
+2016-05-12 07:24:39 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (526af69146)
+
+ lib-fs: Minor code cleanup
+
+
+M src/lib-fs/fs-api.c
+
+2016-05-12 07:23:51 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (eaac258490)
+
+ lib-fs: Set fs error on fs_write_stream_abort()
+
+ Probably would be nice for fs_write_stream_abort() to have an error string
+ parameter, which could be used instead of this generic error.
+
+M src/lib-fs/fs-api.c
+
+2016-05-12 07:23:04 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (d4a85e170c)
+
+ lib-fs: Added asserts to make sure async writes are finished before close
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2016-05-12 07:21:38 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (8b8534cc00)
+
+ fs-metawrap: Minor code cleanup
+
+ temp_output==NULL, so these calls are equal.
+
+M src/lib-fs/fs-metawrap.c
+
+2016-05-12 07:18:49 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (5a20b6bb2a)
+
+ fs-metawrap: Propagate fs_write_stream_abort() to parent always
+
+ It needed to be done also when temp_output==NULL, because we had already
+ started sending it to parent, but async parent wasn't being finished.
+
+M src/lib-fs/fs-metawrap.c
+
+2016-05-12 07:15:41 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (cc8fdda7b8)
+
+ fs-randomfail: Set fs error always when injecting failure.
+
+ It was done in some places, but not everywhere.
+
+M src/lib-fs/fs-randomfail.c
+
+2016-05-12 05:40:29 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (5a6ad44f13)
+
+ lmtp: Removed (Dovecot) from Received header.
+
+ Some people want to hide it, and I don't really see much benefit in
+ including it anyway. So lets just hide it from everyone.
+
+M src/lmtp/commands.c
+
+2016-05-11 16:58:59 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (9254a9e94d)
+
+ dict-sql: Cache reading settings files.
+
+ The settings were read for every dict init, which was done for every new
+ dict connection. This was using a lot of CPU. There are usually only a
+ couple dict-sql settings files, so we cache all of the ones we read.
+
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql-settings.h
+M src/lib-dict/dict-sql.c
+
+2016-05-11 16:57:33 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (300c5b822c)
+
+ lib-sql: Memory leak fix when freeing sql dbs from cache
+
+ Normally happened only at deinit.
+
+M src/lib-sql/sql-db-cache.c
+
+2016-05-11 05:19:14 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (37312679c8)
+
+ dsync: Fixed potential crash
+
+ This seems to be possible with dsync_mailbox_find_common_expunged_uid() ->
+ dsync_mailbox_common_uid_found() -> dsync_mailbox_rewind_search() ->
+ following search doesn't find anything.
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2016-05-10 17:35:43 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (0d7325fd16)
+
+ lib-ldap: Reverted previous commit for now.
+
+ We don't have libdovecot built at at this stage. But we can't build it
+ earlier, because it needs lib-dict-extra, which needs lib-ldap. So we have
+ cyclical dependencies now.
+
+M src/lib-ldap/Makefile.am
+
+2016-05-10 17:25:20 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (6bff0a08e7)
+
+ lib-ldap: Add libdovecot dependency to libdovecot-ldap
+
+ Required for linking to work on OSX.
+
+M src/lib-ldap/Makefile.am
+
+2016-05-10 16:22:23 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (948b838c8e)
+
+ lib: Fixed crash when closing a failed istream-concat
+
+ i_stream_concat_seek() could have set cur_input==NULL and we still attempted
+ to seek the cur_input at close time.
+
+M src/lib/istream-concat.c
+
+2016-05-10 10:42:33 -0400 Timo Sirainen <timo.sirainen@dovecot.fi> (04a7e89863)
+
+ lib-index: "first saved UID of the day" wasn't updated right always.
+
+ It was using the UID of the first append. But it may not have been the
+ lowest UID. Do this after the appends are first sorted by their UID.
+
+M src/lib-index/mail-index-transaction-finish.c
+
+2016-05-10 00:42:51 +0200 Stephan Bosch <stephan@rename-it.nl> (d9be91cb4f)
+
+ Added liblzma bug to Valgrind suppressions file.
+
+ It caused `make test` to fail with valgrind. Occurred at least for Debian
+ Jessie with liblzma package version 5.1.1alpha+20120614-2+b3.
+
+M run-test-valgrind.supp
+
+2016-04-20 17:23:12 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (a11c0bcd4a)
+
+ lib-storage: Add %{session} to mail_log_prefix by default
+
+ Parameter is added to initialization string.
+
+M doc/example-config/conf.d/10-logging.conf
+M src/lib-storage/mail-storage-settings.c
+
+2016-05-09 10:40:56 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (52041ed691)
+
+ lib: check stream_errno too when checking whether istream is closed
+
+
+M src/lib/istream.c
+
+2016-04-24 21:06:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (19a02b635e)
+
+ lib: Use arc4random if present
+
+
+M configure.ac
+A m4/arc4random.m4
+M src/lib/rand.c
+M src/lib/rand.h
+M src/lib/randgen.c
+
+2016-04-12 10:25:09 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (0bd1883396)
+
+ lib: Do not use OpenSSL to read random bytes
+
+
+M configure.ac
+M src/lib/randgen.c
+
+2016-05-09 08:04:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d72603a00f)
+
+ README: Added missing supported RFCs
+
+
+M README
+
+2016-05-09 00:55:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3fdae9cc0f)
+
+ lib-dict: Compiler warning fix
+
+ I don't think it's possible that error was used uninitialized, but some gcc
+ version seems to think so.
+
+M src/lib-dict/dict-redis.c
+
+2016-05-06 17:28:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cbe2d47fda)
+
+ dict-client: Use standard str_tabescape-functions
+
+ There's no reason to reimplement them here separately.
+
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-client.h
+
+2016-05-06 15:14:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (661998e2cc)
+
+ lib-dict: dict_transaction_commit*() returns now error string
+
+
+M src/dict/dict-commands.c
+M src/doveadm/doveadm-dict.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/lib-fs/fs-dict.c
+M src/lib-storage/index/index-transaction.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota.c
+
+2016-05-06 13:45:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c2a66e7950)
+
+ lib-dict: Changed internal transaction_commit() to return void
+
+ Somewhat simplifies the code now that it doesn't have to both call a
+ callback and return the same ret.
+
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+
+2016-05-06 13:44:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b2d3b5298b)
+
+ dict-memcached-ascii: Fixed async commit
+
+
+M src/lib-dict/dict-memcached-ascii.c
+
+2016-05-06 13:42:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ff3c2a32a6)
+
+ dict-redis: Fixed memory leak in async commit
+
+
+M src/lib-dict/dict-redis.c
+
+2016-05-06 13:29:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (055389c58f)
+
+ lib-dict: dict_iterate_deinit() returns now error string
+
+
+M src/auth/userdb-dict.c
+M src/dict/dict-commands.c
+M src/doveadm/doveadm-dict.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/lib-fs/fs-dict.c
+M src/lib-storage/index/index-attribute.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/expire/doveadm-expire.c
+
+2016-05-06 13:10:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c4478af52d)
+
+ lib-dict: Changed dict_wait() to return void.
+
+ If it encounters any failures, it should just make sure to abort any pending
+ async requests before returning.
+
+M src/lib-dict-extra/dict-ldap.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-user.c
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/quota/quota-dict.c
+
+2016-05-06 13:08:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d5fea071fd)
+
+ dict-client: dict_wait() can't really fail
+
+
+M src/lib-dict/dict-client.c
+
+2016-05-06 12:59:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6cfe560af0)
+
+ dict: Pass through dict_lookup() error from dict server to client
+
+
+M src/dict/dict-commands.c
+M src/lib-dict/dict-client.c
+
+2016-05-06 12:33:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b5052fbfdb)
+
+ lib-dict: dict_lookup() returns now error string
+
+
+M src/auth/db-dict.c
+M src/doveadm/doveadm-dict.c
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict-extra/dict-ldap.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/lib-fs/fs-dict.c
+M src/lib-storage/index/index-attribute.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/quota/quota-dict.c
+
+2016-05-06 12:19:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8f9a18189f)
+
+ lib-dict: Moved/removed explicit stack frames in dict drivers.
+
+ Added them back to dict_set/unset/atomic_inc() in dict.c. Others are
+ unlikely to be called many times.
+
+M src/lib-dict-extra/dict-ldap.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+
+2016-05-06 11:43:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (20e0422722)
+
+ lib-dict: Renamed dict_init_full() to dict_init()
+
+
+M src/auth/db-dict.c
+M src/dict/dict-connection.c
+M src/doveadm/doveadm-dict.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/lib-fs/fs-dict.c
+M src/lib-storage/index/index-attribute.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota.c
+
+2016-05-06 00:17:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9284599e2d)
+
+ lib-http: If connect fails, include attempt count and total time in error.
+
+ This will produce errors such as: 9002 connect(1.2.3.4:801) failed:
+ Connection timed out in 1.001 secs (4 attempts in 4.706 secs)
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+
+2016-05-08 22:22:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5d31e4b38e)
+
+ lib-http: Allow http_client_settings.ssl==NULL
+
+
+M src/lib-http/http-client.c
+
+2016-05-07 20:06:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2ed05ea827)
+
+ config: Added support for SET_TIME_MSECS
+
+
+M src/config/config-request.c
+
+2016-05-06 21:45:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7cd055a212)
+
+ cassandra: Support milliseconds for request/connect_timeout
+
+
+M src/lib-sql/driver-cassandra.c
+
+2016-05-06 21:44:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f69f737315)
+
+ lib-settings: Added SET_TIME_MSECS type.
+
+
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings-parser.h
+
+2016-05-06 21:43:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2a8a6e1a8c)
+
+ lib-settings: Added settings_get_time_msecs()
+
+
+M src/lib-settings/Makefile.am
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings-parser.h
+A src/lib-settings/test-settings-parser.c
+
+2016-05-06 21:38:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5d1653a011)
+
+ lib-settings: settings_get_time() requires explicit unit now, except for 0.
+
+ This means that all the time interval settings in dovecot.conf must no
+ longer be simply a number.
+
+M src/lib-settings/settings-parser.c
+
+2016-05-03 19:42:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c001f4b968)
+
+ doveadm fetch: Translate commas to spaces in body|binary.<section> with
+
+ This way we can do e.g.:
+
+ doveadm fetch 'uid body.header.fields(from,to,subject)' ...
+
+ Although in theory we could also change the parser to allow spaces as long
+ as they're inside (..), but this is probably too much extra effort.
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2016-05-03 19:39:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6c1b371940)
+
+ lib-imap-storage: Allow HEADER.FIELDS(..) without space before '('
+
+ This is to allow doveadm fetch to use it. Attempting to do this without a
+ space in IMAP already fails elsewhere:
+
+ x fetch 1 body.peek[header.fields(from to)] x BAD Error in IMAP command
+ FETCH: Invalid characters in atom
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2016-05-03 14:58:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2d7da70c0e)
+
+ doveadm fetch: Fixed logging errors for istream failures
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2016-05-03 14:54:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f24b245f49)
+
+ doveadm fetch: Added body.<section> and binary.<section> fields
+
+ These correspond to IMAP BODY[<section>].
+
+M src/doveadm/Makefile.am
+M src/doveadm/doveadm-mail-fetch.c
+
+2016-05-06 17:35:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (09cd60cebc)
+
+ dict-client: Added idle_msecs=<n> parameter
+
+ This can be useful when connected to dict-async server where extra idling
+ connections don't matter so much as with blocking dict servers.
+
+M src/lib-dict/dict-client.c
+
+2016-04-20 14:33:57 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (44aebbf6dd)
+
+ doveadm: error to print formatted without format
+
+ This changes the segfault of `doveadm -f formatted ...` to an error.
+
+M src/doveadm/doveadm-print-formatted.c
+
+2016-04-08 14:19:52 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (5b02d2191f)
+
+ lib: Fixed potential collision in guid_generate()
+
+ There wasn't enough padding for tv_nsec and it was also assuming 16 bit
+ PIDs. Because of these there was a tiny possibility of two guid_generate()
+ calls returning the same GUID.
+
+ This changes the GUID format a bit, but it was used only by sdbox code,
+ which doesn't assume anything about the GUID format.
+
+M src/lib/guid.c
+
+2016-04-26 10:39:21 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (c275cef636)
+
+ lib-http: use ssl_iostream_settings in http_client_settings
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+M src/lib-http/test-http-client.c
+
+2016-04-26 10:32:16 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (173d1d7473)
+
+ lib-ssl-iostream: move ssl_iostream_settings_dup to iostream-ssl.c
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2016-04-20 17:27:19 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (2795f61830)
+
+ lib-storage: remove mdbox_purge_preserve_alt setting
+
+ remove setting and its reference.
+
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.h
+
+2016-05-06 22:24:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (89b3a53140)
+
+ imap: Avoid assert-crash after a failed mailbox sync.
+
+ We didn't close the mailbox and we didn't update message counts, so we could
+ have crashed with:
+
+ Panic: Message count decreased
+
+M src/imap/imap-sync.c
+
+2016-05-05 21:26:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a16057fc52)
+
+ stats: Handle getrusage() errors better
+
+ I'm not aware of these errors actually happening anywhere, but its error
+ handling wouldn't have been correct if previous getrusage() calls had
+ succeeded. Now if it fails, log an error once and just keep on using the
+ last working rusage.
+
+M src/plugins/stats/mail-stats-fill.c
+
+2016-05-05 21:23:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (553dc92ad0)
+
+ stats: Work around shrinking system CPU usage
+
+ Happening at least in Debian's Linux kernel 4.3.0-1-amd64.
+
+ getrusage() may returns ru_stime = 4000 or 8000, but later it drops to 0.
+ We'll just work around this by switching to the previous working ru_stime.
+
+ This fixes errors like: Error: stats: session stats shrank: sys_cpu 0.0 <
+ 0.4000
+
+M src/plugins/stats/mail-stats-fill.c
+
+2016-05-06 12:51:28 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (04d809e945)
+
+ dict-ldap: Properly duplicate result
+
+
+M src/lib-dict-extra/dict-ldap.c
+
+2016-05-06 17:24:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6ea49f0ffe)
+
+ lib: Added t_str_tabunescape()
+
+
+M src/lib/strescape.c
+M src/lib/strescape.h
+M src/lib/test-strescape.c
+
+2016-05-03 17:43:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6d25571dd3)
+
+ auth: Makefile dependency fix
+
+ Hopefully fixes: mv: cannot stat '.deps/auth-stats.Tpo': No such file or
+ directory
+
+M src/auth/Makefile.am
+
+2016-05-06 14:34:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5af5137f6d)
+
+ lib: Added i_stream_get_disconnect_reason()
+
+
+M src/lib/istream.c
+M src/lib/istream.h
+
+2016-05-06 14:22:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c61779cfa4)
+
+ lib: Improved connection_disconnect_reason()
+
+
+M src/lib/connection.c
+
+2016-05-05 18:10:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e5bc823952)
+
+ lazy-expunge: Handle mailbox create race conditions.
+
+ Don't log an error if another process just created the lazy-expunge mailbox.
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2016-05-05 16:15:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fece64e92a)
+
+ lib-fs: Fixes to stats count tracking
+
+ fs_exists(), fs_copy(), fs_rename() and fs_delete() could have increased the
+ count multiple times on async operations.
+
+M src/lib-fs/fs-api.c
+
+2016-05-05 14:58:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b11876430f)
+
+ stats: Fixed ADD-USER stats tracking (auth stats)
+
+
+M src/stats/mail-user.c
+
+2016-05-04 18:34:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a9be54bbbd)
+
+ lib-fs: fs-metawrap stat() error handling improvement.
+
+ We can't just treat i_stream_get_size() returning 0 as the reason being
+ istream is async and not fully read. It might be, but it might also be
+ because of other reasons. And since we're closing the istream we couldn't
+ even properly finish up the async handling. So for now just return an error
+ if we see this happening.
+
+M src/lib-fs/fs-metawrap.c
+
+2016-05-04 18:24:03 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (07b3a7d814)
+
+ lib: istream's max_buffer_size=0 means 0, not unlimited.
+
+ Make sure we don't grow the buffer size then.
+
+M src/lib/istream.c
+
+2016-05-04 15:36:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (362db49a9a)
+
+ imap: Set client_command_context.tagline_reply before syncing.
+
+ Command post-hooks can't see it otherwise.
+
+M src/imap/imap-sync.c
+
+2016-05-03 22:18:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6d02ce5bfb)
+
+ dsync: Fixed assert-crash if mailbox_attribute_set() fails
+
+ We shouldn't set importer->mail_error, because we're not going to fail the
+ import.
+
+ Fixes assert-crash: dsync-mailbox-import.c: line 2812
+ (dsync_mailbox_import_deinit): assertion failed: (importer->failed ==
+ (importer->mail_error != 0))
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2016-05-03 20:28:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6e81d67a4e)
+
+ lib-mail: Fixed istream-header-filter unit test names
+
+
+M src/lib-mail/test-istream-header-filter.c
+
+2016-05-03 20:20:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2fa41e3cd6)
+
+ doveadm who: Fixed listing LMTP sessions
+
+
+M src/doveadm/doveadm-who.c
+
+2016-05-03 20:17:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (56bcd695f9)
+
+ lib: Added more unit tests to str_*()
+
+
+M src/lib/test-str.c
+
+2016-05-03 20:15:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cb06054f86)
+
+ config: Fixed namespaces to work again
+
+ Broken by 26a6ff7f0. old_settings_handle() should have returned FALSE for
+ settings it didn't handle.
+
+M src/config/old-set-parser.c
+
+2016-04-26 16:43:15 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (71748cca1b)
+
+ global: Use mail_user_plugin_getenv_bool() wherever possible
+
+ New API is used to check boolean setting OR exsitence of an env variable.
+
+M src/plugins/expire/expire-plugin.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/stats/stats-plugin.c
+
+2016-04-20 17:21:51 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (527c2b071d)
+
+ lib-storage: add mail_user_plugin_getenv_bool
+
+ New API will check boolean-like env setting OR its exsitence.
+
+ Function returns FALSE when:
+ * Read out a null string,
+ "Or" * String starts with any letter in set {'N', 'n', 'F','f','0'}
+
+ To keep downward compatibility, For other cases including an empty string,
+ function returns TRUE.
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2016-04-30 14:05:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (88bcf81213)
+
+ lib: Optimize str_append_n()
+
+
+M src/lib/str.c
+
+2016-04-30 14:03:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (53e9cbd970)
+
+ lib: Make str_*() inline which are simple buffer_* wrappers.
+
+
+M src/lib/str.c
+M src/lib/str.h
+
+2016-04-30 13:59:32 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b88c43d09a)
+
+ global: Avoid using buffer_get_data()
+
+ Especially buffer_get_data(buf, NULL) generates worse code than just using
+ buf->data directly.
+
+M src/lib-imap/imap-base-subject.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/message-header-parser.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/mail-search.c
+M src/lib/array.c
+M src/lib/str.c
+
+2016-04-30 13:49:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2d5d7890bd)
+
+ global: Replace buffer_get_used_size(buf) with buf->used
+
+ Doesn't make any diffence to code generation, but it's somewhat simpler
+ code. It's also more consistent since most of the code nowadays uses the
+ ->used.
+
+M src/auth/mech-rpa.c
+M src/auth/password-scheme-rpa.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-mail/message-part-serialize.c
+M src/lib-ntlm/ntlm-encrypt.c
+M src/lib-ntlm/ntlm-message.c
+M src/lib/str.c
+
+2016-04-20 17:27:50 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (26a6ff7f0e)
+
+ config: Remove old_namespace()
+
+ From config/old-set-parser.c, and its caller. The namespace section named
+ "private", "shared" or "public" is obsolete accordingly.
+
+M src/config/old-set-parser.c
+
+2016-05-02 13:26:05 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (ff17313eca)
+
+ lib-imap, imap: BINARY [UNKNOWNCTE] to [PARSE]
+
+
+M src/imap/cmd-fetch.c
+M src/lib-imap/imap-resp-code.h
+
+2016-05-02 23:43:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (38a985c063)
+
+ lib-storage: Make it easier to debug mail's unclosed istream
+
+
+M src/lib-storage/index/index-mail.c
+
+2016-05-03 18:25:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (bf5682ed53)
+
+ lib-mail: istream-header-filter - fixed adding headers at eoh
+
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2016-05-03 17:38:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (32e3da4a50)
+
+ lib-mail: istream-header-filter: Fixed stat() with HEADER_FILTER_HIDE_BODY
+
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2016-05-03 17:25:07 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (10d2dbb834)
+
+ lib-mail: istream-header-filter HEADER_FILTER_ADD_MISSING_EOH fixes
+
+ When using HEADER_FILTER_CRLF_PRESERVE, add CR to the EOH if the previous
+ header line ended with CRLF.
+
+ When header ends to a header without newline, add two newlines so we can get
+ the actual EOH added.
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2016-05-03 17:08:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c8e3478567)
+
+ lib-mail: istream-header-filter: Fixed stat() with
+ HEADER_FILTER_END_BODY_WITH_LF
+
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2016-05-03 16:54:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2739e568eb)
+
+ lib-mail: istream-header-filter - Check errors reading header
+
+ This probably doesn't affect the results much, since the stream_errno is set
+ anyway. But it's better to abort early, just in case the broken state might
+ end up asserting later.
+
+M src/lib-mail/istream-header-filter.c
+
+2016-05-03 15:49:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (eb8143d997)
+
+ lib: Added o_stream_unix_write_fd() assert: fd>=0
+
+
+M src/lib/ostream-unix.c
+
+2016-05-03 15:27:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d2c9e28ba4)
+
+ lib-storage: Fixed potential crash in mailbox_sync_deinit() error handling
+
+ If mailbox_sync*() was called before mailbox was opened, the automatic
+ mailbox opening could fail. mailbox_sync_deinit() would still try to access
+ box->view, which would be NULL.
+
+M src/lib-storage/index/index-sync.c
+
+2016-05-03 00:25:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9cd4b2da8e)
+
+ lib-storage: Another fix to mail storage initialization.
+
+ Allow mail_namespaces_init_location() to add the namespace directly to user,
+ since that's what the current callers always want. But compared to the
+ original code we're now calling mail_namespaces_init_finish() rather than
+ doing the same things ourself.
+
+M src/lib-storage/mail-namespace.c
+
+2016-05-02 17:31:30 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (21c4d79377)
+
+ lib-ldap: Handle various LDAP failures correctly
+
+
+M src/lib-ldap/ldap-connection.c
+
+2016-05-02 16:21:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3353c38910)
+
+ lib-ldap: Do not retry with bad credentials
+
+
+M src/lib-ldap/ldap-connection.c
+
+2016-05-02 17:00:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (fc4e528886)
+
+ lib-storage: Changed mail storage initialization.
+
+ Most importantly require mail_namespaces_init_finish() after
+ mail_storage_create(). This was needed so that mail_namespaces_created/added
+ hook would always have the ns->list set, which is required for several of
+ the hooks to work (e.g. mailbox list index)
+
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-user.c
+
+2016-05-02 15:20:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9e6c76cae5)
+
+ lib-ldap: Added initial connection pooling code.
+
+ This is mainly about allowing multiple dict-ldaps to use the same
+ ldap-connection. In future we could support load balancing with multiple
+ concurrent LDAP connections.
+
+M src/lib-dict-extra/dict-ldap.c
+M src/lib-ldap/Makefile.am
+M src/lib-ldap/ldap-client.c
+M src/lib-ldap/ldap-client.h
+A src/lib-ldap/ldap-connection-pool.c
+A src/lib-ldap/ldap-connection-pool.h
+M src/lib-ldap/ldap-connection.c
+M src/lib-ldap/ldap-private.h
+
+2016-05-02 14:35:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8147f5c13b)
+
+ dict-ldap: Removed caching of ldap-clients
+
+ With the previous per-username caching there could be a huge number of
+ dict-ldaps.
+
+M src/lib-dict-extra/dict-ldap.c
+
+2016-05-02 14:21:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (969c46c1d0)
+
+ dict-ldap: Don't reuse dict for different usernames.
+
+ Fixes doing priv/* lookups for multiple usernames.
+
+ This currently also means that each username will create a separate LDAP
+ connection, which isn't ideal. But this is probably better fixed in lib-ldap
+ code similar to how lib-sql does connection pooling.
+
+M src/lib-dict-extra/dict-ldap.c
+
+2016-05-02 12:01:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3c5d1187e8)
+
+ imap: Added struct client_command_context.tagline_reply
+
+ Can be used by plugins.
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2016-05-02 10:14:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cc7699162a)
+
+ auth: Added %{auth_user/username/domain} variables
+
+
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request-var-expand.h
+
+2016-04-30 12:50:53 +0200 Stephan Bosch <stephan@rename-it.nl> (ea623e25e8)
+
+ lib: Added ostream-unix for writing fd sockets via ostream.
+
+
+M src/lib/Makefile.am
+A src/lib/ostream-unix.c
+A src/lib/ostream-unix.h
+
+2016-04-30 14:10:59 +0200 Stephan Bosch <stephan@rename-it.nl> (2ac0ee8637)
+
+ lib: ostream-file: Allow creating derived file output streams.
+
+
+M src/lib/Makefile.am
+A src/lib/ostream-file-private.h
+M src/lib/ostream-file.c
+
+2016-04-30 13:55:52 +0200 Stephan Bosch <stephan@rename-it.nl> (5e6d463808)
+
+ lib: ostream-file: Split o_stream_file_writev() from
+ o_stream_file_writev_full().
+
+
+M src/lib/ostream-file.c
+
+2016-04-30 13:51:59 +0200 Stephan Bosch <stephan@rename-it.nl> (6fae619f0c)
+
+ lib: ostream-file: Renamed o_stream_writev() to o_stream_file_writev_full().
+
+
+M src/lib/ostream-file.c
+
+2016-04-30 13:29:47 +0200 Stephan Bosch <stephan@rename-it.nl> (9c8699034c)
+
+ lib: ostream-file: Renamed iov_size to iov_count everywhere and made it
+ unsigned int for consistency.
+
+
+M src/lib/ostream-file.c
+
+2016-04-30 14:22:21 +0200 Stephan Bosch <stephan@rename-it.nl> (0a6d1a48c7)
+
+ lib-http: server: Fixed assert failure occurring when closing the connection
+ while a request payload was still being read.
+
+
+M src/lib-http/http-server-connection.c
+
+2016-04-30 15:26:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (eaae346235)
+
+ .gitignore: Added *~
+
+
+M .gitignore
+
+2016-04-30 14:55:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e353d03d36)
+
+ lib-storage: Clear list error before mailbox_list_get_hierarchy_sep()
+
+ With ACL plugin enabled the call could have triggered dovecot-acl-list
+ rebuild, which in turn could have set list errors if it didn't have
+ permissions to all the mailboxes. This caused IMAP logins to fail.
+
+M src/lib-storage/mailbox-list.c
+
+2016-04-30 14:19:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (12fd7a3056)
+
+ lib-mail: message-parser assert-crashfix
+
+ Crashes when multipart MIME header is missing end-of-headers line and the
+ boundary begins with the same prefix as one of the parent boundaries. Broken
+ by 7a12331c6
+
+M src/lib-mail/message-parser.c
+M src/lib-mail/test-message-parser.c
+
+2016-04-30 01:27:27 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e7c85ff102)
+
+ quota: Fix to earlier commit 62f2f6baf
+
+ expunge_uids may become empty with prev_idx > 0
+
+M src/plugins/quota/quota-storage.c
+
+2016-04-30 01:05:47 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (22b0b59ada)
+
+ lib-fs: Fixed fs_get_metadata() with fs-metawrap
+
+ If mail was already read to EOF.
+
+M src/lib-fs/fs-metawrap.c
+
+2016-04-14 14:28:30 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (7633195df1)
+
+ lib-storage: mailbox_list_index yes by default
+
+
+M doc/example-config/conf.d/10-mail.conf
+M src/lib-storage/mail-storage-settings.c
+
+2016-04-26 14:27:39 -0600 Michael Slusarz <michael.slusarz@dovecot.fi> (74780c1e28)
+
+ man: Add stub for doveadm-fs command
+
+
+M .gitignore
+M doc/man/Makefile.am
+A doc/man/doveadm-fs.1.in
+
+2016-04-26 19:26:34 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3cd59a62af)
+
+ doveadm-server: Handle istream send error.
+
+
+M src/doveadm/client-connection-http.c
+
+2016-04-16 03:54:00 +0200 Stephan Bosch <stephan@dovecot.fi> (e1a4ea6ad3)
+
+ lib-http: server: Implemented means to gracefully shut down the server.
+
+ While shutting down, it will not accept new requests and connections are
+ closed once they become idle.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server.c
+M src/lib-http/http-server.h
+
+2016-04-25 11:37:05 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3fd02e831c)
+
+ lib-dict: Further remove APPEND
+
+
+M src/lib-dict-extra/dict-fs.c
+M src/lib-dict/dict-client.h
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-transaction-memory.c
+M src/lib-dict/dict-transaction-memory.h
+
+2016-04-26 10:49:46 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (fe219d44d0)
+
+ mail-log: log headers as utf8
+
+
+M src/plugins/mail-log/mail-log-plugin.c
+
+2016-04-27 13:06:52 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (197a3e48d6)
+
+ lib-lda: remove forced logging of session_id
+
+
+M src/lib-lda/mail-deliver.c
+
+2016-04-27 13:31:56 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (68eb16778d)
+
+ lib-master, doveadm: remove mountpoint-list.* and doveadm mount commands
+
+
+M src/doveadm/Makefile.am
+M src/doveadm/doveadm-cmd.c
+D src/doveadm/doveadm-mount.c
+M src/lib-master/Makefile.am
+D src/lib-master/mountpoint-list.c
+D src/lib-master/mountpoint-list.h
+
+2016-04-27 10:17:27 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (d61490e38c)
+
+ lib-storage: write subscription file in version 2 format
+
+ Write subscriptions file in a format that only v2.2.17 or newer can read, so
+ after dovecot converts the files to the new format, downgrading to a version
+ older than v2.2.17 is not supported.
+
+M src/lib-storage/list/subscription-file.c
+
+2016-04-29 21:36:31 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (ac157a6a06)
+
+ lib-dict-extra: Avoid out of scope data stack usage.
+
+
+M src/lib-dict-extra/dict-ldap.c
+
+2016-04-27 12:46:02 +0200 Stephan Bosch <stephan@rename-it.nl> (e2d420dc4b)
+
+ lib: Finished string trimming functions to trim characters from beginning
+ and/or end of a string.
+
+ This also restructures the code to avoid code duplication as much as
+ possible.
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/lib/test-strfuncs.c
+
+2016-04-27 12:00:25 +0200 Stephan Bosch <stephan@rename-it.nl> (befccf297c)
+
+ lib-http: client: Added ability to configure a specific proxy for individual
+ requests.
+
+ This way, a request can be routed to a specific proxy (or origin server).
+ The destination can also be a unix socket.
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2016-04-28 10:06:21 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (e08a3c92eb)
+
+ lib-fs: don't append '/' to prefix in posix-fs
+
+
+M src/lib-fs/fs-posix.c
+
+2016-04-26 18:51:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6de95f63d4)
+
+ lmtp: Connect to anvil earlier while still running as root
+
+ This was a problem only with lmtp_rcpt_check_quota=yes.
+
+M src/lmtp/commands.c
+
+2016-04-28 22:33:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c1684fd2af)
+
+ lib: Set timestamp part more accurately in guid_128_generate()
+
+ Previously a long-running process would keep the timestamp close to its
+ original start time. This doesn't really matter as long as GUIDs are treated
+ opaque, but some pieces of code prefer to try to use the timestamp fields
+ since they're already there. This makes such code work more nicely.
+
+M src/lib/guid.c
+
+2016-04-29 21:57:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (314d5f114e)
+
+ lib-ldap: Make static analyzer happier
+
+ Remove dead assignment.
+
+M src/lib-ldap/ldap-search.c
+
+2016-04-29 20:23:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (efdaf93937)
+
+ auth: Fixed final result in multiple userdbs
+
+ We don't want to return the last result's success/failure, but the entire
+ userdb chain's success/failure.
+
+M src/auth/auth-request.c
+
+2016-04-29 19:59:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d0f0b5553a)
+
+ auth: Session ID wasn't exported to auth workers.
+
+ Most importantly this means that log messages didn't contain them.
+
+M src/auth/auth-request.c
+
+2016-04-29 19:25:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c16f2d0725)
+
+ quota: Added quota_over_flag_lazy_check flag.
+
+ By default the quota_over_flag is checked immediately at startup. With this
+ option the check is done only at a time when the quota is anyway being read.
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2016-04-29 19:20:11 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ad3bf86716)
+
+ quota: dict-quota was broken by 464db6d9d
+
+ We can't assume that the quota_root given to quota_count() is
+ count_quota_root, because dict_quota_root also calls it.
+
+M src/plugins/quota/quota-count.c
+
+2016-04-29 18:58:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cfeebb6dde)
+
+ quota: Cleanup - split quota_over_flag to init & run parts
+
+ In preparation for the next change.
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2016-04-29 18:55:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a9c26c907e)
+
+ quota: Fixed debug logging for quota_over_flag
+
+
+M src/plugins/quota/quota.c
+
+2016-04-29 18:53:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (272fef0a81)
+
+ quota: Fixed quota_over_flag handling when quota usage==limit
+
+ It couldn't really work correctly otherwise. If we've reached the quota, we
+ want to start rejecting new mails.
+
+M src/plugins/quota/quota.c
+
+2016-04-29 17:21:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (464db6d9d6)
+
+ quota-count: Cache quota usage within the same ioloop run.
+
+ This mainly means that when both STORAGE and MESSAGES quota is looked up we
+ don't need to calculate them twice.
+
+M src/plugins/quota/quota-count.c
+
+2016-04-29 17:20:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (617092b0f1)
+
+ quota-count: Code cleanup - give consistent return value
+
+ Although the callers didn't care if it returned 0 or 1.
+
+M src/plugins/quota/quota-count.c
+
+2016-04-29 15:50:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8b48c53a81)
+
+ global: Use buffer_get_writable_size() where possible
+
+ With 09539f3db increasing buffer's init_size with +1 some fts-icu unit tests
+ started failing. And in general it's better to use the writable size since
+ that provides the true size that can be used.
+
+M src/lib-fts/test-fts-icu.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib/aqueue.c
+M src/lib/str.c
+
+2016-04-29 15:42:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (62f2f6bafd)
+
+ quota: Optimize handling a large number of expunges.
+
+ This assumes that the mail_expunge() was called in the same order as
+ sync_notify(), which practically means that they were both done in ascending
+ uid order. This is usually true.
+
+M src/plugins/quota/quota-storage.c
+
+2016-04-29 14:30:46 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (6876b613e6)
+
+ lib-ldap: Set minimum protocol if supported by library
+
+
+M src/lib-ldap/ldap-connection.c
+
+2016-04-29 14:33:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (de8fc9d214)
+
+ imapc: Fixed EXPUNGE handling when imapc_features didn't have modseq
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2016-04-29 14:07:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (749097cae4)
+
+ lib-index: Use a bit larger initial records buffer size
+
+ For example with a mailbox having 160k messages the buffer size is around
+ 10MB. Adding just 1% more space to it allows a lot more appends before the
+ buffer needs to be realloced. This reduces CPU usage quite a lot.
+
+M src/lib-index/mail-index-map.c
+
+2016-04-29 13:55:33 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (09539f3db2)
+
+ lib: buffer_create_dynamic() now adds +1 to init_size
+
+
+M src/lib/buffer.c
+
+2016-04-29 12:55:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (50ae8852cb)
+
+ lib: Use p_malloc() explicitly in first buffer_alloc()
+
+ Although there is now code in p_realloc() that it should be just as
+ efficient, this makes profiling somewhat nicer since it can better
+ distinguish between actual reallocs and initial allocs.
+
+M src/lib/buffer.c
+
+2016-04-29 12:54:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7311925c65)
+
+ lib: Implement i_realloc(mem==NULL) more efficiently
+
+ Various parts of code use this to allocate the initial buffer. We can do
+ this more efficiently by using calloc().
+
+M src/lib/mempool-system.c
+
+2016-04-29 12:44:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2386c9f53c)
+
+ configure: Fixed (again) --with-ldap=plugin
+
+
+M m4/want_ldap.m4
+
+2016-04-29 12:34:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f7ef214d77)
+
+ lib-index: Memory allocation optimization
+
+
+M src/lib-index/mail-index-map.c
+
+2016-04-29 10:53:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b4715b4a42)
+
+ fts-lucene: Fixed crash on rescan
+
+ Broken by af2564c7f9e05ad245a032efdfbc5abbb9b70f1e - rescan_ctx can be NULL.
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2016-04-28 14:03:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (576495f5f4)
+
+ lib-charset: Do not use //IGNORE on non-GNU system
+
+
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/test-charset.c
+
+2016-04-29 02:33:58 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (337ae3d4da)
+
+ lib-storage: mailbox_set_subscribed() ignores duplicate changes now.
+
+
+M src/lib-storage/mail-storage.c
+
+2016-04-28 15:21:41 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0b1f4c1047)
+
+ lib-storage: Added index_storage_list_index_has_changed_full()
+
+ This allows the caller to use it to implement a slightly different
+ mailbox.list_index_has_changed()
+
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync.c
+
+2016-04-28 15:56:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2e1ec423f5)
+
+ lib-charset: Revert f086fd065 - wrong version
+
+ This wasn't the version that was supposed to be merged..
+
+M src/lib-charset/test-charset.c
+
+2016-04-28 14:03:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (f086fd0659)
+
+ lib-charset: Do not use //IGNORE on non-GNU system
+
+
+M src/lib-charset/test-charset.c
+
+2016-04-28 15:00:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (df586de408)
+
+ lib: [io]stream-rawlog.h should auto-include iostream-rawlog.h
+
+ Otherwise compiler will warn about the missing enum.
+
+M src/lib/istream-rawlog.h
+M src/lib/ostream-rawlog.h
+
+2016-04-28 12:53:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f434b3e433)
+
+ doveadm dump: Added more index ext records.
+
+ "msgs" and "vsize" are now expanded.
+
+M src/doveadm/doveadm-dump-index.c
+
+2016-04-28 12:45:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0ed8bcc501)
+
+ lib-fs: Allow multiple fs_read_stream() calls to seekable istreams.
+
+ This fixes for example calling fs_default_copy() for an istream which was
+ already opened:
+
+ Panic: file fs-api.c: line 528 (fs_read_stream): assertion failed:
+ (!file->istream_open)
+
+M src/lib-fs/fs-api.c
+
+2016-04-28 12:47:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (db5d7fbdb3)
+
+ lib-fs: Fixed multiple concurrent fs_read_stream() calls
+
+ Return a new limit-istream, so each istream can have its own independent
+ offset.
+
+M src/lib-fs/fs-api.c
+
+2016-04-27 23:58:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0bcfa2a649)
+
+ lazy-expunge: Open the mailbox with ACLs ignored.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2016-04-27 23:47:09 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (994d09a23d)
+
+ lazy-expunge: Open mailbox with MAILBOX_FLAG_SAVEONLY flag.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2016-04-19 19:24:52 -0600 Michael Slusarz <michael.slusarz@dovecot.fi> (e43979fa09)
+
+ man: Add more complete description of one-way sync
+
+
+M doc/man/doveadm-sync.1.in
+
+2016-04-20 17:34:53 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (df74b8f6ff)
+
+ lib: Add PKCS#5 pbkdf1 and 2
+
+
+M src/lib/Makefile.am
+A src/lib/pkcs5.c
+A src/lib/pkcs5.h
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+A src/lib/test-pkcs5.c
+
+2016-04-27 09:14:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (21e185f465)
+
+ auth: Add PBKDF2 password scheme
+
+
+M src/auth/Makefile.am
+A src/auth/password-scheme-pbkdf2.c
+M src/auth/password-scheme.c
+M src/auth/password-scheme.h
+
+2016-04-26 21:07:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ebf3d1a087)
+
+ fts: Empty "fts" setting should be same as nonexistent.
+
+
+M src/plugins/fts/fts-storage.c
+
+2016-04-26 17:12:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0bd2fecf84)
+
+ stats: Support multiple FIFO listeners.
+
+
+M src/stats/fifo-input-connection.c
+M src/stats/fifo-input-connection.h
+M src/stats/main.c
+
+2016-04-26 15:56:40 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a7b9a392af)
+
+ lib-storage: Remove unused mail_storage_service_all_init()
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2016-04-26 11:12:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1c0e480304)
+
+ doveadm -u: Use mail_storage_service_all_init_mask()
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-04-26 11:11:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (55e04e5659)
+
+ lib-storage: Added mail_storage_service_all_init_mask()
+
+ This allows providing a usermask hint to the userdb iteration lookup. For
+ example with LDAP this allows setting the base based on the @domain.
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2016-04-26 11:10:35 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (92c610a38f)
+
+ lib-storage: fixup the broken search result with \seen or \delete
+
+ remove side effects of match_always flag during search.
+
+M src/lib-storage/index/index-search.c
+
+2016-04-26 10:31:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (26c0f5a54d)
+
+ lib-sql: Fixed building Cassandra as plugin
+
+
+M src/lib-sql/Makefile.am
+
+2016-04-25 20:14:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9a85ec311d)
+
+ fts-lucene: Rescan skipped namespace roots.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2016-04-25 20:13:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (af2564c7f9)
+
+ fts-lucene: Cleanup - move code to a separate function
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2016-04-25 16:58:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (270c7cd669)
+
+ lib-mail: More fixes to istream-header-filter with large input.
+
+ Don't assume that when reading the header the second time we'll get exactly
+ the same header blocks as the first time.
+
+ This commit also prevents the filter callback from switching the
+ matching-decision on non-first header line. This shouldn't be needed and it
+ could just cause confusion. (It also made it a bit easier to implement this
+ fix.)
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2016-04-25 16:34:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (88d100753b)
+
+ lib-mail: Improved istream-header-filter unit test.
+
+ Existing code already assumes that the callback is called for all the header
+ data. So it's not used just for filtering headers but also parsing the
+ header contents. Make this assumption now explicit as a unit test.
+
+M src/lib-mail/test-istream-header-filter.c
+
+2016-04-25 16:25:46 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (76a71915c6)
+
+ lib-mail: istream-header-filter didn't limit memory usage.
+
+ A large header was always added to hdr_buf, ignoring any max_buffer_size
+ limits.
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2016-04-25 16:22:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2719970c2c)
+
+ lib-mail: Code cleanup to istream-header-filter unit test
+
+ The exclude_headers arrays were used in a confusing way. The X-Drop header
+ wasn't actually even used in the exclude_headers.
+
+M src/lib-mail/test-istream-header-filter.c
+
+2016-04-25 14:38:35 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (805d783441)
+
+ dsync: If state is invalid, exit with code 2 instead of tempfail.
+
+ We'll have dsync_mailbox_import_*() just return success to everything until
+ _deinit() is called. The _deinit() will return a failure and set "resync
+ needed"-flag, which caller will know how to handle.
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2016-04-25 14:35:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3d49dc64d5)
+
+ dsync: If full resync is requested, return empty state string.
+
+ If the state is wrong, it's better to fully resync all the mailboxes rather
+ than just the one where a problem was noticed.
+
+M src/doveadm/dsync/dsync-brain.c
+
+2016-04-25 14:08:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (808fab1946)
+
+ dsync: Improved detecting state state string.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2016-04-22 12:37:29 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (12e5ac049b)
+
+ lib-mail: return void from message_parser_deinit()
+
+
+M src/doveadm/doveadm-mail-fetch.c
+M src/lib-imap/test-imap-bodystructure.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-parser.h
+M src/lib-mail/message-snippet.c
+M src/lib-mail/test-message-parser.c
+M src/lib-mail/test-message-part.c
+
+2016-04-15 16:12:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c977ee6ce0)
+
+ lib-storage: Don't use same session ID for multiple
+ mail_storage_service_next() calls.
+
+ dsync does multiple mail_storage_service_next() calls for the same
+ mail_storage_service_user. This causes stats plugin to send the same session
+ ID to stats process, which complains about duplicates. Solved this in a
+ generic way by having the following mail_storage_service_next() calls append
+ :counter to session ID.
+
+M src/lib-storage/mail-storage-service.c
+
+2016-04-11 17:25:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3d798ec329)
+
+ fs-posix: If link() fails, preserve its errno through the following unlink()
+
+
+M src/lib-fs/fs-posix.c
+
+2016-04-11 17:20:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (23e079a858)
+
+ fs-posix: Minor code cleanup - removed unnecessary code.
+
+ If success==TRUE, temp_path==NULL always also.
+
+M src/lib-fs/fs-posix.c
+
+2016-04-25 12:07:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b540a53c8a)
+
+ imapc: Fixed crash caused by pool_unref() API change.
+
+ Calling pool_unref() set the mail_private->pool=NULL, which crashed in
+ index_mail_free(). Fixed this by removing the unnecessary ref/unref
+ entirely. We're already waiting in imapc_mail_close() for all the existing
+ FETCHes to finish, so the callback will always have only valid mails with
+ valid pools.
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2016-04-22 19:37:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f7d018e7e0)
+
+ cassandra: Added num_threads, connect_timeout and request_timeout settings.
+
+
+M src/lib-sql/Makefile.am
+M src/lib-sql/driver-cassandra.c
+
+2016-04-21 19:18:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f670747b68)
+
+ lib-dovecot: Avoid duplication of listing *.la in both Makefile.am and
+ configure
+
+
+M configure.ac
+M src/lib-dovecot/Makefile.am
+
+2016-04-21 18:58:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (57729dda3e)
+
+ lib-dict: Moved dict-ldap to lib-dict-extra
+
+ This also allows moving lib-ldap away from LIBDOVECOT_SUBDIRS in
+ src/Makefile.am, which was wrong because it's not really part of
+ libdovecot.la.
+
+M src/Makefile.am
+M src/lib-dict-extra/Makefile.am
+R100 src/lib-dict/dict-ldap-settings.c src/lib-dict-extra/dict-ldap-settings.c
+R100 src/lib-dict/dict-ldap-settings.h src/lib-dict-extra/dict-ldap-settings.h
+R100 src/lib-dict/dict-ldap.c src/lib-dict-extra/dict-ldap.c
+M src/lib-dict/Makefile.am
+
+2016-04-21 18:51:57 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ed77b0bf3a)
+
+ Split parts of lib-dict into lib-dict-extra.
+
+ Otherwise there's a circular dependency because lib-dict/dict-fs.c depends
+ on lib-fs, while lib-fs/fs-dict.c depends on lib-dict. This becomes a
+ problem when compiling --without-shared-libs, although for some reason it
+ works for me while linking the Dovecot core, but not when linking external
+ plugins.
+
+M configure.ac
+M src/Makefile.am
+A src/lib-dict-extra/Makefile.am
+R100 src/lib-dict/dict-fs.c src/lib-dict-extra/dict-fs.c
+R100 src/lib-dict/dict-register.c src/lib-dict-extra/dict-register.c
+M src/lib-dict/Makefile.am
+M src/lib-dovecot/Makefile.am
+
+2016-04-22 22:44:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (576326ec91)
+
+ .gitignore: Updated to include auto-added m4/*
+
+
+M .gitignore
+
+2016-04-22 22:36:39 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5b07140699)
+
+ configure, Makefile: Tell autoconf/automake about m4 directory
+
+ To finally get rid of the complaints:
+
+ libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac,
+ libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
+
+M Makefile.am
+M configure.ac
+
+2016-04-19 19:08:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5e3b05494b)
+
+ doveadm user: Added -e <value> parameter to expand %variables in <value>
+
+ This allows expanding any %variable that the mail processes normally expand.
+ For example:
+
+ % doveadm user -e "%u's home is %h" testuser@example.com
+ testuser@example.com's home is /var/mail/testuser@example.com
+
+M src/doveadm/doveadm-auth.c
+
+2016-04-19 19:07:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5a1c6ebe52)
+
+ doveadm user: Code cleanup - move field printing to its own function.
+
+ No functional changes.
+
+M src/doveadm/doveadm-auth.c
+
+2016-04-22 18:35:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7195d775e5)
+
+ lib-mail: Improved test-message-parser further
+
+
+M src/lib-mail/test-message-parser.c
+
+2016-04-22 18:28:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6df4a174b4)
+
+ lib-mail: Fixed inner MIME part boundary being a prefix of outer boundary.
+
+
+M src/lib-mail/message-parser.c
+M src/lib-mail/test-message-parser.c
+
+2016-04-22 18:15:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (7a12331c63)
+
+ lib-mail: Fixed handling duplicate boundary prefixes.
+
+ If inner MIME part had the same --boundary prefix as its parent(s) and the
+ MIME part body started with the inner --boundary prefix, we didn't yet have
+ it in the list of valid boundaries, so we thought that the outer boundary
+ was found and the MIME headers were truncated. But due to an extra bug we
+ still treated it as if it were the inner boundary, except the MIME part
+ sizes/offsets were set wrong.
+
+ This for example fixes a situation where FETCH [1.2.MIME] returns an extra
+ newline before the actual headers.
+
+M src/lib-mail/message-parser.c
+M src/lib-mail/test-message-parser.c
+
+2016-04-22 16:39:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (088bfb6b26)
+
+ dsync: Fixed assert-crash in rename algorithm
+
+ Fixes a crash: Panic: file dsync-mailbox-tree-sync.c: line 1308
+ (sync_mailbox_child_dirs): assertion failed: (!node_is_existent(local_node))
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+
+2016-04-22 16:28:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e51f8aa022)
+
+ dsync: Determine better when rename-algorithm might have gotten stuck.
+
+ A hardcoded value of 100 isn't necessarily enough if there are a lot of
+ mailboxes with a lot of renames. Base the max count on the total number of
+ mailboxes on both local and remote. And just in case multiple it by 3.
+ Probably smaller number would be fine too.
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2016-04-22 16:25:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (34b0579f15)
+
+ dsync: Fixed crash when rename algorithm thinks it has gone to infinite
+ loop.
+
+ ctx->brain was NULL, so trying to access it crashed.
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+
+2016-04-21 17:59:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0ee52dafcc)
+
+ lib-fs: Assert-crash if file's istream isn't closed at fs_file_close()
+
+ Some backends can't guarantee that the istream stays usable after the file
+ is closed.
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2016-04-21 17:55:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ab41e122ae)
+
+ lib-fs: fs-metawrap stat() and get_metadata(): use existing istream if
+ possible
+
+ This may reduce reads from parent fs, but it's at least required for the
+ following commit.
+
+M src/lib-fs/fs-metawrap.c
+
+2016-04-21 17:54:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b2ff0468c2)
+
+ lib-fs: Added initial fs-metawrap unit test.
+
+
+M src/lib-fs/Makefile.am
+A src/lib-fs/test-fs-metawrap.c
+
+2016-04-21 17:52:44 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (140afad728)
+
+ lib-fs: Added fs-test backend for helping with creation of fs-wrapper unit
+ tests.
+
+
+M src/lib-fs/Makefile.am
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+A src/lib-fs/fs-test.c
+A src/lib-fs/fs-test.h
+
+2016-04-20 23:01:45 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (800bb68601)
+
+ lib: var_expand() now expands %{nonexistent} to
+ UNSUPPORTED_VARIABLE_nonexistent
+
+ Earlier it was expanded to "nonexistent}", which looked more like a bug.
+ This change hopefully makes it clear enough to understand when a variable
+ isn't supported.
+
+M src/lib/test-var-expand.c
+M src/lib/var-expand.c
+
+2016-04-21 21:45:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0e6e3cc7e9)
+
+ lib-ssl-iostream: Return stacked errors as single combined string.
+
+ Instead of logging stacked errors as separate log lines, which don't provide
+ any context of what created them.
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+
+2016-04-22 00:21:12 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (90355e35d1)
+
+ imapc: Added support for imapc_features=modseq
+
+ If the remote server supports CONDSTORE or QRESYNC extensions we'll use the
+ remote's MODSEQ and HIGHESTMODSEQ counts.
+
+ There are some situations where the HIGHESTMODSEQ isn't updated exactly
+ correctly on an open mailbox, so this feature shouldn't be fully relied on.
+ It was primarily implemented for dsync+imapc support - both for preserving
+ modseqs and also for HIGHESTMODSEQ lookups.
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2016-04-20 17:24:06 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (84c1b1af9d)
+
+ liblib: pool_unref() should always set pool=NULL (alloconly pool)
+
+ set pool to NULL before return.
+
+M src/lib/mempool-alloconly.c
+
+2016-03-22 10:24:22 -0400 Lennart Weller <lhw@ring0.de> (972c9172e9)
+
+ Support multiple recipient_delimiters
+
+ The recipient_delimiter is treated as multiple one-character delimiters
+ rather than one multi-character delimiter if more than one character is
+ supplied. The address is split on the first character in recipient_delimiter
+ found.
+
+M src/lmtp/commands.c
+
+2016-04-19 16:55:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (93c9909f68)
+
+ lib-http: Include information about number of request attempts and its
+ timing in response reason.
+
+ Because the reason is usually logged as part of the error string, this
+ causes all of the error messages to include the attempts count and how long
+ the requests took in total. This should make it easier to understand
+ problems in error logs.
+
+ http_client_request_set_preserve_exact_reason() can be used to disable
+ modifying the reason string. This may also apply to other reason
+ modifications that may be done in the future.
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2016-04-19 14:51:15 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (cca227d292)
+
+ configure: Move checks to separate m4 files
+
+
+M Makefile.am
+M autogen.sh
+M configure.ac
+A m4/ac_checktype2.m4
+A m4/ac_typeof.m4
+A m4/blockdev.m4
+A m4/c99_vsnprintf.m4
+A m4/cc_clang.m4
+A m4/cflags.m4
+A m4/clock_gettime.m4
+A m4/crypt.m4
+A m4/crypt_xpg6.m4
+A m4/dbqlk.m4
+A m4/dirent_dtype.m4
+R100 dovecot.m4 m4/dovecot.m4
+A m4/endian.m4
+A m4/fd_passing.m4
+A m4/fdatasync.m4
+A m4/flexible_array_member.m4
+A m4/gc.m4
+A m4/glibc.m4
+A m4/gmtime_max.m4
+A m4/gmtime_tm_gmtoff.m4
+A m4/ioloop.m4
+A m4/iovec.m4
+A m4/ipv6.m4
+A m4/libcap.m4
+A m4/libwrap.m4
+A m4/linux_mremap.m4
+A m4/mmap_write.m4
+A m4/mntctl.m4
+A m4/modules.m4
+A m4/notify.m4
+A m4/nsl.m4
+A m4/off_t_max.m4
+A m4/pr_set_dumpable.m4
+A m4/q_quotactl.m4
+A m4/quota.m4
+A m4/rlimit.m4
+A m4/sendfile.m4
+A m4/size_t_signed.m4
+A m4/sockpeercred.m4
+A m4/sql.m4
+A m4/ssl.m4
+A m4/st_tim.m4
+A m4/test_with.m4
+A m4/time_t_signed.m4
+A m4/typeof.m4
+A m4/typeof_dev_t.m4
+A m4/unsetenv.m4
+A m4/vararg.m4
+A m4/want_bsdauth.m4
+A m4/want_bzlib.m4
+A m4/want_cassandra.m4
+A m4/want_cdb.m4
+A m4/want_checkpassword.m4
+A m4/want_clucene.m4
+A m4/want_db.m4
+A m4/want_gssapi.m4
+A m4/want_icu.m4
+A m4/want_ldap.m4
+A m4/want_lz4.m4
+A m4/want_lzma.m4
+A m4/want_mysql.m4
+A m4/want_nss.m4
+A m4/want_pam.m4
+A m4/want_passwd.m4
+A m4/want_pgsql.m4
+A m4/want_prefetch.m4
+A m4/want_shadow.m4
+A m4/want_sia.m4
+A m4/want_solr.m4
+A m4/want_sqlite.m4
+A m4/want_stemmer.m4
+A m4/want_textcat.m4
+A m4/want_vpopmail.m4
+A m4/want_zlib.m4
+A m4/warnings.m4
+
+2016-04-22 20:31:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a77d7cc71b)
+
+ lib: Fix to previous istream-timeout commit
+
+ The one commit I didn't bother putting through all the automated testing
+ stages and I of course forgot to even compile after the last change :(
+
+M src/lib/istream-timeout.c
+
+2016-04-22 20:10:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9766afd8dc)
+
+ lib: Improved istream-timeout error message.
+
+ We're supposed to check that timeout isn't triggered after a long-running
+ code, but it's not perfect. So provide the actual timing information we saw
+ instead of the expected timeout.
+
+M src/lib/istream-timeout.c
+
+2016-04-17 21:15:30 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c72cfe4a2b)
+
+ cassandra: Added support for user and password settings.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2016-04-22 16:00:36 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2d7ad82a35)
+
+ push-notification: Small optimization - don't lookup uidvalidity for each
+ message.
+
+
+M src/plugins/push-notification/push-notification-txn-msg.c
+
+2016-04-21 21:41:23 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e690265395)
+
+ lib-ssl-iostream: Fixed reporting errors returned by OpenSSL.
+
+ We were always logging all errors as "Stacked error" and then returning
+ "Unknown error".
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+
+2016-04-15 13:14:16 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (556d69b89b)
+
+ imap: add variables to default imap_logout_format
+
+
+M doc/example-config/conf.d/20-imap.conf
+M src/imap/imap-settings.c
+
+2016-04-20 14:51:22 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (c1f5ec50aa)
+
+ lib-http, lib-mail, lib-storage: parent unrefs
+
+ Remove some unneccesary parent unrefs from i_stream_*_destroys. Don't know
+ too many or too few were removed.
+
+M src/lib-http/http-server-request.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+
+2016-04-19 14:09:01 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (899653bd82)
+
+ lib: remove unneccesary i_stream_unrefs of parent
+
+
+M src/lib/istream-failure-at.c
+M src/lib/istream-limit.c
+M src/lib/istream-rawlog.c
+M src/lib/istream-sized.c
+
+2016-04-19 12:23:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5a1b498b64)
+
+ lib: When istream is destroyed, it now always unrefs the parent istream if
+ it exists.
+
+ This way the implementations don't have to do it themselves in their
+ destroy() function. This change doesn't necessarily require changing the
+ existing code, because if the istream implementation already unrefs the
+ parent it gets set to NULL so the auto-unref won't be done.
+
+M src/lib/iostream-private.h
+M src/lib/iostream.c
+M src/lib/istream-tee.c
+M src/lib/istream.c
+M src/lib/ostream.c
+
+2016-04-21 14:22:10 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (2982cfa232)
+
+ doveadm: \f\n only between pages in pager
+
+ No more \f\n in the end.
+
+M src/doveadm/doveadm-print-pager.c
+
+2016-04-21 16:02:39 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (ac9600ec58)
+
+ fixup: fix task for `lib-dict: remove dict_append()'
+
+
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-fs.c
+M src/lib-dict/dict-memcached.c
+
+2016-04-20 17:24:51 +0300 Baofeng Wang <baofeng.wang@dovecot.fi> (373b27178a)
+
+ lib-dict: remove dict_append()
+
+ Remove all *_dict_append and redis_append functions and corresponding
+ command from lib-dict.
+
+M src/dict/dict-commands.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-ldap.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+
+2016-04-20 19:34:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d5cfdf518b)
+
+ zlib: Compiling fix to a1630a3b3 - don't return a void function
+
+
+M src/plugins/zlib/zlib-plugin.c
+
+2016-04-20 17:10:17 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f5a105b5e1)
+
+ lazy-expunge: Fixed using a mailbox (instead of namespace) as lazy_expunge
+ destination.
+
+ The initial implementation in f2d7ae020bda762f78e8e639a69fb129230cbb7d was
+ completely broken.
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2016-04-20 02:23:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f330b7d9e1)
+
+ lib-index: If opening a cache file fails, try again later.
+
+ The previous code would never retry opening the cache file within the same
+ session.
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache.c
+
+2016-04-20 00:29:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (46d91e9ea8)
+
+ lib-index: Fixed calling mail_cache_open_and_verify() on an already open
+ cache.
+
+ This was done at least by index_index_rebuild_init().
+
+ Either the currently open cache->fd was leaked, or if the cache file open()
+ failed we left the cache in an inconsistent state where cache->fd == -1, but
+ cache->hdr != NULL, so it caused MAIL_CACHE_IS_UNUSABLE() to also be TRUE.
+ This could have ended up in an assert:
+
+ Panic: file mail-index-lock.c: line 31 (mail_index_lock_fd): assertion
+ failed: (MAIL_INDEX_IS_IN_MEMORY(index))
+
+M src/lib-index/mail-cache.c
+
+2016-04-20 02:47:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a1630a3b3f)
+
+ zlib plugin: Make sure we don't keep mail istream referenced after mail is
+ closed.
+
+
+M src/plugins/zlib/zlib-plugin.c
+
+2016-04-18 15:40:56 +0300 Baofeng <baofeng.wang@dovecot.com> (d34a07d368)
+
+ expire-plugin: code cleanup
+
+ expire_mail_namespaces_created() will check dict_uri after namespace
+ validation check.
+
+M src/plugins/expire/expire-plugin.c
+
+2016-04-16 02:05:28 +0200 Stephan Bosch <stephan@dovecot.fi> (2a9cadfccc)
+
+ lib-http: client: Added pure attribute to some of the request property
+ functions.
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2016-04-16 02:03:10 +0200 Stephan Bosch <stephan@dovecot.fi> (5a37824675)
+
+ lib-http: client: Cleaned up headers and added some more documentation
+ there.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.h
+
+2016-04-15 23:59:24 +0200 Stephan Bosch <stephan@dovecot.fi> (7a13cd2268)
+
+ lib-http: client: Implemented means to set request payload buffer rather
+ than an input stream.
+
+ This is not purely a convenience function: there have been bugs caused by
+ allocating a data input stream from a datastack buffer. With this function,
+ the buffer is copied to the request pool, so that it is durably allocated
+ while the request exists. This prevents futher mishaps. The server already
+ has an equivalent function for its response object.
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2016-04-19 21:14:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9e9711ebed)
+
+ lib: Fixed bits_required64() with 32bit systems.
+
+ Broken by 84f697c5e30565823619abaaeb57164c789d4b66.
+
+M src/lib/bits.h
+
+2016-04-14 19:04:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f2d7ae020b)
+
+ lazy-expunge: Allow lazy_expunge setting to point to a mailbox in any
+ namespace.
+
+ This way we can use an existing namespace without having to create a new one
+ just for a single lazy_expunge mailbox.
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2016-02-05 15:57:30 +0200 Phil Carmody <phil@dovecot.fi> (84f697c5e3)
+
+ lib: bits - GCC (and clang) provide bit-twiddle intrinsics, use them
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/bits.c
+M src/lib/bits.h
+
+2016-02-05 15:55:15 +0200 Phil Carmody <phil@dovecot.fi> (943ba393da)
+
+ lib: test-bits - add fraclog test for most usual case, constant fracbits
+
+ Were there to be any difference between the constant and non-constant tests,
+ then it would be a compiler error, but it's better to be defensive and know
+ about that case.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-bits.c
+
+2016-02-03 19:18:21 +0200 Phil Carmody <phil@dovecot.fi> (20be2a7b3a)
+
+ lib: test-bits - test the new fractional log helpers
+
+ Ensure that the beginning and end of every bucket range are both mapped into
+ that bucket. It also checks that the bucket ranges are contiguous. Assuming
+ the function's weakly monatonic, this is as good as testing every single
+ value.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-bits.c
+
+2016-02-03 18:34:13 +0200 Phil Carmody <phil@dovecot.fi> (bb0eabc25c)
+
+ lib: bits - new fractional log-like helper
+
+ For stats gathering, where the data can have a wide range of values, you
+ don't necessarily need the same granularity along the full range of values.
+ For example, 1ms and 11ms latencies are very different, but 1.001s and
+ 1.011s latencies are not worth distinguishing. Something logarithmic seems
+ more apt. Simply looking at power-of-2 sized bands (e.g. doing log2(n)),
+ however, is too granular, so these new helpers let you specify how fine to
+ (linearly) subdivide each of those bands. 1 fractional bit splits each power
+ of 2 band into 2 halves. 2 fractional bits splits each power of 2 band into
+ 4 quarters, and so on. 0 fractional bits is just log2().
+
+ Exact identification of percentiles is impossible, but it was anyway, as you
+ simply cannot store all the data required to calculate them. However, a mere
+ 896 buckets will permit you to have 32 bands per power of 2, 5 fracional
+ bits. The above example would have buckets such as 2.432s-2.496s, and
+ 55.3s-56.3s. Assuming smooth distribution lets you calculate percentiles
+ more accurately, just assume within each bucket is a trapezial distribution.
+ This holds even if the distribution is multi-modal, which it will be.
+ However, maths required.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/bits.h
+
+2016-02-03 17:37:27 +0200 Phil Carmody <phil@dovecot.fi> (0700888606)
+
+ lib: test-array - test new element-assigning iterator
+
+ Test that both (small) object copying and const/nonconst pointer copies
+ work.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-array.c
+
+2016-02-03 17:33:05 +0200 Phil Carmody <phil@dovecot.fi> (2d72932391)
+
+ lib: array - new copy-making array iterator
+
+ Previously macros took a pointer, and that pointer was made to pointed to
+ each element of the array in turn. Typical use cases for things like char*
+ or struct* arrays were to immediately/repeatedly, dereference that pointer.
+
+ This new iter (only one implementation done so far, more a proof of concept)
+ gets rid of the user-visable pointer, and performs the dereference every
+ time, and only when, a valid element is being iterated over. Empty array =>
+ no assignment. No U.B.
+
+ NOTE: This cannot be done without assuming C99. It breaks the build on
+ compilers that old if any components that are enabled use the macro. It
+ strongly suggests we just need to make C99 mandatory.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/array.h
+
+2016-04-08 13:34:59 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (fc7dde2040)
+
+ Require IPv6 to build
+
+
+M configure.ac
+M src/auth/auth-penalty.c
+M src/director/mail-host.c
+M src/lib-http/test-http-url.c
+M src/lib-imap/imap-keepalive.c
+M src/lib-imap/test-imap-url.c
+M src/lib/net.c
+M src/lib/net.h
+M src/lib/test-net.c
+M src/lib/uri-util.c
+M src/login-common/client-common.c
+M src/master/main.c
+
+2016-04-08 14:30:40 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (9ef0a41be2)
+
+ doveadm: print to stdout in table formatter
+
+
+M src/doveadm/doveadm-print-table.c
+
+2016-04-14 15:19:09 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (575fa28d92)
+
+ lib-sql: ssl_verify_server_cert=1 default on mysql
+
+
+M src/lib-sql/driver-mysql.c
+
+2016-04-18 16:40:49 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e5a3e4396b)
+
+ lib: Implement utc_mktime() with timegm() if it exists.
+
+ It should be more efficient than repeatedly calling gmtime() many times.
+
+M configure.ac
+M src/lib/utc-mktime.c
+
+2016-04-19 11:55:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b484ab4b55)
+
+ auth: Added passdb/userdb { auth_verbose } setting.
+
+ If this is explicitly set to yes or no, it overrides the global auth_verbose
+ setting. However, auth_debug=yes overrides all of the auth_verbose settings.
+
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+
+2016-04-19 16:59:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (291ce16fff)
+
+ lib-storage: Added MAIL_STORAGE_CLASS_FLAG_NO_LIST_DELETES and
+ MAILBOX_LIST_FLAG_NO_DELETES
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.h
+
+2016-04-14 14:39:52 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (84d2707fd6)
+
+ director: director_consistent_hashing=yes default
+
+
+M src/director/director-settings.c
+
+2016-04-18 21:52:37 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (c1d01419ff)
+
+ director: Compiler warning fix
+
+
+M src/director/main.c
+
+2016-04-14 14:12:08 +0300 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> (378fcd5bd4)
+
+ lib-storage: mdbox_rotate_size=10M default
+
+
+M doc/example-config/conf.d/10-mail.conf
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+
+2016-04-15 10:02:20 +0300 Baofeng <baofeng.wang@dovecot.com> (5545acdd3a)
+
+ director: Remove director_doveadm_port
+
+ the flag is obsoleted by inet_listener doveadm name. And
+ listener_get_socket_type_fallback() will fallback to token ring when socket
+ name is missing.
+
+M doc/example-config/conf.d/10-director.conf
+M src/director/director-settings.c
+M src/director/director-settings.h
+M src/director/main.c
+
+2016-04-15 14:51:42 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (84ba16ca61)
+
+ stats plugin: stats_notify_path can now specify path to the stats-mail FIFO
+
+
+M src/plugins/stats/stats-plugin.c
+
+2016-04-15 15:01:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (ba081c6b0b)
+
+ lib-stats: Handle better write() to stats process failing with EAGAIN
+
+ It only means that the stats process is too busy and the FIFO is filled up.
+ Retrying the write later should work. We also don't want to log too much
+ about the same warning, so do it only once per 30 seconds.
+
+M src/lib-stats/stats-connection.c
+
+2016-04-13 23:12:00 +0200 Stephan Bosch <stephan@rename-it.nl> (31300f53ea)
+
+ lib-http: server: Prevent aborting finished or already aborted requests
+ again.
+
+
+M src/lib-http/http-server-request.c
+
+2016-04-13 17:19:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (60c456353d)
+
+ configure: Fixed building lib-ldap / dict-ldap --with-ldap=plugin
+
+
+M configure.ac
+
+2016-04-13 17:17:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cabe36c080)
+
+ lib-dict: Don't build dict-ldap if --with-ldap=no
+
+
+M src/lib-dict/Makefile.am
+
+2016-04-13 13:47:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cb445bd4e3)
+
+ doveconf: Improved the warning message about global setting not overriding a
+ filter
+
+
+M src/config/config-parser.c
+
+2016-04-13 13:40:31 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (592289f4d1)
+
+ configure: Switched version number to 2.3.devel
+
+
+M configure.ac
+
+2016-04-13 11:22:12 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (45fee9df4f)
+
+ lib-dict: Disable debug log unless debug enabled
+
+
+M src/lib-dict/dict-ldap.c
+
+2016-04-13 11:01:29 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d3be0145df)
+
+ lib-ldap: Allow disabling of TLS
+
+
+M src/lib-dict/dict-ldap-settings.c
+M src/lib-dict/dict-ldap-settings.h
+M src/lib-dict/dict-ldap.c
+M src/lib-ldap/ldap-client.h
+M src/lib-ldap/ldap-connection.c
+
+2016-04-11 22:56:40 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (ccaab3da76)
+
+ lib-dict: Add option to enforce SSL
+
+
+M src/lib-dict/dict-ldap-settings.c
+M src/lib-dict/dict-ldap-settings.h
+M src/lib-dict/dict-ldap.c
+
+2016-04-11 22:56:37 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (77475f62f7)
+
+ lib-ldap: Hard fail when SSL is required
+
+
+M src/lib-ldap/ldap-connection.c
+
+2016-04-11 20:44:41 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (0f01489817)
+
+ lib-ldap: Allow and warn insecure LDAP connection
+
+
+M src/lib-ldap/ldap-client.h
+M src/lib-ldap/ldap-connection.c
+
+2016-04-11 20:32:55 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (5a48906952)
+
+ lib-ldap: Remove callback from connection_connect
+
+
+M src/lib-ldap/ldap-connection.c
+M src/lib-ldap/ldap-private.h
+
+2016-04-11 17:29:35 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (dd8dbd10af)
+
+ lib-dict: Reuse LDAP connections
+
+
+M src/lib-dict/dict-ldap.c
+
+2016-04-11 17:29:02 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (3b84023785)
+
+ lib-ldap: Max idle time is seconds
+
+
+M src/lib-dict/dict-ldap.c
+M src/lib-ldap/ldap-client.h
+M src/lib-ldap/ldap-connection.c
+
+2016-04-11 17:27:31 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (d4a4ddf45c)
+
+ lib-ldap: Do not call NULL callback
+
+
+M src/lib-ldap/ldap-connection.c
+
+2016-04-12 21:22:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (76a58bc863)
+
+ lib: Moved enum iostream_rawlog_flags to public iostream-rawlog.h
+
+ This allows using [io]stream-rawlog.h APIs directly.
+
+M src/lib/iostream-rawlog-private.h
+M src/lib/iostream-rawlog.h
+
+2016-04-12 20:00:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (d1eec04fac)
+
+ lib: Added ostream-null
+
+
+M src/lib/Makefile.am
+A src/lib/ostream-null.c
+A src/lib/ostream-null.h
+
+2016-04-12 16:48:34 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (f7cc532e59)
+
+ lib-storage: Fixed crash when using SEARCH INTHREAD
+
+ mail_search_args_init() -> mail_search_args_simplify() -> .. ->
+ mail_search_arg_one_equals(), which assumed SEARCH_INTHREAD was already
+ initialized.
+
+M src/lib-storage/mail-search.c
+
+2016-04-10 14:41:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (87404eae45)
+
+ doveconf: Log a warning if a global setting is updated after it was already
+ set inside a filter
+
+ For example:
+
+ protocol imap {
+ mail_plugins = $mail_plugins imap_quota
+ } mail_plugins = $mail_plugins quota
+
+ Will result in:
+
+ doveconf: Warning: dovecot.conf line 4: Global setting mail_plugins won't
+ change the setting inside an earlier filter at dovecot.conf line 2
+
+M src/config/config-parser-private.h
+M src/config/config-parser.c
+
+2016-04-10 14:39:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6347bb65e9)
+
+ doveconf, config: Free all memory at deinit
+
+
+M src/config/config-parser.c
+M src/config/config-parser.h
+M src/config/doveconf.c
+M src/config/main.c
+
+2016-04-06 14:45:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (06116e6a19)
+
+ imapc: Mark most of the commands retriable.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2016-04-06 14:44:00 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (461bcfc20f)
+
+ imapc: If root separator lookup fails, fail all further lookups.
+
+ We already returned a potentially wrong separator (since there's no way to
+ return error), so we don't want to continue and possibly make things worse.
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+
+2016-04-06 14:43:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2a7a7f69b2)
+
+ imapc: Added missing error handling to subscriptions list refreshing.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2016-04-06 14:41:16 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e74f4afdd0)
+
+ imapc: Fixed mailbox_exists() error handling.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2016-04-06 14:24:21 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e4020d174b)
+
+ imapc: Support retrying after connect() failure.
+
+
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+
+2016-04-06 14:17:02 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (1e85b60d6b)
+
+ imapc: Support retrying after connect/authentication timeouts.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2016-04-06 14:16:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3153bce79e)
+
+ imapc: Support retrying for non-mailbox commands.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2016-04-06 14:12:25 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (b60daa2dcb)
+
+ imapc: Prepare for non-mailbox command retrying: Set reconnect_command_count
+ earlier
+
+ This probably doesn't fix itself anything yet, but is needed for the
+ following changes.
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+
+2016-04-06 14:09:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5e02162c53)
+
+ imapc: Fixed checking of whether same IMAP command keeps crashing server.
+
+ reconnect_command_count was counting only the post-login commands, but we
+ were decreasing it also for pre-login commands. This caused it to shrink to
+ 0 too early.
+
+M src/lib-imap-client/imapc-connection.c
+
+2016-04-06 14:05:26 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (5ba8e641e1)
+
+ imapc: Code cleanup - imapc_connection_reconnect() is now always called when
+ reconnect is ok.
+
+
+M src/lib-imap-client/imapc-client.c
+
+2016-04-06 14:03:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (8cd9a1249c)
+
+ imapc: Code cleanup - Use a common function for checking/logging if we want
+ to reconnect or disconnect
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2016-04-06 13:52:24 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0e2e526706)
+
+ lib-storage: Fixed error handling for mailbox_list_iter_init_namespaces()
+
+ If iteration for the first namespace failed, we tried to copy the error
+ string to error_list, which was the same first namespace's list. This caused
+ the error string to be freed while it was being copied, so the end result
+ was that the error became either an empty or garbage string.
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2016-04-06 12:41:38 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (03af8e5325)
+
+ dsync: Don't export header hashes if remote mailbox is empty.
+
+ This avoids doing a lot of work of reading through all mails' headers and
+ hashing them, when the hashes aren't actually going to be used for anything.
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-export.h
+
+2016-04-12 11:42:38 +0200 Stephan Bosch <stephan@rename-it.nl> (a1ffc40b4f)
+
+ lib-http: server: Fixed bug in request reference counting caused by earlier
+ fix (390b600a6f7fdb4ccc65950527ee30129f49a6ac).
+
+ The earlier change erroneously dropped two lines that unreferenced the
+ request object after calling the callback.
+
+M src/lib-http/http-server-connection.c
+
+2016-04-12 10:49:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a8f11f9d8c)
+
+ lib-master: Fixed assert-crash when HAProxy aborts connections.
+
+ close() was called before io_remove(), which resulted in:
+
+ Panic: epoll_ctl(del, 14) failed: Bad file descriptor
+
+M src/lib-master/master-service-haproxy.c
+
+2016-04-11 12:24:59 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cc5493dc21)
+
+ dict-ldap: Compiler warning fix
+
+
+M src/lib-dict/dict-ldap.c
+
+2016-04-11 09:40:22 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (1af8b31dc5)
+
+ lib-dict: Add ldap driver
+
+
+M src/lib-dict/Makefile.am
+A src/lib-dict/dict-ldap-settings.c
+A src/lib-dict/dict-ldap-settings.h
+A src/lib-dict/dict-ldap.c
+
+2016-04-11 09:38:27 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b4c47b7787)
+
+ configure: Add lib-ldap
+
+
+M configure.ac
+M src/Makefile.am
+
+2016-04-11 09:37:39 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (844129da33)
+
+ lib-ldap: Add lib-ldap implementation
+
+
+A src/lib-ldap/Makefile.am
+A src/lib-ldap/ldap-client.c
+A src/lib-ldap/ldap-client.h
+A src/lib-ldap/ldap-compare.c
+A src/lib-ldap/ldap-connection.c
+A src/lib-ldap/ldap-entry.c
+A src/lib-ldap/ldap-iterator.c
+A src/lib-ldap/ldap-private.h
+A src/lib-ldap/ldap-search.c
+
+2016-04-10 14:57:48 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9a69030b12)
+
+ lib-master: Fixed memory leaks when failing to read settings.
+
+
+M src/lib-master/master-service-settings.c
+
+2016-04-07 17:50:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e3367d7b54)
+
+ virtual plugin: struct mail_vfuncs.close() wasn't implemented.
+
+ This wasn't a problem normally, because the core code wouldn't try to call
+ this. It became a problem only after other plugins were trying to call it.
+
+M src/plugins/virtual/virtual-mail.c
+
+2016-04-07 16:35:28 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (9f41af1f09)
+
+ lib-master: Preserve LOG_STDERR_TIMESTAMP environment through doveconf exec.
+
+ This should be needed only for standalone programs, so don't bother trying
+ to preserve it otherwise.
+
+M src/lib-master/master-service-settings.c
+
+2016-04-05 20:14:15 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (aeea3dbd1f)
+
+ lmtp: Use separate session ID suffixes for each RCPT TO delivery.
+
+ Otherwise each delivery will use the same session ID when talking to stats
+ process, which results in errors like:
+
+ Error: stats: FIFO input error: CONNECT: Duplicate session ID
+ ME3ZHCi+A1dUDQAAvAUe3g for user foobar service lmtp Warning: stats: Couldn't
+ find session ID: ME3ZHCi+A1dUDQAAvAUe3g
+
+ (There was a DISCONNECT for the session ID between these two log lines.)
+
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2016-04-05 20:10:53 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6cb874b7e9)
+
+ lib-storage: Changed separator between session_id_prefix and unique part to
+ be ':'
+
+ Although '-' wasn't used by default either, it's much more likely that
+ custom session IDs might contain it. ':' is hopefully less likely to be
+ used. This allows log parsers that actually want to find out the original
+ session's all log lines to cut out everything after the initial ':'.
+
+M src/lib-storage/mail-storage-service.c
+
+2016-04-06 22:43:52 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a50f8b9c61)
+
+ lmtp: Changed default LMTP proxy timeout to 125 seconds.
+
+ The main problem with LMTP proxy timing out too early is that it causes
+ duplicates if the backend actually finishes the mail delivery.
+
+ The 30 seconds is bad, because there are various timeouts in backend set to
+ 30 seconds also. 125 seconds is hopefully large enough to hit most of the 2
+ minute timeouts and we'll have a few extra seconds left to see the failure.
+
+M src/lmtp/commands.c
+
+2016-04-06 22:12:54 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (53c42948d2)
+
+ doveadm sync: -R parameter shouldn't switch to "doveadm backup -R" behavior.
+
+ Just ignore the -R parameter for doveadm sync, unless -1 parameter is also
+ used. Alternatively we could also fail the command, but maybe that's
+ unnecessary extra work.
+
+M src/doveadm/doveadm-dsync.c
+
+2016-04-06 22:08:14 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (eba17ecf3a)
+
+ doveadm: Reverted 7a3b52b8f - doveadm sync -1 -R is useful.
+
+
+M src/doveadm/doveadm-dsync.c
+
+2016-04-06 20:19:04 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (2fb829dc7c)
+
+ dict-redis: When timeout was reached, we didn't actually stop but just
+ continued waiting.
+
+
+M src/lib-dict/dict-redis.c
+
+2016-04-04 21:05:44 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (b0b6999542)
+
+ doveadm-http: Fix mismatch in authorization
+
+ The code advertizes X-Dovecot-API in WWW-Authenticate header, but expects
+ X-Doveadm-API in Authorization header. This change makes it expect
+ X-Dovecot-API.
+
+M src/doveadm/client-connection-http.c
+
+2016-04-05 19:59:18 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e82efb347c)
+
+ imapc: If we get disconnected during SELECT/EXAMINE, retry it once.
+
+ This seems to be happening especially with dsync migrations from IMAP
+ servers with small timeouts. The initial dsync run opens imapc connection
+ early to do a LIST + SELECT the first mailbox, but then dsync may spend a
+ while creating all the local mailboxes before it continues using the imapc
+ connection.
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2016-04-05 16:26:08 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (dca6152ae3)
+
+ fts-tika: Don't crash on 500 errors (caused by 146f6f85d)
+
+ http_req=NULL here set by http_client_request_send_payload(). Even if it
+ wasn't, the payload wouldn't be there.
+
+M src/plugins/fts/fts-parser-tika.c
+
+2016-04-05 12:05:15 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (76537b1991)
+
+ doveadm-proxy: Change to work with doveadm ver2
+
+
+M src/doveadm/doveadm-proxy.c
+
+2016-04-04 12:22:06 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6fbc1a2259)
+
+ lib-storage: FS layout assert-crashed when trying to list with invalid UTF8
+ pattern
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2016-04-04 11:11:13 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (05e8b3e275)
+
+ lib: Updated fdpass.h comments.
+
+
+M src/lib/fdpass.h
+
+2016-04-03 22:54:17 +0200 Stephan Bosch <stephan@rename-it.nl> (d17a99d9e1)
+
+ istream-unix: Fixed handling of EOF from fd_read() (ret==0).
+
+ This situation was ignored.
+
+M src/lib/istream-unix.c
+
+2016-03-31 16:35:06 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (4adefdb40c)
+
+ quota: Fix NetBSD build.
+
+
+M src/plugins/quota/quota-fs.c
+
+2016-03-31 12:41:25 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (9ba5c4965c)
+
+ doveadm-mail: Honor -u flag on v1 commands
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-03-30 16:24:56 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (a2fdfd2efd)
+
+ doveadm-server: Register builtin dict drivers always at init
+
+ This was already done for doveadm. Fixes using doveadm dict commands via
+ doveadm-server.
+
+M src/doveadm/main.c
+
+2016-03-30 13:14:40 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (c3ffcb7ee7)
+
+ doveadm-mail: Initialize missing cmd context username
+
+ Fixes assert-crash in doveadm_mail_single_user()
+
+M src/doveadm/doveadm-mail.c
+
+2016-03-30 10:51:50 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (0be3a0df11)
+
+ lib-storage: Fixed memory leak when iterating attributes.
+
+
+M src/lib-storage/mailbox-attribute.c
+
+2016-03-30 10:34:06 +0300 Aki Tuomi <aki.tuomi@dovecot.fi> (4af926f5df)
+
+ doveadm-mail: Don't lose rip/lip/lport/rport in passdb lookups for doveadm
+ TCP connections
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-03-30 08:24:51 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (002eaedb41)
+
+ director: Avoid a potential assert-crash after removing a director from
+ ring.
+
+ This should fix the crash: Panic: director: file director-connection.c: line
+ 1926 (director_connection_init_out): assertion failed: (!host->removed)
+
+ Also moved the last_network_failure timestamp reset a bit later, since
+ there's no need to reset the timestamp if we're not actually connecting to
+ the server.
+
+M src/director/director-connection.c
+
+2016-03-29 21:17:22 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (315aa3cca6)
+
+ doveadm: Fixed reading USER environment for v1 commands.
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-03-29 20:38:19 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (969f57f722)
+
+ imapc: Don't try to FETCH uncommitted mails, because it would attempt to
+ FETCH uid=0
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2016-03-29 15:17:29 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (e052c2247f)
+
+ auth: Disable auth caching for passwd-file
+
+ Its caching is usually unnecessary, because the passwd-files are efficiently
+ in memory already. It's also problematic, because extra_fields can contain
+ %variables, which can be lookup-dependent. So for example if %{lport} is
+ used in extra_fields, it would need to be included in the cache key. But
+ because different variables can be used by different users' extra_fields,
+ there's really no good way to include all of it in the cache key.
+
+M src/auth/passdb-passwd-file.c
+M src/auth/userdb-passwd-file.c
+
+2016-03-29 15:04:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (3e25053d07)
+
+ doveadm-batch: Fixed error message for an unknown subcommand.
+
+
+M src/doveadm/doveadm-mail-batch.c
+
+2016-03-29 14:57:20 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (edbc6fe7fd)
+
+ doveadm: Fixed adding username header to commands iterating through multiple
+ users.
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-03-29 14:17:01 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (32e1486f96)
+
+ doveadm-server: v2 mail commands weren't doing a userdb lookup.
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-03-29 14:10:10 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (6a8c95b069)
+
+ doveadm-server: Fixed running multi-word commands.
+
+ The problem with for example "mailbox status" command is that:
+ - doveadm cli: argv[0] = "mailbox", argv[1] = "status"
+ - doveadm-server: argv[0] = "mailbox status"
+
+ So with doveadm cli we'll now instead just skip over words until argv[0] is
+ the last word of the command ("status").
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-mail-batch.c
+
+2016-03-29 14:06:43 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (36a052b7bd)
+
+ doveadm: Code cleanup - always use const char *const[] type for argv.
+
+ Needed to fix compiler warnings in the following patch.
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm.c
+
+2016-03-29 12:15:05 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (cbaac1e9a6)
+
+ login-proxy: When logging failures, include the client info prefix.
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+
+2016-03-29 11:28:55 +0300 Timo Sirainen <timo.sirainen@dovecot.fi> (200b024c70)
+
+ login-*: When logging about client certificate validity, include the client
+ info prefix.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2016-03-25 03:01:00 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (090c9c2668)
+
+ auth: If user is unknown and there are more passdbs/userdb, log about it.
+
+
+M src/auth/auth-request.c
+
+2016-03-25 02:48:55 +0900 Stephan Bosch <stephan@rename-it.nl> (173d538637)
+
+ lib-http: client: Fixed request timeout handling during pipelining.
+
+ The timeout was not managed correctly. If an earlier request finished, it
+ would not restart the timeout for the next pending request.
+
+ Also, filling the pipeline caused the timout to be reset inappropriately,
+ postponing its expiry.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2016-03-25 02:47:28 +0900 Stephan Bosch <stephan@rename-it.nl> (8cf6363059)
+
+ lib-http: client: Fixed handling of stalled connections that emerge when the
+ client ioloop hasn't run for a long time.
+
+ Inside the peer's request handler routine, the connections are verified
+ after the ioloop continues. If they turn out to be broken, they
+ self-destruct while the handler routine is active, leading to problems.
+
+ Solved by referencing the connection and retrying the connection statistics
+ loop when a connection is lost in the process.
+
+M src/lib-http/http-client-peer.c
+
+2016-03-25 00:45:54 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (4f9855b296)
+
+ Set postmaster_address=%d by default because imap now loads lda settings and
+ it must be non-empty.
+
+ We don't want imap to suddenly start failing because of the c15e8f33c
+ change. This isn't a perfect solution either, but should be ok enough.
+
+M src/lib-lda/lda-settings.c
+
+2016-03-24 10:07:15 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (afbc6221ea)
+
+ director: Make sure freeing a user doesn't leak a timeout.
+
+
+M src/director/user-directory.c
+
+2016-03-24 10:01:17 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (6f8d511666)
+
+ director: Fixed memory leak when killing a user.
+
+
+M src/director/director.c
+
+2016-03-24 10:00:00 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (488d92156e)
+
+ director: Make sure a long-delayed kill reply for user doesn't mess up the
+ state.
+
+ This should fix assert-crash:
+
+ director: Panic: file director.c: line 690
+ (director_user_kill_finish_delayed_to): assertion failed:
+ (ctx->user->kill_state == USER_KILL_STATE_DELAY)
+
+M src/director/director.c
+
+2016-03-24 09:43:43 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (5897c88bde)
+
+ director: Small improvements to director-test.sh
+
+ Test with a bigger director ring. Include microseconds in log timestamps to
+ make debugging easier. Changed the name of the info_log_path.
+
+M src/director/director-test.sh
+
+2016-03-24 09:42:50 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (58b8a301b7)
+
+ director: Don't re-send SYNC unnecessarily often.
+
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+
+2016-03-24 09:36:14 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (f8c57c39ab)
+
+ director: Fixed user weakness getting stuck if multiple directors set user
+ weak simultaneously
+
+
+M src/director/director-connection.c
+
+2016-03-23 23:33:49 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (a986ef3ac3)
+
+ pop3-login: XCLIENT / XOIP no longer return -ERR for untrusted IP ranges.
+
+ The command is simply ignored, similarly to imap-login ID.
+
+M src/pop3-login/client.c
+
+2016-03-23 09:01:31 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (619994941f)
+
+ doveadm: Move getenv to correct place
+
+ All getenv()s must be done after master_service_init() or the pointer will
+ be corrupted with Linux and other OSes without setproctitle().
+
+M src/doveadm/doveadm.c
+
+2016-03-22 01:16:26 +0100 Stephan Bosch <stephan@rename-it.nl> (c15e8f33c8)
+
+ imap: Made LDA settings accessible from plugins.
+
+ This way, plugins can also send mail.
+
+M src/imap/Makefile.am
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/main.c
+
+2016-03-22 09:19:45 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fcb8a4a04d)
+
+ doveadm-server: Fixed initializing username for mail commands.
+
+
+M src/doveadm/client-connection.c
+
+2016-03-23 10:08:06 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (7b98fc3ad1)
+
+ doveadm: Getting user from USER environment wasn't done in the right place.
+
+ doveadm_mail_cmdline_init() is also called when parsing commands from
+ doveadm-server. The USER environment is supposed to be read only from
+ doveadm command line.
+
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm.c
+
+2016-03-21 22:10:08 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (4a769606eb)
+
+ lazy-expunge: Fixed crash if lazy_expunge-namespace was not found.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2016-03-21 21:51:49 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (65d8efa66d)
+
+ lib: Avoid assert-crash in istream-concat at close.
+
+ If stream was seeked to EOF, cur_input=NULL and closing the stream would
+ cause i_stream_concat_skip() to crash. Fixed this by making sure cur_input
+ is never NULL. This also adds a check to not allow seeking past EOF, but
+ this shouldn't happen anyway.
+
+M src/lib/istream-concat.c
+
+2016-03-21 21:46:47 +0900 Timo Sirainen <timo.sirainen@dovecot.fi> (4219733399)
+
+ lib: Small code cleanup to istream-concat - don't use a magic UINT_MAX value
+ as error code
+
+
+M src/lib/istream-concat.c
+
+2016-03-11 17:44:41 +1300 Timo Sirainen <timo.sirainen@dovecot.fi> (25866546f1)
+
+ lib-storage: Support autoexpunging from wildcards mailbox names. For
+ example:
+
+ mailbox Trash {
+ autoexpunge = 30d
+ } mailbox Trash/* {
+ autoexpunge = 30d
+ }
+
+M src/lib-storage/mail-autoexpunge.c
+
+2016-03-03 19:55:03 -0700 Michael M Slusarz <michael.slusarz@dovecot.fi> (20ad75b42d)
+
+ doveadm: Fix typos in error messages
+
+
+M src/doveadm/client-connection-http.c
+
+2016-03-11 18:01:33 +1300 Timo Sirainen <timo.sirainen@dovecot.fi> (8281cfda2e)
+
+ lazy-expunge: If lazy_expunge is set to namespace root, save all mails to
+ the root mailbox.
+
+ So the difference is:
+
+ namespace {
+ prefix = expunged/
+ ..
+ } plugin {
+ # Move expunged mails to expunged/INBOX, expunged/Trash, etc. mailboxes
+ lazy_expunge = expunged/
+ # Move all expunged mails to "expunged" mailbox, which is the namespace
+ root.
+ lazy_expunge = expunged
+ }
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2016-03-11 17:57:41 +1300 Timo Sirainen <timo.sirainen@dovecot.fi> (eade05821e)
+
+ lazy-expunge: Code cleanup - move destination mailbox name generation to its
+ own function
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2016-03-16 09:27:04 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (998395f674)
+
+ lib-fts: Fix unit tests for lib-fts.
+
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2016-03-16 16:34:32 +1100 Timo Sirainen <timo.sirainen@dovecot.fi> (7a3b52b8f9)
+
+ doveadm sync: Don't allow -R parameter.
+
+ -R implicitly enabled doveadm backup mode, which wasn't supposed to happen.
+
+M src/doveadm/doveadm-dsync.c
+
+2016-02-29 19:29:14 +0200 Phil Carmody <phil@dovecot.fi> (b22dcc3c0c)
+
+ plugins: fts-expunge-log - subtraction from and dumping of a flattened log
+
+ This permits you to read a whole expunge log, remove records from the
+ in-memory copy of it, and write it back out to file.
+
+ NOTE: Inefficiently implemented. The hash is effectively rebuilt, this time
+ backed by a file, a record at a time, which implies O(n^2) possibilities.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-expunge-log.h
+
+2016-03-12 01:56:55 +0100 Stephan Bosch <stephan@rename-it.nl> (ca270e31c9)
+
+ lib-http: client: Improved test-http-payload to test partial reading of
+ response payload.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/test-http-payload.c
+
+2016-03-03 22:29:44 +0100 Stephan Bosch <stephan@rename-it.nl> (641ab76d7d)
+
+ lib-http: server: Improved test-http-payload to test partial reading of
+ request payload.
+
+
+M src/lib-http/test-http-payload.c
+
+2016-03-03 22:28:47 +0100 Stephan Bosch <stephan@rename-it.nl> (390b600a6f)
+
+ lib-http: server: Fixed handling of partially read request payload.
+
+ This would sometimes cause the server to hang.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-request.c
+
+2016-03-15 10:48:31 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (af177be266)
+
+ lib-fts: Limit maximum length of addresses found.
+
+ The address tokenizer now takes a "maxlen" parameter, which defaults to 254
+ bytes.
+
+ Previously addresses, or something looking like it, could be of any length.
+ This could cause trouble in fts backends.
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2016-03-15 10:47:20 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (00544ad37e)
+
+ lib-fts: Lift helper function out of generic tokenizer.
+
+
+M src/lib-fts/Makefile.am
+A src/lib-fts/fts-tokenizer-common.c
+A src/lib-fts/fts-tokenizer-common.h
+M src/lib-fts/fts-tokenizer-generic.c
+
+2016-03-16 10:55:01 +1100 Timo Sirainen <timo.sirainen@dovecot.fi> (613d69eb09)
+
+ virtual plugin: Fixed off-by-one in virtual_max_open_mailboxes check.
+
+
+M src/plugins/virtual/virtual-storage.c
+
+2016-03-16 10:33:26 +1100 Timo Sirainen <timo.sirainen@dovecot.fi> (74bf1bef1e)
+
+ virtual plugin: Don't assert-crash if backend mailbox is recreated while
+ virtual mailbox is open.
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2016-03-16 10:23:52 +1100 Timo Sirainen <timo.sirainen@dovecot.fi> (5b7ff90a6c)
+
+ virtual plugin: Handle backend mailbox deletion on backend open/sync
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2016-03-16 10:17:45 +1100 Timo Sirainen <timo.sirainen@dovecot.fi> (1ce59b0bd8)
+
+ virtual plugin: Code cleanup - remove confusing bbox_index_opened
+
+ It was originally added because mailbox_open() was always called and we
+ wanted to know if the mailbox was open before it. But this code was already
+ removed.
+
+M src/plugins/virtual/virtual-sync.c
+
+2016-03-16 10:04:32 +1100 Timo Sirainen <timo.sirainen@dovecot.fi> (76fd7aa245)
+
+ virtual plugin: If we detect backend box to be deleted, mark it permanently
+ deleted.
+
+
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+
+2016-03-16 09:30:20 +1100 Timo Sirainen <timo.sirainen@dovecot.fi> (baa93d5ed7)
+
+ dbox: Fixed pop3.order caching for mails without no specified order.
+
+
+M src/lib-storage/index/dbox-common/dbox-mail.c
+
+2016-03-11 19:03:34 +1300 Timo Sirainen <timo.sirainen@dovecot.fi> (11120acd01)
+
+ doveadm-auth: Added missing code forgotten from commit 208754367
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2016-03-11 18:43:57 +1300 Timo Sirainen <timo.sirainen@dovecot.fi> (6aafdd81aa)
+
+ auth: Code cleanup - avoid using void *context
+
+ auth_request_callback_t always uses struct auth_client/master_connection* in
+ the context - no need to try to be too generic here.
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-master-connection.h
+M src/auth/auth-request-handler.c
+M src/auth/auth-request-handler.h
+
+2016-03-11 18:37:43 +1300 Timo Sirainen <timo.sirainen@dovecot.fi> (2087543679)
+
+ doveadm-auth: If auth_debug setting is enabled, send "debug" field to auth
+ lookups.
+
+ The idea is that you could enable auth_debug for specific requests with
+ e.g.:
+
+ doveadm -o auth_debug=yes user user@example.com
+
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.h
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+
+2016-03-11 18:37:04 +1300 Timo Sirainen <timo.sirainen@dovecot.fi> (d76a91450e)
+
+ auth: If auth request contains "debug" field, enable auth_debug=yes for the
+ request.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/db-ldap.c
+M src/auth/passdb-imap.c
+M src/auth/userdb-prefetch.c
+
+2016-03-10 14:59:46 +1300 Timo Sirainen <timo.sirainen@dovecot.fi> (3b39022ea0)
+
+ lib-fs: Fixed fs-sis to work again
+
+
+M src/lib-fs/fs-posix.c
+
+2016-03-04 16:40:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2839c7cdfc)
+
+ doveadm who: Don't require mask parameter.
+
+
+M src/doveadm/doveadm-who.c
+
+2016-03-04 13:12:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e50a72961f)
+
+ config: Escape regexps properly in settings-get.pl to avoid warnings with
+ new Perl
+
+
+M src/config/settings-get.pl
+
+2016-03-03 16:10:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (78d33b52c5)
+
+ fts: Added "doveadm fts tokenize" command.
+
+
+M src/plugins/fts/doveadm-fts.c
+
+2016-03-03 11:53:05 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ab00b5d88b)
+
+ doveadm-http: Fixed crash when no authentication was configured.
+
+
+M src/doveadm/client-connection-http.c
+
+2016-03-03 00:15:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5bd1c1d4fe)
+
+ lib-index: After MAIL_INDEX_OPEN_FLAG_SAVEONLY access cache's read_buf
+ wasn't always reset.
+
+ This could have caused at least errors like:
+
+ Corrupted index cache file .../dovecot.index.cache: File too small
+
+ I'm not sure if it might have also returned stale data sometimes.
+
+ Easy way to reproduce this bug was: imaptest copy=100 copybox=Trash &
+ imaptest box=Trash append=0
+
+M src/lib-index/mail-cache.c
+
+2016-03-01 22:11:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d6d9ee111d)
+
+ lib-index: Minor code cleanup - removed duplicate function prototype.
+
+
+M src/lib-index/mail-cache.h
+
+2016-03-02 20:32:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6e15d56df6)
+
+ doveadm: Don't treat doveadm_api_key differently when it's unset vs set to
+ empty.
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/doveadm-settings.c
+
+2016-03-02 17:45:18 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6a879801eb)
+
+ doveadm-http: Minor logging improvement - indicate error source
+
+
+M src/doveadm/client-connection-http.c
+
+2016-03-02 17:38:40 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (25df2d3b18)
+
+ doveadm-http: Drop surplus log prefix
+
+
+M src/doveadm/client-connection-http.c
+
+2016-03-02 16:08:06 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (51338d9d63)
+
+ doveadm-http: Set HTTP client's max idletime to 5 seconds
+
+
+M src/doveadm/client-connection-http.c
+
+2016-03-02 16:07:51 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b7c4fe8a43)
+
+ doveadm-http: For each executed command, log the command name and the user
+ parameter if given.
+
+
+M src/doveadm/client-connection-http.c
+
+2016-03-02 15:36:38 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2642aad18a)
+
+ doveadm-http: Improve authentication related code
+
+
+M src/doveadm/client-connection-http.c
+
+2016-03-02 11:04:35 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (0b36cf19e4)
+
+ doveadm-http: Code cleanup - Move authorize to its own function
+
+
+M src/doveadm/client-connection-http.c
+
+2016-03-02 10:58:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4828337155)
+
+ doveadm-http: Add API calls and versioning for v1
+
+
+M src/doveadm/client-connection-http.c
+
+2016-03-01 19:37:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e10461a672)
+
+ auth: Make password_scheme_encryption_rounds extern to allow plugins to read
+ it.
+
+
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme.h
+
+2016-03-01 16:07:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3ba6ab5cf2)
+
+ lib: Fixed memory leak io_add_istream()+io_remove() when the stream didn't
+ have fd.
+
+
+M src/lib/ioloop.c
+
+2016-02-29 22:10:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (153ed0fbca)
+
+ lib: iostream-temp allows now calling o_stream_seek() on it.
+
+
+M src/lib/iostream-temp.c
+
+2016-03-01 01:34:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2029c2cb37)
+
+ doveadm: A bit nicer way to implement doveadm_cmd_param_array() returning
+ C-string array
+
+ So replacement of 4afc67eb9, which I accidentally pushed before remembering
+ about this other way.
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+
+2016-02-28 19:31:10 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (6eb1a7a7ae)
+
+ doveadm-kick: Rewrite to ver2 infra
+
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-kick.c
+
+2016-02-28 19:25:46 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (633a1bf105)
+
+ doveadm-kick: Print kicked usernames via doveadm-print API
+
+
+M src/doveadm/doveadm-kick.c
+
+2016-02-28 19:07:03 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (99819adc96)
+
+ doveadm-who: Rewrite to ver2 infra
+
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-who.c
+
+2016-02-28 18:59:35 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a7fc192e21)
+
+ doveadm kick: Don't show who command's help on duplicate network/username
+ masks
+
+
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm-who.h
+
+2016-02-28 18:48:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4afc67eb96)
+
+ doveadm: Changed doveadm_cmd_param_array() to return C-string array instead
+ of ARRAY()
+
+ We could support both with separate functions, but perhaps this one is
+ enough.
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+
+2016-02-29 17:25:31 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (19f03098ca)
+
+ doveadm-dict: Use ver2 structures
+
+
+M src/doveadm/doveadm-dict.c
+
+2016-02-29 17:13:32 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (aea3116a9a)
+
+ doveadm-dict: Remove i_fatal() usage
+
+
+M src/doveadm/doveadm-dict.c
+
+2016-02-29 16:46:02 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (967bcc77ff)
+
+ doveadm-fs: Use doveadm_print instead of printf
+
+
+M src/doveadm/doveadm-fs.c
+
+2016-02-29 13:23:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a18da4410d)
+
+ doveadm: Renamed long parameter names.
+
+
+M src/doveadm/doveadm-fs.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-stats.c
+
+2016-02-29 14:04:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (504f950c5b)
+
+ doveadm mailbox metadata list: Added missing mailbox parameter
+
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+
+2016-02-29 12:59:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (32223e1a31)
+
+ lib-storage: Use getuid() instead of geteuid() for checking if we're running
+ as root.
+
+ This fixes running multiple doveadm commands for different users. Running
+ mail_storage_service_init() + _deinit() multiple times left euid non-root,
+ which dropped the MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP flag.
+
+M src/lib-storage/mail-storage-service.c
+
+2016-02-29 13:02:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9990080334)
+
+ doveadm-server: Drop privileges only temporarily when running mail commands.
+
+ This allows running mail commands for multiple users within the same doveadm
+ connection.
+
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-29 10:31:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ec862f5c8c)
+
+ doveadm-http: Fixed crash on unknown commands.
+
+ Also if command had already failed, don't override the existing method_err
+ with 403.
+
+M src/doveadm/client-connection-http.c
+
+2016-02-29 09:35:03 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a81dccf320)
+
+ doveadm-mail-index: Use integer parameter type
+
+
+M src/doveadm/doveadm-mail-index.c
+
+2016-02-28 22:23:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (489301ee88)
+
+ lib-storage: When cached mime.parts is detected to be inconsistent, log it
+ as hex-encoded.
+
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-search.c
+M src/plugins/fts/fts-build-mail.c
+
+2016-02-28 22:22:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (46114180b4)
+
+ lib-storage: If cached mime.parts is corrupted, log it hex-encoded.
+
+
+M src/lib-storage/index/index-mail.c
+
+2016-02-28 22:08:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7cef8159e9)
+
+ lib-mail: message_search_msg() passes through
+ message_parser_deinit_from_parts()'s error string
+
+
+M src/lib-mail/message-search.c
+M src/lib-mail/message-search.h
+M src/lib-storage/index/index-search.c
+
+2016-02-28 21:07:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8b5b1f6cb1)
+
+ Use mail_set_cache_corrupted_reason() wherever possible.
+
+
+M src/imap/imap-fetch-body.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/istream-mail.c
+M src/plugins/fts/fts-build-mail.c
+
+2016-02-28 21:05:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (79ec3f2742)
+
+ lib-storage: mail_set_cache_corrupted*() now logs also the mailbox name that
+ was corrupted.
+
+
+M src/lib-storage/index/index-mail.c
+
+2016-02-28 21:03:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (dd59c7a1f0)
+
+ lib-mail: Minor code cleanup to message_parser_deinit() calls.
+
+
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+
+2016-02-28 20:46:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3ef9cfcb6b)
+
+ lib-mail: Added message_parser_deinit_from_parts()
+
+ The returned error strings could still be improved to give more details,
+ especially give an approximate offset of where the problem is.
+
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-parser.h
+
+2016-02-28 20:19:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6de6ec228a)
+
+ lib-storage: Added mail_set_cache_corrupted_reason()
+
+
+M src/lib-storage/fail-mail.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+M src/plugins/virtual/virtual-mail.c
+
+2016-02-28 19:57:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (85058e4f69)
+
+ *-login: If verbose_ssl=yes, make sure all SSL errors are logged.
+
+ They should already be logged in the client's disconnection line, but log
+ them also with debug level just to make sure no errors are lost or
+ overwritten.
+
+M src/login-common/ssl-proxy-openssl.c
+
+2016-02-28 19:55:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cb999a76f5)
+
+ lib-ssl-iostream: If verbose=TRUE, internally log all errors.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2016-02-28 19:51:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (20905b89a0)
+
+ lib-ssl-iostream: Log all SSL info lines with debug-level.
+
+ They're not logged at all if verbose=FALSE, so they're really debug
+ messages.
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2016-02-27 11:36:29 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5592b04741)
+
+ doveadm-fs: Use ver2 structures
+
+
+M src/doveadm/doveadm-fs.c
+
+2016-02-27 11:13:24 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (0746d8c498)
+
+ doveadm-cmd: Support non-strings in compat wrapper
+
+
+M src/doveadm/doveadm-cmd.c
+
+2016-02-28 18:33:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fa6b2cbb3f)
+
+ doveadm-mail: Rename ctx to mctx to separate from cctx
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail.c
+
+2016-02-28 18:27:35 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (aaa1b6bb4c)
+
+ doveadm: Changed v2 command APIs to be easier to use.
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm.c
+
+2016-02-28 18:25:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cabf4c96e2)
+
+ doveadm: Minor code cleanup - use arg-> instead of argv[i].
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-02-26 17:33:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3b759465ad)
+
+ doveadm: Code cleanup - Removed unnecessary pointer checks.
+
+ Originally for some reason added by e16cdc182.
+
+M src/doveadm/doveadm-cmd.c
+
+2016-02-26 16:21:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6ab6a7d1d8)
+
+ doveadm: Fixed command parameter handling for doveadm-server.
+
+
+M src/doveadm/client-connection.c
+
+2016-02-26 16:05:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8fdec34605)
+
+ doveadm: Add more consts to avoid a cast breaking strict-aliasing rules.
+
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-mail-batch.c
+
+2016-02-26 15:33:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (da7c6d7313)
+
+ doveadm: Fixed parsing field/flag/file parameters.
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-02-26 15:25:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (96f35f249a)
+
+ doveadm-log: Fixed trimming empty prefixes.
+
+ Too eager (long) cast removal from the original code broke it. Changed to a
+ slightly simplified version now.
+
+M src/doveadm/doveadm-log.c
+
+2016-02-26 14:58:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (50e4970035)
+
+ doveadm: Pass through mail_storage_service_input fields in
+ doveadm_cmd_attributes
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-26 14:55:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (79bbb900ff)
+
+ doveadm: Added struct doveadm_cmd_attributes, which is passed around instead
+ of argc/argv
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm.c
+
+2016-02-24 13:59:28 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7616a1520f)
+
+ doveadm-penalty: Convert to ver2 infra
+
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-penalty.c
+
+2016-02-26 14:38:46 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2d83aa5eeb)
+
+ doveadm-flags: Support giving flags as an array.
+
+
+M src/doveadm/doveadm-mail-flags.c
+M src/doveadm/doveadm-mail.c
+
+2016-02-25 09:26:39 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (4ae632e126)
+
+ doveadm-copymove: Use ver2 structures
+
+
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-26 09:37:06 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (db8b229230)
+
+ doveadm: Code cleanup - coding style fixes for doveadm_cmd_param*()
+ accessors
+
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+
+2016-02-26 09:33:25 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (79ec87ea68)
+
+ doveadm-cmd: Add CMD_PARAM_IP
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+
+2016-02-25 12:30:45 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1a40f0bdea)
+
+ doveadm-mailbox-status: Fixed declaring and processing args
+
+
+M src/doveadm/doveadm-mail-mailbox-status.c
+
+2016-02-25 12:30:33 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (76160a8259)
+
+ doveadm: Fully populate mail_cmd in ver2 wrapper
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-02-25 10:34:34 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e47f08b87b)
+
+ doveadm-fts: Use ver2 structures
+
+
+M src/plugins/fts/doveadm-fts.c
+
+2016-02-25 10:17:16 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (57a2881cb8)
+
+ doveadm-acl: Use ver2 structures
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2016-02-25 09:58:55 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (c874dcb481)
+
+ doveadm-search: Use ver2 structures
+
+
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-25 09:54:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (949c3973ed)
+
+ doveadm-purge: Use ver2 structures
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-02-25 09:53:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f2c25ca2e1)
+
+ doveadm-force-resync: Use ver2 structures
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-02-25 09:46:40 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (ae8c89c81d)
+
+ doveadm-import: Use ver2 structures
+
+
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-25 09:44:04 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a893aaa999)
+
+ doveadm-flags: Use ver2 structures
+
+
+M src/doveadm/doveadm-mail-flags.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-25 09:39:55 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (977f08d645)
+
+ doveadm-expunge: Use ver2 structures
+
+
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-25 09:30:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e1d08b1c39)
+
+ doveadm-deduplicate: Use ver2 structures
+
+
+M src/doveadm/doveadm-mail-deduplicate.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-25 09:20:06 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (adff71f502)
+
+ doveadm-batch: Fixed it to work with ver2 commands.
+
+
+M src/doveadm/doveadm-mail-batch.c
+
+2016-02-25 09:08:38 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (844929a7bd)
+
+ doveadm-altmove: Use ver2 structures
+
+
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-24 11:19:11 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (cd75585e26)
+
+ doveadm: Remove return value from ver2 cmd() - doveadm_exit_code is enough
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-stats.c
+
+2016-02-24 11:14:14 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fb8519306c)
+
+ doveadm-cmd: Constify doveadm_cmd_param_*() usage
+
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+
+2016-02-23 14:36:22 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (0ed5452f5f)
+
+ doveadm-log: Use ver2 structure
+
+
+M src/doveadm/doveadm-log.c
+
+2016-02-23 14:14:16 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (8fdbe2f47d)
+
+ doveadm-log: Use doveadm_print() for output
+
+
+M src/doveadm/doveadm-log.c
+
+2016-02-23 14:13:37 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (21e4a561c2)
+
+ doveadm-print: Add "formatted" print formatter
+
+ This allows using the header names as %{variables} in the format string.
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-print-formatted.c
+M src/doveadm/doveadm-print-private.h
+M src/doveadm/doveadm-print.h
+M src/doveadm/doveadm.c
+
+2016-02-24 19:13:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (42fcc70826)
+
+ *-login: Call client.auth_result() also when proxying
+
+
+M src/login-common/client-common-auth.c
+
+2016-02-26 00:15:45 +0200 Stephan Bosch <stephan@rename-it.nl> (81ebac6b81)
+
+ lib-http: client: Decreased request/connect timeout for test-http-client to
+ 10s.
+
+
+M src/lib-http/test-http-client.c
+
+2016-02-26 00:15:17 +0200 Stephan Bosch <stephan@rename-it.nl> (5257840e8d)
+
+ lib-http: client: Gave request, connect and dns timeouts defaults that make
+ more sense.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.c
+
+2016-02-25 22:46:11 +0100 Stephan Bosch <stephan@rename-it.nl> (1f1ba791ba)
+
+ lib-http: client: Fixed crash happening when connection hits an error while
+ handling a new request.
+
+ At this point the connection dies within the peer request handler loop.
+ Before, the dying connection could free the peer when it ended up being
+ obsolete. But because it was still in the loop, a segfault occurred as the
+ loop continued. Fixed by deferring the the deallocation of the peer from the
+ connection_lost() function to the request handler loop itself if it is
+ active.
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2016-02-25 01:18:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b3c9a08826)
+
+ stats: Minor code cleaup - remove unnecessary includes and fix copyright
+ year
+
+
+M src/stats/client-reset.c
+
+2016-02-24 16:39:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2686ef8792)
+
+ lib: Added unit test to iostream-temp.
+
+
+M src/lib/Makefile.am
+A src/lib/test-iostream-temp.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2016-02-24 16:39:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e245fb1302)
+
+ lib: iostream-temp makes the internal fd visible now to o_stream_get_fd()
+
+ Mainly for the following unit test.
+
+M src/lib/iostream-temp.c
+
+2016-02-24 15:00:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (07448eb01d)
+
+ lib-storage: Verify settings only after applying settings from userdb
+
+ This is especially important to verify() functions that parse the settings
+ and store data permanently based on them, e.g. pop3_delete_flag or
+ imap_client_workarounds, which effectively couldn't be overwritten by
+ userdb.
+
+M src/lib-storage/mail-storage-service.c
+
+2016-02-23 23:41:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8a8a3b4398)
+
+ lib: Added iostream_temp_create_sized() to specify the max in-memory size
+
+
+M src/lib/iostream-temp.c
+M src/lib/iostream-temp.h
+
+2016-02-23 18:41:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (87f406492b)
+
+ login-proxy: Use io_add_istream() for adding client_input io.
+
+ This is required for non-fd istreams to work, e.g. ssl-iostream.
+
+M src/login-common/login-proxy.c
+
+2016-02-23 01:48:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f1a9b58ae3)
+
+ lib-http: Fix to earlier http_client_connection_unref() change 1dead6
+
+ Patch by Stephan Bosch
+
+M src/lib-http/http-client-connection.c
+
+2016-02-22 22:23:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (17bfcf534d)
+
+ doveadm: Code cleanup - remove duplicate code
+
+
+M src/doveadm/client-connection-http.c
+
+2016-02-22 22:10:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bef3447d29)
+
+ doveadm: Fixed usage printing for ver2 commands
+
+
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm.c
+
+2016-02-22 22:02:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c45a841bee)
+
+ doveadm: Define DOVEADM_CMD_MAIL_USAGE_PREFIX, which v2 commands use as
+ their usage prefix.
+
+ This allows implementing the next changeset without kludging.
+
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-save.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-22 21:44:40 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7a8ef11587)
+
+ doveadm: Added doveadm_cmd_get_ver2() helper
+
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+
+2016-02-22 14:18:04 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (71f4549303)
+
+ doveadm-index: Use ver2 structures
+
+
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-22 13:30:12 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (3fd8086f71)
+
+ doveadm-cmd: Add command flags
+
+
+M src/doveadm/doveadm-cmd.h
+
+2016-02-22 21:39:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1e8a6a8708)
+
+ doveadm: Free istream parameters everywhere
+
+ Based on patch by Aki Tuomi
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+
+2016-02-22 14:03:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e6e5687226)
+
+ quota: Use doveadm ver2 structures
+
+
+M src/plugins/quota/doveadm-quota.c
+
+2016-02-22 21:28:24 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7d500ecf27)
+
+ doveadm: Minor code cleanup - rename doveadm_cmd_find*() to
+ doveadm_cmd_find_with_args*()
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm.c
+
+2016-02-22 21:24:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3d27e11025)
+
+ doveadm: Code cleanup - remove unnecessary NULL sets and checks
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/doveadm-cmd.c
+
+2016-02-22 21:17:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f9d2a1f21a)
+
+ lib-http: Always set *_obj=NULL first in deinit functions (mainly for
+ consistency)
+
+ This doesn't usually matter, but in case deinit calls some callback they may
+ be trying to access the partially destroyed object.
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client.c
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.c
+
+2016-02-22 21:15:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (702ebfdbd7)
+
+ lib-http: http_server_connection_unref() now always sets *conn=NULL
+
+ This makes its behavior consistent with other APIs in Dovecot.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server.h
+
+2016-02-22 21:00:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8d33944ab2)
+
+ lib-http: Clarify http_server_response_*_payload() API and minor change to
+ it
+
+ Similar to the change in c3a4c93. Nothing used this API yet.
+
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.h
+
+2016-02-22 20:58:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (903f0b3888)
+
+ lib-http: http_server_request_unref() now always sets *req=NULL
+
+ This makes its behavior consistent with other APIs in Dovecot.
+
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+
+2016-02-22 20:47:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c3a4c931e9)
+
+ lib-http: Clarify http_client_request_*_payload() API and minor change to it
+
+ The earlier behavior was pretty confusing, and potentially could have caused
+ double-freeing memory in some situations. Now it's clear that req is set to
+ NULL always when the request is finished, regardless of whether it has any
+ references left.
+
+ Changed http_client_request_finish_payload() to return 0 on success instead
+ of 1. This could have been left alone, but it's unlikely that there is any
+ code outside Dovecot core that calls it and this way is cleaner.
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+M src/plugins/fts-solr/solr-connection.c
+
+2016-02-22 20:34:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d1f964d3f1)
+
+ lib-http: http_client_request_unref() now always sets *req=NULL
+
+ This makes its behavior consistent with other APIs in Dovecot.
+
+ Also http_client_request_finish() no longer sets req=NULL, because all of
+ its callers already keep a reference. Instead added an assert to make sure
+ the reference is there.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2016-02-22 20:14:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1dead6eacb)
+
+ lib-http: http_client_connection_unref() now always sets *conn=NULL
+
+ This makes its behavior consistent with other APIs in Dovecot.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2016-02-22 20:03:44 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (331d2de16c)
+
+ doveadm-http: Close client input correctly
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/client-connection.c
+
+2016-02-22 20:00:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (346ce9e82d)
+
+ doveadm-http: Return HTTP failure on unexpected JSON input
+
+
+M src/doveadm/client-connection-http.c
+
+2016-02-22 19:56:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9cd71e2cb9)
+
+ doveadm-http: Handle invalid input better for arrays.
+
+
+M src/doveadm/client-connection-http.c
+
+2016-02-20 23:16:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (394a873406)
+
+ doveadm-http: Handle istreams correctly
+
+ Based on patch by Aki Tuomi
+
+M src/doveadm/client-connection-http.c
+
+2016-02-17 10:24:24 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5ba6009f4e)
+
+ doveadm-save: Use ver2 command structure
+
+
+M src/doveadm/doveadm-mail-save.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-22 18:55:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0d55fdfbc1)
+
+ doveadm: Added support for "file" parameters
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-02-22 18:46:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (368ec06f20)
+
+ doveadm: Fixed memory leak at deinit
+
+
+M src/doveadm/doveadm-cmd.c
+
+2016-02-22 18:42:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bce90a4f19)
+
+ doveadm: Fixed double-free when using -F parameter
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-02-22 18:42:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f8e3a08ae2)
+
+ doveadm: Fixed memory leaks when ver2 command parsing fails with invalid
+ parameter.
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-02-22 13:59:14 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (13607902e5)
+
+ doveadm-mail: Fixed common parameters to use correct names as in
+ DOVEADM_CMD_MAIL_COMMON
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-02-17 09:19:01 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (89d31290da)
+
+ doveadm-fetch: Use ver2 structures
+
+
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-22 18:20:59 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (778087c26f)
+
+ doveadm: Add kludge to support field array to fieldstr conversion
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-02-15 15:14:25 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (676d5601a8)
+
+ doveadm-stats: Use ver2 structures
+
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm.c
+
+2016-02-22 16:12:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d68a021c27)
+
+ lib-index: If mail_transaction_log_lock_head() locking took long, include
+ reason string in warning
+
+
+M src/lib-index/mail-transaction-log.c
+
+2016-02-22 11:47:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (62958c5eef)
+
+ mdbox: Use mail_index_sync_set_reason() to give better reason messages for
+ lock wait warnings.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-map.h
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.h
+
+2016-02-22 11:46:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5bced341c2)
+
+ lib-index: Added mail_index_sync_set_reason() to improve lock wait log
+ warnings
+
+
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index.h
+
+2016-02-22 11:15:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6ded8819b9)
+
+ lib-index: Small improvements to logging the reason for long transaction log
+ lock waits
+
+
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mail-transaction-log.h
+M src/lib-index/test-mail-transaction-log-append.c
+
+2016-02-22 10:25:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2d5fcede6d)
+
+ dovecot.service: Fixed PIDFile path - removed extra /dovecot/ directory from
+ the middle.
+
+
+M dovecot.service.in
+
+2016-02-21 19:01:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5dd21e148e)
+
+ lib: mempool-alloconly unit test improvement: verify that data stack isn't
+ used by p_malloc()
+
+
+M src/lib/test-mempool-alloconly.c
+
+2016-02-21 18:58:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (010341a450)
+
+ lib: Minor code cleanup to mempool-alloconly unit test - use
+ test_begin/assert/end()
+
+
+M src/lib/test-mempool-alloconly.c
+
+2016-02-21 18:38:24 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (b4a7ea605c)
+
+ doveadm-http: Correctly initialize parameters
+
+
+M src/doveadm/client-connection-http.c
+
+2016-02-21 18:37:24 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (f169d423d8)
+
+ doveadm: Fixed using array type parameters.
+
+
+M src/doveadm/doveadm-cmd.c
+
+2016-02-21 18:36:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (9098289766)
+
+ doveadm: Fixed assert-crash when command with CMD_PARAM_FLAG_DO_NOT_EXPOSE
+ was used.
+
+
+M src/doveadm/doveadm-cmd.c
+
+2016-02-21 18:35:03 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (25f12bc904)
+
+ doveadm: Fixed support for --long-option arguments
+
+
+M src/doveadm/doveadm-cmd.c
+
+2016-02-21 18:32:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c8d88cb784)
+
+ lib: Added [pt]_array_const_string_join()
+
+ Based on patch by Aki Tuomi
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/lib/test-strfuncs.c
+
+2016-02-21 18:32:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1a7f7767b1)
+
+ lib: Move code from t_strarray_join() into a more generic
+ p_strarray_join_n()
+
+
+M src/lib/strfuncs.c
+
+2016-02-21 18:31:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1f35f54096)
+
+ lib: Added unit test for t_strarray_join()
+
+
+M src/lib/test-strfuncs.c
+
+2016-02-21 17:44:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (11c685e34a)
+
+ quots-fs: Fixed compiling with HP/UX and Solaris
+
+
+M src/plugins/quota/quota-fs.c
+
+2016-02-21 17:44:07 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bb5cede9c9)
+
+ doveadm: Compiler warning fix.
+
+
+M src/doveadm/client-connection.c
+
+2016-02-21 03:40:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (950a6e61d6)
+
+ lib-index: mail_index_sync_next() didn't always return expunges sorted
+
+ Maildir and mbox formats were using index_sync_changes_read(), which assumed
+ that they were sorted. So some of the intended expunges weren't actually
+ always being done. This mainly affected when expunges were being done
+ simultaneously by multiple processes or by pipelined commands. For example:
+
+ printf "a select inbox\nb uid move 2 Trash\nc uid move 1 Trash\nd logout\n"
+ | ./imap
+
+M src/lib-index/mail-index-sync.c
+
+2016-02-16 18:05:59 +0100 manuel <manuel@mausz.at> (ce35092786)
+
+ imap-hibernate: send connect/disconnect events to anvil
+
+ make doveadm who + mail_max_userip_connections work with hibernated
+ connections.
+
+M src/imap-hibernate/imap-client.c
+M src/imap-hibernate/imap-client.h
+
+2016-02-20 23:32:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (202b467424)
+
+ lib: json_parse_next_stream() wrongly returned -1 even when a stream was
+ returned.
+
+
+M src/lib/json-parser.c
+M src/lib/test-json-parser.c
+
+2016-02-20 19:47:58 +0200 Stephan Bosch <stephan@rename-it.nl> (dbbdcc1224)
+
+ uri-util: Fixed assertion failure for invalid character in path segment.
+
+
+M src/lib/uri-util.c
+
+2016-02-20 19:35:12 +0200 Stephan Bosch <stephan@rename-it.nl> (c0a8031392)
+
+ lib-http: server: Implicitly free a request response structure when a new
+ (failure) response is started.
+
+
+M src/lib-http/http-server-response.c
+
+2016-02-20 13:40:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0755a3bc18)
+
+ doveadm: Fix for previous attempt to make static analyzer happier.
+
+
+M src/doveadm/doveadm-cmd.c
+
+2016-02-19 20:20:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4e96840f7a)
+
+ doveadm: Make static analyzer happier - cptr can't be NULL here.
+
+
+M src/doveadm/doveadm-cmd.c
+
+2016-02-19 16:36:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (14102a0c5d)
+
+ doveadm: Use char type for short options instead of a string.
+
+ The ":" = "has parameters" can be determined from the type. Also removed "?"
+ checks since it wasn't actually used.
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-19 16:34:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (05128fda80)
+
+ doveadm: Remove CMD_PARAM_NONE type, since it already defaulted to same as
+ CMD_PARAM_BOOL
+
+
+M src/doveadm/client-connection-http.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+
+2016-02-19 19:11:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (382d45f255)
+
+ lib-index: Fixed mail_index_lookup_ext_full()'s map_r with transaction-view.
+
+
+M src/lib-index/mail-index-transaction-view.c
+
+2016-02-19 19:08:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ecb1ecd370)
+
+ lib-index: Code cleanup - moved code to tview_lookup_ext_update()
+
+ No functional changes.
+
+M src/lib-index/mail-index-transaction-view.c
+
+2016-02-19 16:13:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d09af09678)
+
+ Makefile: Added missing client-connection-private.h
+
+
+M src/doveadm/Makefile.am
+
+2016-02-19 16:11:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (22d75d4709)
+
+ dovecot.service: Fixed PIDFile path
+
+
+M Makefile.am
+M dovecot.service.in
+
+2016-02-19 16:03:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (721e0f8b2a)
+
+ doveadm: Use correct uoff_t type for printf
+
+
+M src/doveadm/client-connection-http.c
+
+2016-02-19 15:39:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f5d30c9505)
+
+ dovecot.service: Disabled ProtectSystem=full for now
+
+ It's not supported by RHEL7's systemd.
+
+M dovecot.service.in
+
+2016-02-19 15:03:51 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (0368f3b0ae)
+
+ doveadm: Use ver2 structures for all "doveadm mailbox *" commands.
+
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2016-02-19 15:02:56 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (68cc278710)
+
+ doveadm: Use ver2 structures for stop & reload.
+
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-master.c
+
+2016-02-19 14:58:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1e11a94ec5)
+
+ doveadm: Implement HTTP server API, slightly based on JMAP API
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/client-connection-http.c
+A src/doveadm/client-connection-private.h
+M src/doveadm/client-connection.c
+M src/doveadm/client-connection.h
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/main.c
+
+2016-02-19 14:40:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (629074c750)
+
+ doveadm: Code cleanup - moved code to client_connection_init()
+
+ No functional changes.
+
+M src/doveadm/client-connection.c
+
+2016-02-15 14:02:19 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (14af7be4aa)
+
+ doveadm: Add infrastructure for doveadm_cmd_ver2
+
+ Version 2 commands have named parameters, which also have types. This is
+ especially useful for reading input from HTTP/JSON API. This also simplifies
+ the parameter parsing for command line input.
+
+ For v2.3 the plan is to replace all the old doveadm_cmds with this new
+ version and get rid of the _ver2 suffixes. But for now we'll have two
+ versions of commands.
+
+ For backwards compatibility with old commands we have also implemented
+ wrappers so that v2 structs can be defined and there's a function to convert
+ the named parameters to old v1 style args[] string, so the old command
+ handlers can still be run. This will also be removed in v2.3.
+
+ This change also adds requirement for getopt_long(). It's already available
+ in all the Linuxes and BSDs, so this shouldn't be too big of a requirement.
+ Other systems can install it from an external library.
+
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+
+2016-02-18 15:49:03 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (35a2af0c24)
+
+ doveadm: Add unit tests for i_strccdascmp
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/test-doveadm-util.c
+
+2016-02-18 15:48:21 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (a23210844b)
+
+ doveadm: Add i_strccdascmp()
+
+ This comparator considers camel case==camel-case==camelCase. This is to help
+ with HTTP API to make it more flexible.
+
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-util.h
+
+2016-02-19 14:08:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (374fed59cd)
+
+ doveadm: If user lookup fails, log an error but don't kill the process.
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-02-19 14:05:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (aa1561ec78)
+
+ doveadm: Code cleanup - Removed passing through unnecessary argv parameter
+
+
+M src/doveadm/doveadm-mail.c
+
+2016-02-18 09:27:10 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (1d689069fc)
+
+ doveadm: Code cleanup - move code to doveadm_mail_cmd_exec()
+
+ No functional changes.
+
+M src/doveadm/doveadm-mail.c
+
+2016-02-15 13:55:41 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (0c5fef35b9)
+
+ lib-http: Add accessors for some response details
+
+
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.h
+
+2016-02-18 19:27:13 +0200 Aki Tuomi <aki.tuomi@dovecot.net> (53cc71cae8)
+
+ dovecot: improve systemd support
+
+
+M Makefile.am
+M dovecot.service.in
+
+2016-02-16 18:34:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ebcd7cf40e)
+
+ fts: When searching data headers, don't expand search keys to all languages.
+
+ For example "SEARCH HEADER Message-Id foo@example.com" works better the less
+ expansion there is for "foo@example.com".
+
+M src/plugins/fts/fts-search-args.c
+M src/plugins/fts/fts-user.c
+M src/plugins/fts/fts-user.h
+
+2016-02-16 18:33:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4ac43ad128)
+
+ fts: Code cleanup - moved fts_header_has_language() to a global function
+
+
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-build-mail.c
+
+2016-02-16 17:50:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7fbc81a103)
+
+ lib-storage: Avoid duplicate work when a search query has multiple
+ header/body keys.
+
+
+M src/lib-storage/index/index-search.c
+
+2016-02-16 17:48:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (121f820aeb)
+
+ lib-mail: Added message_search_more_get_decoded()
+
+
+M src/lib-mail/Makefile.am
+M src/lib-mail/message-search.c
+M src/lib-mail/message-search.h
+A src/lib-mail/test-message-search.c
+
+2016-02-11 13:25:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2d8f66596f)
+
+ auth: Moved all passdb/userdb template handling to auth_passdb/userdb.
+
+ This is because passdb_find() and userdb_find() attempts to avoid
+ duplicating passdbs and userdbs when they have identical driver+args. This
+ deduplication is useful when using multiple protocol { .. } blocks that
+ duplicate some passdb/userdb backends. For example we might want to have
+ only a single SQL connection regardless of how the protocol-specific passdbs
+ and userdbs are being set up. All the default/override_fields and result_*
+ settings aren't relevant to the passdb/userdb backends, so removing them
+ will again allow the deduplication to work correctly.
+
+M src/auth/auth-request.c
+M src/auth/auth.c
+M src/auth/auth.h
+M src/auth/passdb.c
+M src/auth/passdb.h
+M src/auth/userdb.c
+M src/auth/userdb.h
+
+2016-02-11 13:21:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (74674a53a7)
+
+ auth: Moved cache_key from passdb_module to auth_passdb.
+
+ This is in preparation for the next changeset, which moves
+ default/override_fields also to auth_passdb.
+
+M src/auth/auth-request.c
+M src/auth/auth.c
+M src/auth/auth.h
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-pam.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+M src/auth/passdb.h
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-nss.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-vpopmail.c
+M src/auth/userdb.c
+M src/auth/userdb.h
+
+2016-02-11 13:58:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e173fd3800)
+
+ lib-http: server: Error handling fix - avoid potential crash when request is
+ already gone
+
+
+M src/lib-http/http-server-request.c
+
+2016-02-10 22:02:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (60216d61e8)
+
+ login-proxy: Preserve client's istream even after login.
+
+ This eventually allows things like using lib-ssl-iostream, moving IMAP
+ COMPRESS handling to login process, etc.
+
+M src/login-common/login-proxy.c
+
+2016-02-10 22:02:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (463f6ea04a)
+
+ lib: Added i_stream_set_persistent_buffers()
+
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+M src/lib/istream.h
+
+2016-02-10 19:30:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4ff6d11dc3)
+
+ lib: Ignore ENOSYS errors from madvise() calls.
+
+ For example Raspberry Pi kernels have removed this. We'll wrap all the
+ madvise() calls with my_madvise() to avoid extra checks all over the place.
+
+M src/lib/mmap-util.c
+M src/lib/mmap-util.h
+
+2016-02-10 23:39:25 +0100 Stephan Bosch <stephan@rename-it.nl> (d5cdf90f01)
+
+ lib-http: Created test program that tests payload exchange between client
+ and server with various configurations.
+
+ It recursively uses all files in the current directory as payload. It is
+ currenrly not part of `make check', because it is a stress-testing tool that
+ can run for a long time.
+
+M src/lib-http/Makefile.am
+A src/lib-http/test-http-payload.c
+
+2016-02-10 22:32:46 +0100 Stephan Bosch <stephan@rename-it.nl> (201c3b9375)
+
+ lib-http: server: Implemented blocking request input stream.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server.h
+
+2016-02-10 22:30:22 +0100 Stephan Bosch <stephan@rename-it.nl> (7c7117e542)
+
+ lib-http: server: Implemented blocking response output stream.
+
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.h
+
+2016-02-10 22:25:07 +0100 Stephan Bosch <stephan@rename-it.nl> (ee2633056e)
+
+ lib-http: server: Created blocking http_server_response_send_payload() API
+ that closely mimics the client equivalent.
+
+ It allows sending response payload in several chunks in a blocking fashion.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.h
+
+2016-02-10 22:19:27 +0100 Stephan Bosch <stephan@rename-it.nl> (2f64a4c88d)
+
+ lib-http: server: Added some request debug logging.
+
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+
+2016-02-10 22:17:07 +0100 Stephan Bosch <stephan@rename-it.nl> (d7b94e1721)
+
+ lib-http: request parser: Added support for explicitly finishing payload of
+ previous request.
+
+
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request-parser.h
+
+2016-02-10 22:15:12 -0700 Michael M Slusarz <michael.slusarz@dovecot.fi> (e8434aad92)
+
+ lib-sql: Allow port to be configured for Cassandra cluster
+
+
+M src/lib-sql/driver-cassandra.c
+
+2016-02-10 19:08:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (38dac3030b)
+
+ lib-storage: Added missing %{userdb:*:default} handling
+
+
+M src/lib-storage/mail-storage-service.c
+
+2016-02-10 19:06:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d23dfc385f)
+
+ lib-storage: Deduplicate %{userdb:*} handling for mail_user and
+ mail_storage_service_user
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+M src/lib-storage/mail-user.c
+
+2016-02-10 18:27:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6b107c647b)
+
+ *-login: Pass client_auth_reply to client.auth_result() whenever possible.
+
+ This didn't matter normally, but some plugins might care about it.
+
+M src/login-common/client-common-auth.c
+
+2016-02-10 16:54:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c43657912c)
+
+ auth: Added "fail" parameter, which fails the passdb lookup.
+
+
+M src/auth/auth-request.c
+
+2016-02-10 16:51:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (61c2b28eb0)
+
+ auth: Don't revert any previous failed=TRUE status if allow_nets check
+ succeeds
+
+
+M src/auth/auth-request.c
+
+2016-02-10 15:50:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ec39e55c70)
+
+ Makefile: Added missing ostream-escaped.h
+
+
+M src/lib/Makefile.am
+
+2016-02-10 15:39:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b9ee73a064)
+
+ lib-http: Fixed test-http-request-parser unit test
+
+ Patch by Stephan Bosch
+
+M src/lib-http/test-http-request-parser.c
+
+2016-02-08 16:22:34 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (662bb64be8)
+
+ lib: Add ostream-escaped filter
+
+
+M src/lib/Makefile.am
+M src/lib/json-parser.c
+M src/lib/json-parser.h
+A src/lib/ostream-escaped.c
+A src/lib/ostream-escaped.h
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+A src/lib/test-ostream-escaped.c
+
+2016-02-09 10:03:56 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (2d43af543f)
+
+ doveadm-print: Fix doveadm_print_json_print_stream
+
+
+M src/doveadm/doveadm-print-json.c
+
+2016-02-08 22:57:13 +0100 Stephan Bosch <stephan@rename-it.nl> (9a07da0948)
+
+ lib-http: message parser: Made sure that payload stream is always destroyed
+ (hence closed) when the next request is to be parsed.
+
+ This makes sure that the connection input is always at the correct position
+ for the next request. Remaining references to the payload stream could
+ theoretically mess this up.
+
+M src/lib-http/http-message-parser.c
+
+2016-02-08 22:55:09 +0100 Stephan Bosch <stephan@rename-it.nl> (489fb497f3)
+
+ lib-http: server: Make sure that any pending request is aborted and
+ destroyed before connection FDs are closed.
+
+ This way, any payload io struct created from the request callback can be
+ freed before the associated FD becomes invalid. This would cause an assert
+ failure otherwise.
+
+M src/lib-http/http-server-connection.c
+
+2016-02-08 22:53:50 +0100 Stephan Bosch <stephan@rename-it.nl> (14137be591)
+
+ lib-http: server: Sometimes a success response was sent before all payload
+ from the client request was read.
+
+ This can confuse clients, so this is supposed to be prevented.
+
+M src/lib-http/http-server-connection.c
+
+2016-02-08 22:52:38 +0100 Stephan Bosch <stephan@rename-it.nl> (b498cc3045)
+
+ lib-http: server: Fixed memory problem reported by Valgrind, which was
+ caused by the request being freed too early while sending a response.
+
+ Fixed by referencing the request while it is being sent.
+
+M src/lib-http/http-server-connection.c
+
+2016-02-08 22:51:14 +0100 Stephan Bosch <stephan@rename-it.nl> (01476c4d6b)
+
+ lib-http: server: Fixed datastack framing problem in error handling of
+ response sending.
+
+ The returned error string crossed a data stack frame, which wasn't handled
+ correctly.
+
+M src/lib-http/http-server-response.c
+
+2016-02-08 22:49:28 +0100 Stephan Bosch <stephan@rename-it.nl> (ba9528fee8)
+
+ lib-http: request parser: Made sure that partially parsed requests never
+ have stale string values.
+
+ Due to the fact that we assign method and target fields early for proper
+ error messages, stale fields from previous requests could have ended up in a
+ partially parsed new request.
+
+M src/lib-http/http-request-parser.c
+
+2016-02-08 22:47:30 +0100 Stephan Bosch <stephan@rename-it.nl> (e1d8d185fa)
+
+ lib-http: client: Fixed pipelining bug: client sometimes sent new request
+ while still waiting for 100-continue.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2016-02-08 22:45:54 +0100 Stephan Bosch <stephan@rename-it.nl> (79f8a20424)
+
+ lib-http: client: Make sure that any pending request is aborted and
+ destroyed before connection FDs are closed.
+
+ This way, any payload io struct created from the response callback can be
+ freed before the associated FD becomes invalid. This would cause an assert
+ failure otherwise.
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2016-02-08 22:44:52 +0100 Stephan Bosch <stephan@rename-it.nl> (da30047255)
+
+ lib-http: Forgot to assign pointer parameter to NULL in request/response
+ parser deinit functions.
+
+
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-response-parser.c
+
+2016-02-09 10:34:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (af3f70f21a)
+
+ Makefile: Added missing auth-request-stats.h
+
+
+M src/auth/Makefile.am
+
+2016-02-08 18:43:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1f1df2d3cb)
+
+ doveadm auth test/login: Added -M <master user> parameter.
+
+
+M src/doveadm/doveadm-auth.c
+
+2016-02-08 16:21:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (38834f0ec8)
+
+ stats: Minor error message cleanup.
+
+ FIFO stats can come from auth also, not just mail server.
+
+M src/stats/fifo-input-connection.c
+
+2016-02-08 16:20:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (44cf91b7a7)
+
+ auth: If auth_stats=yes, send statistics to stats process.
+
+
+M src/auth/Makefile.am
+A src/auth/auth-request-stats.c
+A src/auth/auth-request-stats.h
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+A src/auth/auth-stats.c
+A src/auth/auth-stats.h
+M src/auth/main.c
+M src/auth/passdb-cache.c
+
+2016-02-05 11:36:32 -0700 Michael M Slusarz <michael.slusarz@dovecot.fi> (6cda5e1a9b)
+
+ man: document dsync -m and -R options
+
+
+M doc/man/doveadm-sync.1.in
+
+2016-02-08 12:20:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2eed51b45a)
+
+ lib-master: Fail if syslog_facility's value is unknown.
+
+
+M src/lib-master/master-service-settings.c
+
+2016-02-08 12:04:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (dd5683e199)
+
+ acl: If acl_user is set, use it for ACL username checks. Overrides
+ master_user.
+
+
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-plugin.h
+M src/plugins/acl/acl-storage.c
+
+2016-02-05 15:55:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (90cf976e32)
+
+ auth: Small code cleanup to auth cache - deduplicate code.
+
+ No functional changes.
+
+M src/auth/passdb-cache.c
+
+2016-02-05 15:54:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5bb7c9863c)
+
+ auth: Minor code cleanup - fix parameter type
+
+
+M src/auth/passdb-cache.c
+M src/auth/passdb-cache.h
+
+2016-02-05 15:48:25 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6a6a995b34)
+
+ auth: If auth cache lookup results in expired entry, it should be tracked in
+ stats as a "miss"
+
+
+M src/auth/auth-cache.c
+
+2016-02-05 15:26:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0432583673)
+
+ stats: Removed accidentally commited i_panic() in abb242da
+
+
+M src/stats/mail-session.c
+
+2016-02-05 15:07:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (800787d72a)
+
+ stats: Split stats-connection.[ch] to lib-stats/ and plugin's mail-specific
+ parts.
+
+
+M src/lib-stats/Makefile.am
+R056 src/plugins/stats/stats-connection.c src/lib-stats/stats-connection.c
+A src/lib-stats/stats-connection.h
+M src/plugins/stats/Makefile.am
+A src/plugins/stats/mail-stats-connection.c
+A src/plugins/stats/mail-stats-connection.h
+D src/plugins/stats/stats-connection.h
+M src/plugins/stats/stats-plugin.c
+
+2016-02-05 14:55:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b7a0a5c1e8)
+
+ stats: Added ADD-USER command to add stats to a user without having a
+ session.
+
+ This will be used by at least the auth process. Although the auth process
+ does have a session, it's a bit too early to start using it yet. At least
+ the PID should be possible to change when the session moves to imap process.
+ Also the unsuccessful authentication sessions shouldn't really be added at
+ all.
+
+M src/stats/fifo-input-connection.c
+M src/stats/mail-user.c
+M src/stats/mail-user.h
+
+2016-02-05 14:35:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e618403cd6)
+
+ stats: Renamed mail-server-connection to fifo-input-connection.
+
+
+M src/stats/Makefile.am
+R067 src/stats/mail-server-connection.c src/stats/fifo-input-connection.c
+A src/stats/fifo-input-connection.h
+D src/stats/mail-server-connection.h
+M src/stats/main.c
+M src/stats/stats-settings.c
+
+2016-02-04 14:02:42 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (adb90447f6)
+
+ lib-mail: Reading from istream-header-filter second time reverted callback's
+ eoh change.
+
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2016-02-04 13:32:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f6497ac81e)
+
+ lib: Fixed calling json_parse_skip_next() within arrays
+
+
+M src/lib/json-parser.c
+M src/lib/test-json-parser.c
+
+2016-02-04 13:31:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a18503d5dc)
+
+ lib: If json-parser has JSON_PARSER_NO_ROOT_OBJECT set, return the ending
+ root "]" and "}"
+
+
+M src/lib/json-parser.c
+M src/lib/test-json-parser.c
+
+2016-02-03 17:56:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (52d50af433)
+
+ lib: Avoid typeof() if HAVE_TYPEOF isn't set, even if gcc version is high
+ enough.
+
+ This is mainly to test that we can compile without typeof().
+
+M src/lib/macros.h
+
+2016-02-03 14:05:07 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2812f5744f)
+
+ imap, pop3, imap-urlauth: Added -a <auth-master socket path> parameter
+
+
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/main.c
+M src/pop3/main.c
+
+2016-02-03 14:00:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (74ad0b9833)
+
+ *-login: Added -l parameter to specify the socket where to connect to after
+ authentication
+
+
+M src/login-common/main.c
+
+2016-02-03 13:56:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1c75bf2489)
+
+ imap: SETMETADATA shouldn't crash when value parameter is missing.
+
+
+M src/imap/cmd-setmetadata.c
+
+2016-02-03 13:03:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5d08475be1)
+
+ lib-sasl: Compiler warning fix for previous EXTERNAL change..
+
+
+M src/lib-sasl/mech-external.c
+
+2016-02-03 12:29:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (66ce342948)
+
+ lib-sasl: Don't require authid for EXTERNAL mechanism, since we're not
+ really authenticating.
+
+
+M src/lib-sasl/mech-external.c
+
+2016-02-03 12:26:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (405d5f230d)
+
+ lib-sasl: Added support for EXTERNAL SASL mechanism
+
+
+M src/lib-sasl/Makefile.am
+M src/lib-sasl/dsasl-client-private.h
+M src/lib-sasl/dsasl-client.c
+A src/lib-sasl/mech-external.c
+
+2016-02-02 22:06:38 +0200 Aki Tuomi <aki.tuomi@dovecot.net> (19d31b4456)
+
+ doveadm: Reset JSON formatter context before reuse
+
+ This is needed to implement multicommand support in HTTP API.
+
+M src/doveadm/doveadm-print-json.c
+
+2016-02-02 12:32:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5f8d497e88)
+
+ pop3c: Compiler warning fixes to earlier change
+
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+
+2016-02-01 23:32:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d78eb0a682)
+
+ imapc: Compare INBOX in STATUS case-insensitively.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2016-02-01 22:48:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d1808f883d)
+
+ sdbox: Failing after saved mails' UIDs were already assigned caused
+ unlink()ing garbage
+
+ Mainly with dsync when it fails, the transaction is still committed and
+ mails are given UIDs. If the transaction commit still fails, it attempts to
+ rollback the saved mails by unlink()ing them, but at that point the path
+ pointed to an already freed memory. This caused unlink() errors with some
+ garbage strings as the path (and hopefully no actually valid paths).
+
+ The easiest way to reproduce this was to fill up the filesystem with dsync.
+
+M src/lib-storage/index/dbox-single/sdbox-file.c
+
+2016-02-01 22:40:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7ae6552482)
+
+ dsync: If mailbox importing fails, stop immediately without waiting for
+ exporter to finish.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2016-02-01 20:30:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (71caf493c6)
+
+ imap: Removed now-unused cmd_sync_callback(), which doesn't work very well.
+
+ See commit message in b7b25e0 for more details.
+
+M src/imap/imap-sync.c
+M src/imap/imap-sync.h
+
+2016-02-01 20:26:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b7b25e0ae0)
+
+ imap: Removed special EXPUNGE callback for an Outlook workaround.
+
+ As the comment mentions, this workaround isn't needed if index files are
+ used. Hopefully also the Outlook bug itself is gone nowadays.. In any case
+ the current callback code didn't work, because it was returning FALSE and
+ causing an assert in a pipelined EXPUNGE+APPEND combination after 6e9454f:
+
+ Panic: file imap-client.c: line 862 (client_check_command_hangs): assertion
+ failed: (!have_wait_unfinished || unfinished_count > 0)
+
+ It would probably be possible to fix this, but it would complicate the code
+ even further, so it's easier just to get rid of this feature. It was easily
+ triggered by running imaptest stress testing.
+
+M src/imap/cmd-expunge.c
+
+2016-02-01 19:08:24 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a58963a8bd)
+
+ pop3-migration: Ignore mails returned as expunged by pop3c.
+
+ Whether the -ERR actually meant they were expunged or not is another issue,
+ but the answer to that belongs to pop3c code. MAIL_ERROR_EXPUNGED in any
+ case can be safely handled this way here.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-02-01 19:07:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f2686912e0)
+
+ pop3c: If prefetch fails, treat it as if prefetching simply wasn't done.
+
+ This avoids having error handling twice. Also in case the error was caused
+ by -ERR, this should retry the operation, which even might fix it in some
+ situations.
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+
+2016-02-01 17:57:07 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (06fda713b8)
+
+ pop3-migration: Use message_header_hash_more() instead of duplicating the
+ code
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-02-01 17:56:49 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (988cb706fc)
+
+ lib-mail: Changed message_header_hash_more() to support any hash algorithm
+
+
+M src/doveadm/dsync/dsync-mail.c
+M src/lib-mail/message-header-hash.c
+M src/lib-mail/message-header-hash.h
+M src/lib-mail/test-message-header-hash.c
+
+2016-02-01 17:38:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f6ae9ae80a)
+
+ lib: JSON parser can now optionally parse input that isn't an object.
+
+ Based on patch by Aki Tuomi.
+
+M src/lib/json-parser.c
+M src/lib/json-parser.h
+M src/lib/test-json-parser.c
+
+2016-02-01 17:30:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4bfa47e475)
+
+ lib: Fixed json-parser to correctly parse numbers at EOF.
+
+ Numbers are a bit special compared to others, because they don't have any
+ clear character indicating that the number ends. So we can only assume that
+ the number is finished when EOF is reached, although even that isn't
+ necessarily correct in case the stream is terminated unexpectedly.
+
+ This change is in prepartion for the next change. With current JSON parser
+ this issue could never happen because "}" was expected just before EOF.
+
+M src/lib/json-parser.c
+
+2016-02-01 17:00:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (736b1800b0)
+
+ lib: Code cleanup to json-parser - assume less that the root is an object
+
+
+M src/lib/json-parser.c
+M src/lib/test-json-parser.c
+
+2016-01-29 00:08:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1dc963aff4)
+
+ lib-mail, dsync: Moved dsync_mail_hash_more() to
+ lib-mail/message-header-hash.*
+
+
+M src/doveadm/dsync/Makefile.am
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mail.h
+M src/lib-mail/Makefile.am
+A src/lib-mail/message-header-hash.c
+A src/lib-mail/message-header-hash.h
+R090 src/doveadm/dsync/test-dsync-mail.c src/lib-mail/test-message-header-hash.c
+
+2016-02-01 14:44:11 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (0d0f620493)
+
+ lib-http: Add function to update HTTP response status
+
+
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.h
+
+2016-01-21 19:49:12 +0200 Aki Tuomi <aki.tuomi@dovecot.net> (3cd674e541)
+
+ doveadm: Add JSON formatter support
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-print-json.c
+M src/doveadm/doveadm-print-private.h
+M src/doveadm/doveadm-print.h
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+
+2016-01-25 10:50:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (fe5fcad061)
+
+ doveadm-print: Add flag indicating number-only field
+
+
+M src/doveadm/doveadm-print.h
+
+2016-01-29 17:47:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (589a288a09)
+
+ Compiler warning fix to previous commit
+
+
+M src/lib-lda/smtp-client.c
+
+2016-01-29 17:42:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7c925149e4)
+
+ Replace host:port parsers with net_str2hostport().
+
+
+M src/director/director-host.c
+M src/doveadm/doveadm-util.c
+M src/lib-lda/smtp-client.c
+M src/lib/iostream-rawlog.c
+
+2016-01-29 17:32:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8bb311aef8)
+
+ lib: Added net_str2hostport()
+
+
+M src/lib/net.c
+M src/lib/net.h
+M src/lib/test-net.c
+
+2016-01-29 16:23:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4209bd278f)
+
+ last-login: Added last_login_precision setting
+
+
+M src/plugins/last-login/last-login-plugin.c
+
+2016-01-29 16:07:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (87066db47c)
+
+ lib-sasl: Allow plugins to override the default SASL client mechanisms.
+
+
+M src/lib-sasl/dsasl-client.c
+
+2016-01-29 15:09:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (931bc104bc)
+
+ lib-imap: Write invalid Content-Transfer-Encoding value as "7bit" to
+ BODY/BODYSTRUCTURE.
+
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/test-imap-bodystructure.c
+
+2016-01-29 10:29:05 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (d3a430481a)
+
+ lib: Add tests for str_is_float
+
+
+M src/lib/test-strnum.c
+
+2016-01-29 10:28:53 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (e76409232c)
+
+ lib: Add str_is_float check function
+
+
+M src/lib/strnum.c
+M src/lib/strnum.h
+
+2016-01-28 20:47:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f0d1de444d)
+
+ dsync: Improved header hash v2 algorithm to remove repeated '?' chars.
+
+ This is to help with Yahoo that replaces UTF-8 chars in headers with a
+ single '?' (instead of '?' per each 8bit byte).
+
+M src/doveadm/dsync/Makefile.am
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mail.h
+A src/doveadm/dsync/test-dsync-mail.c
+
+2016-01-28 20:23:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (96ca70b91d)
+
+ lib-index: Memory leak fix for test-mail-index-map
+
+ This failed when running make check with valgrind.
+
+M src/lib-index/test-mail-index-map.c
+
+2016-01-28 20:16:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d430698b6d)
+
+ pop3-migration: Fix to 5407a86 - don't sync POP3 UIDLs when we don't need to
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-28 19:56:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e1bef591ed)
+
+ dsync: Avoid finishing importer successfully on exporter failures.
+
+ At least dsync_mailbox_import_changes_finish() could have been called when
+ exporter was already failed.
+
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-export.h
+
+2016-01-28 19:55:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (79490ec1a5)
+
+ doveadm backup: If local mailbox has more mails than remote, detect and
+ delete it earlier.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2016-01-28 19:51:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7d8603f26c)
+
+ imapc: Don't mark the initial sync done if it wasn't successful.
+
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2016-01-28 19:49:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e1fb4dcfef)
+
+ imapc: Handle disconnection when NOOP is sent to verify if mail is expunged.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2016-01-28 19:48:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0cc566d5e6)
+
+ lib-index: Added unit test to mail_index_map_lookup_seq_range()
+
+
+M src/lib-index/Makefile.am
+A src/lib-index/test-mail-index-map.c
+
+2016-01-28 17:53:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (46d42562fa)
+
+ imapc: Don't ignore FETCH, SEARCH and EXPUNGE returning NO failures in
+ syncing.
+
+ Especially if the FETCH 1:* (FLAGS) didn't succeed, we expunged all the
+ mails from local index.
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2016-01-28 17:43:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (14fb3a2f6a)
+
+ imapc: If FETCH didn't send our wanted data, log the tagged FETCH reply
+ text.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mail.h
+
+2016-01-28 17:29:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (740e369c02)
+
+ imapc: Don't use fetch-fix-broken-mails for NO [LIMIT] FETCH replies
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2016-01-28 17:15:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b8947936e6)
+
+ imapc: Remove X-Message-Flag filtering if imapc_features has rfc822.size
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2016-01-28 17:03:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (956a62e2b6)
+
+ doveadm: All commands iterating mails stop now if doveadm has been killed.
+
+
+M src/doveadm/doveadm-mail-iter.c
+
+2016-01-28 16:59:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (34fe9f3e65)
+
+ doveadm: Enable SIGINT and SIGTERM signal handler for all doveadm mail
+ commands.
+
+ Most importantly this allows stopping dsync.
+
+M src/doveadm/doveadm-mail.c
+
+2016-01-28 16:43:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (69f6407b20)
+
+ doveadm backup: Detect and handle conflicts earlier.
+
+ This avoids doing a lot of work, only for the next doveadm backup to just
+ delete the entire mailbox and start from the beginning.
+
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2016-01-28 16:26:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a221d0d259)
+
+ imapc: Fixed assert-crash in mailbox syncing, if mailbox couldn't be opened.
+
+ Usually meaning that syncing was attempted when IMAP server couldn't be
+ connected to. Fixes the assert:
+
+ Panic: file imapc-client.c: line 439 (imapc_client_get_capabilities):
+ assertion failed: (conn != NULL)
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2016-01-28 15:36:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6e9454f1d9)
+
+ imap: Send all pending tagged command replies before APPEND is started.
+
+ This probably doesn't matter a lot, but it's cleaner.
+
+ One side effect of this change is that if multiple APPENDs are pipelined
+ (without MULTIAPPEND) on the selected mailbox, this now performs a sync
+ between each APPEND and sends the EXISTS replies. This may be slightly lower
+ in performance, but it's also slightly more correct behavior.
+
+M src/imap/imap-commands.c
+
+2016-01-28 15:16:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bb869cc24b)
+
+ lib: Added json_append_escaped_data() to escape non-NUL terminated input.
+
+
+M src/lib/json-parser.c
+M src/lib/json-parser.h
+M src/lib/test-json-parser.c
+
+2016-01-28 15:05:38 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (10972f2a15)
+
+ lib: json_append_escaped() doesn't need to escape the 8bit chars.
+
+ We'll assume that the input is valid UTF-8.
+
+M src/lib/json-parser.c
+M src/lib/json-parser.h
+M src/lib/test-json-parser.c
+
+2016-01-28 13:45:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4eccf5310a)
+
+ lib-index: If transaction log was locked for at least 30 secs, log a warning
+ (not at 3min)
+
+ This is because we log a warning about it already when locking it took 30
+ seconds, so it's useful to see which process was actually keeping the lock.
+
+M src/lib-index/mail-transaction-log-file.c
+
+2016-01-27 15:44:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5407a86a03)
+
+ pop3-migration: Perform UIDL syncing a bit earlier to work around Yahoo IMAP
+ bug.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-27 15:16:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (638734376d)
+
+ imapc: Don't use fetch-fix-broken-mails for OK and NO [SERVERBUG] FETCH
+ replies
+
+ Hopefully no servers are actually returning OK without returning a FETCH
+ reply. If they are, maybe we need another workaround..
+
+ In any case Yahoo IMAP sometimes loses state and starts returning OK without
+ FETCH replies to all UID FETCH requests (and BADs to FETCHes). It also may
+ return NO [UNAVAILABLE] for both permanent and temporary FETCH failures, so
+ we can't do anything with that.
+
+ I added NO [SERVERBUG] because that's what Dovecot responds to temporary
+ failures. I'm not sure how useful that check is though.
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mail.h
+
+2016-01-27 10:17:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c67f6d09c1)
+
+ lib: Make static analyzer happier about istream-chain changes
+
+
+M src/lib/istream-chain.c
+
+2016-01-27 02:04:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (84a5175b97)
+
+ pop3c: Fixed assert-crash when prefetching a mail failed.
+
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-storage.h
+
+2016-01-27 01:12:21 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fd3d068169)
+
+ *-login: Add all returned passdb fields to struct
+ client_auth_reply.all_fields
+
+ These will be mainly useful to plugins.
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+
+2016-01-27 00:35:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f3b0efdcbd)
+
+ fts-solr: Changed default operator to AND to fix multi-word queries.
+
+ Previously for example searching from:foo@example.com was expanded to foo OR
+ example OR com. Now it's foo AND example AND com, which makes a lot more
+ sense.
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2016-01-26 23:51:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1ac936bd9c)
+
+ pop3c: Compiler warning fix for using wrong enum type
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2016-01-26 22:10:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cfb351c1d2)
+
+ pop3-migration: If reading message header for hashing fails, fail
+ immediately.
+
+ This avoids flooding the log with a ton of errors in case the POP3
+ connection dies.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-26 19:56:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (45af477836)
+
+ dsync: When comparing headers' hashes to match messages, try to normalize
+ the input.
+
+ This is especially useful because some IMAP servers return different data
+ depending on whether we're fetching only specific header fields, all headers
+ or entire body. For now we're assuming that any non-ASCII is going to be
+ replaced with '?', which helps at least with Zimbra and Yahoo. The header
+ hashing algorithm is now versionable, so it can be modified more easily in
+ future.
+
+ This change should make imapc_features=zimbra-workarounds setting obsolete.
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-export.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-26 17:55:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ee33544fcf)
+
+ pop3-migration: Don't change TAB to '?' when calculating header hash.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-26 17:53:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (414d4ee117)
+
+ pop3-migration: Don't even try to match message sizes with
+ pop3_migration_skip_size_check=yes
+
+ This skipped the header check for mailboxes that had only a single mail.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-26 15:41:16 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (afc77c5375)
+
+ pop3c: Added support for TOP/RETR prefetching when PIPIELINING capability
+ exists.
+
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-storage.h
+
+2016-01-26 15:40:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (60d1fdf2c1)
+
+ pop3c: Added full support for running commands asynchronously (with
+ PIPELINING)
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-client.h
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+
+2016-01-26 15:38:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9999b049d4)
+
+ pop3c: Increased command timeout from 30s to 5mins.
+
+ Possibly should be made configurable, but use this for now.
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2016-01-26 15:22:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9abc6ac61e)
+
+ pop3-migration: Cached header hashes weren't actually being used for imapc.
+
+ We'll need to do the search twice: Once to find out the actual cached header
+ hashes and then second time do a search for the message headers excluding
+ the emails whose hashes we already know. This allows prefetching to work for
+ imapc without prefetching all the emails as it was doing.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-26 15:20:48 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5c92436a61)
+
+ lib: istream-concat now seeks parent streams to correct offset.
+
+ All of the streams' offsets were somewhat random.
+
+M src/lib/istream-concat.c
+M src/lib/test-istream-concat.c
+
+2016-01-26 15:17:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0c3ec2538c)
+
+ lib: Small istream-concat code cleanup in preperation for next change
+
+ No actual changes, just moved some code into i_stream_concat_skip().
+
+M src/lib/istream-concat.c
+
+2016-01-26 14:19:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (96af3e787c)
+
+ lib: Improved test-istream-seekable unit test to check for parent stream's
+ offset at the end
+
+
+M src/lib/test-istream-seekable.c
+
+2016-01-26 13:51:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3ab672903a)
+
+ lib: When closing istream-chain, make sure parent stream is seeked to
+ correct offset.
+
+ We were only seeking it earlier if it ended at EOF.
+
+M src/lib/Makefile.am
+M src/lib/istream-chain.c
+A src/lib/test-istream-chain.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2016-01-25 22:34:24 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (57e1fdc2f8)
+
+ pop3-migration: Add calculated header hashes to local cache.
+
+ This allows faster resuming on failures if local pop3c indexes are used.
+
+M src/plugins/pop3-migration/Makefile.am
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-25 22:33:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2676c973a6)
+
+ pop3c: Preserve local cache even when server reorders messages.
+
+
+M src/lib-storage/index/pop3c/pop3c-sync.c
+
+2016-01-25 21:57:35 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c06f45d064)
+
+ pop3c: Avoid unnecessarily email deletions from local index when mails have
+ been deleted from remote POP3.
+
+
+M src/lib-storage/index/pop3c/pop3c-sync.c
+
+2016-01-25 17:37:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (759a60c896)
+
+ imap: Finish all commands before starting IDLE.
+
+ We don't want to send tagged command replies only after the DONE. Also this
+ fixes assert-crash:
+
+ Panic: file imap-client.c: line 852 (client_check_command_hangs): assertion
+ failed: (!have_wait_unfinished || unfinished_count > 0)
+
+ Which could be reproduced by:
+
+ printf "0 SELECT INBOX\n1 NOOP\n2 IDLE\n"; read; printf "DONE\n"; read) |
+ ./imap
+
+M src/imap/imap-commands.c
+
+2016-01-25 10:26:17 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5085686ff2)
+
+ imapc: Prefetching shouldn't send FETCH requests for headers that are
+ already cached.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mail.h
+
+2016-01-24 22:12:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b76737b21c)
+
+ auth: Add any %variables in passdb/userdb { default_fields } to cache key.
+
+
+M src/auth/passdb.c
+M src/auth/userdb.c
+
+2016-01-24 22:10:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (80e80d414f)
+
+ auth: Avoid unnecessary work if passdb/userdb { override_fields,
+ default_fields } aren't set.
+
+
+M src/auth/passdb-template.c
+M src/auth/passdb-template.h
+M src/auth/userdb-template.c
+
+2016-01-24 22:07:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2386f3448b)
+
+ .gitignore: Added *.orig and *.rej
+
+ They are created often enough to become annoying.
+
+M .gitignore
+
+2016-01-24 22:06:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0fa40bfd73)
+
+ config: Fixed '\' line continuation to work again.
+
+ This had been broken for many years.
+
+M src/config/config-parser-private.h
+M src/config/config-parser.c
+M src/config/old-set-parser.c
+
+2016-01-24 20:07:58 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (72020d0a38)
+
+ imapc: If command times out, reconnect and retry if possible.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2016-01-24 19:54:51 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (30f6ac0eaf)
+
+ pop3-migration: Fix to 2f19f8 - Don't convert LF also to '?' in header
+ hashes.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-24 19:34:21 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5fa253bd31)
+
+ pop3-migration: Filter out headers with invalid names.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-24 19:23:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2f19f8ff90)
+
+ pop3-migration: Convert all non-ASCII in headers to '?'
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-24 18:15:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2ddc5efd47)
+
+ imapc: Added imapc_features=fetch-fix-broken-mails
+
+ This allows ignoring a missing FETCH reply. It shouldn't be used normally,
+ but if there's a mail that the IMAP server simply won't serve, this can be
+ used to finish dsync successfully.
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+
+2016-01-24 17:41:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cff23ec511)
+
+ imapc: Added imapc_cmd_timeout setting to control the command wait timeouts.
+
+
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2016-01-24 17:39:28 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (53841bd6c6)
+
+ imapc: Added imapc_features=fetch-msn-workarounds
+
+ This can be used to work around broken servers that send invalid MSNs. This
+ avoids errors like:
+
+ imapc: Mailbox 'INBOX' state corrupted: FETCH UID mismatch (78976 != 82589)
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+
+2016-01-24 17:38:39 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e9d659ad49)
+
+ pop3-migration: If we matched all the IMAP (but not all POP3) messages, log
+ about it.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-24 17:13:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c39c3d8089)
+
+ pop3-migration: Ignore X-Yahoo-Newman-Property: header
+
+ This exists only for Yahoo IMAP mails, but not for Yahoo POP3 mails.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-24 16:55:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (12e32734b3)
+
+ pop3-migration: When logging the first missing POP3 mail, it logged a wrong
+ mail
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-24 16:28:29 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (af99ca825f)
+
+ pop3-migration: When failing because some messages couldn't be matched, show
+ the first message's number and UIDL
+
+ This was already being done for the warning message when
+ pop3_migration_ignore_missing_uidls was set, but not for the error message
+ when it wasn't set.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-24 16:27:21 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b215322367)
+
+ pop3-migration: Added pop3_migration_skip_size_check setting
+
+ If we know that we're not going to be able to match any messages by sizes,
+ we might as well not ask for the messages' sizes. This is useful at least
+ with Yahoo.
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-24 16:25:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (35ef661bd8)
+
+ pop3-migration: Ignore Return-Path: header when matching UIDLs by header
+ hashes
+
+ This fixes matching between Yahoo IMAP and Yahoo POP3
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2016-01-23 15:48:14 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b23317e667)
+
+ auth: Apply override_fields to userdb also when continuing to the next
+ userdb.
+
+
+M src/auth/auth-request.c
+
+2016-01-23 15:12:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (cc4723ad7f)
+
+ auth: If userdb result was found from cache, its result_* rules were
+ ignored.
+
+
+M src/auth/auth-request.c
+
+2016-01-23 14:05:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9fa4ac629e)
+
+ ldap auth: %variables in pass/user_attrs are now included in auth cache key.
+
+ This makes sure that the result won't be cached too aggressively, for
+ example if %{lport} or %{rip} was used as a field's value. Although each of
+ these fields just makes the cache less effective, so it's a good idea to
+ avoid variables entirely in the pass/user_attrs. An alternative is to use
+ passdb/userdb { override_fields }
+
+M src/auth/passdb-ldap.c
+M src/auth/userdb-ldap.c
+
+2016-01-23 13:57:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e150cd7c82)
+
+ auth: Apply passdb/userdb { override_fields } only after caching
+
+ Now they're not be unnecessarily saved to cache to waste memory. More
+ importantly they will always override the cached fields, which is required
+ for %variables to work.
+
+M src/auth/auth-request.c
+
+2016-01-22 19:06:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (57591c5ea0)
+
+ doveadm: Changed most print formatters to write to ostream.
+
+ This allows all the formatters to be used when sending replies to the
+ upcoming doveadm HTTP server responses.
+
+ The "table" formatter wasn't modified, because it writes to both stdout and
+ stderr.
+
+M src/doveadm/client-connection.c
+M src/doveadm/client-connection.h
+M src/doveadm/doveadm-print-flow.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/doveadm-print-tab.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-print.h
+M src/doveadm/doveadm-server.h
+M src/doveadm/doveadm.c
+
+2016-01-22 19:08:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (78a6431465)
+
+ director: "Host is being updated before previous update had finished" logs
+ now details.
+
+
+M src/director/director-connection.c
+
+2016-01-22 15:15:03 +0000 Alin Dobre <alin@dovecot.fi> (127d0716d4)
+
+ doveadm: Add plugins support for doveadm pw
+
+ This simply tries to load all the auth plugins. The ones that aren't
+ password scheme plugins will most likely just fail. Hopefully this will work
+ fine so we don't need to require any specific naming rules for the plugins.
+
+ Signed-off-by: Alin Dobre <alin@dovecot.fi>
+
+M src/doveadm/Makefile.am
+M src/doveadm/doveadm-pw.c
+
+2016-01-22 17:14:37 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (34a41fd572)
+
+ fts-solr: If Solr lookup returns missing or invalid UID, fail the search.
+
+ We were previously logging the error but still returning success.
+
+M src/plugins/fts-solr/solr-connection.c
+
+2016-01-22 16:48:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (82130fea45)
+
+ doveadm: Make sure all mail storage hooks are freed at deinit.
+
+
+M src/doveadm/doveadm-mail.c
+M src/lib-storage/mail-storage-hooks.c
+
+2016-01-18 15:50:23 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (5b63d2b3b0)
+
+ master: Do not close stdout if going foreground
+
+ This lets one to use /dev/stdout for logging. Mainly useful for testing
+ purposes where we can generate log output to stdout and use tee to write it
+ to a file for later examination.
+
+M src/master/main.c
+
+2016-01-21 13:59:31 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7ab22fc479)
+
+ lib-auth: Error message typofix
+
+
+M src/lib-auth/auth-server-connection.c
+
+2016-01-20 19:35:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8eac84684c)
+
+ Makefile: Fixed ChangeLog generation with older git versions that don't
+ support --since
+
+ Changed the oldest changeset to be the v2.0.0 release commit.
+
+M Makefile.am
+
+2016-01-20 13:30:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1fba10ff6f)
+
+ imap, pop3, lmtp: Enable MAIL_STORAGE_SERVICE_FLAG_AUTOEXPUNGE
+
+
+M src/imap/main.c
+M src/lmtp/main.c
+M src/pop3/main.c
+
+2016-01-20 13:30:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8cca3b43b2)
+
+ lib-storage: Enable autoexpunge only when
+ MAIL_STORAGE_SERVICE_FLAG_AUTOEXPUNGE is set.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2016-01-20 13:22:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8c68d9320a)
+
+ lib-storage: Fixed looking up MAILBOX_METADATA_FIRST_SAVE_DATE from mailbox
+ list index.
+
+ If the mailbox was cached as empty, we didn't check if it had since received
+ new messages. This caused the first-save-date to be returned as nonexistent,
+ which caused autoexpunging to not always work.
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2016-01-20 13:13:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ebeb528dfc)
+
+ lib-storage: Fixed updating first-saved-uid to mailbox list index when first
+ mails were just expunged.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2016-01-20 12:55:57 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ec0105e124)
+
+ lib-storage: Don't set internal error to storage when there's nothing to
+ sync.
+
+ This may also wrongly overwrite an existing error.
+
+M src/lib-storage/index/index-storage.c
+
+2016-01-19 23:47:08 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (52fe791133)
+
+ imap-login: If LOGINDISABLED capability is advertised in banner, don't try
+ to LOGIN without SSL/TLS.
+
+ This avoids accidentally sending the password in plaintext. Also the server
+ should fail the LOGIN in any case.
+
+M src/imap-login/imap-login-client.h
+M src/imap-login/imap-proxy.c
+
+2016-01-19 20:45:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (29ca4c8015)
+
+ lib: Don't crash if getenv() is called after process_title_deinit() with
+ Linux/OSX PROCTITLE_HACK
+
+ Right now the only known issue is GNUTLS's lib_deinit():
+
+ e = getenv("GNUTLS_NO_EXPLICIT_INIT");
+
+ But we likely never want that to be set. Alternative ways to solve this are
+ more annoying than our clearing the environment. Libraries probably
+ shouldn't rely on it much anyway, because some parts of Dovecot clear the
+ whole environment while running.
+
+M src/lib/process-title.c
+
+2016-01-19 15:39:13 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0df899fead)
+
+ config: Improved error messages for wrong order of nested
+ local/remote/protocol { .. } blocks
+
+
+M src/config/config-parser.c
+
+2016-01-19 15:15:19 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d861bc0977)
+
+ quota-clone: Avoid leaving a dict transaction open for unnecessarily long.
+
+ Even though the earlier change should fix the dict assert crash due to
+ opening multiple transactions when recursing back, this makes sure of it. It
+ could also be helpful for some dict backends to not keep the transaction
+ open for unnecessarily long.
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+
+2016-01-19 15:11:44 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5da08ab716)
+
+ quota-clone: Fixed update-recursion crash when closing mailbox.
+
+ We need to avoid recursing for all mailboxes that quota recalculation might
+ open and close, not just the one that triggered the recalculation.
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+
+2016-01-19 02:30:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (934f04e8a8)
+
+ pop3c: If authentication fails, log if it was done with USER+PASS or AUTH
+ PLAIN
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2016-01-19 02:26:24 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (56b13d0e6a)
+
+ pop3c: Improve authentication debug log messages a bit.
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2016-01-18 17:38:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (aabc4ae994)
+
+ auth: If passdbs are required, don't allow only master=yes passdbs.
+
+ This fixes a crash:
+
+ Panic: file auth-request.c: line 743 (auth_request_is_disabled_master_user):
+ assertion failed: (request->requested_login_user != NULL)
+
+ Which would happen because request->passdb=NULL because there are only
+ master passdbs. Even if only master passdb is actually needed, there should
+ still be a non-master passdb for non-master logins to specify what happens
+ to them.
+
+M src/auth/auth.c
+
+2016-01-18 17:08:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c21ce74d57)
+
+ *-login: Typofix for login_plugins error messages.
+
+
+M src/login-common/main.c
+
+2016-01-18 14:59:50 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (741a7e61d4)
+
+ lib-fs: Added default implementations for fs_iter_*(), fs_copy() and
+ fs_stat()
+
+ The backends can now leave them as NULL, and the callers will get an error
+ that they're not supported.
+
+M src/lib-fs/fs-api.c
+
+2016-01-18 14:57:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (1e6170b4c4)
+
+ lib-mail: istream-binary-converter lost last few chars from root-level
+ binary content.
+
+
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/test-istream-binary-converter.c
+
+2016-01-18 14:56:47 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (498eecf19b)
+
+ lib-mail: message-parser unit test now verifies that parsed block parts
+ match input.
+
+
+M src/lib-mail/test-message-parser.c
+
+2016-01-18 14:56:24 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (d45a4c7d1d)
+
+ lib-mail: Added message_header_line_write()
+
+
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-header-parser.h
+
+2016-01-15 14:11:34 +0200 Aki Tuomi <aki.tuomi@dovecot.net> (5c7c62f1e6)
+
+ ChangeLog: Generate mercurial style changelogs
+
+
+M Makefile.am
+M autogen.sh
+
+2016-01-18 13:28:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (96c8008467)
+
+ lib-storage: Ignore ACLs when autoexpunging.
+
+
+M src/lib-storage/mail-autoexpunge.c
+
+2016-01-18 12:31:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c80cf58a34)
+
+ quota: Fixed namespace filtering for dict and count backends.
+
+
+M src/plugins/quota/quota-count.c
+
+2016-01-16 21:47:53 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (47a53a8065)
+
+ lib-http: Assign an ID for each HTTP request and log it in debug lines.
+
+ The ID stays the same when request is retried. Added a "Req" prefix so it's
+ easier to search for the IDs. Based on patch by Stephan Bosch.
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2016-01-16 21:31:55 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bd06c77a12)
+
+ imapc: Added support for PROXYAUTH command by setting imapc_features =
+ proxyauth
+
+ This can be useful when talking to Sun/Oracle IMAP server, which wants you
+ to use LOGIN+PROXYAUTH to perform master user logins, instead of supporting
+ the standard SASL PLAIN authentication.
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2016-01-15 19:36:46 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f8567d8958)
+
+ stats: Added missing #include forgotten in 63393b70
+
+
+M src/stats/client.c
+
+2016-01-12 09:47:43 +0200 Aki Tuomi <aki.tuomi@dovecot.net> (102af99302)
+
+ doveadm-stats: Add documentation about stats subcommand
+
+
+M .gitignore
+M doc/man/Makefile.am
+A doc/man/doveadm-stats.1.in
+M doc/man/doveadm.1.in
+
+2016-01-11 15:46:35 +0200 Aki Tuomi <aki.tuomi@dovecot.net> (f970f2afa1)
+
+ doveadm-stats: Add stats reset command line
+
+
+M src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm.c
+
+2016-01-11 15:46:28 +0200 Aki Tuomi <aki.tuomi@dovecot.net> (63393b70c3)
+
+ stats: Add RESET call to stats client
+
+
+M src/stats/Makefile.am
+A src/stats/client-reset.c
+A src/stats/client-reset.h
+M src/stats/client.c
+
+2016-01-11 15:46:05 +0200 Aki Tuomi <aki.tuomi@dovecot.net> (75b12af385)
+
+ lib-stats: Add stats_reset function
+
+
+M src/lib-stats/stats.c
+M src/lib-stats/stats.h
+
+2016-01-07 11:09:50 +0200 Aki Tuomi <aki.tuomi@dovecot.fi> (7d4c8041ab)
+
+ lib-fts: Add lib-fts to CPPFLAGS as include dir
+
+ Without this, VPATH builds fail because the includes cannot be found as they
+ are not on same directory.
+
+M src/lib-fts/Makefile.am
+
+2016-01-15 18:03:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9132f9df4e)
+
+ *-login: Allow plugins to hook into client allocation and add
+ module-specific contexts to client.
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/login-common.h
+M src/login-common/main.c
+
+2016-01-15 17:17:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ad24c03403)
+
+ dovecot-config: Added LIBDOVECOT_{AUTH/POP3/IMAP_LOGIN}_INCLUDE
+
+
+M dovecot-config.in.in
+M dovecot.m4
+
+2016-01-15 16:51:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (98035bde0d)
+
+ imap-login: Install imap-login-*.h headers so plugins can use them.
+
+
+M src/imap-login/Makefile.am
+
+2016-01-15 16:49:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0af9ef2e9b)
+
+ imap-login: Renamed client.[ch] to imap-login-client.[ch]
+
+ This allows installing the imap-login-client.h without conflicting.
+
+M src/imap-login/Makefile.am
+M src/imap-login/client-authenticate.c
+R099 src/imap-login/client.c src/imap-login/imap-login-client.c
+R096 src/imap-login/client.h src/imap-login/imap-login-client.h
+M src/imap-login/imap-proxy.c
+
+2016-01-15 16:46:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ba7db1e008)
+
+ imap-login: Added API for registering/unregistering commands (for plugins).
+
+
+M src/imap-login/Makefile.am
+M src/imap-login/client.c
+A src/imap-login/imap-login-commands.c
+A src/imap-login/imap-login-commands.h
+
+2016-01-15 16:07:32 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (4819488364)
+
+ *-login: Added login_plugins and login_plugin_dir settings.
+
+
+M src/login-common/Makefile.am
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+M src/login-common/main.c
+
+2016-01-15 16:20:45 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7d8862f4bb)
+
+ Added v2.2.21 to NEWS.
+
+
+M NEWS
+
+2016-01-15 15:55:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fa68ab2388)
+
+ *-login: Changed -D parameter to mean a more generic login_debug option.
+
+
+M src/login-common/login-common.h
+M src/login-common/main.c
+
+2016-01-15 15:40:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (df596e34b6)
+
+ imapc: Added imapc_features = no-examine
+
+
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2016-01-15 15:12:30 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9d7f23fa23)
+
+ dsync: Fixed syncing subscription state with doveadm backup.
+
+ If DSYNC_MAILBOX_TREES_SYNC_TYPE_PRESERVE_REMOTE was set, we could still
+ have preserved the local subscription state. Also cleaned up the code a bit
+ to make it clearer.
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2016-01-15 15:04:21 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (e21baa33b4)
+
+ imapc: Fixed mailbox name escaping for STATUS
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2016-01-14 18:52:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6e2bb07ff1)
+
+ imapc: Fixed mailbox name escaping for CREATE, DELETE, RENAME, SUBSCRIBE,
+ UNSUBSCRIBE
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2016-01-14 18:50:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f97b503210)
+
+ imapc: Fixed escaping/unescaping mailbox names.
+
+ This fixes accessing mailbox names with '%' (the escape_char). It also fixes
+ local namespace separator being different from the remote separator.
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2016-01-14 18:47:40 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a4e2101473)
+
+ lib-storage: Added mailbox_list_[un]escape_name_params()
+
+ This allows calling the mailbox_list_[un]escape_name() with wanted
+ parameters instead of taking them from mailbox_list.
+
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+
+2016-01-14 16:28:06 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (be3b9374c9)
+
+ imapc: Don't duplicate standard mailbox flags in LIST replies.
+
+ We added the standard \NoSelect, \NonExistent, \NoInferiors and \Subscribed
+ to special_use string, which caused them to be sent duplicated.
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/mailbox-list.h
+
+2016-01-13 14:30:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (27f174f3b8)
+
+ virtual plugin: Added support for filtering mailboxes by METADATA entries.
+
+ Usage:
+
+ <mailbox patterns as usual>
+ [-]/<metadata-entry-name>:<value-wildcard>
+
+ There can be multiple metadata entries. All the entries must match.
+
+ For example:
+
+ *
+ /private/vendor/vendor.dovecot/virtual:*
+ -/private/vendor/vendor.dovecot/virtual:ignore
+
+ This matches all mailboxes, which contain a virtual METADATA entry that has
+ any value except "ignore".
+
+ Note that the current implementation requires still opening all the
+ mailboxes before matching the METADATA entries. This could be avoided in
+ v2.3 with some lib-storage API changes.
+
+M src/plugins/virtual/Makefile.am
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-storage.h
+
+2016-01-13 14:22:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bffa23c1be)
+
+ lib-imap-storage: imap_metadata_get*() returned 1 also when value wasn't
+ found.
+
+
+M src/lib-imap-storage/imap-metadata.c
+
+2016-01-13 13:46:33 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (28d6a9ec6b)
+
+ virtual plugin: Cleaned up behavior of '!' prefix with '+' and '-'
+
+ It makes a bit more sense now. Mainly the difference is that "!foo*" means
+ to save mails to a mailbox called "foo*", instead of including mailboxes
+ matching "!foo*" pattern to the virtual mailbox. It's unlikely anyone was
+ relying on this behavior.
+
+M src/plugins/virtual/virtual-config.c
+
+2016-01-13 13:41:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (77a2367051)
+
+ virtual plugin: Don't treat "+-box" as a negative entry.
+
+ This was already documented by wiki to work as a mailbox named "-box",
+ although it didn't actually work that way. There wasn't any practical
+ difference between "+-box" and "-box", so this change is unlikely to break
+ anyone's config. It was mainly done as code cleanup.
+
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-storage.h
+
+2016-01-13 13:31:54 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (fb297df915)
+
+ virtual plugin: Minor cleanup/fix - find the namespace after we have
+ processed special prefixes.
+
+ We already skipped over them earlier, but the logic wasn't exactly the same
+ as when they were actually being processed, so there could have been some
+ unexpected mismatches.
+
+M src/plugins/virtual/virtual-config.c
+
+2016-01-13 12:24:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (02c335c23b)
+
+ global: freshen copyright
+
+ git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-5]/$1-2016/g;s/ (201[0-5])
+ Dovecot/ $1-2016 Dovecot/'
+
+M doc/man/doveadm-acl.1.in
+M doc/man/doveadm-altmove.1.in
+M doc/man/doveadm-auth.1.in
+M doc/man/doveadm-batch.1.in
+M doc/man/doveadm-deduplicate.1.in
+M doc/man/doveadm-director.1.in
+M doc/man/doveadm-dump.1.in
+M doc/man/doveadm-exec.1.in
+M doc/man/doveadm-expunge.1.in
+M doc/man/doveadm-fetch.1.in
+M doc/man/doveadm-flags.1.in
+M doc/man/doveadm-force-resync.1.in
+M doc/man/doveadm-fts.1.in
+M doc/man/doveadm-help.1.in
+M doc/man/doveadm-import.1.in
+M doc/man/doveadm-index.1.in
+M doc/man/doveadm-instance.1.in
+M doc/man/doveadm-kick.1.in
+M doc/man/doveadm-log.1.in
+M doc/man/doveadm-mailbox.1.in
+M doc/man/doveadm-mount.1.in
+M doc/man/doveadm-move.1.in
+M doc/man/doveadm-penalty.1.in
+M doc/man/doveadm-proxy.1.in
+M doc/man/doveadm-purge.1.in
+M doc/man/doveadm-pw.1.in
+M doc/man/doveadm-quota.1.in
+M doc/man/doveadm-replicator.1.in
+M doc/man/doveadm-search-query.7
+M doc/man/doveadm-search.1.in
+M doc/man/doveadm-sync.1.in
+M doc/man/doveadm-user.1.in
+M doc/man/doveadm-who.1.in
+M doc/man/doveadm.1.in
+M doc/man/doveconf.1.in
+M doc/man/dovecot-lda.1.in
+M doc/man/dovecot.1.in
+M src/anvil/anvil-connection.c
+M src/anvil/anvil-settings.c
+M src/anvil/connect-limit.c
+M src/anvil/main.c
+M src/anvil/penalty.c
+M src/anvil/test-penalty.c
+M src/auth/auth-cache.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-fields.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-penalty.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-token.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/auth.c
+M src/auth/db-checkpassword.c
+M src/auth/db-dict-cache-key.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/auth/db-sql.c
+M src/auth/main.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-dovecot-token.c
+M src/auth/mech-external.c
+M src/auth/mech-plain.c
+M src/auth/mech-scram-sha1.c
+M src/auth/mech.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-checkpassword.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-imap.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb-template.c
+M src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme.c
+M src/auth/test-auth-cache.c
+M src/auth/test-auth-request-var-expand.c
+M src/auth/test-db-dict.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-checkpassword.c
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-nss.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-prefetch.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb-template.c
+M src/auth/userdb-vpopmail.c
+M src/auth/userdb.c
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/config-request.c
+M src/config/config-settings.c
+M src/config/doveconf.c
+M src/config/main.c
+M src/config/old-set-parser.c
+M src/config/sysinfo-get.c
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/dict/dict-settings.c
+M src/dict/main.c
+M src/director/auth-connection.c
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director-request.c
+M src/director/director-settings.c
+M src/director/director-test.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/mail-host.c
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+M src/dns/dns-client-settings.c
+M src/dns/dns-client.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-dict.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/doveadm-dump-thread.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-fs.c
+M src/doveadm/doveadm-instance.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-batch.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-deduplicate.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-flags.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-save.c
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/doveadm-master.c
+M src/doveadm/doveadm-mount.c
+M src/doveadm/doveadm-mutf7.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-print-flow.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/doveadm-print-tab.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-proxy.c
+M src/doveadm/doveadm-pw.c
+M src/doveadm/doveadm-replicator.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-sis.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm-zlib.c
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-deserializer.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-state.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox.c
+M src/doveadm/dsync/dsync-serializer.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+M src/doveadm/main.c
+M src/doveadm/server-connection.c
+M src/imap-hibernate/imap-client.c
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap-hibernate/imap-hibernate-settings.c
+M src/imap-hibernate/imap-master-connection.c
+M src/imap-hibernate/main.c
+M src/imap-login/client-authenticate.c
+M src/imap-login/client.c
+M src/imap-login/imap-login-settings.c
+M src/imap-login/imap-proxy.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-login-settings.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/imap-urlauth/imap-urlauth-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/cmd-append.c
+M src/imap/cmd-cancelupdate.c
+M src/imap/cmd-capability.c
+M src/imap/cmd-check.c
+M src/imap/cmd-close.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-enable.c
+M src/imap/cmd-examine.c
+M src/imap/cmd-expunge.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-genurlauth.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-id.c
+M src/imap/cmd-idle.c
+M src/imap/cmd-list.c
+M src/imap/cmd-logout.c
+M src/imap/cmd-lsub.c
+M src/imap/cmd-namespace.c
+M src/imap/cmd-noop.c
+M src/imap/cmd-notify.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-resetkey.c
+M src/imap/cmd-search.c
+M src/imap/cmd-select.c
+M src/imap/cmd-setmetadata.c
+M src/imap/cmd-sort.c
+M src/imap/cmd-status.c
+M src/imap/cmd-store.c
+M src/imap/cmd-subscribe.c
+M src/imap/cmd-thread.c
+M src/imap/cmd-unselect.c
+M src/imap/cmd-unsubscribe.c
+M src/imap/cmd-urlfetch.c
+M src/imap/cmd-x-cancel.c
+M src/imap/cmd-x-state.c
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands.c
+M src/imap/imap-expunge.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-list.c
+M src/imap/imap-master-client.c
+M src/imap/imap-notify.c
+M src/imap/imap-search-args.c
+M src/imap/imap-search.c
+M src/imap/imap-settings.c
+M src/imap/imap-state.c
+M src/imap/imap-status.c
+M src/imap/imap-sync.c
+M src/imap/mail-storage-callbacks.c
+M src/imap/main.c
+M src/indexer/indexer-client.c
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-settings.c
+M src/indexer/indexer-worker-settings.c
+M src/indexer/indexer-worker.c
+M src/indexer/indexer.c
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-pool.c
+M src/ipc/client.c
+M src/ipc/ipc-connection.c
+M src/ipc/ipc-group.c
+M src/ipc/ipc-settings.c
+M src/ipc/main.c
+M src/lda/main.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/charset-utf8.c
+M src/lib-charset/test-charset.c
+M src/lib-compression/compression.c
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-lz4.c
+M src/lib-compression/ostream-lzma.c
+M src/lib-compression/ostream-zlib.c
+M src/lib-compression/test-compression.c
+M src/lib-dict/dict-cdb.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-fs.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-register.c
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict-transaction-memory.c
+M src/lib-dict/dict.c
+M src/lib-dict/test-dict.c
+M src/lib-dns/dns-lookup.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-dict.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/istream-fs-file.c
+M src/lib-fs/istream-fs-stats.c
+M src/lib-fs/istream-metawrap.c
+M src/lib-fs/ostream-cmp.c
+M src/lib-fs/ostream-metawrap.c
+M src/lib-fts/fts-filter-contractions.c
+M src/lib-fts/fts-filter-english-possessive.c
+M src/lib-fts/fts-filter-lowercase.c
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-filter-stemmer-snowball.c
+M src/lib-fts/fts-filter-stopwords.c
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-icu.c
+M src/lib-fts/fts-language.c
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/fts-tokenizer.c
+M src/lib-fts/test-fts-filter.c
+M src/lib-fts/test-fts-icu.c
+M src/lib-fts/test-fts-language.c
+M src/lib-fts/test-fts-tokenizer.c
+M src/lib-http/http-auth.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-date.c
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-header.c
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-parser.c
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/http-url.c
+M src/lib-http/test-http-auth.c
+M src/lib-http/test-http-client.c
+M src/lib-http/test-http-date.c
+M src/lib-http/test-http-header-parser.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-response-parser.c
+M src/lib-http/test-http-server.c
+M src/lib-http/test-http-transfer.c
+M src/lib-http/test-http-url.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-msgmap.c
+M src/lib-imap-storage/imap-metadata.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap-urlauth/imap-urlauth.c
+M src/lib-imap/imap-arg.c
+M src/lib-imap/imap-base-subject.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-id.c
+M src/lib-imap/imap-keepalive.c
+M src/lib-imap/imap-match.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-seqset.c
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-utf7.c
+M src/lib-imap/imap-util.c
+M src/lib-imap/test-imap-bodystructure.c
+M src/lib-imap/test-imap-match.c
+M src/lib-imap/test-imap-parser.c
+M src/lib-imap/test-imap-quote.c
+M src/lib-imap/test-imap-url.c
+M src/lib-imap/test-imap-utf7.c
+M src/lib-imap/test-imap-util.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-dummy-view.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-util.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mailbox-log.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-index/test-mail-transaction-log-view.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/lda-settings.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-send.c
+M src/lib-lda/smtp-client.c
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/istream-nonuls.c
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/mail-html2text.c
+M src/lib-mail/mail-user-hash.c
+M src/lib-mail/mbox-from.c
+M src/lib-mail/message-address.c
+M src/lib-mail/message-binary-part.c
+M src/lib-mail/message-date.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-id.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part-serialize.c
+M src/lib-mail/message-part.c
+M src/lib-mail/message-search.c
+M src/lib-mail/message-size.c
+M src/lib-mail/message-snippet.c
+M src/lib-mail/ostream-dot.c
+M src/lib-mail/qp-decoder.c
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-mail/test-istream-binary-converter.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-mail/test-mail-html2text.c
+M src/lib-mail/test-mbox-from.c
+M src/lib-mail/test-message-address.c
+M src/lib-mail/test-message-date.c
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-encode.c
+M src/lib-mail/test-message-header-parser.c
+M src/lib-mail/test-message-id.c
+M src/lib-mail/test-message-parser.c
+M src/lib-mail/test-message-part.c
+M src/lib-mail/test-message-snippet.c
+M src/lib-mail/test-ostream-dot.c
+M src/lib-mail/test-qp-decoder.c
+M src/lib-mail/test-quoted-printable.c
+M src/lib-mail/test-rfc2231-parser.c
+M src/lib-mail/test-rfc822-parser.c
+M src/lib-master/anvil-client.c
+M src/lib-master/ipc-client.c
+M src/lib-master/ipc-server.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-haproxy.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl.c
+M src/lib-master/master-service.c
+M src/lib-master/mountpoint-list.c
+M src/lib-master/syslog-util.c
+M src/lib-master/test-master-service-settings-cache.c
+M src/lib-sasl/dsasl-client.c
+M src/lib-sasl/mech-login.c
+M src/lib-sasl/mech-plain.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-db-cache.c
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl-params.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib-stats/stats-parser.c
+M src/lib-stats/stats.c
+M src/lib-storage/fail-mail-storage.c
+M src/lib-storage/fail-mail.c
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-deleted-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-search-result.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync-search.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread-links.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/istream-mail.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-filename.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-settings.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-md5-all.c
+M src/lib-storage/index/mbox/mbox-md5-apop3d.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-settings.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync-list-index.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync-update.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/raw/raw-sync.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-notify-tree.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-autoexpunge.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-error.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-search-args-cmdline.c
+M src/lib-storage/mail-search-args-imap.c
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-parser-cmdline.c
+M src/lib-storage/mail-search-parser-imap.c
+M src/lib-storage/mail-search-parser.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search-register.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-thread.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail.c
+M src/lib-storage/mailbox-attribute-internal.c
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-header.c
+M src/lib-storage/mailbox-keywords.c
+M src/lib-storage/mailbox-list-notify.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-recent-flags.c
+M src/lib-storage/mailbox-search-result.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib-storage/mailbox-watch.c
+M src/lib-storage/test-mail-search-args-imap.c
+M src/lib-storage/test-mail-search-args-simplify.c
+M src/lib-storage/test-mailbox-get.c
+M src/lib-test/test-common.c
+M src/lib/abspath.c
+M src/lib/aqueue.c
+M src/lib/array.c
+M src/lib/askpass.c
+M src/lib/backtrace-string.c
+M src/lib/base32.c
+M src/lib/base64.c
+M src/lib/bits.c
+M src/lib/bsearch-insert-pos.c
+M src/lib/buffer.c
+M src/lib/child-wait.c
+M src/lib/compat.c
+M src/lib/connection.c
+M src/lib/crc32.c
+M src/lib/data-stack.c
+M src/lib/eacces-error.c
+M src/lib/env-util.c
+M src/lib/execv-const.c
+M src/lib/failures.c
+M src/lib/fd-close-on-exec.c
+M src/lib/fd-set-nonblock.c
+M src/lib/fdatasync-path.c
+M src/lib/fdpass.c
+M src/lib/file-cache.c
+M src/lib/file-copy.c
+M src/lib/file-create-locked.c
+M src/lib/file-dotlock.c
+M src/lib/file-lock.c
+M src/lib/file-set-size.c
+M src/lib/guid.c
+M src/lib/hash-format.c
+M src/lib/hash-method.c
+M src/lib/hash.c
+M src/lib/hash2.c
+M src/lib/hex-binary.c
+M src/lib/hex-dec.c
+M src/lib/hmac.c
+M src/lib/home-expand.c
+M src/lib/hostpid.c
+M src/lib/imem.c
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-notify-fd.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-none.c
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+M src/lib/iostream-rawlog.c
+M src/lib/iostream-temp.c
+M src/lib/iostream.c
+M src/lib/ipwd.c
+M src/lib/iso8601-date.c
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-callback.c
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-data.c
+M src/lib/istream-failure-at.c
+M src/lib/istream-file.c
+M src/lib/istream-hash.c
+M src/lib/istream-jsonstr.c
+M src/lib/istream-limit.c
+M src/lib/istream-mmap.c
+M src/lib/istream-rawlog.c
+M src/lib/istream-seekable.c
+M src/lib/istream-sized.c
+M src/lib/istream-tee.c
+M src/lib/istream-timeout.c
+M src/lib/istream-unix.c
+M src/lib/istream.c
+M src/lib/json-parser.c
+M src/lib/json-tree.c
+M src/lib/lib-signals.c
+M src/lib/lib.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-system.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/mempool.c
+M src/lib/mkdir-parents.c
+M src/lib/mmap-anon.c
+M src/lib/mmap-util.c
+M src/lib/module-dir.c
+M src/lib/mountpoint.c
+M src/lib/net.c
+M src/lib/nfs-workarounds.c
+M src/lib/numpack.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-failure-at.c
+M src/lib/ostream-file.c
+M src/lib/ostream-hash.c
+M src/lib/ostream-rawlog.c
+M src/lib/ostream.c
+M src/lib/primes.c
+M src/lib/printf-format-fix.c
+M src/lib/priorityq.c
+M src/lib/process-title.c
+M src/lib/rand.c
+M src/lib/randgen.c
+M src/lib/read-full.c
+M src/lib/restrict-access.c
+M src/lib/restrict-process-size.c
+M src/lib/safe-memset.c
+M src/lib/safe-mkdir.c
+M src/lib/safe-mkstemp.c
+M src/lib/sendfile-util.c
+M src/lib/seq-range-array.c
+M src/lib/str-find.c
+M src/lib/str-sanitize.c
+M src/lib/str-table.c
+M src/lib/str.c
+M src/lib/strescape.c
+M src/lib/strfuncs.c
+M src/lib/strnum.c
+M src/lib/test-aqueue.c
+M src/lib/test-array.c
+M src/lib/test-base32.c
+M src/lib/test-base64.c
+M src/lib/test-bits.c
+M src/lib/test-bsearch-insert-pos.c
+M src/lib/test-buffer.c
+M src/lib/test-crc32.c
+M src/lib/test-data-stack.c
+M src/lib/test-failures.c
+M src/lib/test-guid.c
+M src/lib/test-hash-format.c
+M src/lib/test-hash-method.c
+M src/lib/test-hash.c
+M src/lib/test-hex-binary.c
+M src/lib/test-ioloop.c
+M src/lib/test-iso8601-date.c
+M src/lib/test-istream-base64-decoder.c
+M src/lib/test-istream-base64-encoder.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-crlf.c
+M src/lib/test-istream-failure-at.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-istream-tee.c
+M src/lib/test-istream-unix.c
+M src/lib/test-istream.c
+M src/lib/test-json-parser.c
+M src/lib/test-json-tree.c
+M src/lib/test-lib.c
+M src/lib/test-llist.c
+M src/lib/test-mempool-alloconly.c
+M src/lib/test-net.c
+M src/lib/test-numpack.c
+M src/lib/test-ostream-failure-at.c
+M src/lib/test-ostream-file.c
+M src/lib/test-primes.c
+M src/lib/test-printf-format-fix.c
+M src/lib/test-priorityq.c
+M src/lib/test-seq-range-array.c
+M src/lib/test-str-find.c
+M src/lib/test-str-sanitize.c
+M src/lib/test-str-table.c
+M src/lib/test-str.c
+M src/lib/test-strescape.c
+M src/lib/test-strfuncs.c
+M src/lib/test-strnum.c
+M src/lib/test-time-util.c
+M src/lib/test-timing.c
+M src/lib/test-unichar.c
+M src/lib/test-utc-mktime.c
+M src/lib/test-var-expand.c
+M src/lib/test-wildcard-match.c
+M src/lib/time-util.c
+M src/lib/timing.c
+M src/lib/unichar.c
+M src/lib/unix-socket-create.c
+M src/lib/unlink-directory.c
+M src/lib/unlink-old-files.c
+M src/lib/uri-util.c
+M src/lib/utc-mktime.c
+M src/lib/utc-offset.c
+M src/lib/var-expand.c
+M src/lib/write-full.c
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/main.c
+M src/log/doveadm-connection.c
+M src/log/log-connection.c
+M src/log/log-error-buffer.c
+M src/log/log-settings.c
+M src/log/main.c
+M src/login-common/access-lookup.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/main.c
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.c
+M src/master/capabilities-posix.c
+M src/master/dup2-array.c
+M src/master/main.c
+M src/master/master-settings.c
+M src/master/service-anvil.c
+M src/master/service-listen.c
+M src/master/service-log.c
+M src/master/service-monitor.c
+M src/master/service-process-notify.c
+M src/master/service-process.c
+M src/master/service.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile-update.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/acl/acl-global-file.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-plugin.c
+M src/plugins/acl/acl-shared-storage.c
+M src/plugins/acl/acl-storage.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/expire/expire-set.c
+M src/plugins/fs-compress/fs-compress.c
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/fts-squat-plugin.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+M src/plugins/fts/doveadm-fts.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-parser-html.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-parser-tika.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-search-args.c
+M src/plugins/fts/fts-search-serialize.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-user.c
+M src/plugins/fts/xml2text.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-stats/imap-stats-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/listescape/listescape-plugin.c
+M src/plugins/mail-filter/istream-ext-filter.c
+M src/plugins/mail-filter/mail-filter-plugin.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+M src/plugins/mail-log/mail-log-plugin.c
+M src/plugins/mailbox-alias/mailbox-alias-plugin.c
+M src/plugins/notify/notify-plugin.c
+M src/plugins/notify/notify-storage.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/pop3-migration/test-pop3-migration-plugin.c
+M src/plugins/push-notification/push-notification-driver-dlog.c
+M src/plugins/push-notification/push-notification-driver-ox.c
+M src/plugins/push-notification/push-notification-drivers.c
+M src/plugins/push-notification/push-notification-drivers.h
+M src/plugins/push-notification/push-notification-event-flagsclear.c
+M src/plugins/push-notification/push-notification-event-flagsclear.h
+M src/plugins/push-notification/push-notification-event-flagsset.c
+M src/plugins/push-notification/push-notification-event-flagsset.h
+M src/plugins/push-notification/push-notification-event-mailboxcreate.c
+M src/plugins/push-notification/push-notification-event-mailboxcreate.h
+M src/plugins/push-notification/push-notification-event-mailboxdelete.c
+M src/plugins/push-notification/push-notification-event-mailboxdelete.h
+M src/plugins/push-notification/push-notification-event-mailboxrename.c
+M src/plugins/push-notification/push-notification-event-mailboxrename.h
+M src/plugins/push-notification/push-notification-event-mailboxsubscribe.c
+M src/plugins/push-notification/push-notification-event-mailboxsubscribe.h
+M src/plugins/push-notification/push-notification-event-mailboxunsubscribe.c
+M src/plugins/push-notification/push-notification-event-mailboxunsubscribe.h
+M src/plugins/push-notification/push-notification-event-message-common.h
+M src/plugins/push-notification/push-notification-event-messageappend.c
+M src/plugins/push-notification/push-notification-event-messageappend.h
+M src/plugins/push-notification/push-notification-event-messageexpunge.c
+M src/plugins/push-notification/push-notification-event-messageexpunge.h
+M src/plugins/push-notification/push-notification-event-messagenew.c
+M src/plugins/push-notification/push-notification-event-messagenew.h
+M src/plugins/push-notification/push-notification-event-messageread.c
+M src/plugins/push-notification/push-notification-event-messageread.h
+M src/plugins/push-notification/push-notification-event-messagetrash.c
+M src/plugins/push-notification/push-notification-event-messagetrash.h
+M src/plugins/push-notification/push-notification-events-rfc5423.c
+M src/plugins/push-notification/push-notification-events-rfc5423.h
+M src/plugins/push-notification/push-notification-events.c
+M src/plugins/push-notification/push-notification-events.h
+M src/plugins/push-notification/push-notification-plugin.c
+M src/plugins/push-notification/push-notification-plugin.h
+M src/plugins/push-notification/push-notification-triggers.c
+M src/plugins/push-notification/push-notification-triggers.h
+M src/plugins/push-notification/push-notification-txn-mbox.c
+M src/plugins/push-notification/push-notification-txn-mbox.h
+M src/plugins/push-notification/push-notification-txn-msg.c
+M src/plugins/push-notification/push-notification-txn-msg.h
+M src/plugins/quota-clone/quota-clone-plugin.c
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-plugin.c
+M src/plugins/quota/quota-status.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota-util.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/test-quota-util.c
+M src/plugins/replication/replication-plugin.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/stats/mail-stats-fill.c
+M src/plugins/stats/mail-stats.c
+M src/plugins/stats/stats-connection.c
+M src/plugins/stats/stats-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-plugin.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/virtual/virtual-transaction.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client.c
+M src/pop3-login/pop3-login-settings.c
+M src/pop3-login/pop3-proxy.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-settings.c
+M src/replication/aggregator/aggregator-settings.c
+M src/replication/aggregator/aggregator.c
+M src/replication/aggregator/notify-connection.c
+M src/replication/aggregator/replicator-connection.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/dsync-client.c
+M src/replication/replicator/notify-connection.c
+M src/replication/replicator/replicator-brain.c
+M src/replication/replicator/replicator-queue-auth.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-settings.c
+M src/replication/replicator/replicator.c
+M src/ssl-params/main.c
+M src/ssl-params/ssl-params-settings.c
+M src/ssl-params/ssl-params.c
+M src/stats/client-export.c
+M src/stats/client.c
+M src/stats/global-memory.c
+M src/stats/mail-command.c
+M src/stats/mail-domain.c
+M src/stats/mail-ip.c
+M src/stats/mail-server-connection.c
+M src/stats/mail-session.c
+M src/stats/mail-stats.c
+M src/stats/mail-user.c
+M src/stats/main.c
+M src/stats/stats-settings.c
+M src/util/gdbhelper.c
+M src/util/maildirlock.c
+M src/util/rawlog.c
+M src/util/script-login.c
+M src/util/script.c
+M src/util/tcpwrap-settings.c
+M src/util/tcpwrap.c
+
+2016-01-13 11:22:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (43bdd92391)
+
+ lib-storage: Fixed autoexpunge=yes to work with namespace's root mailbox.
+
+ namespace { mailbox "" { autoexpunge = .. } }
+
+M src/lib-storage/mail-autoexpunge.c
+
+2015-12-23 14:45:08 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (40bdcc2e50)
+
+ lib-fts: Create library for development packages.
+
+
+M Makefile.am
+M src/lib-fts/Makefile.am
+
+2016-01-11 19:00:07 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (46ce4d9273)
+
+ lib: i_stream_get_error() now returns "EOF" if stream_errno==0 and
+ eof==TRUE.
+
+ This can be used to replace a lot of code like:
+
+ input->stream_errno == 0 ? "EOF" : i_stream_get_error(input)
+
+ with simply:
+
+ i_stream_get_error(input)
+
+M src/lib/istream.c
+M src/lib/istream.h
+
+2016-01-09 22:55:15 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (513c91107a)
+
+ Removed now-unused is-tagged.py
+
+
+M Makefile.am
+D is-tagged.py
+
+2016-01-08 18:12:21 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (0102fd5f7e)
+
+ auth: Don't crash if passwd-file can't be opened
+
+
+M src/auth/db-passwd-file.c
+
+2016-01-08 17:04:27 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (480a5afb29)
+
+ lib-settings: If SET_UINT_OCT has invalid value, we ignored the error and
+ returned garbage value.
+
+
+M src/lib-settings/settings-parser.c
+
+2016-01-08 17:02:56 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (9404dc8e4c)
+
+ lib-settings: Fixed parsing '0' value for SET_UINT_OCT.
+
+ This was used only by service { *_listener { mode } }
+
+M src/lib-settings/settings-parser.c
+
+2016-01-08 13:24:32 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f148466c7b)
+
+ lib-mail: message-parser was counting body_size wrong for truncated MIME
+ headers after 7d800c55
+
+
+M src/lib-mail/message-parser.c
+M src/lib-mail/test-message-parser.c
+
+2016-01-07 22:14:59 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (5f35231031)
+
+ lib-storage: mailbox_exists() shouldn't return INBOX as nonexistent if it's
+ not created yet.
+
+
+M src/lib-storage/mail-storage.c
+
+2016-01-07 22:02:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bdf3c77e72)
+
+ update-version.sh: Explicitly specify git directory.
+
+
+M update-version.sh
+
+2016-01-05 11:17:26 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (6c510fa9ff)
+
+ pop3: Make sure pop3_lock_session=yes creates the lock's directory if it's
+ missing.
+
+ This happened at least with mbox if the root .imap/ didn't exist yet.
+
+M src/pop3/pop3-client.c
+
+2016-01-05 11:08:01 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (e7ff41f105)
+
+ auth: Fixed allow_nets=local to work correctly with non-local remote IP
+
+
+M src/auth/auth-request.c
+
+2016-01-05 11:01:26 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (7dea51952d)
+
+ imap: Don't hang at ambiguous commands when they were pipelined already
+ before login
+
+ For example if all of these are sent in a single IP packet:
+
+ a login user pass b select inbox c noop d unselect
+
+M src/imap/main.c
+
+2016-01-04 14:34:01 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (ddffbb277e)
+
+ imap: Avoid crashing at deinit if mail_user_unref() triggers
+ mail_storage_callbacks
+
+ This could have happened with Maildir/mbox and autoexpunging.
+
+M src/imap/imap-client.c
+
+2016-01-04 14:23:46 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (76e5f0fe5e)
+
+ lib-storage: Fixed autoexpunge for namespaces with non-empty prefix
+
+
+M src/lib-storage/mail-autoexpunge.c
+
+2016-01-04 14:15:50 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (f53a1b98d6)
+
+ auth: If allow_nets has an invalid value, don't attempt to compare it
+ anymore.
+
+ This fixes a potential crash because net_is_in_network() was called with
+ garbage net_ip.
+
+M src/auth/auth-request.c
+
+2016-01-04 14:10:44 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (7375e38258)
+
+ lib: Added unit tests for net_is_in_network() about IPv4-mapped IPv6
+ addresses
+
+
+M src/lib/net.h
+M src/lib/test-net.c
+
+2016-01-04 14:00:19 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (3ad31bce46)
+
+ lib: Fixed assert-crash with net_is_in_network(family=ipv6, family=0, ..)
+
+
+M src/lib/net.c
+M src/lib/test-net.c
+
+2016-01-04 20:51:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (f6d8250f99)
+
+ dict: Avoid a crash when dict connection is already closed when async lookup
+ finishes.
+
+
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/dict/dict-connection.h
+
+2016-01-04 13:12:18 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (f136b0050b)
+
+ imap: Make sure pending input is handled when a pending command has input
+ locked.
+
+ This hopefully fixes the last assert-crash in client_check_command_hangs()
+
+M src/imap/imap-client.c
+
+2016-01-04 12:40:39 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (c7801f830c)
+
+ imap: Fixed crash in IDLE if DONE is received while sending large output to
+ client.
+
+ Fixes assert-crash with backtrace:
+
+M src/imap/cmd-idle.c
+
+2016-01-04 12:02:12 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (1a591dbe15)
+
+ lib-storage: mail_add_temp_wanted_fields() was reading already-freed memory.
+
+ This mainly happened with mail_log plugin enabled.
+
+M src/lib-storage/index/index-mail.c
+
+2016-01-04 11:47:24 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (2933174a1d)
+
+ imap: Don't assert-crash if hibernation resumes IDLE, which sends a lot of
+ data to client.
+
+
+M src/imap/imap-state.c
+
+2015-12-31 04:26:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6920cf9a4d)
+
+ mysql: Don't require connect setting to have host-parameter if option_file
+ is set.
+
+ The option_file could also specify the host.
+
+M src/lib-sql/driver-mysql.c
+
+2015-12-30 08:21:46 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (a4392e9d31)
+
+ lib-mail: message-parser wasn't returning hdr=NULL blocks after 078c2c8c
+
+
+M src/lib-mail/message-parser.c
+M src/lib-mail/test-message-parser.c
+
+2015-12-30 08:21:24 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (4b994089fc)
+
+ lib-mail: Small test-message-header-parser unit test update
+
+
+M src/lib-mail/test-message-header-parser.c
+
+2015-12-28 06:49:29 -0500 Timo Sirainen <timo.sirainen@dovecot.fi> (19e161dd9e)
+
+ dsync: Don't restrict what mailbox names can be created (except basic sanity
+ checks)
+
+ The mailbox names already exist on the other side, so we don't want to add
+ arbitrary limits to them.
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2015-12-23 11:48:12 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3e8c8984b2)
+
+ lib-http: Add more timing information to debug logs when HTTP connections
+ get closed.
+
+
+M src/lib-http/http-client-connection.c
+
+2015-12-17 05:52:03 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (28b34f3caf)
+
+ imap: Make static analyzer happier.
+
+
+M src/imap/imap-client.c
+
+2015-12-16 15:37:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (15307c2c91)
+
+ imap: Fixed potential assert-crash with command pipelining.
+
+ Should fix assert-crash: Panic: file imap-fetch.c: line 554: assertion
+ failed: (ctx->client->output_cmd_lock == NULL ||
+ ctx->client->output_cmd_lock == cmd)
+
+M src/imap/imap-client.c
+
+2015-12-16 15:26:02 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (107659c01b)
+
+ doveadm-server: Added -D parameter to enable debugging at startup.
+
+ This mainly makes it show why plugin loads fail.
+
+M src/doveadm/main.c
+
+2015-12-16 15:25:22 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c6be98b527)
+
+ doveadm-server: Fixed loading doveadm plugins that use
+ doveadm_dump_register()
+
+
+M src/doveadm/Makefile.am
+M src/doveadm/main.c
+
+2015-12-16 15:06:52 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (879dfd4da1)
+
+ lib-compress: lz4 istream wasn't detected reliably in some situations.
+
+ We requested too few bytes from istream, so there wasn't any guarantee that
+ the istream actually had all the bytes. This caused a problem for example
+ with mdbox when the previous mail was already fetched and the stream
+ happened to end in the middle of the lz4 header.
+
+M src/lib-compression/compression.c
+
+2015-12-16 14:11:04 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a2db811b58)
+
+ configure: Changed version number to v2.2.devel.
+
+ The actual version numbers live only on the release-branches from now on.
+
+M configure.ac
+
+2015-12-16 11:59:41 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (c8e9fa2ffa)
+
+ imap: Fixed potential crash when logging about pending commands at logout.
+
+
+M src/imap/imap-client.c
+
+2015-12-16 11:29:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3bc62efe51)
+
+ lib-dict: Improve EACCES error logging for dict-file.
+
+
+M src/lib-dict/dict-file.c
+
+2015-12-15 17:32:09 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (7d800c558b)
+
+ lib-mail: message-parser didn't detect MIME part boundaries in the middle of
+ MIME part headers.
+
+ Instead the --boundary line was thought to be part of the header itself.
+
+M src/lib-mail/message-parser.c
+M src/lib-mail/test-message-parser.c
+
+2015-12-15 17:29:11 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a556e29bb9)
+
+ lib-mail: message_header_parser_next() updates istream position immediately
+ now.
+
+ Earlier it updated the position only on the next call or at deinit. This was
+ because some earlier code kept pointers to the stream data and stored them
+ to the returned struct message_header_line, but we don't do this anymore.
+
+ This allows more easily accessing the same istream for other purposes during
+ the header parsing.
+
+M src/lib-mail/message-header-parser.c
+
+2015-12-14 17:42:34 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (2a8253ebc3)
+
+ lib: Avoid passing NULL to qsort() or bsearch() on empty array.
+
+ This wouldn't normally matter because count=0 so it wouldn't be dereferenced
+ anyway. But it triggered a run-time warning from clang, so lets fix it.
+
+M src/lib/array.c
+
+2015-12-14 12:36:23 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (aa8338d49a)
+
+ imapc: Removed commented out code.
+
+ It was probably accidentally committed debug code.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2015-12-13 21:25:32 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (6971937a6f)
+
+ doveadm expunge: Using "all" parameter didn't work.
+
+
+M src/doveadm/doveadm-mail-expunge.c
+
+2015-12-13 12:33:20 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (3a719a01a1)
+
+ stats: Avoid assert-crash with dsync.
+
+ dsync creates two mail_users and they're deinited at the same time.
+ stats_global_user isn't set after the first one is deinited, so the next
+ deinit crashed because it wasn't set.
+
+ Fixes: Panic: file stats-plugin.c: line 324 (stats_user_deinit): assertion
+ failed:
+ (stats_global_user == user)
+
+M src/plugins/stats/stats-plugin.c
+
+2015-12-11 17:40:36 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (88e0ac0d85)
+
+ configure: Minor cleanup - avoid code duplication.
+
+
+M configure.ac
+
+2015-12-11 17:39:05 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (db35cdbe8e)
+
+ dovecot-config: Fixed setting LIBDOVECOT_LIBFTS[_DEPS]
+
+
+M configure.ac
+M dovecot-config.in.in
+
+2015-12-11 16:33:43 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (a93c909cfa)
+
+ director: Don't mark the host desynced if director is alone in ring.
+
+
+M src/director/director.c
+
+2015-12-10 14:40:01 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (ed4a4d9b82)
+
+ director: Don't trigger a ring resync if only last_updown_change has
+ changed.
+
+
+M src/director/director-connection.c
+
+2015-12-10 11:14:26 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (b56763005d)
+
+ Makefile: Make ChangeLog depend on .git/index instead of .git/ORIG_HEAD
+ ORIG_HEAD doesn't necessarily exist, so maybe index is good for this.
+
+
+M Makefile.am
+
+2015-12-09 19:40:18 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (be16427f44)
+
+ Switched .hgignore to .gitignore
+
+
+R052 .hgignore .gitignore
+
+2015-12-09 19:40:10 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (bafa9906e7)
+
+ Removed .hgsigs and .hgtags
+
+
+D .hgsigs
+D .hgtags
+
+2015-12-09 18:38:00 +0200 Timo Sirainen <timo.sirainen@dovecot.fi> (8232ca302e)
+
+ Makefile, update-version.sh: Switched from hg to git.
+
+
+M Makefile.am
+M update-version.sh
+
+2015-12-09 17:37:13 +0200 Timo Sirainen <tss@iki.fi> (da1515d5bb)
+
+ TODO updated
+
+
+M TODO
+
+2015-12-09 17:36:49 +0200 Timo Sirainen <tss@iki.fi> (bf04396da8)
+
+ acl: Empty lines and comments in dovecot-acl files weren't handled
+ correctly.
+
+
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-backend-vfile.c
+
+2015-12-09 15:31:37 +0200 Timo Sirainen <tss@iki.fi> (a18335e18a)
+
+ virtual: Fixed assert-crash when opening virtual mailbox triggered backend
+ mailbox autocreation. Fixes assert:
+
+ Panic: file virtual-storage.c: line 335 (virtual_mailbox_opened_hook):
+ assertion failed: (!bbox->open_tracked)
+
+M src/plugins/virtual/virtual-plugin.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+
+2015-12-09 13:51:35 +0200 Timo Sirainen <tss@iki.fi> (6de0cbb4a4)
+
+ lib-storage: Fixed mail_search_args_simplify() with empty args. This fixes
+ assert-crash in doveadm mailbox list.
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2015-12-09 13:02:46 +0200 Timo Sirainen <tss@iki.fi> (9058f3006f)
+
+ director: If doveadm attempts to change tag for an existing host, return
+ error.
+
+
+M src/director/doveadm-connection.c
+
+2015-12-09 13:02:19 +0200 Timo Sirainen <tss@iki.fi> (e307e0fcc3)
+
+ doveadm director update: Tag can't be changed - don't allow -t parameter
+
+
+M src/doveadm/doveadm-director.c
+
+2015-12-09 12:43:18 +0200 Timo Sirainen <tss@iki.fi> (1ddf959a75)
+
+ imap: Added assert to make sure client_command_context isn't freed too
+ early.
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands.c
+
+2015-12-09 10:49:22 +0200 Timo Sirainen <tss@iki.fi> (738bdc36e5)
+
+ quota-fs: Fixed getting NFS rquota when the quota was disabled.
+
+
+M src/plugins/quota/quota-fs.c
+
+2015-12-08 15:47:28 +0200 Timo Sirainen <tss@iki.fi> (b68472c305)
+
+ fts: When indexing header names with lib-fts, add them using "data"
+ language.
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2015-12-08 13:28:01 +0200 Timo Sirainen <tss@iki.fi> (5ed7a7fd83)
+
+ fts: Fixed searching for HEADER "" with lib-fts
+
+
+M src/plugins/fts/fts-search-args.c
+
+2015-12-08 13:23:19 +0200 Timo Sirainen <tss@iki.fi> (c9099b08b3)
+
+ lib-storage: mail_search_args_simplify() handles now ALL better.
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2015-12-08 13:13:24 +0200 Timo Sirainen <tss@iki.fi> (37ce8d49a3)
+
+ lib-storage: mail_search_args_simplify() code cleanup - allow merging first
+ arg
+
+
+M src/lib-storage/mail-search-args-simplify.c
+
+2015-12-08 13:13:10 +0200 Timo Sirainen <tss@iki.fi> (1e167fbb28)
+
+ lib-storage: Fix to a776ee107aa2 - merged-flag wasn't reset between all
+ args.
+
+
+M src/lib-storage/mail-search-args-simplify.c
+
+2015-12-08 12:55:40 +0200 Timo Sirainen <tss@iki.fi> (279c6b6d0b)
+
+ lib-storage: Code cleanup - moved BODY/TEXT "" optimization to
+ mail_search_args_simplify()
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2015-12-08 12:24:42 +0200 Timo Sirainen <tss@iki.fi> (9139e17489)
+
+ lib-settings: Allow using comma as deflist separator. This means that when
+ adding new block {}s via e.g. userdb or post-login script, the block names
+ can now be set with block=a,b,c instead of "block=a b c". This is beneficial
+ with e.g. passwd-file or userdb default_fields where spaces are used to
+ separate parameters entirely.
+
+
+M src/lib-settings/settings-parser.c
+
+2015-12-08 10:18:48 +0200 Timo Sirainen <tss@iki.fi> (47c4991dc6)
+
+ quota-fs: Recalculate relative quota rules when FS limit changes are
+ detected.
+
+
+M src/plugins/quota/quota-fs.c
+
+2015-12-08 10:17:10 +0200 Timo Sirainen <tss@iki.fi> (191a22ee13)
+
+ lmtp: Memory leak fixes on handling some RCPT TO failures.
+
+
+M src/lmtp/commands.c
+
+2015-12-07 21:09:47 +0200 Timo Sirainen <tss@iki.fi> (fae14d3ca9)
+
+ Added signature for changeset f833b8160e39
+
+
+M .hgsigs
+
+2015-12-07 21:09:38 +0200 Timo Sirainen <tss@iki.fi> (08672b1604)
+
+ Added tag 2.2.20 for changeset f833b8160e39
+
+
+M .hgtags
+
+2015-12-07 21:09:35 +0200 Timo Sirainen <tss@iki.fi> (5124ce635d)
+
+ Released v2.2.20.
+
+
+M NEWS
+M configure.ac
+
+2015-12-07 16:06:15 +0200 Timo Sirainen <tss@iki.fi> (78c27af9d0)
+
+ lib-ssl-iostream, login-*: Hide unnecessary "EVP_PKEY_get1_EC_KEY:expecting
+ a ec key" errors.
+
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/login-common/ssl-proxy-openssl.c
+
+2015-12-07 11:29:29 +0200 Timo Sirainen <tss@iki.fi> (975c2cdc1b)
+
+ doveadm: Fixed reseting getopt() with glibc when processing multiple
+ commands in a single process. This means commands run with doveadm batch or
+ multiple commands in a single doveadm-server connection.
+
+ glibc's getopt() man page says that optind=1 should reset it for scanning a
+ new argument vector, but this doesn't actually seem to work. Setting
+ optind=0 does work though, so use it everywhere.
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-mail-batch.c
+M src/doveadm/doveadm.c
+M src/lib/lib.c
+M src/lib/lib.h
+
+2015-12-07 11:21:59 +0200 Timo Sirainen <tss@iki.fi> (bc31472000)
+
+ doveadm-server: Reset getopt() before calling non-mail commands. This fixes
+ parsing their parameters when using multiple such commands within a single
+ doveadm connection.
+
+
+M src/doveadm/client-connection.c
+
+2015-12-06 20:48:55 +0200 Timo Sirainen <tss@iki.fi> (dea8bfa317)
+
+ lib-storage: mail_search_args_simplify() handles now "(a OR b) AND (a OR c)"
+ -> "a OR (b AND c)"
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2015-12-06 20:46:52 +0200 Timo Sirainen <tss@iki.fi> (071543cc13)
+
+ lib-storage: mail_search_args_simplify() refactoring Removed parent_arg from
+ mail_search_args_simplify_extract_common_and() in preperation for the next
+ changeset.
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2015-12-06 19:27:45 +0200 Timo Sirainen <tss@iki.fi> (8d3af185ae)
+
+ lib-storage: mail_search_args_simplify() handles now "a AND (a OR b)" -> "a"
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2015-12-06 19:26:44 +0200 Timo Sirainen <tss@iki.fi> (c89ceadf66)
+
+ lib-storage: Make sure mail_sesarch_args_simplify_sub() is called enough
+ times.
+
+
+M src/lib-storage/mail-search-args-simplify.c
+
+2015-12-06 19:25:20 +0200 Timo Sirainen <tss@iki.fi> (387f9e3b41)
+
+ lib-storage: Minor test-mail-search-args-simplify unit test improvements
+
+
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2015-12-06 18:14:08 +0200 Timo Sirainen <tss@iki.fi> (632018810a)
+
+ lib-storage: mail_search_args_simplify() handles now "(a AND b) OR (a AND
+ c)" -> "a AND (b OR c)"
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2015-12-06 18:12:24 +0200 Timo Sirainen <tss@iki.fi> (27e859cee4)
+
+ lib-storage: mail_search_args_simplify() handles now "a OR (a AND b)" -> "a"
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2015-12-06 18:09:17 +0200 Timo Sirainen <tss@iki.fi> (78f8407de3)
+
+ lib-storage: Made mail_search_arg_[one_]equals() public.
+
+
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+
+2015-12-06 18:08:20 +0200 Timo Sirainen <tss@iki.fi> (914e08a6f3)
+
+ lib-storage: mail_search_args_equal() ignored some differences. - fuzzy
+ flag - MAIL_SEARCH_ARG_FLAG_USE_TZ - INTHREAD thread type
+
+
+M src/lib-storage/mail-search.c
+
+2015-12-06 18:06:45 +0200 Timo Sirainen <tss@iki.fi> (86da76e8fe)
+
+ lib-storage: mail_search_arg*_dup() didn't preserve fuzzy-flag.
+
+
+M src/lib-storage/mail-search.c
+
+2015-12-06 16:46:30 +0200 Timo Sirainen <tss@iki.fi> (5d3422197a)
+
+ lib-storage: SEARCH BODY "" wasn't properly being translated to SEARCH_ALL.
+ Instead if the next parameter was "" this happened (which could have been an
+ accidental space in doveadm search-query).
+
+
+M src/lib-storage/mail-search-register-imap.c
+
+2015-12-06 16:09:55 +0200 Timo Sirainen <tss@iki.fi> (8abe00d5cd)
+
+ lib-storage: dovecot.index.pvt* ignored several settings. mmap_disable=yes,
+ dotlock_use_excl=yes and nfs_flush_index=yes weren't used.
+
+
+M src/lib-storage/mail-storage.c
+
+2015-12-06 15:39:53 +0200 Timo Sirainen <tss@iki.fi> (bcecb676b4)
+
+ quota-fs: File count limits with NetBSD shouldn't be multiplied by DEV_BSIZE
+
+
+M src/plugins/quota/quota-fs.c
+
+2015-12-06 15:10:10 +0200 Timo Sirainen <tss@iki.fi> (8a0ef83121)
+
+ lib-charset: Added UTF-7 state checking unit test. This was an idea of a way
+ to test for a bug in FreeBSD iconv(), but nobody reported if it did
+ anything. So lets add it here and see.
+
+
+M src/lib-charset/test-charset.c
+
+2015-12-06 14:57:22 +0200 Timo Sirainen <tss@iki.fi> (170834eda8)
+
+ lmtp: quota_full_tempfail=yes didn't work with lmtp_rcpt_check_quota=yes
+
+
+M src/lmtp/commands.c
+
+2015-12-06 14:27:46 +0200 Timo Sirainen <tss@iki.fi> (98449946ca)
+
+ sdbox: Fixed assert-crash when message with external attachments was copied
+ between storages.
+
+
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+
+2015-12-04 14:17:45 +0200 Timo Sirainen <tss@iki.fi> (23b586b2cf)
+
+ fts: Fixed FTS search query generation after earlier per-language tokenizer
+ changes.
+
+
+M src/plugins/fts/fts-search-args.c
+
+2015-12-04 13:46:00 +0200 Timo Sirainen <tss@iki.fi> (231629a38d)
+
+ lib-http: Give a better error message if request times out. Instead of just
+ giving the configured timeout, log how long the timeout actually took for
+ the oldest request in wait list. Also if the request was retried, log how
+ many times the request was sent and how long the request took in total.
+
+
+M src/lib-http/http-client-connection.c
+
+2015-12-04 13:27:28 +0200 Timo Sirainen <tss@iki.fi> (7c38d25025)
+
+ doveadm fts lookup/expand: Don't assert-crash if fts isn't configured.
+
+
+M src/plugins/fts/doveadm-fts.c
+
+2015-12-04 12:29:12 +0200 Timo Sirainen <tss@iki.fi> (a8319b1f66)
+
+ lib: Removed t_str_trim() for now due to collision in Pigeonhole v0.4.9
+
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/lib/test-strfuncs.c
+
+2015-12-04 12:15:49 +0200 Timo Sirainen <tss@iki.fi> (89fd04f723)
+
+ imap: Fixed assert-crash if client disconnected at a specific command state.
+ If there was a command with state=CLIENT_COMMAND_STATE_WAIT_SYNC and output
+ stream was already detected to be closed, we crashed with:
+
+ Panic: file imap-client.c: line 841 (client_check_command_hangs): assertion
+ failed: (!have_wait_unfinished || unfinished_count > 0)
+
+M src/imap/imap-client.c
+
+2015-12-04 11:38:00 +0200 Timo Sirainen <tss@iki.fi> (6e1a910370)
+
+ lib-index: mail_transaction_log_file_map() didn't properly check
+ start_offset If it was too high, it still returned successful mapping. This
+ could have caused an assert-crash later on when the start_offset was
+ actually attempted to be used.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2015-12-04 10:52:52 +0200 Timo Sirainen <tss@iki.fi> (c892cc1606)
+
+ lib-ssl-iostream: Fixed compiler warning when OpenSSL didn't support ECDH.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2015-12-04 09:52:26 +0200 Timo Sirainen <tss@iki.fi> (c5b642067a)
+
+ fts: Error handling fix for previous per-language tokenizer change.
+
+
+M src/plugins/fts/fts-search-args.c
+
+2015-12-03 15:31:48 +0200 Timo Sirainen <tss@iki.fi> (63964d0943)
+
+ Added signature for changeset c35e62a9e710
+
+
+M .hgsigs
+
+2015-12-03 15:31:41 +0200 Timo Sirainen <tss@iki.fi> (b96c3a910b)
+
+ Added tag 2.2.20.rc1 for changeset c35e62a9e710
+
+
+M .hgtags
+
+2015-12-03 15:31:39 +0200 Timo Sirainen <tss@iki.fi> (732f68ad37)
+
+ Released v2.2.20.rc1.
+
+
+M NEWS
+M configure.ac
+
+2015-12-03 14:24:06 +0200 Timo Sirainen <tss@iki.fi> (dbf26a3ea4)
+
+ fts: Added support for per-language tokenizer settings. fts_tokenizer_<lang>
+ now overrides fts_tokenizers setting. fts_tokenizer_<name>_<lang> now
+ overrides fts_tokenizer_<name> setting.
+
+
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-search-args.c
+M src/plugins/fts/fts-user.c
+M src/plugins/fts/fts-user.h
+
+2015-12-03 12:22:24 +0200 Timo Sirainen <tss@iki.fi> (0ebd8300f1)
+
+ lib-ssl-iostream: Moved openssl_iostream_*error() to -common.c login-common
+ code only links with this file, so that's required for the previous changes
+ to actually work.
+
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2015-12-03 12:19:12 +0200 Timo Sirainen <tss@iki.fi> (cc6dfdfaf4)
+
+ login, lib-ssl-iostream: Clear errors caused by manual EC key selection when
+ there was no EC key. EVP_PKEY_get1_EC_KEY() would return an error, which
+ should be ignored instead of being logged later on.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/login-common/ssl-proxy-openssl.c
+
+2015-12-03 12:13:11 +0200 Timo Sirainen <tss@iki.fi> (2e492d0d1b)
+
+ lib-ssl-iostream: Check for SSL_CTX_set_ecdh_auto() failure. This shouldn't
+ happen though.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2015-12-03 12:02:56 +0200 Timo Sirainen <tss@iki.fi> (8b5d186ec2)
+
+ login, lib-ssl-iostream: Deduplicate code with shared
+ openssl_iostream_use_certificate_error()
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/login-common/ssl-proxy-openssl.c
+
+2015-12-03 11:58:11 +0200 Timo Sirainen <tss@iki.fi> (771df0fdca)
+
+ login-common: Use openssl_iostream_*error() to avoid code duplication.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2015-12-03 11:55:33 +0200 Timo Sirainen <tss@iki.fi> (1deb13e4a4)
+
+ lib-ssl-iostream: Fixes to error handling. Copy behavior from
+ login-common/ssl-proxy-openssl.c: - Handle stacked errors. - Improve
+ errors with ERR_TXT_STRING flag.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2015-12-03 11:41:58 +0200 Timo Sirainen <tss@iki.fi> (f82dcfb64f)
+
+ lib-ssl-iostream: Don't ignore errors on SSL certificate loading. Patch by
+ Sebastiaan Hoogeveen.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2015-12-01 17:31:08 +0200 Timo Sirainen <tss@iki.fi> (5b79409cf5)
+
+ mail-log: If uid field is used, make sure newly saved mails actually get an
+ UID. With Maildir the UID is otherwise assigned on mail deliveries only if
+ dovecot-uidlist happens to get locked.
+
+
+M src/plugins/mail-log/mail-log-plugin.c
+
+2015-12-01 16:45:37 +0200 Timo Sirainen <tss@iki.fi> (1b7cb001c0)
+
+ lib-mail: test-rfc822-parser unit test fix We didn't check that all the
+ output was necessarily verified. Also this makes static analyzer happier.
+
+
+M src/lib-mail/test-rfc822-parser.c
+
+2015-11-30 21:39:56 +0200 Timo Sirainen <tss@iki.fi> (0f9c90871e)
+
+ director: Minor code cleanup - removed unnecessary code.
+
+
+M src/director/mail-host.c
+
+2015-11-30 21:39:34 +0200 Timo Sirainen <tss@iki.fi> (d9218b8c5d)
+
+ director: Include tag also in the hosts_hash.
+
+
+M src/director/mail-host.c
+
+2015-11-30 21:39:07 +0200 Timo Sirainen <tss@iki.fi> (764178ebbd)
+
+ director: Fixed recent tag reimplementation to actually work. We still just
+ created one large vhosts pool for all tags containing all the hosts.
+
+
+M src/director/mail-host.c
+
+2015-11-30 21:36:51 +0200 Timo Sirainen <tss@iki.fi> (75aae86dfb)
+
+ director: Don't treat empty hostname the same as having it. This could have
+ caused "host not given" errors if an empty "host=" was sent to login
+ process, even though hostip was also sent.
+
+ Fixed this in two places, although either one should have been enough.
+
+M src/director/login-connection.c
+M src/director/mail-host.c
+
+2015-11-30 21:32:26 +0200 Timo Sirainen <tss@iki.fi> (a99dcacb7c)
+
+ director: Fixed "doveadm director status user@domain" not to hang due to
+ missing LF.
+
+
+M src/director/doveadm-connection.c
+
+2015-11-30 13:15:44 +0200 Timo Sirainen <tss@iki.fi> (e99bcf69a3)
+
+ lib-imap: Added unit tests for imap_append_[an]string()
+
+
+M src/lib-imap/test-imap-quote.c
+
+2015-11-30 13:14:29 +0200 Timo Sirainen <tss@iki.fi> (efb00f1b47)
+
+ lib-mail: rfc822_parse_content_param() was unescaping already unescaped
+ parameters This caused all Content-* parameter parsing to be unescaped once
+ too many times, resulting in somewhat broken BODY and BODYSTRUCTURE replies
+ if any <\> characters were used. Also MIME boundaries were parsed in case
+ <\> was used in them, but this probably didn't practically happen.
+
+
+M src/lib-mail/Makefile.am
+M src/lib-mail/rfc822-parser.c
+A src/lib-mail/test-rfc822-parser.c
+
+2015-11-30 12:22:22 +0200 Timo Sirainen <tss@iki.fi> (7dd67cf142)
+
+ doveadm fetch: Added date.sent/received/saved.unixtime
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2015-11-28 23:50:14 +0200 Stephan Bosch <stephan@rename-it.nl> (f43734e772)
+
+ lib: Created t_str_trim() functions to trim characters from beginning and
+ end of string.
+
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/lib/test-strfuncs.c
+
+2015-11-28 13:36:14 +0200 Timo Sirainen <tss@iki.fi> (9de023162f)
+
+ Makefile: Added missing mail-autoexpunge.h
+
+
+M src/lib-storage/Makefile.am
+
+2015-11-27 15:50:44 +0200 Timo Sirainen <tss@iki.fi> (c2cda8cd00)
+
+ lib: Added extra assert to i_stream_read()
+
+
+M src/lib/istream.c
+
+2015-11-27 15:49:58 +0200 Timo Sirainen <tss@iki.fi> (c051fa1a87)
+
+ fts-solr: Fixed sending empty parameters. Solr probably doesn't do anything
+ useful with them, but we shouldn't get 400 Bad Request errors.
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2015-11-27 15:26:31 +0200 Timo Sirainen <tss@iki.fi> (422af31adb)
+
+ Compiler warning fix for 32bit systems
+
+
+M src/lib-storage/mail-autoexpunge.c
+
+2015-11-27 15:24:41 +0200 Timo Sirainen <tss@iki.fi> (ebcb8cc4fe)
+
+ fts-solr: Fixed escaping query parameters. Solr documentation says that
+ "quoted string" would already work without escaping, but that doesn't seem
+ to be true (we were also missing the \" escaping there). So we'll now escape
+ all the special characters without quotes around it, which seems to work.
+ Also added '/' to list of special characters, which is used by Solr 4.0.
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2015-11-27 14:57:03 +0200 Timo Sirainen <tss@iki.fi> (ac99facd49)
+
+ zlib: Fixed copying causing cache corruption when zlib_save wasn't set.
+ dovecot.index.cache entries were broken/missing if: - The zlib plugin is
+ enabled; - The zlib_save/zlib_save_level options are NOT enabled; - The
+ source message being copied is compressed; - The mail_log plugin is logging
+ "copy" events; - The mail_log_fields setting includes at least one message
+ header; - The destination mailbox folder has an index file that is recording
+ the logged headers; - The source mailbox folder does NOT have an index file
+ recording the logged headers.
+
+ Found by Robert L Mathews.
+
+M src/plugins/zlib/zlib-plugin.c
+
+2015-11-27 14:42:43 +0200 Timo Sirainen <tss@iki.fi> (a071ae737f)
+
+ lib: Fixed compiling unit test in systems where NULL isn't of type void* For
+ example Solaris.
+
+
+M src/lib/test-ioloop.c
+
+2015-11-27 14:39:32 +0200 Timo Sirainen <tss@iki.fi> (ae23befb6e)
+
+ auth: Fixed test-auth-request-var-expand unit test on big endian CPUs
+
+
+M src/auth/test-auth-request-var-expand.c
+
+2015-11-27 14:24:23 +0200 Timo Sirainen <tss@iki.fi> (a9934b12e2)
+
+ Compiler warning fix for 32bit systems
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2015-11-27 14:11:57 +0200 Timo Sirainen <tss@iki.fi> (4e3bcf7fda)
+
+ lib-storage: Don't add first_saved to mailbox list index unless autoexpunge
+ is set.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/mail-storage-private.h
+
+2015-11-27 14:01:14 +0200 Timo Sirainen <tss@iki.fi> (1001bda65e)
+
+ imap: Free mail_user only after client is disconnected.
+
+
+M src/imap/imap-client.c
+
+2015-11-27 13:59:22 +0200 Timo Sirainen <tss@iki.fi> (1ae5d61ec3)
+
+ Added mailbox { autoexpunge } setting. This can be used to automatically
+ expunge mails from specified mailboxes after they're old enough. The
+ expunges are done when the user is being deinitialized.
+ mailbox_list_index=yes should be enabled to have the best performance with
+ this setting.
+
+ Example:
+
+ namespace inbox {
+ mailbox Spam {
+ auto = create
+ special_use = \Junk
+ autoexpunge = 30d
+ }
+ }
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index.h
+A src/lib-storage/mail-autoexpunge.c
+A src/lib-storage/mail-autoexpunge.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail-user.c
+
+2015-11-27 13:06:01 +0200 Timo Sirainen <tss@iki.fi> (fe779565bd)
+
+ imap: SETMETADATA didn't set ostream output handler back This caused hangs
+ afterwards when receiving long replies (e.g. FETCH).
+
+
+M src/imap/cmd-setmetadata.c
+
+2015-11-26 15:42:35 +0200 Timo Sirainen <tss@iki.fi> (8705e45564)
+
+ quota-clone: Avoid assert-crash when quota recalculation is triggered. Quota
+ recalculation opened all mailboxes and got us back to quota_clone_flush(),
+ which caused another dict transaction to be opened, which caused a crash
+ with some dict backends.
+
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+
+2015-11-25 15:09:52 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (7c1ce38a29)
+
+ lib-fts: Move ICU transliterator creation to fts-icu.h This allows others to
+ use transliterators without so much code duplication. The transliterator
+ still has to be destroyed by the user, with utrans_close().
+
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-icu.c
+M src/lib-fts/fts-icu.h
+
+2015-11-25 15:09:52 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (e467b295e4)
+
+ lib-fts: Fix compilation for systems without libicu. The earlier patch,
+ 194e3622d5e6, did not consider both library dependencies.
+
+
+M src/lib-fts/test-fts-filter.c
+
+2015-11-24 13:42:58 +0200 Timo Sirainen <tss@iki.fi> (850b419efb)
+
+ imap: When logging command disconnection info, log the oldest command's info
+ (not newest)
+
+
+M src/imap/imap-client.c
+
+2015-11-24 13:41:58 +0200 Timo Sirainen <tss@iki.fi> (117bc062ec)
+
+ imap: Added extra assert checks to make sure command states are consistent.
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2015-11-24 13:40:12 +0200 Timo Sirainen <tss@iki.fi> (76c6c1127c)
+
+ imap: IDLE may have called client_continue_pending_input() unnecessarily.
+
+
+M src/imap/cmd-idle.c
+
+2015-11-24 12:56:35 +0200 Timo Sirainen <tss@iki.fi> (952148e3d0)
+
+ imap: Fixed crash at FETCH deinit caused by b638e19d3bd4 imap_fetch_free()
+ would have been called twice, which caused problems.
+
+
+M src/imap/cmd-fetch.c
+
+2015-11-24 11:50:15 +0200 Timo Sirainen <tss@iki.fi> (6116f4cd50)
+
+ imap: Fixed hanging if a pipelined IMAP command was waiting for previous
+ command to sync. ..And the previous command was waiting for the next command
+ to finish before it would start syncing. For example FETCH+LOGOUT pipelined.
+
+
+M src/imap/imap-client.c
+
+2015-11-24 11:15:47 +0200 Timo Sirainen <tss@iki.fi> (ae32667c54)
+
+ director: Fixed backend selection when multiple tags were used. The previous
+ algorithm was causing an uneven load for backends.
+
+ This change breaks compatibility with older director servers that were using
+ tags because of the different selection algorithm. The new director code
+ refuses to run within a cluster with old directors if tags are used.
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+M src/director/mail-host.c
+M src/director/mail-host.h
+
+2015-11-23 19:47:08 +0200 Timo Sirainen <tss@iki.fi> (092f7388ec)
+
+ director: Code cleanup - renamed hosts_unsorted to vhosts_unsorted
+
+
+M src/director/mail-host.c
+
+2015-11-23 19:44:50 +0200 Timo Sirainen <tss@iki.fi> (e3751d4005)
+
+ director: Code cleanup - rename tag to tag_name in mail_host_*() parameters.
+ In preparation for the following changes.
+
+
+M src/director/mail-host.c
+M src/director/mail-host.h
+
+2015-11-23 19:41:38 +0200 Timo Sirainen <tss@iki.fi> (093b42b11c)
+
+ director: Code cleanup - access host->tag via mail_host_get_tag() In
+ preparation for the following changes.
+
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/mail-host.c
+M src/director/mail-host.h
+
+2015-11-23 19:38:31 +0200 Timo Sirainen <tss@iki.fi> (87842f6212)
+
+ director: Code cleanup - make most mail_host_*() list parameters
+ unnecessary.
+
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/mail-host.c
+M src/director/mail-host.h
+
+2015-11-23 19:35:03 +0200 Timo Sirainen <tss@iki.fi> (570153aa92)
+
+ director: With director_consistent_hashing=yes hosts_hash wasn't always
+ calculated right. If different servers had added hosts in different order,
+ the hosts_hash would have become different, which caused errors and resyncs.
+
+
+M src/director/mail-host.c
+
+2015-11-18 16:33:26 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (d965f1c171)
+
+ lib-fts: Fix compilation for systems without libstemmer.
+
+
+M src/lib-fts/test-fts-filter.c
+
+2015-11-18 16:33:26 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (5455a91751)
+
+ fts: Remove default filters and tokenizers. There aren't any specially good
+ defaults that work for all the languages, so it's better to just enforce
+ explicit settings.
+
+
+M src/plugins/fts/fts-user.c
+
+2015-11-19 17:43:47 +0200 Timo Sirainen <tss@iki.fi> (0b02856892)
+
+ fs-posix: Added mode=auto parameter to copy mode from parent directory if
+ setgid-bit is set
+
+
+M src/lib-fs/fs-posix.c
+
+2015-11-19 17:19:19 +0200 Timo Sirainen <tss@iki.fi> (3718da9415)
+
+ fs-posix: Code cleanup - don't store dir_mode permanently. Cleanup in
+ preparation for mode=auto.
+
+
+M src/lib-fs/fs-posix.c
+
+2015-11-19 17:39:46 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (83bd5fa0e7)
+
+ lib-fts: Silence clang warnings.
+
+
+M src/lib-fts/test-fts-filter.c
+M src/lib-fts/test-fts-language.c
+
+2015-11-19 14:47:27 +0200 Timo Sirainen <tss@iki.fi> (31493ba1b6)
+
+ fts plugin: Install fts-storage.h
+
+
+M src/plugins/fts/Makefile.am
+
+2015-11-19 14:46:54 +0200 Timo Sirainen <tss@iki.fi> (3d2d350173)
+
+ lib-fs: Added fs_stats_get_read/write_usecs() These can be easily used to
+ sum up all the timings for read and write categories.
+
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2015-11-18 21:06:17 +0200 Timo Sirainen <tss@iki.fi> (3e3cc37a78)
+
+ indexer-worker: Use provided session-id only as a prefix for a unique
+ session ID. Fixes stats process's "Duplicate session ID" errors when LMTP
+ delivers to multiple recipients.
+
+
+M src/indexer/master-connection.c
+
+2015-11-18 21:03:41 +0200 Timo Sirainen <tss@iki.fi> (1959accd38)
+
+ lib-storage: Added mail_storage_service_input.session_id_prefix This should
+ make it easier to pass through the original session_id to worker process
+ sessions. Especially if these sessions are somewhat short-lived it can be
+ useful to assign them a unique session ID while still being able to match it
+ to the parent's session ID.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2015-11-18 20:50:55 +0200 Timo Sirainen <tss@iki.fi> (a5b6819fac)
+
+ stats: Improved logging on invalid CONNECT input.
+
+
+M src/stats/mail-session.c
+
+2015-11-18 19:15:36 +0200 Timo Sirainen <tss@iki.fi> (7059b9f2c4)
+
+ stats: Forced sending of UPDATE-SESSION every 5 minutes wasn't working. This
+ caused stats process to forget about idling (imap) sessions if they didn't
+ do anything for over 15 minutes.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2015-11-18 18:54:51 +0200 Timo Sirainen <tss@iki.fi> (abb242daee)
+
+ stats: When logging UPDATE-SESSION stats, log also the session ID.
+
+
+M src/stats/mail-session.c
+
+2015-11-18 18:10:46 +0200 Timo Sirainen <tss@iki.fi> (c85e266e4d)
+
+ lib-storage: Create ioloop context for users even if log prefix changing is
+ disabled. This fixes stats plugin to work with lmtp, imap-urlauth and
+ doveadm-server.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2015-11-18 17:45:35 +0200 Timo Sirainen <tss@iki.fi> (03baa1c4c5)
+
+ lib-master: master_service_is_master_stopped() now returns FALSE if running
+ standalone. The only caller of this function was stats plugin to see if it
+ should send stats updates. So this fixes dovecot-lda, doveadm and other
+ standalone tools to send stats updates.
+
+
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2015-11-18 14:15:32 +0200 Timo Sirainen <tss@iki.fi> (ce4d4d7730)
+
+ lib-master: Fixed timeout leak at deinit when we couldn't connect to
+ ipc-server
+
+
+M src/lib-master/ipc-server.c
+
+2015-11-18 13:12:23 +0200 Timo Sirainen <tss@iki.fi> (ac5a1d01fb)
+
+ pop3: When creating session lock file, prefer to write it to the index root
+ dir. This is especially important for mail storage backends that don't have
+ a mail root directory.
+
+
+M src/pop3/pop3-client.c
+
+2015-11-18 13:08:57 +0200 Timo Sirainen <tss@iki.fi> (def5984700)
+
+ pop3: Send "OK Logged in" before reading mailbox. This way if the reading
+ takes a long time, the client still sees that the login itself was
+ successful. This is especially useful to avoid unnecessary errors logged by
+ proxies.
+
+
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+
+2015-11-18 12:40:42 +0200 Timo Sirainen <tss@iki.fi> (2492912639)
+
+ imap: Disconnection log message incorrectly logged "input/output" even if
+ only "input" was set.
+
+
+M src/imap/imap-client.c
+
+2015-11-18 12:39:13 +0200 Timo Sirainen <tss@iki.fi> (848bc013ae)
+
+ imap: When disconnected during FETCH, include the last byte counts in
+ disconnection log message.
+
+
+M src/imap/cmd-fetch.c
+M src/imap/imap-client.c
+
+2015-11-17 19:02:13 +0200 Timo Sirainen <tss@iki.fi> (fdd858ac68)
+
+ lib-fs: Improved fs-metawrap's fs_stat() error message.
+
+
+M src/lib-fs/fs-metawrap.c
+
+2015-11-17 19:01:29 +0200 Timo Sirainen <tss@iki.fi> (dbe1f7e1c0)
+
+ lib-fs: Fixed fs_stat() for fs-metawrap
+
+
+M src/lib-fs/istream-metawrap.c
+
+2015-11-17 17:26:56 +0200 Timo Sirainen <tss@iki.fi> (8ce3071e80)
+
+ *-login: Added postlogin_socket=path passdb extra field. By default e.g.
+ "imap" or "pop3" is the post-login socket, but this can override it. This
+ could be used for example for per-user debugging (e.g. setting executable to
+ be run via strace or valgrind).
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2015-11-17 17:23:31 +0200 Timo Sirainen <tss@iki.fi> (9498baa8f3)
+
+ lib-master: master_auth_request_full() now supports per-request path.
+
+
+M src/lib-master/master-auth.c
+M src/lib-master/master-auth.h
+
+2015-11-17 17:11:05 +0200 Timo Sirainen <tss@iki.fi> (2d8e25bef1)
+
+ lib-master: Added extensible master_auth_request_full() call. Only the API
+ was changed, no changes to functionality.
+
+
+M src/lib-master/master-auth.c
+M src/lib-master/master-auth.h
+M src/login-common/sasl-server.c
+
+2015-11-17 16:30:16 +0200 Timo Sirainen <tss@iki.fi> (3b4b517a55)
+
+ lib-fs: Added asserts to fs_set_metadata() to make sure key and value are
+ non-NULL Otherwise the bug would be noticed only much later when trying to
+ dereference NULL pointer.
+
+
+M src/lib-fs/fs-api.c
+
+2015-11-17 11:51:45 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (6dd785e685)
+
+ fts: Added fts_library_init() and _deinit() Replaces calling three different
+ functions on init and deinit.
+
+
+M src/lib-fts/Makefile.am
+A src/lib-fts/fts-library.c
+A src/lib-fts/fts-library.h
+M src/plugins/fts/fts-plugin.c
+
+2015-11-17 11:50:16 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (4b26f71b46)
+
+ lib-fts: Added fts_language_register() to register more languages in
+ plugins.
+
+
+M src/lib-fts/fts-language.c
+M src/lib-fts/fts-language.h
+M src/lib-fts/test-fts-language.c
+
+2015-11-17 11:46:49 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (3e9ed17175)
+
+ dovecot-config: Added LIBFTS.
+
+
+M configure.ac
+M dovecot-config.in.in
+M dovecot.m4
+
+2015-11-17 11:45:44 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (963e17327a)
+
+ lib-fts: Explicitly state encoding used for stemming.
+
+
+M src/lib-fts/fts-filter-stemmer-snowball.c
+
+2015-11-17 11:45:24 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (c6b75b7003)
+
+ lib-fts: Removed TODO comment. The call to uni_utf8_get_char_n() already
+ does easy cases first. Adding more special code paths is not necessary.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-11-17 11:44:53 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (9c34a19b60)
+
+ lib-fts: Minor code cleanup - Rename some internal functions. Maybe the
+ names are more logical this way.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-11-17 11:44:19 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (3ec8b0d282)
+
+ lib-fts: Add Norwegian. Norwegian has two main dialects, Bokmal(nb) and
+ Nynorsk(nn). They are detected separately by libexttextcat, but the stemmer
+ only knows Norwegian. Thus they are treated as a single language, Norwegian
+ (no). This might also make more sense in everyday use of mixed writing style
+ Norwegian.
+
+ Caveat: The default normalizer filter does not modify U+00F8
+ (Latin Small Letter O with Stroke). In some configurations it might be
+ desirable to rewrite it to e.g. o. Same goes for the upper case version.
+ This can be done by passing a modified "id" setting to the normalizer
+ filter.
+
+M src/lib-fts/Makefile.am
+M src/lib-fts/fts-language.c
+A src/lib-fts/stopwords_no.txt
+M src/lib-fts/test-fts-filter.c
+M src/lib-fts/test-fts-language.c
+
+2015-11-17 11:43:58 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (48afa4224d)
+
+ lib-fts: Add comment to language names. Languages are defined by their ISO
+ 639-1 code, which is a two letters. It is possible, that some languages with
+ only a three letter code, ie. a ISO 639-2 code, could be added in the
+ future.
+
+
+M src/lib-fts/fts-language.c
+
+2015-11-17 11:43:28 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (c5effa0f13)
+
+ lib-fts: Add Swedish (sv) to supported languages.
+
+
+M src/lib-fts/Makefile.am
+M src/lib-fts/fts-language.c
+A src/lib-fts/stopwords_sv.txt
+M src/lib-fts/test-fts-filter.c
+M src/lib-fts/test-fts-language.c
+
+2015-11-17 11:42:59 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (fd15d61d05)
+
+ lib-fts: Add l' contraction to French unit test.
+
+
+M src/lib-fts/test-fts-filter.c
+
+2015-11-16 14:47:18 +0200 Timo Sirainen <tss@iki.fi> (687fd73a7a)
+
+ pop3-migration: Fixed memory leak in unit test.
+
+
+M src/plugins/pop3-migration/test-pop3-migration-plugin.c
+
+2015-11-16 14:46:40 +0200 Timo Sirainen <tss@iki.fi> (0989e8ba44)
+
+ lib-mail: Fixed istream-header-filter when callback excluded multiple
+ headers. This only affected pop3-migration plugin.
+
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2015-11-16 14:16:00 +0200 Timo Sirainen <tss@iki.fi> (87c3028e9f)
+
+ dovecot.m4: Run valgrind with --trace-children=yes Some of the unit tests
+ are run via shell and we want to check the unit tests instead of just the
+ shell.
+
+
+M dovecot.m4
+
+2015-11-16 14:15:02 +0200 Timo Sirainen <tss@iki.fi> (40569d0f6e)
+
+ Added Valgrind suppressions file for ignoring any bash memory leaks. Some of
+ the unit tests are run via shell.
+
+
+A run-test-valgrind.supp
+
+2015-11-16 12:40:22 +0200 Timo Sirainen <tss@iki.fi> (431eebad01)
+
+ dovecot.m4: Added --leak-check=full to valgrind
+
+
+M dovecot.m4
+
+2015-11-16 12:29:51 +0200 Phil Carmody <phil@dovecot.fi> (19ed8f08b2)
+
+ various - remove 8-bit characters from literal strings in test cases C has a
+ portable way of expressing characters not in the basic character set, namely
+ \xNN escaping. Otherwise, the interpretation of the raw utf-8 is
+ implentation dependent. This has the benefit of making some tests' expected
+ output more obvious, such as "=c3=a4" matching "\xC3\xA4", even if it
+ hinders the readability of some natural-language-based tests.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-charset/test-charset.c
+M src/lib-fts/test-fts-filter.c
+M src/lib-fts/test-fts-tokenizer.c
+M src/lib-imap/test-imap-utf7.c
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-encode.c
+
+2015-11-16 12:29:21 +0200 Phil Carmody <phil@dovecot.fi> (087272dde5)
+
+ lib: fix memory leak of iterator in str_table_deinit() The deinit function
+ uses an iterator, but never cleared it up. Found by Valgrind.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/str-table.c
+
+2015-11-16 12:29:09 +0200 Phil Carmody <phil@dovecot.fi> (fddfa139c8)
+
+ lib: make test-istream-failure-at not leak memory This permits Valgrind to
+ run without complaint.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-istream-failure-at.c
+
+2015-11-16 12:27:03 +0200 Phil Carmody <phil@dovecot.fi> (2bee4c3786)
+
+ lib: fix memory leaks in failure-at streams The parent wasn't getting
+ unref'ed, and would hang around for ever.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/istream-failure-at.c
+M src/lib/ostream-failure-at.c
+
+2015-11-16 12:26:50 +0200 Phil Carmody <phil@dovecot.fi> (ded6d68208)
+
+ lib-master: stop tests from leaking memory This permits Valgrind to run
+ without complaint.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-master/test-master-service-settings-cache.c
+
+2015-11-16 12:26:32 +0200 Phil Carmody <phil@dovecot.fi> (5968fa8151)
+
+ lib-http: free resources used in the tests Signed-off-by: Phil Carmody
+ <phil@dovecot.fi>
+
+
+M src/lib-http/test-http-header-parser.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-response-parser.c
+M src/lib-http/test-http-transfer.c
+
+2015-11-16 12:26:06 +0200 Phil Carmody <phil@dovecot.fi> (2696272639)
+
+ lib-http: ref/unref input stream in http message parser To prevent
+ assidental disappearance of the stream while it's in use. Also, the caller
+ can create and forget - we'll do the cleanup later.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-http/http-message-parser.c
+
+2015-11-16 12:24:53 +0200 Timo Sirainen <tss@iki.fi> (0de8aaf4e2)
+
+ imapc: Treat literal8 input the same as regular literal. This is mainly for
+ migrating away from broken servers (a patched Cyrus) that send literal8 if a
+ (corrupted) message contains NULs.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2015-11-12 18:27:54 +0200 Timo Sirainen <tss@iki.fi> (02889f5ce6)
+
+ imap: When client disconnects during a running command, log the command wait
+ state.
+
+
+M src/imap/imap-client.c
+
+2015-11-12 12:28:58 +0200 Timo Sirainen <tss@iki.fi> (53c1549e64)
+
+ imap: If IDLE or FETCH notices a disconnection, log the running command
+ statistics.
+
+
+M src/imap/cmd-fetch.c
+M src/imap/cmd-idle.c
+M src/imap/imap-client.c
+
+2015-11-12 12:17:04 +0200 Timo Sirainen <tss@iki.fi> (56eaa07a3e)
+
+ imap: When client disconnects during a running command, log the IO
+ input/output wait status. This is mainly useful for debugging to make sure
+ that the hang isn't happening because of a bug (missing io) in Dovecot.
+
+
+M src/imap/imap-client.c
+
+2015-11-12 12:14:20 +0200 Timo Sirainen <tss@iki.fi> (7f52e276c1)
+
+ lib: Added io_loop_find_fd_conditions()
+
+
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+M src/lib/test-ioloop.c
+
+2015-11-12 11:29:29 +0200 Timo Sirainen <tss@iki.fi> (bb1c6e2b03)
+
+ quota: When recalculating quota, don't try to access nonexistent
+ autocreate-mailboxes. There's no need to physically create them, since
+ they're empty anyway.
+
+
+M src/plugins/quota/quota-count.c
+
+2015-11-11 17:40:23 +0200 Timo Sirainen <tss@iki.fi> (56dcb49a47)
+
+ login proxy: If writing to ostream fails, log the ostream's error string.
+ Although for now it's always just based on the errno anyway.
+
+
+M src/login-common/login-proxy.c
+
+2015-11-11 17:35:10 +0200 Timo Sirainen <tss@iki.fi> (9940125bee)
+
+ login proxy: Include some extra information in disconnect log lines.
+
+
+M src/login-common/login-proxy.c
+
+2015-11-11 13:15:30 +0200 Timo Sirainen <tss@iki.fi> (fb3178a192)
+
+ auth: Added hardcoded 5 second timeout to LDAP connect() Although it doesn't
+ look like the timeout is exactly 5 seconds always due to OpenSSL's internal
+ workings, but this should be good enough.
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+
+2015-11-10 10:00:11 +0200 Timo Sirainen <tss@iki.fi> (2f57edb011)
+
+ push-notification: Removed unused code.
+
+
+M src/plugins/push-notification/push-notification-events.h
+
+2015-11-09 14:49:26 +0200 Timo Sirainen <tss@iki.fi> (8f90ef65db)
+
+ virtual: Include mailbox name in "Backend mailbox added by another session."
+ error.
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2015-11-09 14:11:12 +0200 Timo Sirainen <tss@iki.fi> (54a1b3574a)
+
+ auth: Don't crash when trying to use CRYPT scheme when crypt() doesn't
+ support DES
+
+
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme.c
+
+2015-11-09 13:16:50 +0200 Timo Sirainen <tss@iki.fi> (265cb53cf8)
+
+ lib-storage: Support %{userdb:*} variables in mail_home and mail_chroot
+ settings.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+
+2015-11-09 13:02:56 +0200 Timo Sirainen <tss@iki.fi> (1d562be5fd)
+
+ lib: Removed unnecessary includes from bits.h All of them are already in
+ lib.h, and bits.h gets included from lib.h. This also solves a compiling
+ problem for systems where stdint.h doesn't exist.
+
+
+M src/lib/bits.h
+
+2015-11-09 09:31:48 +0200 Timo Sirainen <tss@iki.fi> (4544c7cf17)
+
+ replicator: Send initial status notification to master before listing all
+ users To avoid master process from killing us after 30 seconds if the user
+ listing takes longer than that.
+
+
+M src/replication/replicator/replicator.c
+
+2015-11-05 11:41:52 +0200 Timo Sirainen <tss@iki.fi> (c30bcc83ac)
+
+ auth: Fixed crash when using %{passdb:} or %{userdb:} functions when
+ escape_func was NULL Patch by Michael Slusarz.
+
+
+M src/auth/auth-request-var-expand.c
+
+2015-11-04 11:39:58 +0200 Phil Carmody <phil@dovecot.fi> (8dd4464c06)
+
+ lib: test-istream-crlf - fix expected output strings, add more coverage Fix
+ an out-by-one which was missing trailing carriage returns in _lf mode.
+
+ Debug: input = [19]:``...........N.N....R'' Debug: output=
+ [19]:``...........N.N....R'' Debug: data = [18]:``...........N.N....''
+ test-istream-crlf.c:78: Assert(#20) failed: size == str_len(output)
+
+ Add some randomised tests to get better coverage of all possibilities.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-istream-crlf.c
+
+2015-10-27 21:54:26 -0600 Michael M Slusarz <michael.slusarz@dovecot.fi> (1265ab7fdd)
+
+ push-notification: Fix linking against notify plugin
+
+
+M src/plugins/push-notification/Makefile.am
+
+2015-10-29 15:29:24 +0200 Timo Sirainen <tss@iki.fi> (1c1e591e42)
+
+ imap: Fixed crash in NOTIFY when there were watched namespaces that didn't
+ support NOTIFY.
+
+
+M src/imap/imap-notify.c
+
+2015-10-29 15:06:16 +0200 Timo Sirainen <tss@iki.fi> (5b945a4740)
+
+ dsync: Fixed handling of deleted directories. We may still know about the
+ directory node even if it doesn't exist, and we still want to delete it.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+
+2015-10-29 14:09:52 +0200 Timo Sirainen <tss@iki.fi> (d3b2c07f93)
+
+ auth: Avoid a crash by not trying to save empty delayed credentials.
+
+
+M src/auth/auth-request.c
+
+2015-10-29 12:55:20 +0200 Timo Sirainen <tss@iki.fi> (e293d46ffe)
+
+ acl: acl_object_list_*() now duplicates rights at init to avoid them
+ changing during listing. Depending on the calling code the acl_object could
+ have been refreshed during the listing and caused bugs/crashes.
+
+ This fixes a crash at least in mailbox deletion during attribute deletion
+ where iter->idx was higher (2) than the number of rights at the time (0).
+
+M src/plugins/acl/acl-api-private.h
+M src/plugins/acl/acl-api.c
+
+2015-10-28 12:28:12 +0200 Timo Sirainen <tss@iki.fi> (3cad7d3634)
+
+ auth: Typofix for error message.
+
+
+M src/auth/auth-master-connection.c
+
+2015-10-28 12:25:08 +0200 Timo Sirainen <tss@iki.fi> (0401fa6772)
+
+ auth: nopassword field is specific to a single passdb, remove before next
+ passdb is processed
+
+
+M src/auth/auth-request.c
+
+2015-10-27 23:56:48 +0200 Timo Sirainen <tss@iki.fi> (00a50d6dc7)
+
+ lib-mail, fts: Put application/xhtml+xml MIME parts through html parser as
+ well.
+
+
+M src/lib-mail/mail-html2text.h
+M src/lib-mail/message-snippet.c
+M src/lib-mail/test-message-snippet.c
+M src/plugins/fts/fts-parser-html.c
+
+2015-10-26 17:20:49 +0200 Timo Sirainen <tss@iki.fi> (8c6884ab66)
+
+ acl: If mailbox is autocreated, assume it already exists and don't require
+ "create" ACL
+
+
+M src/plugins/acl/acl-mailbox.c
+
+2015-10-26 16:28:51 +0200 Timo Sirainen <tss@iki.fi> (fca5548c51)
+
+ acl: Fixed handling mailbox deletion when only "delete" right was available.
+ So especially when there were no "lookup" or "read" rights.
+
+
+M src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-mailbox.c
+
+2015-10-23 15:21:15 +0300 Timo Sirainen <tss@iki.fi> (75b4cc3056)
+
+ auth: Fixed userdb changing username via auth-worker
+
+
+M src/auth/auth-worker-client.c
+M src/auth/userdb-blocking.c
+
+2015-10-22 16:59:01 +0300 Timo Sirainen <tss@iki.fi> (2f564433c9)
+
+ notify plugin: Don't access already freed memory. In the same changeset I
+ even added a comment just above that it shouldn't be accessed..
+
+
+M src/plugins/notify/notify-storage.c
+
+2015-10-22 13:55:27 +0300 Timo Sirainen <tss@iki.fi> (6b0e35b29f)
+
+ quota-dict: Added "no-unset" parameter.
+
+
+M src/plugins/quota/quota-dict.c
+
+2015-10-21 19:12:45 +0300 Timo Sirainen <tss@iki.fi> (453278403d)
+
+ LAYOUT=index: Fixed error handling in mailbox creation race condition. If
+ two processes create the same mailbox, the other one ends up being deleted
+ on failure. However, if the deletion itself also failed the state becomes a
+ big ambiguous. We don't want to return MAIL_ERROR_EXISTS in that case,
+ because the caller may try to open the mailbox with the inconsistent state
+ and fail. So we'll instead return the original mailbox_delete() error to the
+ caller.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2015-10-21 15:50:31 +0300 Timo Sirainen <tss@iki.fi> (e03c02db6a)
+
+ login proxy: Separate admin kicks, director kicks and shutdowns in log
+ messages.
+
+
+M src/login-common/login-proxy.c
+
+2015-10-21 13:32:58 +0300 Timo Sirainen <tss@iki.fi> (ea6bcfde34)
+
+ ssl_options: Added support for no_ticket
+
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-ssl.h
+M src/login-common/ssl-proxy-openssl.c
+
+2015-10-20 21:23:03 +0300 Timo Sirainen <tss@iki.fi> (3d8059535d)
+
+ doveadm fs: Log also the exact reason for "file doesn't exist"
+
+
+M src/doveadm/doveadm-fs.c
+
+2015-10-20 20:15:20 +0300 Timo Sirainen <tss@iki.fi> (6477a2edb6)
+
+ dict: Show number of clients in process title
+
+
+M src/dict/main.c
+
+2015-10-20 18:43:32 +0300 Timo Sirainen <tss@iki.fi> (a7d68c0a69)
+
+ lib-index: tail_offset wasn't updated as often as it should have been.
+ ctx->last_tail_offset was being increased for every non-external transaction
+ and at the end we checked if head was larger than it. This logic didn't
+ really make any sense, since non-external transactions specifically were
+ supposed to update the tail_offset.
+
+
+M src/lib-index/mail-index-sync.c
+
+2015-10-20 18:22:53 +0300 Timo Sirainen <tss@iki.fi> (8da3322030)
+
+ lib-imap-storage: Mark METADATA transactions as external. We never write the
+ metadata values to any storage backend, so they also don't need to be
+ explicitly synced.
+
+
+M src/lib-imap-storage/imap-metadata.c
+
+2015-10-20 17:07:20 +0300 Timo Sirainen <tss@iki.fi> (2d33429390)
+
+ mysql: Added connect/read/write_timeout settings. Default to 30s
+ read/write_timeout.
+
+
+M src/lib-sql/driver-mysql.c
+
+2015-10-20 16:57:34 +0300 Timo Sirainen <tss@iki.fi> (e180615c1d)
+
+ mysql: Fixed client_flags parameter
+
+
+M src/lib-sql/driver-mysql.c
+
+2015-10-20 16:56:23 +0300 Timo Sirainen <tss@iki.fi> (9250f1bc4a)
+
+ mysql: Use the correct way of setting a connect timeout. I'm not sure if
+ this didn't exist earlier, or if I just somehow missed it.
+
+
+M src/lib-sql/driver-mysql.c
+
+2015-10-20 15:29:07 +0300 Timo Sirainen <tss@iki.fi> (14b1d2a263)
+
+ dsync: Added DSYNC_BRAIN_FLAG_NO_NOTIFY to enable
+ MAILBOX_TRANSACTION_FLAG_NO_NOTIFY It's arguable that this should be enabled
+ by default, but people might like to keep mail_log notifications for dsync.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2015-10-20 15:27:42 +0300 Timo Sirainen <tss@iki.fi> (8ccb1a013b)
+
+ lib-storage/notify: Added MAILBOX_TRANSACTION_FLAG_NO_NOTIFY This flag could
+ potentially apply for other things as well, not just notify plugin. In
+ general anything that could do external notifications shouldn't do anything
+ for transactions with this flag.
+
+
+M src/lib-storage/mail-storage.h
+M src/plugins/notify/notify-storage.c
+
+2015-10-20 13:12:24 +0300 Timo Sirainen <tss@iki.fi> (4ca910c09e)
+
+ dict-sql: Fixed async iteration with MySQL and SQLite
+
+
+M src/lib-dict/dict-sql.c
+
+2015-10-20 00:25:14 +0300 Timo Sirainen <tss@iki.fi> (5f7fcc523d)
+
+ lib-charset: Added UTF-7 iconv() unit test Possibly crashes on FreeBSD? Not
+ verified yet. But a good test in any case.
+
+
+M src/lib-charset/test-charset.c
+
+2015-10-20 00:23:56 +0300 Timo Sirainen <tss@iki.fi> (e9257b0d30)
+
+ lib-charset: Run iconv unit tests by giving iconv() new data 1 byte at a
+ time.
+
+
+M src/lib-charset/test-charset.c
+
+2015-10-19 14:29:10 +0300 Timo Sirainen <tss@iki.fi> (d464e2ef86)
+
+ imapc: Set storage's error to "internal error" if we detect mailbox state
+ corruption. This fixes "unknown internal error" in at least syncing code
+ when an expunged message reappears.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2015-10-19 14:05:26 +0300 Timo Sirainen <tss@iki.fi> (a03a29b0b1)
+
+ lib: net_gethostbyname() now supports [ipv6] style bracketed addresses.
+
+
+M src/lib/net.c
+
+2015-10-19 14:04:46 +0300 Timo Sirainen <tss@iki.fi> (a05375f235)
+
+ director: Fix to previous change - mail_host_dup() wasn't strdup()ing
+ hostname. This could have caused a crash at deinit.
+
+
+M src/director/mail-host.c
+
+2015-10-19 13:49:54 +0300 Timo Sirainen <tss@iki.fi> (9de5eb9e1a)
+
+ director: Remember backends' hostnames and send them in login reply. This
+ allows login processes to verify the remote server's hostname in SSL
+ certificate.
+
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director-request.h
+M src/director/director.c
+M src/director/login-connection.c
+M src/director/mail-host.c
+M src/director/mail-host.h
+
+2015-10-19 13:40:52 +0300 Timo Sirainen <tss@iki.fi> (c5279d575d)
+
+ director: Small code cleanup - make it easier to add parameters to HOST
+
+
+M src/director/director-connection.c
+
+2015-10-19 13:37:25 +0300 Timo Sirainen <tss@iki.fi> (616c36034f)
+
+ man: Changed "pattern" to "string" in doveamd-search-query(7)
+
+
+M doc/man/doveadm-search-query.7
+
+2015-10-15 14:44:03 +0300 Phil Carmody <phil@dovecot.fi> (47dba7db73)
+
+ lib-mail: fix html2text parser Silly typo. Fixes bug reported on dovecot
+ list by Akash on Oct 14.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-mail/mail-html2text.c
+
+2015-10-14 17:34:23 +0300 Timo Sirainen <tss@iki.fi> (dad72548f2)
+
+ dsync: If rename algorithm seems go to an infinite loop, log an error and
+ stop. Ideally we would of course fix the algorithm (especially to not
+ require this kind of looping).
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2015-10-14 17:28:11 +0300 Timo Sirainen <tss@iki.fi> (63a5701073)
+
+ imap/pop3-login: If LOGIN/USER is used with plaintext auth disabled,
+ remember the username for logging. It's still useful to see the username
+ that was sent in the logout message. This won't work for AUTHENTICATE PLAIN,
+ but hopefully the clients that use it understand the LOGINDISABLED
+ capability better.
+
+
+M src/imap-login/client-authenticate.c
+M src/pop3-login/client-authenticate.c
+
+2015-10-14 14:06:35 +0300 Timo Sirainen <tss@iki.fi> (1128c11441)
+
+ cassandra: Added read/write/delete_fallback_consistency settings. The
+ fallback is attempted if the primary consistency can't be satisfied. One
+ useful use case for this is to have:
+
+ write_consistency=each-quorum write_fallback_consistency=local-quorum
+
+ Which means that during regular operation all writes go to all data centers
+ before they are finished, but if one of the data centers go down we'll
+ switch to just waiting for local data center writes to finish.
+
+M src/lib-sql/driver-cassandra.c
+
+2015-10-14 13:32:02 +0300 Timo Sirainen <tss@iki.fi> (ce79dd4960)
+
+ dict-sql: dict_lookup_async() didn't call callback on query build failures.
+
+
+M src/lib-dict/dict-sql.c
+
+2015-10-13 21:57:29 +0300 Timo Sirainen <tss@iki.fi> (4cce361285)
+
+ lib-storage: Support latest cache fields in struct
+ mailbox_metadata.precache_fields
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-status.c
+
+2015-10-13 21:40:33 +0300 Timo Sirainen <tss@iki.fi> (c24ef1e78c)
+
+ imap: APPEND crashed if invalid keyword was given as parameter.
+
+
+M src/imap/cmd-append.c
+
+2015-10-13 21:21:48 +0300 Timo Sirainen <tss@iki.fi> (9e56d7403c)
+
+ auth ldap: If tls_* settings are used, pass them to LDAP library even if
+ tls=no Most importantly this allows using the settings for ldaps URLs. And
+ they hopefully won't hurt anything if neither STARTTLS nor ldaps are used.
+
+
+M src/auth/db-ldap.c
+
+2015-10-13 20:41:36 +0300 Timo Sirainen <tss@iki.fi> (72fc989c43)
+
+ lib: uri_parser_init() wasn't using pool parameter for anything. Now
+ everything is allocated from it instead of from data stack.
+
+
+M src/lib/uri-util.c
+
+2015-10-13 20:40:38 +0300 Timo Sirainen <tss@iki.fi> (b0c9213ef6)
+
+ dict-sql: Added support for value_type field, which deprecates
+ value_hexblob. value_type=string|hexblob|uint are supported now.
+
+
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql-settings.h
+M src/lib-dict/dict-sql.c
+
+2015-10-13 20:39:50 +0300 Timo Sirainen <tss@iki.fi> (b096ecf318)
+
+ cassandra: Added support for returning "int" type values. It looks like we
+ need to explicitly convert all types to strings.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-10-13 13:44:48 +0300 Timo Sirainen <tss@iki.fi> (fb1927dad9)
+
+ auth: passwd-file now stat()s the file max once per second. It's quite
+ unnecessary to do it more often.
+
+
+M src/auth/db-passwd-file.c
+M src/auth/db-passwd-file.h
+
+2015-10-12 17:12:17 +0300 Timo Sirainen <tss@iki.fi> (1126bfe4eb)
+
+ fs-dict: Implemented hex-encoding for values.
+
+
+M src/lib-fs/fs-dict.c
+
+2015-10-12 15:57:42 +0300 Timo Sirainen <tss@iki.fi> (9054b5f92a)
+
+ director: Log a warning if directors' clocks are too much out of sync.
+
+
+M src/director/director-connection.c
+
+2015-10-12 15:47:46 +0300 Timo Sirainen <tss@iki.fi> (abe29107f5)
+
+ director: Detect if directors' hosts have become desynced by sending
+ hosts_hash in SYNC parameter. Also fix up such a situation by resending all
+ HOSTs.
+
+
+M src/director/director-connection.c
+M src/director/director-host.h
+M src/director/director.c
+M src/director/director.h
+
+2015-10-12 15:41:55 +0300 Timo Sirainen <tss@iki.fi> (1574df6b0b)
+
+ director: Use mail_hosts_hash() to improve debug log messages.
+
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director.c
+
+2015-10-12 15:41:25 +0300 Timo Sirainen <tss@iki.fi> (131cb59107)
+
+ director: Added mail_hosts_hash(), which identifies the current mail_hosts
+ configuration.
+
+
+M src/director/mail-host.c
+M src/director/mail-host.h
+
+2015-10-12 15:39:36 +0300 Timo Sirainen <tss@iki.fi> (417885782e)
+
+ director: Added another debug log message.
+
+
+M src/director/director-request.c
+
+2015-10-11 18:45:58 +0300 Timo Sirainen <tss@iki.fi> (dd81d88575)
+
+ director: Small code cleanup - make it easier to add parameters to SYNC
+
+
+M src/director/director-connection.c
+
+2015-10-10 18:32:56 +0300 Timo Sirainen <tss@iki.fi> (28789c7ce1)
+
+ director: Don't allow doveadm to update backend's state if the state is
+ already being changed.
+
+
+M src/director/doveadm-connection.c
+
+2015-10-10 18:32:06 +0300 Timo Sirainen <tss@iki.fi> (8752573c44)
+
+ director: Don't become desynced if two directors change the same backend in
+ incompatible ways. This would have caused "User hash .. is being redirected
+ to two hosts" errors, which wouldn't easily go away as the directors have a
+ different view of what hosts currently exist.
+
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/mail-host.c
+M src/director/mail-host.h
+
+2015-10-06 18:17:45 +0300 Timo Sirainen <tss@iki.fi> (fc61333d29)
+
+ lib-http: Minor improvement to "disconnected during payload read" error
+ message. The same error is also used for http-server for parsing client
+ input, so the message shouldn't say anything about reading the input from
+ server.
+
+
+M src/lib-http/http-message-parser.c
+
+2015-10-06 18:14:05 +0300 Stephan Bosch <stephan@rename-it.nl> (7387c86ae0)
+
+ lib-http: client: Fixed handling of response timout if there is no payload
+ going to the server.
+
+
+M src/lib-http/http-client-request.c
+
+2015-10-04 21:52:29 +0300 Timo Sirainen <tss@iki.fi> (2988b4cbf3)
+
+ lib-index: Removed some unnecessary fields.
+
+
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-write.c
+
+2015-10-04 21:51:55 +0300 Timo Sirainen <tss@iki.fi> (1937094f52)
+
+ lib-index: Fixed checking when we want to update dovecot.index This has been
+ broken since 76f576fc28dc. After that dovecot.index was usually updated only
+ when dovecot.index.log was being rotated.
+
+
+M src/lib-index/mail-index-sync.c
+
+2015-10-04 21:49:08 +0300 Timo Sirainen <tss@iki.fi> (44d77d20cb)
+
+ lib-index: When writing new index, rotate the log file first before writing
+ it. This way the index contains the new log's seq+offset instead of having
+ to recreate the index almost immediately afterwards.
+
+
+M src/lib-index/mail-index-write.c
+
+2015-10-02 19:02:47 +0300 Timo Sirainen <tss@iki.fi> (568920fe55)
+
+ Added signature for changeset d7e14d388a7e
+
+
+M .hgsigs
+
+2015-10-02 19:02:43 +0300 Timo Sirainen <tss@iki.fi> (487191a51e)
+
+ Added tag 2.2.19 for changeset d7e14d388a7e
+
+
+M .hgtags
+
+2015-10-02 19:02:42 +0300 Timo Sirainen <tss@iki.fi> (bff2170a92)
+
+ Released v2.2.19.
+
+
+M NEWS
+M configure.ac
+
+2015-10-02 18:30:22 +0300 Timo Sirainen <tss@iki.fi> (d54067d8e6)
+
+ pop3: Fixed buffer overflow with handling pop3_deleted_flag setting. This
+ has been broken since v2.2.10, although the setting wasn't working
+ completely correctly before that version either. Afterwards it should have
+ become obvious quickly enough that the setting is broken, because it started
+ crashing POP3 sessions in normal use quite soon. So I doubt there are any
+ installations that are accidentally exploitable.
+
+
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+M src/pop3/pop3-commands.c
+
+2015-10-02 12:23:22 +0300 Timo Sirainen <tss@iki.fi> (630c1df5b6)
+
+ push-notification: Use setting_get_time() parsing for cache_lifetime OX
+ driver setting.
+
+
+M src/plugins/push-notification/Makefile.am
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2015-10-02 12:16:11 +0300 Timo Sirainen <tss@iki.fi> (923e217843)
+
+ push-notification: Compiler warning fix.
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2015-10-02 12:10:41 +0300 Timo Sirainen <tss@iki.fi> (fe1fb4c867)
+
+ push-notification: Allow drivers to set only "key" without "=value" to
+ parameters.
+
+
+M src/plugins/push-notification/push-notification-drivers.c
+
+2015-10-02 12:09:30 +0300 Timo Sirainen <tss@iki.fi> (0f58da3fd1)
+
+ push-notification: Added timeout_msecs and max_retries parameters to OX
+ driver. For configuring HTTP lookups.
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2015-10-02 11:46:30 +0300 Timo Sirainen <tss@iki.fi> (101becc104)
+
+ push-notification: Don't allocate cached metadata from memory pool in OX
+ driver. It slowly keeps increasing memory usage over time.
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2015-10-02 11:17:53 +0300 Timo Sirainen <tss@iki.fi> (f61bbf70eb)
+
+ push-notification: OX driver error handling fix - garbage metadata was
+ returned on failure.
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2015-10-01 21:02:55 -0600 Michael Slusarz <michael.slusarz@dovecot.fi> (8b4073f4a7)
+
+ push-notification: Add cache lifetime config parameter to OX driver
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2015-10-01 20:49:20 -0600 Michael Slusarz <michael.slusarz@dovecot.fi> (41dc355b0d)
+
+ push-notification: OCD fix for lining up function parameters
+
+
+M src/plugins/push-notification/push-notification-plugin.c
+
+2015-10-02 11:13:14 +0300 Timo Sirainen <tss@iki.fi> (33cbadf011)
+
+ push-notification: Removed optimization to init drivers only once. Different
+ users may have different drivers. And the previous metadata-caching change
+ especially isn't working without this change.
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+M src/plugins/push-notification/push-notification-drivers.h
+M src/plugins/push-notification/push-notification-plugin.c
+
+2015-10-01 13:48:24 +0300 Timo Sirainen <tss@iki.fi> (da2423165d)
+
+ push-notification: Free all events at plugin deinit.
+
+
+M src/plugins/push-notification/push-notification-events-rfc5423.c
+M src/plugins/push-notification/push-notification-events-rfc5423.h
+M src/plugins/push-notification/push-notification-plugin.c
+
+2015-10-01 13:45:17 +0300 Timo Sirainen <tss@iki.fi> (cad784f10d)
+
+ push-notification: Allow OX driver to use "user" from METADATA only if
+ user_from_metadata is set. Otherwise users could send push-notifications to
+ each others' if imap_metadata=yes.
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2015-10-01 12:49:25 +0300 Timo Sirainen <tss@iki.fi> (dfebce6840)
+
+ push-notification: Cache the metadata lookup in OX driver.
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2015-10-01 12:34:43 +0300 Timo Sirainen <tss@iki.fi> (3e13cdffb5)
+
+ push-notification: Don't crash at ox driver cleanup if init() hadn't been
+ called.
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2015-09-30 18:22:52 -0600 Michael Slusarz <michael.slusarz@dovecot.fi> (e7e9ca33af)
+
+ push-notification: Improved struct naming of driver list data
+
+
+M src/plugins/push-notification/push-notification-drivers.h
+M src/plugins/push-notification/push-notification-plugin.c
+
+2015-09-30 17:59:07 -0600 Michael Slusarz <michael.slusarz@dovecot.fi> (f6fb60c7dc)
+
+ push-notification: On-demand initialization of transaction data
+
+
+M src/plugins/push-notification/push-notification-drivers.h
+M src/plugins/push-notification/push-notification-plugin.c
+
+2015-09-30 17:49:24 -0600 Michael Slusarz <michael.slusarz@dovecot.fi> (cf93f9d7d7)
+
+ push-notification: Fix infinite recursive loop in OX driver
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2015-09-30 17:45:49 -0600 Michael Slusarz <michael.slusarz@dovecot.fi> (3cbb235b07)
+
+ push-notification: If other drivers triggered a non-MessageNew successful
+ event, don't assert
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2015-09-30 17:43:20 -0600 Michael Slusarz <michael.slusarz@dovecot.fi> (4ee5a85e75)
+
+ push-notification: Fix distinguishing between IMAP APPEND and MTA deliveries
+
+
+M src/plugins/push-notification/push-notification-plugin.c
+
+2015-09-30 18:50:09 +0300 Timo Sirainen <tss@iki.fi> (7d56dc75f7)
+
+ doveadm fetch: Added "storageid" field.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2015-09-30 18:49:39 +0300 Timo Sirainen <tss@iki.fi> (5eb85ec954)
+
+ lib-storage: Renamed MAIL_FETCH_UIDL_FILE_NAME to MAIL_FETCH_STORAGE_ID.
+ Keep MAIL_FETCH_UIDL_FILE_NAME for backwards compatibility for now.
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage.h
+M src/pop3/pop3-commands.c
+
+2015-09-30 18:11:53 +0300 Timo Sirainen <tss@iki.fi> (b5f00248ab)
+
+ dict-sql: Added support for "uint" field type.
+
+
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql-settings.h
+M src/lib-dict/dict-sql.c
+
+2015-09-30 17:38:12 +0300 Timo Sirainen <tss@iki.fi> (3e59d33934)
+
+ dict-sql: Added support for extensible field types.
+
+
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql-settings.h
+M src/lib-dict/dict-sql.c
+
+2015-09-29 21:02:37 +0300 Timo Sirainen <tss@iki.fi> (43da9b9617)
+
+ fts-solr: Removed Content-Type header from "select" requests to fix Solr
+ v5.1.
+
+
+M src/plugins/fts-solr/solr-connection.c
+
+2015-09-28 23:39:31 +0300 Timo Sirainen <tss@iki.fi> (36af6ff6b0)
+
+ lib: s/EDEADLOCK/EDEADLK/ It felt wrong since the beginning, but my first
+ attempt at EDEADLCK didn't work and EDEADLOCK did. Of course, not
+ everywhere.
+
+
+M src/lib/file-lock.c
+
+2015-09-28 17:26:04 +0300 Timo Sirainen <tss@iki.fi> (d228839c19)
+
+ Added signature for changeset 7a5726201e40
+
+
+M .hgsigs
+
+2015-09-28 17:26:00 +0300 Timo Sirainen <tss@iki.fi> (93ca503c99)
+
+ Added tag 2.2.19.rc2 for changeset 7a5726201e40
+
+
+M .hgtags
+
+2015-09-28 17:25:59 +0300 Timo Sirainen <tss@iki.fi> (d664d6bfe4)
+
+ Released v2.2.19.rc2.
+
+
+M configure.ac
+
+2015-09-28 16:37:37 +0300 Timo Sirainen <tss@iki.fi> (9d44feefe8)
+
+ quota: Fix to previous commit - counting quota-disabled-storages may have
+ returned random failures.
+
+
+M src/plugins/quota/quota-count.c
+
+2015-09-28 16:20:02 +0300 Timo Sirainen <tss@iki.fi> (9e99739b14)
+
+ quota: Fixed "count" backend to ignore storages that have quota disabled.
+ For example virtual mailboxes shouldn't be counted in quota.
+
+
+M src/plugins/quota/quota-count.c
+
+2015-09-28 16:17:13 +0300 Timo Sirainen <tss@iki.fi> (d46f8fb3c6)
+
+ quota: The new quota counting code was counting only the last mailbox.
+
+
+M src/plugins/quota/quota-count.c
+
+2015-09-28 16:15:00 +0300 Timo Sirainen <tss@iki.fi> (adbaf368e2)
+
+ virtual plugin: Fixed assert-crash on mailbox_status() if virtual mailbox
+ wasn't opened yet. We no longer require that mailboxes must not be
+ auto-opened.
+
+
+M src/plugins/virtual/virtual-storage.c
+
+2015-09-28 16:13:00 +0300 Timo Sirainen <tss@iki.fi> (ca203035ec)
+
+ virtual plugin: Fixed crash on mailbox_status() if virtual mailbox wasn't
+ opened yet. mbox->backend_boxes is initialized only when mailbox is opened.
+
+
+M src/plugins/virtual/virtual-storage.c
+
+2015-09-28 16:07:12 +0300 Timo Sirainen <tss@iki.fi> (ddd7c3b368)
+
+ quota: doveadm quota recalc works now for "count" backend by rebuilding
+ vsize header.
+
+
+M src/plugins/quota/quota-count.c
+
+2015-09-28 16:06:43 +0300 Timo Sirainen <tss@iki.fi> (88b06199c3)
+
+ quota: Code cleanup - abstract out iteration of mailboxes related to a quota
+ root.
+
+
+M src/plugins/quota/quota-count.c
+
+2015-09-28 15:51:45 +0300 Timo Sirainen <tss@iki.fi> (8e0eb6a0cf)
+
+ lib: Using istream-timeout with timeout disabled caused excessive CPU usage.
+
+
+M src/lib/istream-timeout.c
+
+2015-09-28 15:10:29 +0300 Timo Sirainen <tss@iki.fi> (c9ac17980c)
+
+ lib-storage: Added assert - mailbox has to be open when starting vsize
+ header update.
+
+
+M src/lib-storage/index/index-mailbox-size.c
+
+2015-09-28 15:10:02 +0300 Timo Sirainen <tss@iki.fi> (07ddf7a928)
+
+ lib-storage: Don't try to update index vsize if syncing failed.
+
+
+M src/lib-storage/index/index-sync.c
+
+2015-09-28 15:00:04 +0300 Timo Sirainen <tss@iki.fi> (1492e7c2c3)
+
+ lib-http: Don't silently truncate response payload if server disconnects
+ during it.
+
+
+M src/lib-http/http-message-parser.c
+
+2015-09-28 14:59:04 +0300 Timo Sirainen <tss@iki.fi> (8e7ea02910)
+
+ lib: Added i_stream_create_sized_with_callback(). The callback returns the
+ wanted error string.
+
+
+M src/lib/istream-sized.c
+M src/lib/istream-sized.h
+
+2015-09-28 14:41:15 +0300 Timo Sirainen <tss@iki.fi> (5e0607406d)
+
+ lib: When destroying istream-sized stream, it seeks the parent input at the
+ end offset. This is also how istream-limit works.
+
+
+M src/lib/istream-sized.c
+
+2015-09-28 14:34:05 +0300 Timo Sirainen <tss@iki.fi> (d08e49550a)
+
+ lib-http: When receiving unexpected input in HTTP response, include a longer
+ snippet of it in the error.
+
+
+M src/lib-http/http-response-parser.c
+
+2015-09-28 13:54:28 +0300 Timo Sirainen <tss@iki.fi> (e9228a3918)
+
+ lib-http: Added asserts to all refcount increments. These could catch
+ situations where an already freed object's refcount is attempted to be
+ increased.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-request.c
+
+2015-09-28 13:53:22 +0300 Timo Sirainen <tss@iki.fi> (76beac266e)
+
+ lib-http: Avoid crashes when server is already disconnected. I'm not sure if
+ this is the nicest fix, but seems to work for now at least.
+
+
+M src/lib-http/http-client-connection.c
+
+2015-09-28 13:51:49 +0300 Timo Sirainen <tss@iki.fi> (e312e229f2)
+
+ lib-http: Disconnection from HTTP server could have caused accessing already
+ freed memory. Freeing a request could have freed the connection.
+
+
+M src/lib-http/http-client-connection.c
+
+2015-09-28 12:33:33 +0300 Timo Sirainen <tss@iki.fi> (169b679209)
+
+ quota: Avoid crash in quota_root_iter_init() if mailbox has no quota
+ enabled. This allows quota_get_mail_user_quota() to be called even when
+ quota doesn't exist. Cleaned up all the code using it to now check for the
+ NULL result.
+
+ This fixes a crash in quota_clone plugin.
+
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2015-09-28 12:19:20 +0300 Timo Sirainen <tss@iki.fi> (f39a06c378)
+
+ quota-clone: Memory leak fix when mailbox had no quota roots.
+
+
+M src/plugins/quota-clone/quota-clone-plugin.c
+
+2015-09-27 21:48:34 +0300 Timo Sirainen <tss@iki.fi> (6b88b35aa0)
+
+ push-notification: Log about unexpectedly failing mailbox functions. Found
+ by Coverity.
+
+
+M src/plugins/push-notification/push-notification-driver-ox.c
+M src/plugins/push-notification/push-notification-event-mailboxcreate.c
+
+2015-09-27 21:42:17 +0300 Timo Sirainen <tss@iki.fi> (81623c8ecd)
+
+ Added NULL-check asserts to make static analyzer happier. These shouldn't be
+ happening.
+
+
+M src/config/doveconf.c
+M src/plugins/push-notification/push-notification-driver-ox.c
+
+2015-09-27 21:34:48 +0300 Timo Sirainen <tss@iki.fi> (a030246e8c)
+
+ lib-storage: Removed unnecessary code - nnode is never NULL at this point.
+ Found by Coverity.
+
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+
+2015-09-27 21:33:30 +0300 Timo Sirainen <tss@iki.fi> (bd78cb1d7e)
+
+ dsync: Removed unnecessary code - cur_mail is never NULL at this point.
+ Found by Coverity.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2015-09-27 21:30:56 +0300 Timo Sirainen <tss@iki.fi> (948b685d8d)
+
+ imapc: Fixed crash if imapc_host or imapc_password setting was missing.
+ Instead of giving a nice error message about it. Found by Coverity.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2015-09-27 21:28:25 +0300 Timo Sirainen <tss@iki.fi> (7fb4bc0355)
+
+ dict-client: Avoid crash if server disconnects during transaction commit.
+ Found by Coverity.
+
+
+M src/lib-dict/dict-client.c
+
+2015-09-27 21:25:59 +0300 Timo Sirainen <tss@iki.fi> (a7d14da6ce)
+
+ *-login: Session ID generator wasn't encoding remote port number correctly
+ to it. The upper 8bits of the port number were always written as 0. This
+ could have lead to duplicate session ID strings in some rare cases. Found by
+ Coverity.
+
+
+M src/login-common/client-common.c
+
+2015-09-27 20:47:20 +0300 Timo Sirainen <tss@iki.fi> (37ed92c2ca)
+
+ lib-http: Avoid compiler warnings in printf() strings. Cast fields
+ explicitly as long, which should be large enough.
+
+
+M src/lib-http/http-server-connection.c
+
+2015-09-27 20:46:29 +0300 Timo Sirainen <tss@iki.fi> (a326f9da3c)
+
+ Fixed compiler warnings in some systems. major() and minor() are unsigned
+ ints nowadays, but in Solaris it's major_t. Cast them explicitly to avoid
+ compiler warnings, and use unsigned longs instead of unsigned ints just in
+ case.
+
+
+M src/imap-hibernate/imap-client.c
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-master-client.c
+
+2015-09-27 19:03:31 +0300 Timo Sirainen <tss@iki.fi> (648a6034e3)
+
+ Make static analyzer happier.
+
+
+M src/lib-mail/test-message-id.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/mail-namespace.c
+
+2015-09-27 18:58:08 +0300 Timo Sirainen <tss@iki.fi> (9229d5ecc3)
+
+ lib-http: Removed "pure" attribute from http_header_field_find_unique().
+ It's a bit questionable if returning a pointer via parameter is allowed for
+ a pure function. Also having this attribute seems to confuse clang static
+ analyzer, because it gives false positives for code using
+ http_header_field_find_unique(). It's not important for performance anyway,
+ so better to avoid using it.
+
+
+M src/lib-http/http-header.h
+
+2015-09-25 18:16:56 +0300 Timo Sirainen <tss@iki.fi> (e7b5b71497)
+
+ dict-sql: If value isn't a hexblob as expected, log an error instead of
+ killing the whole process.
+
+
+M src/lib-dict/dict-sql.c
+
+2015-09-24 20:58:04 +0300 Timo Sirainen <tss@iki.fi> (be59f9ae98)
+
+ cassandra: copy&paste mistake - use monotonic timestamp generator, not
+ server side..
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-09-24 20:51:16 +0300 Timo Sirainen <tss@iki.fi> (f9eee36536)
+
+ cassandra: Added "version" parameter to specify a protocol version. Mainly
+ to avoid warnings logged when connecting to an older Cassandra server.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-09-24 20:28:51 +0300 Timo Sirainen <tss@iki.fi> (4d10133c64)
+
+ doveconf: Don't if _password value is empty, don't hide it.
+
+
+M src/config/doveconf.c
+
+2015-09-24 19:40:41 +0300 Timo Sirainen <tss@iki.fi> (f0e416aa42)
+
+ cassandra: Use a local monotonic timestamp generator. Otherwise we run into
+ race conditions on server side timestamps, which cause problems.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-09-24 19:27:10 +0300 Timo Sirainen <tss@iki.fi> (dd37e2ff29)
+
+ virtual plugin: Auto-close mailboxes by hooking into backend's
+ mailbox_open() This is a more reliable way of doing it. The earlier version
+ had problems that all the backend mailboxes could be opened when doing a
+ search on the virtual mailbox (for getting the GUID of the mailboxes).
+
+
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-plugin.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+
+2015-09-24 19:07:12 +0300 Timo Sirainen <tss@iki.fi> (9cb0fe28ae)
+
+ virtual plugin: Fixed assert-crash when closing a virtual mailbox consisting
+ of many real mailboxes.
+
+
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+
+2015-09-24 18:42:58 +0300 Timo Sirainen <tss@iki.fi> (38f51958dc)
+
+ dict-client: Verify that the correct transaction ID is returned for commit
+ reply.
+
+
+M src/lib-dict/dict-client.c
+
+2015-09-24 18:41:48 +0300 Timo Sirainen <tss@iki.fi> (54a8bb6e9b)
+
+ quota: Avoid triggering quota recalc in dict transaction commit callback.
+ This mainly causes trouble if it again does more dict accesses.
+
+
+M src/plugins/quota/quota-dict.c
+
+2015-09-24 16:41:10 +0300 Timo Sirainen <tss@iki.fi> (ccd8afd85a)
+
+ pgsql: Avoid crash in multi-command transaction if one of the queries
+ couldn't be sent to server.
+
+
+M src/lib-sql/driver-pgsql.c
+
+2015-09-24 16:30:23 +0300 Timo Sirainen <tss@iki.fi> (1693511477)
+
+ indexer: Use a slightly different session ID than the session that requested
+ indexing. Required to avoid "duplicate session ID" errors in stats process.
+
+ Alternative would have been to change the stats protocol a bit and always
+ send the service name along with session ID, and use those two together as
+ the primary key. Maybe this could be done in future if we get more of these
+ kind of processes.
+
+M src/indexer/master-connection.c
+
+2015-09-24 16:16:43 +0300 Timo Sirainen <tss@iki.fi> (154ee35634)
+
+ doveconf: Unless -P parameter is used, hide all keys ending with "_password"
+ A little bit ugly way, but implementing a proper SET_PASSWORD type was
+ getting too difficult with the current config code. Then again as a bonus
+ this also hides plugin { *_password } settings, if there are any, which
+ wouldn't have been possible with SET_PASSWORD.
+
+
+M src/config/doveconf.c
+
+2015-09-24 15:19:53 +0300 Timo Sirainen <tss@iki.fi> (f67a12c7a2)
+
+ lib: Fixed __builtin_object_size() usage in buffer.h With type=3 size for
+ unknown objects is set to 0, which causes a compiler failure. With type=1
+ it's (size_t)-1, which passes the check.
+
+
+M src/lib/buffer.h
+
+2015-09-24 12:32:24 +0300 Timo Sirainen <tss@iki.fi> (f990dde096)
+
+ Don't try to pass through void function's return value I wish gcc or clang
+ complained about these.
+
+
+M src/lib-dict/dict.c
+M src/lib-settings/settings-parser.c
+
+2015-09-24 10:11:29 +0300 Timo Sirainen <tss@iki.fi> (9366a287ae)
+
+ push-notification: Added missing newlines to end of files to prevent
+ compiler warnings.
+
+
+M src/plugins/push-notification/push-notification-driver-dlog.c
+M src/plugins/push-notification/push-notification-drivers.c
+M src/plugins/push-notification/push-notification-event-flagsset.c
+M src/plugins/push-notification/push-notification-event-messageappend.c
+M src/plugins/push-notification/push-notification-event-messageexpunge.c
+M src/plugins/push-notification/push-notification-event-messageread.h
+M src/plugins/push-notification/push-notification-events-rfc5423.c
+M src/plugins/push-notification/push-notification-events.c
+
+2015-09-24 01:13:36 +0300 Timo Sirainen <tss@iki.fi> (b087ad415f)
+
+ master: stdlib.h wasn't supposed to be removed from systemd's sd-daemon.c
+ It's not using our lib.h
+
+
+M src/master/sd-daemon.c
+
+2015-09-24 01:04:00 +0300 Timo Sirainen <tss@iki.fi> (d1a0845aed)
+
+ pgsql: Fixed committing a single sql_update_get_rows() transaction. The rows
+ weren't being set.
+
+
+M src/lib-sql/driver-pgsql.c
+
+2015-09-24 01:02:32 +0300 Timo Sirainen <tss@iki.fi> (e8db44d3d5)
+
+ pgsql: Fixed committing multiple transactions. This code is quite horrible
+ and could use a larger redesign. But it appears to be working for now..
+
+
+M src/lib-sql/driver-pgsql.c
+
+2015-09-24 01:00:45 +0300 Timo Sirainen <tss@iki.fi> (191eb75dd8)
+
+ lib-sql: sqlpool needs to change transaction queries' transaction pointer
+ Otherwise query->trans points to the sqlpool's transaction, while our
+ backends want it to point to the backend's transaction.
+
+
+M src/lib-sql/driver-sqlpool.c
+
+2015-09-23 23:01:27 +0300 Timo Sirainen <tss@iki.fi> (563b8bb42d)
+
+ dict: Include PID in the log prefix.
+
+
+M src/dict/main.c
+
+2015-09-23 23:00:30 +0300 Timo Sirainen <tss@iki.fi> (2333ef65e4)
+
+ dict-client: Improved broken iterate reply logging.
+
+
+M src/lib-dict/dict-client.c
+
+2015-09-23 22:59:55 +0300 Timo Sirainen <tss@iki.fi> (9e7a309914)
+
+ dict-client: If dict iteration was aborted, the rest of the connection state
+ became broken. We never continued skipping over the rest of the iteration,
+ instead the iteration replies were treated as replies to the following
+ commands.
+
+
+M src/lib-dict/dict-client.c
+
+2015-09-23 22:57:55 +0300 Timo Sirainen <tss@iki.fi> (7e74fadc66)
+
+ dict-client: Catch more invalid protocol replies.
+
+
+M src/lib-dict/dict-client.c
+
+2015-09-23 22:49:41 +0300 Timo Sirainen <tss@iki.fi> (feac4d8321)
+
+ dict-client: Disconnect from server on unexpected errors.
+
+
+M src/lib-dict/dict-client.c
+
+2015-09-23 16:10:27 +0300 Timo Sirainen <tss@iki.fi> (76f6d8b6ca)
+
+ Added signature for changeset 60057d955db3
+
+
+M .hgsigs
+
+2015-09-23 16:10:24 +0300 Timo Sirainen <tss@iki.fi> (18ceb7ad36)
+
+ Added tag 2.2.19.rc1 for changeset 60057d955db3
+
+
+M .hgtags
+
+2015-09-23 16:10:24 +0300 Timo Sirainen <tss@iki.fi> (782ad0e4b9)
+
+ Released v2.2.19.rc1.
+
+
+M NEWS
+M configure.ac
+
+2015-09-23 16:09:47 +0300 Timo Sirainen <tss@iki.fi> (5043371865)
+
+ virtual: The virtual index may have sometimes been unnecessarily deleted.
+ Due to uninitialized broken_r value.
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2015-09-23 16:08:33 +0300 Timo Sirainen <tss@iki.fi> (2d07c751bd)
+
+ example-config: Added imap_hibernate_timeout
+
+
+M doc/example-config/conf.d/20-imap.conf
+
+2015-09-23 14:52:45 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (814bf67459)
+
+ Remove now-unnecessary direct stdlib.h #includes.
+
+
+M src/anvil/anvil-connection.c
+M src/anvil/main.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-token.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/checkpassword-reply.c
+M src/auth/db-checkpassword.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/auth/db-sql.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-gssapi.c
+M src/auth/mech-scram-sha1.c
+M src/auth/mech-winbind.c
+M src/auth/mech.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-pam.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+M src/auth/password-scheme-scram.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-prefetch.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb.c
+M src/config/config-connection.c
+M src/config/config-parser.c
+M src/config/doveconf.c
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/director/director-test.c
+M src/director/test-user-directory.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-pw.c
+M src/doveadm/doveadm-replicator.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+M src/imap-hibernate/imap-hibernate-settings.c
+M src/imap-login/client-authenticate.c
+M src/imap-login/imap-proxy.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-select.c
+M src/imap/cmd-store.c
+M src/imap/imap-client.c
+M src/imap/imap-commands.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-search-args.c
+M src/imap/imap-search.c
+M src/imap/imap-settings.c
+M src/imap/main.c
+M src/indexer/indexer-client.c
+M src/lda/main.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-compression/test-compression.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-file.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fts/test-fts-tokenizer.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/mail-send.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+M src/lib-master/test-master-service-settings-cache.c
+M src/lib-otp/otp-parse.c
+M src/lib-settings/settings-parser.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/sql-api.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-md5-all.c
+M src/lib-storage/index/mbox/mbox-md5-apop3d.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mailbox-header.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib-storage/mailbox-watch.c
+M src/lib-test/test-common.c
+M src/lib/abspath.c
+M src/lib/array.c
+M src/lib/backtrace-string.c
+M src/lib/compat.c
+M src/lib/data-stack.c
+M src/lib/env-util.c
+M src/lib/failures.c
+M src/lib/file-dotlock.c
+M src/lib/home-expand.c
+M src/lib/hostpid.c
+M src/lib/lib.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-system.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/mmap-anon.c
+M src/lib/module-dir.c
+M src/lib/net.c
+M src/lib/process-title.c
+M src/lib/rand.c
+M src/lib/randgen.c
+M src/lib/restrict-access.c
+M src/lib/test-array.c
+M src/lib/test-base32.c
+M src/lib/test-base64.c
+M src/lib/test-buffer.c
+M src/lib/test-data-stack.c
+M src/lib/test-hash.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-istream-tee.c
+M src/lib/test-llist.c
+M src/lib/test-numpack.c
+M src/lib/test-ostream-file.c
+M src/lib/test-priorityq.c
+M src/lib/test-seq-range-array.c
+M src/lib/test-strfuncs.c
+M src/lib/test-strnum.c
+M src/lib/test-timing.c
+M src/lib/test-unichar.c
+M src/lib/timing.c
+M src/lib/unlink-old-files.c
+M src/lib/var-expand.c
+M src/lmtp/main.c
+M src/log/log-connection.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+M src/login-common/main.c
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/master/main.c
+M src/master/sd-daemon.c
+M src/master/service-monitor.c
+M src/master/service-process.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-plugin.c
+M src/plugins/acl/acl-storage.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/expire/expire-set.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/mail-log/mail-log-plugin.c
+M src/plugins/notify/notify-plugin.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-plugin.c
+M src/plugins/quota/quota-util.c
+M src/plugins/quota/quota.c
+M src/plugins/replication/replication-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3-login/client-authenticate.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-settings.c
+M src/ssl-params/ssl-params-settings.c
+M src/ssl-params/ssl-params.c
+M src/util/gdbhelper.c
+M src/util/maildirlock.c
+M src/util/rawlog.c
+M src/util/script-login.c
+M src/util/script.c
+M src/util/tcpwrap.c
+
+2015-09-23 14:52:44 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (d3fa9b61b8)
+
+ lib: Include stdlib.h in lib.h. It's already included in so many files that
+ we might as well include it in lib.h for everything. This is especially
+ needed to be able to use sort.h, which currently is included in lib.h
+ anyway.
+
+
+M src/lib/lib.h
+
+2015-09-22 22:33:41 -0600 Michael M Slusarz <michael.slusarz@dovecot.fi> (51ed197520)
+
+ Added push-notification plugin
+
+
+M configure.ac
+M dovecot-config.in.in
+M src/plugins/Makefile.am
+A src/plugins/push-notification/Makefile.am
+A src/plugins/push-notification/push-notification-driver-dlog.c
+A src/plugins/push-notification/push-notification-driver-ox.c
+A src/plugins/push-notification/push-notification-drivers.c
+A src/plugins/push-notification/push-notification-drivers.h
+A src/plugins/push-notification/push-notification-event-flagsclear.c
+A src/plugins/push-notification/push-notification-event-flagsclear.h
+A src/plugins/push-notification/push-notification-event-flagsset.c
+A src/plugins/push-notification/push-notification-event-flagsset.h
+A src/plugins/push-notification/push-notification-event-mailboxcreate.c
+A src/plugins/push-notification/push-notification-event-mailboxcreate.h
+A src/plugins/push-notification/push-notification-event-mailboxdelete.c
+A src/plugins/push-notification/push-notification-event-mailboxdelete.h
+A src/plugins/push-notification/push-notification-event-mailboxrename.c
+A src/plugins/push-notification/push-notification-event-mailboxrename.h
+A src/plugins/push-notification/push-notification-event-mailboxsubscribe.c
+A src/plugins/push-notification/push-notification-event-mailboxsubscribe.h
+A src/plugins/push-notification/push-notification-event-mailboxunsubscribe.c
+A src/plugins/push-notification/push-notification-event-mailboxunsubscribe.h
+A src/plugins/push-notification/push-notification-event-message-common.h
+A src/plugins/push-notification/push-notification-event-messageappend.c
+A src/plugins/push-notification/push-notification-event-messageappend.h
+A src/plugins/push-notification/push-notification-event-messageexpunge.c
+A src/plugins/push-notification/push-notification-event-messageexpunge.h
+A src/plugins/push-notification/push-notification-event-messagenew.c
+A src/plugins/push-notification/push-notification-event-messagenew.h
+A src/plugins/push-notification/push-notification-event-messageread.c
+A src/plugins/push-notification/push-notification-event-messageread.h
+A src/plugins/push-notification/push-notification-event-messagetrash.c
+A src/plugins/push-notification/push-notification-event-messagetrash.h
+A src/plugins/push-notification/push-notification-events-rfc5423.c
+A src/plugins/push-notification/push-notification-events-rfc5423.h
+A src/plugins/push-notification/push-notification-events.c
+A src/plugins/push-notification/push-notification-events.h
+A src/plugins/push-notification/push-notification-plugin.c
+A src/plugins/push-notification/push-notification-plugin.h
+A src/plugins/push-notification/push-notification-triggers.c
+A src/plugins/push-notification/push-notification-triggers.h
+A src/plugins/push-notification/push-notification-txn-mbox.c
+A src/plugins/push-notification/push-notification-txn-mbox.h
+A src/plugins/push-notification/push-notification-txn-msg.c
+A src/plugins/push-notification/push-notification-txn-msg.h
+
+2015-09-22 21:16:51 +0300 Stephan Bosch <stephan@rename-it.nl> (13bdd67aa0)
+
+ lib-http: client: Tunneled https peer addresses were not compared properly.
+ The https_name field was ignored in that case.
+
+
+M src/lib-http/http-client-peer.c
+
+2015-09-22 21:16:34 +0300 Stephan Bosch <stephan@rename-it.nl> (8192e6fcab)
+
+ lib-http: client: Fixed bug that caused queues to be duplicated over time
+ when host has multiple IPs. The peer address comparison did not account for
+ the fact that the initial queue address has no IP assigned.
+
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-request.c
+
+2015-09-22 21:15:45 +0300 Stephan Bosch <stephan@rename-it.nl> (7b572cf527)
+
+ lib-http: client: Improved hash function for peer addresses.
+
+
+M src/lib-http/http-client-peer.c
+
+2015-09-22 16:40:58 +0300 Timo Sirainen <tss@iki.fi> (c981098a51)
+
+ lib-storage: If stats plugin is enabled, set
+ fs_settings.enable_timings=TRUE.
+
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+M src/plugins/stats/stats-plugin.c
+
+2015-09-22 16:38:59 +0300 Timo Sirainen <tss@iki.fi> (12d31981c5)
+
+ lib-fs: debug and enable_timing settings weren't being permanently copied to
+ fs->set
+
+
+M src/lib-fs/fs-api.c
+
+2015-09-22 16:09:41 +0300 Timo Sirainen <tss@iki.fi> (df5b253f17)
+
+ lib: Added timing_get_sum()
+
+
+M src/lib/test-timing.c
+M src/lib/timing.c
+M src/lib/timing.h
+
+2015-09-22 14:33:33 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (bda082b4c7)
+
+ imap: Fix typo in error message.
+
+
+M src/imap/imap-state.c
+
+2015-09-22 14:32:51 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (ab0eb4b10d)
+
+ auth: Remove redundant if
+
+
+M src/auth/auth-request.c
+
+2015-09-22 14:26:25 +0300 Timo Sirainen <tss@iki.fi> (9549f50a9d)
+
+ Make static analyzer happier.
+
+
+M src/lib/test-timing.c
+
+2015-09-22 14:26:08 +0300 Timo Sirainen <tss@iki.fi> (68d7af0bb1)
+
+ quota: Make sure the limit return value is initialized when
+ quota_get_resource() returns 0 Later on a debug log message in
+ quota_over_flag_check_root() was accessing the limit, which wasn't
+ necessarily initialized.
+
+ Also initialized value return value just as well to be safe.
+
+M src/plugins/quota/quota.c
+
+2015-09-22 13:53:47 +0300 Timo Sirainen <tss@iki.fi> (086dacad03)
+
+ lib-master: Slightly improved "process_limit reached?" error message.
+
+
+M src/lib-master/master-auth.c
+
+2015-09-22 13:50:08 +0300 Timo Sirainen <tss@iki.fi> (013c0431b5)
+
+ virtual plugin: Disable caching via mailbox list indexes. Otherwise e.g.
+ STATUS can give stale replies.
+
+
+M src/plugins/virtual/virtual-storage.c
+
+2015-09-22 01:05:09 +0300 Timo Sirainen <tss@iki.fi> (cb44fd2f88)
+
+ lib-http: Optimized http_client_request_send_payload() fix Badly copy&pasted
+ my original fix, instead of noticing that Stephan's fix was slightly
+ different. Probably shouldn't have made actual difference other than for
+ performance.
+
+
+M src/lib-http/http-client-request.c
+
+2015-09-22 00:55:15 +0300 Timo Sirainen <tss@iki.fi> (47ff1eaf3b)
+
+ lib-http: Avoid crashes on failing http_client_request_send_payload() calls
+ It HTTP server connection died, ioloop might not have anything to do
+ anymore:
+
+ Panic: file ioloop-epoll.c: line 187 (io_loop_handler_run_internal):
+ assertion failed: (msecs >= 0)
+
+M src/lib-http/http-client-request.c
+
+2015-09-22 00:40:14 +0300 Timo Sirainen <tss@iki.fi> (d9e3a9484e)
+
+ Makefile: Added missing sort.h
+
+
+M src/lib/Makefile.am
+
+2015-09-21 19:52:32 +0300 Phil Carmody <phil@dovecot.fi> (ec8eacaa2c)
+
+ lib: timings - added quantiles Just sub-sample the stream. On the assumption
+ that the samples come from one distribution, then any randomly selected
+ subset will share the same distribution. Therefore the quantiles should be
+ at approximately the same value.
+
+ However, that's a big assumption, as there will almost certainly be time
+ dependency, and periodicity (24hrs, 7 days).
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-timing.c
+M src/lib/timing.c
+M src/lib/timing.h
+
+2015-09-21 19:51:05 +0300 Phil Carmody <phil@dovecot.fi> (2c886f02dd)
+
+ lib: extract sort-helpers into separate sort.h file The macro definition was
+ nothing to do with strings, and we can put trivial common-type comparators
+ here. They didn't need to be static inline, as they can never be inlined
+ anyway, being only used via function pointers, but that preserves the
+ closest equivalent to the current code.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-imap-client/imapc-msgmap.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+A src/lib/sort.h
+M src/lib/strfuncs.h
+M src/lib/test-timing.c
+M src/plugins/fts-squat/squat-uidlist.c
+
+2015-09-21 17:03:19 +0300 Timo Sirainen <tss@iki.fi> (e716e8ef3d)
+
+ lib-storage: Forgot to add index-mailbox-size.h to e29d2f7fe53f
+
+
+A src/lib-storage/index/index-mailbox-size.h
+
+2015-09-21 17:01:05 +0300 Timo Sirainen <tss@iki.fi> (a8dcd4e233)
+
+ fts: Send session ID to indexer and indexer-worker for logging purposes.
+
+
+M src/indexer/indexer-client.c
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-queue.h
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-storage.c
+
+2015-09-21 16:36:05 +0300 Timo Sirainen <tss@iki.fi> (c4db121864)
+
+ quota: Added "count" backend, which simply sums up mailboxes' vsizes. In a
+ way this is similar to the simple "dirsize" backend, but much more
+ efficient. As long as mailbox_list_index=yes, the quota can typically be
+ looked up only by reading the dovecot.list.index* files.
+
+ This backend enforces using quota_vsizes=yes setting to keep the performance
+ good, because physical sizes don't have a similar optimized vsize header.
+ There's also no especially good reason why this backend should support
+ physical sizes - they were originally mainly used to allow quickly stat()ing
+ Maildir files.
+
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota.c
+
+2015-09-21 16:32:27 +0300 Timo Sirainen <tss@iki.fi> (9963bef626)
+
+ lib-storage: Update mailbox vsize header on save/copy/expunge. This allows
+ always efficiently looking up maiboxes' vsizes after they're initially
+ calculated.
+
+ The expunge handling is unfortunately done currently in quota handling code,
+ so it works only if quota is enabled. Ideally this would be solved in v2.3
+ with some lib-storage core changes.
+
+M src/lib-storage/index/Makefile.am
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/plugins/quota/quota-storage.c
+
+2015-09-21 16:24:30 +0300 Timo Sirainen <tss@iki.fi> (93f1642397)
+
+ quota: Added quota_vsizes=yes setting to count quotas using virtual sizes
+ instead of physical sizes. This doesn't work with all the quota backends.
+
+
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2015-09-21 16:12:43 +0300 Timo Sirainen <tss@iki.fi> (93eb96e09c)
+
+ quota: Commit expunge transaction instead of rolling back. This likely won't
+ make much of a difference, since it should have accessed only expunged
+ mails. But it's a bit cleaner this way.
+
+
+M src/plugins/quota/quota-storage.c
+
+2015-09-21 16:09:37 +0300 Timo Sirainen <tss@iki.fi> (a4922fa0c7)
+
+ quota: Code cleanup - extract default init() handling to
+ quota_root_default_init()
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2015-09-21 15:41:49 +0300 Timo Sirainen <tss@iki.fi> (c9b76ca218)
+
+ imap: If client disconnects, log the in-progress commands' input/output
+ bytes.
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands.c
+
+2015-09-21 15:32:02 +0300 Timo Sirainen <tss@iki.fi> (fa5c3e6ebd)
+
+ imap: If client disconnects, log how long the in-progress commands were
+ running.
+
+
+M src/imap/imap-client.c
+
+2015-09-21 14:18:51 +0300 Timo Sirainen <tss@iki.fi> (f56f01d9c1)
+
+ Compiler warning fix.
+
+
+M src/imap/imap-commands.c
+
+2015-09-21 14:02:47 +0300 Timo Sirainen <tss@iki.fi> (266d72b0b3)
+
+ imap: Improved command timing information reporting. We now report also the
+ time we spent waiting on ioloop. Also fixed reporting command timing
+ information when multiple commands were running in parallel (e.g. SEARCH +
+ FETCH). If multiple commands are running in parallel they all report the
+ same ioloop wait time, because there's no easy way to know which one of them
+ caused the wait.
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands.c
+
+2015-09-21 13:59:41 +0300 Timo Sirainen <tss@iki.fi> (fb4bd85e7d)
+
+ lib: Added io_loop_get_wait_usecs()
+
+
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2015-09-21 13:59:22 +0300 Timo Sirainen <tss@iki.fi> (b7c841fd6d)
+
+ imap: When running SEARCH on "background", run it through command_exec()
+ Otherwise all the timing information isn't right and the pre/post hooks
+ weren't being called so stats counting was also wrong.
+
+
+M src/imap/imap-search.c
+
+2015-09-20 22:25:11 +0300 Timo Sirainen <tss@iki.fi> (5fb7f20862)
+
+ lib-index: Added mail_index_sync_have_any_expunges() This can be used to
+ quickly check before mail_index_sync_begin() if there are likely to be any
+ expunges that will be synced.
+
+
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index.h
+
+2015-09-20 21:49:51 +0300 Stephan Bosch <stephan@rename-it.nl> (4ac2e38bdb)
+
+ auth: The mechanisms configured using the auth_mechanisms setting were not
+ enforced. The login service would check whether the mechanism is supported
+ by auth, but auth performed no such check of its own. This means that any
+ implemented mechanism was accessible from a login, even though was
+ presumably disabled.
+
+
+M src/auth/auth-request-handler.c
+M src/auth/mech.c
+M src/auth/mech.h
+
+2015-09-20 01:04:50 +0300 Timo Sirainen <tss@iki.fi> (3d2fd3816b)
+
+ lib: file_wait_lock*(): Improve the panic log message on EDEADLOCK.
+
+
+M src/lib/file-lock.c
+
+2015-09-17 07:33:22 +0900 Timo Sirainen <tss@iki.fi> (48eb19f796)
+
+ lib-fs: Fixed compiling with some OSes
+
+
+M src/lib-fs/fs-api-private.h
+
+2015-09-17 07:33:01 +0900 Timo Sirainen <tss@iki.fi> (db6fe1b4c4)
+
+ lib-fs: timing_deinit()s was called too late - fs was already freed.
+
+
+M src/lib-fs/fs-api.c
+
+2015-09-17 07:26:49 +0900 Timo Sirainen <tss@iki.fi> (37e8420b32)
+
+ cassandra: With debugging, log also how many rows were iterated.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-09-17 07:24:28 +0900 Timo Sirainen <tss@iki.fi> (2ccb478c35)
+
+ cassandra: With debugging, log also how long result was used for before it
+ was freed. This includes the time spent on SELECT query's iterator.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-09-17 07:20:32 +0900 Timo Sirainen <tss@iki.fi> (3e8842470a)
+
+ cassandra: Don't crash if connection to Cassandra failed.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-09-17 07:07:57 +0900 Timo Sirainen <tss@iki.fi> (de5f478d9e)
+
+ cassandra: If log_level=debug, log also how long the queries take.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-09-16 10:46:44 +0900 Timo Sirainen <tss@iki.fi> (caa1546576)
+
+ lib: file_wait_lock_error() assert-crashes now on EDEADLOCK It's always a
+ bug and a crash can help debug it.
+
+
+M src/lib/file-lock.c
+
+2015-09-16 05:01:40 +0900 Timo Sirainen <tss@iki.fi> (1c244f6fdb)
+
+ lib-fs: Track operation timing statistics if enable_timing setting is set.
+
+
+M src/lib-fs/Makefile.am
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+A src/lib-fs/istream-fs-stats.c
+A src/lib-fs/istream-fs-stats.h
+
+2015-09-16 04:44:37 +0900 Timo Sirainen <tss@iki.fi> (273a7cf98c)
+
+ lib: Added a simple timing.h API for tracking min/max/avg for events.
+
+
+M src/lib/Makefile.am
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+A src/lib/test-timing.c
+A src/lib/timing.c
+A src/lib/timing.h
+
+2015-09-15 15:20:08 +0900 Timo Sirainen <tss@iki.fi> (4db61af2cf)
+
+ cassandra: Added delete_consistency parameter.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-09-13 16:42:32 +0300 Timo Sirainen <tss@iki.fi> (33c7e05213)
+
+ lib: file_create_locked() may have leaked memory on some race conditions.
+
+
+M src/lib/file-create-locked.c
+
+2015-09-12 13:00:58 +0300 Timo Sirainen <tss@iki.fi> (03ba849275)
+
+ doveadm mailbox metadata list: Fixed not giving the prefix parameter.
+
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+
+2015-09-11 14:02:21 +0300 Timo Sirainen <tss@iki.fi> (d993d49e83)
+
+ doveadm mailbox attribute list: Prefix parameter was ignored.
+
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+
+2015-09-11 14:02:01 +0300 Timo Sirainen <tss@iki.fi> (42f2d982a0)
+
+ lib-storage: Fixed iterating attribute prefix that matched the attribute
+ itself. So if attribute key was "foo", iterating "foo" returned garbage
+ because it skipped over the trailing \0.
+
+
+M src/lib-storage/mailbox-attribute.c
+
+2015-09-11 01:20:28 +0300 Timo Sirainen <tss@iki.fi> (27f5066c78)
+
+ master: systemd's sd_listen_fds() error handling was wrong.
+
+
+M src/master/service-listen.c
+
+2015-09-09 11:31:41 +0300 Timo Sirainen <tss@iki.fi> (ec937f21ab)
+
+ lib-storage: Fixed crash in mailbox list index notifying caused by
+ fa979ccfa34c
+
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+
+2015-09-08 19:28:31 +0300 Phil Carmody <phil@dovecot.fi> (d6bbf85809)
+
+ lib: test-strnum - do not invite undetectable errors The very numbers which
+ could cause a broken parser to over-run, the ones we are testing, are the
+ ones which will be parsed as having a value similar to 'value', so check
+ that no value was returned by using a number completely dissimilar to that.
+ Otherwise, there might be an accidental mis-parse that overwrote value, but
+ left its value the same.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-strnum.c
+
+2015-09-08 19:12:26 +0300 Timo Sirainen <tss@iki.fi> (275cc4c040)
+
+ lib-storage: Replaced some unlink()s with i_unlink*()s where we could. This
+ changes some mail_storage_set_critical() calls to i_error()s, but because
+ these unlink() failures don't actually fail the operation it doesn't matter.
+
+
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2015-09-08 19:11:45 +0300 Timo Sirainen <tss@iki.fi> (39087f589d)
+
+ lib-index: Replaced some unlink()s with i_unlink*()s where we could. This
+ changes some mail_index_set_error() calls to i_error()s, but because these
+ unlink() failures don't actually fail the operation it doesn't matter. In
+ fact it may be even better that it doesn't overwrite the existing
+ index->error if it exists.
+
+
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log.c
+
+2015-09-08 19:07:02 +0300 Timo Sirainen <tss@iki.fi> (46b823ac3b)
+
+ Replaced unlink() calls with i_unlink*() wherever possible.
+
+
+M src/auth/auth-token.c
+M src/doveadm/doveadm-sis.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/lda/main.c
+M src/lib-compression/test-compression.c
+M src/lib-fs/fs-posix.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index.c
+M src/lib-index/mailbox-log.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/smtp-client.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-master/mountpoint-list.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib/file-copy.c
+M src/lib/file-create-locked.c
+M src/lib/file-dotlock.c
+M src/lib/iostream-rawlog.c
+M src/lib/iostream-temp.c
+M src/lib/istream-seekable.c
+M src/lib/net.c
+M src/lib/safe-mkstemp.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-ostream-file.c
+M src/lib/unlink-old-files.c
+M src/lmtp/commands.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/master/main.c
+M src/master/master-settings.c
+M src/master/service-listen.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/mail-filter/mail-filter-plugin.c
+M src/plugins/quota/quota-maildir.c
+M src/ssl-params/ssl-params.c
+
+2015-09-08 18:49:00 +0300 Timo Sirainen <tss@iki.fi> (8dc04cf60e)
+
+ lib: Added i_unlink() and i_unlink_if_exists() These log the error message
+ on a failed unlink(). They also include the source code file and line number
+ to make it easier to find which unlink() actually failed if the path itself
+ doesn't already clearly identify it. This can be especially useful if the
+ path is (null), "" or contains some corrupted garbage.
+
+
+M src/lib/lib.c
+M src/lib/lib.h
+
+2015-09-08 18:45:57 +0300 Timo Sirainen <tss@iki.fi> (b141539959)
+
+ lib-storage: Mailbox deletion shouldn't fail when trying to delete read-only
+ attributes.
+
+
+M src/lib-storage/index/index-storage.c
+
+2015-09-08 18:45:28 +0300 Timo Sirainen <tss@iki.fi> (5e09e28395)
+
+ lib-storage: Use MAIL_ERROR_NOTPOSSIBLE if mailbox_attribute_*set() fails
+ for read-only attribute. MAIL_ERROR_PARAMS indicates that there was
+ something wrong with the parameters itself. But the caller can't know (at
+ least with current APIs) if it's a read-only attribute it's trying to change
+ before actually doing it.
+
+
+M src/lib-storage/mailbox-attribute.c
+
+2015-09-08 13:41:21 +0300 Timo Sirainen <tss@iki.fi> (1228d57525)
+
+ lib-storage: If mail_attribute_dict is set, ignore non-authority rank
+ internal attributes. This way dsync can still sync things like Sieve
+ scripts, but it doesn't attempt to sync anything that actually requires
+ dict.
+
+
+M src/lib-storage/mailbox-attribute.c
+
+2015-09-08 13:30:21 +0300 Stephan Bosch <stephan@rename-it.nl> (6fef776b1a)
+
+ example-config: 10-mail.conf: Added example configuration for the new
+ settings relating to IMAP METADATA.
+
+
+M doc/example-config/conf.d/10-mail.conf
+M doc/example-config/conf.d/15-mailboxes.conf
+
+2015-09-08 13:27:41 +0300 Stephan Bosch <stephan@rename-it.nl> (bb353b0b18)
+
+ example-config: Added more detailed documentation for mailbox settings.
+
+
+M doc/example-config/conf.d/10-mail.conf
+M doc/example-config/conf.d/15-mailboxes.conf
+
+2015-09-08 13:26:38 +0300 Stephan Bosch <stephan@rename-it.nl> (87b4215acb)
+
+ lib: strnum: Fixed test suite failure on 32 bit systems.
+
+
+M src/lib/test-strnum.c
+
+2015-09-08 13:18:58 +0300 Timo Sirainen <tss@iki.fi> (0e731a17eb)
+
+ acl: Log which ACL groups are enabled with mail_debug=yes
+
+
+M src/plugins/acl/acl-backend.c
+
+2015-09-08 13:07:59 +0300 Timo Sirainen <tss@iki.fi> (64d895bcca)
+
+ lib-charset: Fixed assert-crash with some iconv() versions. Older glibc
+ iconv() versions seem to skip over invalid characters, at least with some
+ charsets, while newer versions don't. We were assuming that the skipping
+ never happened, so if the invalid character was at the end of the string we
+ could have wrapped size to (size_t)-1 and caused a crash later on.
+
+
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/test-charset.c
+
+2015-04-25 11:42:06 +0200 Stephan Bosch <stephan@rename-it.nl> (186c198e25)
+
+ imap: METADATA: Implemented mailbox and server comment entries and the
+ server admin entry.
+
+
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/lib-storage/mailbox-attribute-internal.c
+M src/lib-storage/mailbox-attribute-internal.h
+
+2015-04-25 11:42:06 +0200 Stephan Bosch <stephan@rename-it.nl> (1b0c12018b)
+
+ imap: Implemented /private/specialuse METADATA entry for SPECIAL-USE
+ capability.
+
+
+M src/lib-storage/Makefile.am
+A src/lib-storage/mailbox-attribute-internal.c
+A src/lib-storage/mailbox-attribute-internal.h
+M src/lib-storage/mailbox-attribute.c
+
+2015-09-08 01:27:18 +0300 Stephan Bosch <stephan@rename-it.nl> (4a272f5b8b)
+
+ lib: Added some tests for the new strnum _hex() and _oct() function
+ variants.
+
+
+M src/lib/test-strnum.c
+
+2015-09-08 01:20:51 +0300 Timo Sirainen <tss@iki.fi> (0348cf6844)
+
+ lib: Added assert to Solaris sendfile() return value.
+
+
+M src/lib/sendfile-util.c
+
+2015-09-08 00:51:30 +0300 Timo Sirainen <tss@iki.fi> (738e548a4b)
+
+ doveadm: Fixed hiding titles' tabs with tab formatter (-h -f tab)
+
+
+M src/doveadm/doveadm-print-tab.c
+
+2015-09-08 00:46:11 +0300 Timo Sirainen <tss@iki.fi> (25f959d63f)
+
+ Make static analyzer happier.
+
+
+M src/config/config-request.c
+M src/lib-storage/mail-search-args-simplify.c
+
+2015-09-08 00:34:14 +0300 Timo Sirainen <tss@iki.fi> (0139e1e636)
+
+ lib-charset: Added more asserts to checking iconv() results.
+
+
+M src/lib-charset/charset-iconv.c
+
+2015-09-08 00:33:21 +0300 Timo Sirainen <tss@iki.fi> (f9291653e3)
+
+ lib-charset: Updated test-charset unit test to check for iconv() E2BIG
+ result
+
+
+M src/lib-charset/test-charset.c
+
+2015-09-08 00:07:55 +0300 Timo Sirainen <tss@iki.fi> (9dd7c6f7fc)
+
+ lib-storage: Mailbox list notifications didn't work for INBOX. Because of
+ some earlier optimizations that changes to INBOX aren't written to
+ dovecot.list.index.log file.
+
+
+M src/lib-storage/list/mailbox-list-index-notify.c
+
+2015-09-07 23:55:31 +0300 Timo Sirainen <tss@iki.fi> (e27db67b45)
+
+ Mailbox list notify API changed to return multiple events at once. This
+ fixes some issues where a single event could actually trigger multiple
+ different kinds of events.
+
+
+M src/imap/imap-notify.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/mailbox-list-notify.h
+
+2015-09-07 23:08:44 +0300 Timo Sirainen <tss@iki.fi> (8868eddb51)
+
+ imap: NOTIFY (SUBSCRIPTIONS) assert-crashed when subscriptions hadn't been
+ refreshed.
+
+
+M src/imap/cmd-notify.c
+M src/imap/imap-notify.h
+
+2015-09-07 22:35:30 +0300 Timo Sirainen <tss@iki.fi> (25fb397382)
+
+ Various passthrough istreams didn't preserve readable_fd.
+
+
+M src/lib-storage/index/istream-mail.c
+M src/lib/istream-failure-at.c
+M src/lib/istream-hash.c
+M src/lib/istream-timeout.c
+
+2015-07-16 14:41:24 +0200 Sebastian Wiedenroth <sebastian.wiedenroth@skylime.net> (158e0bc894)
+
+ lib: Fix hang in safe_sendfile on SmartOS The call to sendfile on SmartOS
+ can fail with EOPNOTSUPP. This is a valid error code and documented in the
+ man page. This error code needs to be handled or else dovecot will retry the
+ sendfile call endlessly and hang.
+
+
+M src/lib/sendfile-util.c
+
+2015-09-07 22:14:18 +0300 Timo Sirainen <tss@iki.fi> (5bf4e28d6d)
+
+ imap: Fixed assert-crash in NOTIFY when using multiple namespaces. I'm not
+ sure why the original code was trying to add it to multiple namespaces. A
+ single mailbox name should be matching only a single namespace (visible one
+ at least). In any case we can't use mail_namespace_find() with only partial
+ namespaces-list, because it'll assert-crash if it can't find a namespace for
+ the mailbox.
+
+
+M src/imap/cmd-notify.c
+
+2015-09-07 22:06:16 +0300 Timo Sirainen <tss@iki.fi> (4439a1780a)
+
+ lib-storage: Fixed assert-crash when reading binary streams.
+
+
+M src/lib-storage/index/index-mail-binary.c
+
+2015-09-07 21:54:20 +0300 Timo Sirainen <tss@iki.fi> (fb6168354f)
+
+ doveadm: Added new "auth login" command to simulate an actual client login.
+ This performs both passdb and userdb lookups and prints their results.
+
+
+M src/doveadm/doveadm-auth.c
+
+2015-09-07 21:24:01 +0300 Timo Sirainen <tss@iki.fi> (d1d04674fb)
+
+ auth: If userdb lookup was found from auth cache, don't clear the earlier
+ userdb fields.
+
+
+M src/auth/auth-request.c
+
+2015-09-07 21:02:51 +0300 Timo Sirainen <tss@iki.fi> (2373c84499)
+
+ auth: If multiple userdbs are used, default_fields was ignored for all but
+ the first one.
+
+
+M src/auth/auth-request.c
+
+2015-09-07 20:24:25 +0300 Timo Sirainen <tss@iki.fi> (3e10cd4709)
+
+ director: Added director_user_kick_delay setting. This replaces the
+ hardcoded 2 seconds delay. This setting specifies how long to wait for after
+ user has been kicked from all directors before letting the user login to the
+ new server. This timeout should be large enough that the user's existing
+ processes in the old backend should be finished.
+
+
+M src/director/director-settings.c
+M src/director/director-settings.h
+M src/director/director.c
+
+2015-09-07 18:50:24 +0300 Timo Sirainen <tss@iki.fi> (c9d685897f)
+
+ login proxy: Added delayed disconnection of clients on server
+ mass-disconnect. login_proxy_max_disconnect_delay setting (default 0 =
+ disabled) controls for how long time period the disconnections are spread
+ to. The idea behind this is to avoid load spikes due to client reconnections
+ when a backend server dies or is restarted.
+
+
+M src/login-common/login-proxy-state.h
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+
+2015-09-07 17:10:19 +0300 Timo Sirainen <tss@iki.fi> (3a3f0bb25b)
+
+ auth: Ignore first passdbs that contain skip=unauthenticated. They can never
+ match anything.
+
+
+M src/auth/auth.c
+
+2015-09-07 16:39:28 +0300 Timo Sirainen <tss@iki.fi> (3c7dbe9bd1)
+
+ lib-storage: Added mailbox_attribute_register_internals() Just for making it
+ easier to register multiple attributes.
+
+
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-attribute.h
+
+2015-09-07 16:23:40 +0300 Timo Sirainen <tss@iki.fi> (e8f12bf524)
+
+ lib-storage: Allow MAIL_ATTRIBUTE_INTERNAL_RANK_DEFAULT to use get=NULL This
+ is useful for registering internal attributes whose only purpose is to be
+ able to set/get them via dict. (Because normally the dict access would be
+ denied completely.)
+
+
+M src/lib-storage/mailbox-attribute.c
+
+2015-09-07 16:22:11 +0300 Timo Sirainen <tss@iki.fi> (ab5269901f)
+
+ lib-storage: Allow set/get for Dovecot-private attributes via internal
+ attributes. This allows registering attributes with
+ MAILBOX_ATTRIBUTE_PREFIX_DOVECOT_PVT prefix and having them be get/set via
+ dict, instead of failing them.
+
+
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mailbox-attribute.c
+
+2015-09-07 16:38:24 +0300 Timo Sirainen <tss@iki.fi> (72baffa319)
+
+ lib-storage: Added MAIL_ATTRIBUTE_INTERNAL_FLAG_CHILDREN This also adds the
+ key to get() and set() functions, so they can know exactly what key is
+ wanted to be accessed.
+
+
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-attribute.h
+
+2015-04-25 11:42:06 +0200 Stephan Bosch <stephan@rename-it.nl> (bf79967ee5)
+
+ mail-storage: Added registration API for builtin mailbox attributes.
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-attribute-private.h
+M src/lib-storage/mailbox-attribute.c
+M src/lib-storage/mailbox-attribute.h
+
+2015-09-07 15:07:55 +0300 Timo Sirainen <tss@iki.fi> (326c86b1cd)
+
+ lib-storage: mail_user_init() wasn't always expanding %h correctly to
+ settings. This mainly affected users autocreated for accessing shared
+ mailboxes.
+
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2015-09-07 15:06:40 +0300 Timo Sirainen <tss@iki.fi> (69e0311cb0)
+
+ lib-storage: Updated MAILBOX_ATTRIBUTE_KEY_IS_USER_ACCESSIBLE() to not allow
+ private server attributes.
+
+
+M src/lib-storage/mailbox-attribute.h
+
+2015-09-07 14:16:39 +0300 Timo Sirainen <tss@iki.fi> (ffe2ea0465)
+
+ dovecot.m4: Added LIBDOVECOT_ACL_INCLUDE
+
+
+M dovecot-config.in.in
+M dovecot.m4
+
+2015-09-07 14:08:52 +0300 Timo Sirainen <tss@iki.fi> (8affeb8ace)
+
+ auth: Fixed passdb skip_password_check / result_success=continue-fail
+ handling If passdb returned success, but result_success=continue-fail, it
+ means that the authentication didn't succeed. So we still want to check the
+ password again and in general treat the request as unauthenticated
+ (especially for the passdb { skip } setting).
+
+ So the current logic means that there are 2 ways for the request to be
+ treated as authenticated and skipping any password checking:
+
+ 1) passdb lookup succeeding, with result_success=continue, continue-ok,
+ return or return-ok
+
+ 2) passdb lookup not succeeding, with result_failure=continue-ok or
+ return-ok
+
+ It's a bit questionable though if 2) should be allowed.
+
+M src/auth/auth-request.c
+
+2015-09-07 13:40:41 +0300 Timo Sirainen <tss@iki.fi> (c07fb22479)
+
+ imap: Don't allow IMAP METADATA to access Dovecot's private server
+ attributes.
+
+
+M src/lib-imap-storage/imap-metadata.c
+
+2015-09-07 11:40:08 +0300 Timo Sirainen <tss@iki.fi> (1310fa4097)
+
+ auth: Aborting auth request didn't abort a pending proxy DNS lookup.
+
+
+M src/auth/auth-request.c
+
+2015-09-06 22:28:07 +0300 Timo Sirainen <tss@iki.fi> (691f802ef6)
+
+ lib-storage: Store pointer to mail_storage_service_user to mail_user if it
+ exists.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2015-09-06 22:27:29 +0300 Timo Sirainen <tss@iki.fi> (95dcc0f8e8)
+
+ lib-storage: Added mail_storage_service_user_get_service_ctx()
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2015-09-04 13:00:25 +0300 Timo Sirainen <tss@iki.fi> (7b31f9fe68)
+
+ acl: Install most of the header files.
+
+
+M src/plugins/acl/Makefile.am
+
+2015-09-04 13:00:14 +0300 Timo Sirainen <tss@iki.fi> (1f6186dbcf)
+
+ acl: acl_object_list_next() should return -1 if acl refreshing failed
+ earlier.
+
+
+M src/plugins/acl/acl-api.c
+
+2015-09-04 11:21:39 +0300 Timo Sirainen <tss@iki.fi> (8376616002)
+
+ dsync: If remote disconnects, log the last sent/recv state.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2015-09-04 11:17:30 +0300 Timo Sirainen <tss@iki.fi> (0443351f9d)
+
+ dsync: If we disconnect with I/O timeout, log the last sent/recv state.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2015-09-04 01:23:28 +0300 Timo Sirainen <tss@iki.fi> (d87f5ce4f0)
+
+ login proxy: Code cleanup - separate login_proxy_free_final()
+
+
+M src/login-common/login-proxy.c
+
+2015-09-04 01:21:28 +0300 Timo Sirainen <tss@iki.fi> (772f054b4d)
+
+ login proxy: Always keep proxy->state_rec available.
+
+
+M src/login-common/login-proxy.c
+
+2015-09-04 01:18:04 +0300 Timo Sirainen <tss@iki.fi> (623eaaf530)
+
+ login proxy: Added asserts to track that num_waiting_connections are
+ correct.
+
+
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy.c
+
+2015-09-04 01:10:29 +0300 Timo Sirainen <tss@iki.fi> (40f7b31e69)
+
+ login proxy: Small code cleanup
+
+
+M src/login-common/login-proxy.c
+
+2015-09-03 22:12:14 +0300 Timo Sirainen <tss@iki.fi> (57c5e11941)
+
+ dsync: Assert-crashfix Fixes:
+
+ Panic: file mail-storage.c: line 1897 (mailbox_save_alloc): assertion
+ failed: (!ctx->unfinished)
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2015-09-03 21:37:09 +0300 Timo Sirainen <tss@iki.fi> (1fb5e50695)
+
+ 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.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-09-03 20:55:18 +0300 Timo Sirainen <tss@iki.fi> (9a02f482ef)
+
+ 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.
+
+
+M src/lib-storage/index/index-storage.c
+
+2015-09-03 20:54:27 +0300 Timo Sirainen <tss@iki.fi> (ac00e30516)
+
+ dict: Various reference counting and other fixes related to using freed
+ memory.
+
+
+M src/dict/dict-commands.c
+M src/dict/dict-commands.h
+M src/dict/dict-connection.c
+M src/dict/dict-connection.h
+
+2015-09-03 19:59:16 +0300 Timo Sirainen <tss@iki.fi> (d206a491a5)
+
+ dsync: Crashfix in certain situation.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2015-09-03 19:58:39 +0300 Timo Sirainen <tss@iki.fi> (40feca9b85)
+
+ 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.
+
+
+M src/lib-storage/index/index-storage.c
+
+2015-09-03 16:04:26 +0300 Timo Sirainen <tss@iki.fi> (a4502a7187)
+
+ doveadm director update command added. The difference to "doveadm director
+ add" is that if the IP doesn't already exist, it's not added.
+
+
+M src/director/doveadm-connection.c
+M src/doveadm/doveadm-director.c
+
+2015-09-03 14:10:36 +0300 Timo Sirainen <tss@iki.fi> (3ba70a3fa3)
+
+ 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.
+
+
+M src/config/config-request.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings-parser.h
+M src/master/master-settings.c
+M src/replication/aggregator/aggregator-settings.c
+
+2015-09-03 14:01:57 +0300 Phil Carmody <phil@dovecot.fi> (d5c4431318)
+
+ 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>
+
+M src/lib/strnum.c
+
+2015-08-31 22:31:19 +0000 Pascal Volk <user@localhost.localdomain.org> (7be9203e66)
+
+ man: doveadm-sync.1: Added description for option `-T secs'.
+
+
+M doc/man/doveadm-sync.1.in
+
+2015-09-02 20:30:07 +0300 Timo Sirainen <tss@iki.fi> (84b2c459e4)
+
+ dict-sql: Fixed iteration with blob fields.
+
+
+M src/lib-dict/dict-sql.c
+
+2015-09-02 19:46:36 +0300 Timo Sirainen <tss@iki.fi> (ac1e5c22ec)
+
+ 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.
+
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql-settings.h
+M src/lib-dict/dict-sql.c
+
+2015-09-02 19:43:26 +0300 Timo Sirainen <tss@iki.fi> (b87761f9bb)
+
+ lib-sql: Implemented sql_escape_blob()
+
+
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api-private.h
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-api.h
+
+2015-09-02 19:42:45 +0300 Timo Sirainen <tss@iki.fi> (61f39b0358)
+
+ cassandra: Implemented support for binary values.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-09-02 19:41:23 +0300 Timo Sirainen <tss@iki.fi> (efa1a91c5e)
+
+ doveadm dict iter: Added -V parameter to return only keys.
+
+
+M src/doveadm/doveadm-dict.c
+
+2015-09-02 19:38:35 +0300 Timo Sirainen <tss@iki.fi> (ce06a50369)
+
+ dict-sql: Fixed iteration with DICT_ITERATE_FLAG_NO_VALUE
+
+
+M src/lib-dict/dict-sql.c
+
+2015-09-02 18:42:01 +0300 Timo Sirainen <tss@iki.fi> (02a0277d89)
+
+ dict-client: Prefix relative socket paths with base_dir.
+
+
+M src/lib-dict/dict-client.c
+
+2015-09-02 17:51:23 +0300 Timo Sirainen <tss@iki.fi> (30d76359cf)
+
+ dict: Added dict-async service. This allows running separate dict processes
+ with separate settings for async and non-async backends.
+
+
+M src/dict/dict-settings.c
+
+2015-09-02 17:37:16 +0300 Timo Sirainen <tss@iki.fi> (fa04cb1e62)
+
+ dict-sql: Added support for async operations.
+
+
+M src/lib-dict/dict-sql.c
+
+2015-09-02 17:36:47 +0300 Timo Sirainen <tss@iki.fi> (1a88371824)
+
+ 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.
+
+
+M src/dict/dict-commands.c
+M src/dict/dict-commands.h
+M src/dict/dict-connection.c
+M src/dict/dict-connection.h
+
+2015-09-02 17:34:43 +0300 Timo Sirainen <tss@iki.fi> (d694b60095)
+
+ lib-dict: Added async API for lookup and iteration.
+
+
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-fs.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+
+2015-09-02 17:28:41 +0300 Timo Sirainen <tss@iki.fi> (32afa83448)
+
+ dict-sql: Code cleanup - added sql_dict_transaction_has_nonexistent()
+
+
+M src/lib-dict/dict-sql.c
+
+2015-09-02 17:27:09 +0300 Timo Sirainen <tss@iki.fi> (dce02dcdf2)
+
+ dict-sql: Code cleanup - use a common sql_dict_transaction_free()
+
+
+M src/lib-dict/dict-sql.c
+
+2015-09-02 17:26:08 +0300 Timo Sirainen <tss@iki.fi> (1f97851936)
+
+ dict-sql: Fixed memory leak when committing/rollbacking unchanged
+ transaction.
+
+
+M src/lib-dict/dict-sql.c
+
+2015-09-02 17:23:45 +0300 Timo Sirainen <tss@iki.fi> (743d40073e)
+
+ dict-sql: Code cleanup - separated SQL query building function from sending
+ it.
+
+
+M src/lib-dict/dict-sql.c
+
+2015-09-02 17:21:06 +0300 Timo Sirainen <tss@iki.fi> (c02488b7f2)
+
+ lib-dict: Code cleanup - give name for enum dict_protocol_cmd/reply
+
+
+M src/lib-dict/dict-client.h
+
+2015-09-02 17:20:02 +0300 Timo Sirainen <tss@iki.fi> (a916985b7e)
+
+ 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.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-09-02 17:19:08 +0300 Timo Sirainen <tss@iki.fi> (1856c361aa)
+
+ 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.
+
+
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-pgsql.c
+
+2015-09-02 17:16:41 +0300 Timo Sirainen <tss@iki.fi> (b457d2ecf9)
+
+ lib-sql: sql_result.free() should never be reached from the query callback.
+ This code was probably added before sql_result refcounting.
+
+
+M src/lib-sql/driver-cassandra.c
+M src/lib-sql/driver-pgsql.c
+
+2015-09-01 16:25:11 +0300 Timo Sirainen <tss@iki.fi> (f5d5b8aab8)
+
+ 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.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2015-09-01 00:11:37 +0300 Timo Sirainen <tss@iki.fi> (ecc01266b8)
+
+ 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).
+
+
+M src/auth/auth-request.c
+
+2015-08-31 23:54:24 +0300 Timo Sirainen <tss@iki.fi> (6c0d8dc7ca)
+
+ lib-fs: Added "dict" backend, which is a wrapper to using lib-dict.
+
+
+M src/lib-fs/Makefile.am
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+A src/lib-fs/fs-dict.c
+
+2015-08-31 23:46:05 +0300 Timo Sirainen <tss@iki.fi> (2bc963ea05)
+
+ imap-hibernate: Use sockets' st_dev and st_ino to verify that the passed fd
+ is correct.
+
+
+M src/imap-hibernate/imap-client.c
+M src/imap-hibernate/imap-client.h
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-master-client.c
+
+2015-08-31 23:25:12 +0300 Timo Sirainen <tss@iki.fi> (fa2e547a32)
+
+ lib: Added str_to_ino()
+
+
+M src/lib/strnum.c
+M src/lib/strnum.h
+
+2015-08-31 23:11:17 +0300 Timo Sirainen <tss@iki.fi> (11ea98b552)
+
+ imap: NOTIFY SET STATUS didn't send HIGHESTMODSEQ in STATUS reponses when
+ needed.
+
+
+M src/imap/cmd-notify.c
+
+2015-08-31 22:45:17 +0300 Timo Sirainen <tss@iki.fi> (ce0d9d3dae)
+
+ *-login: mail_max_userip_connections=0 was broken by f8ab4f979e92
+
+
+M src/login-common/sasl-server.c
+
+2015-08-31 22:25:57 +0300 Timo Sirainen <tss@iki.fi> (6ea145a99e)
+
+ cassandra: Changed default consistency levels to local-quorum. It is a much
+ safer default than "one".
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-08-31 21:31:46 +0300 Timo Sirainen <tss@iki.fi> (ce74395e2a)
+
+ cassandra: Split consistency setting to read_consistency and
+ write_consistency.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-08-31 20:23:32 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (87af299c8a)
+
+ lib-fts: Add missing "j'" to French contractions.
+
+
+M src/lib-fts/fts-filter-contractions.c
+M src/lib-fts/test-fts-filter.c
+
+2015-08-31 14:24:54 +0300 Stephan Bosch <stephan@rename-it.nl> (0004409e74)
+
+ 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.
+
+
+M src/lib-settings/settings-parser.c
+
+2015-08-31 13:33:26 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (c8eaee2ad6)
+
+ lib-fts: Add UTF-8 unit test for lowercase filter.
+
+
+M src/lib-fts/test-fts-filter.c
+
+2015-08-31 13:33:26 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (440b625484)
+
+ 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.
+
+
+M src/lib-fts/Makefile.am
+A src/lib-fts/fts-filter-contractions.c
+M src/lib-fts/fts-filter-private.h
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-filter.h
+M src/lib-fts/test-fts-filter.c
+
+2015-08-30 01:00:30 +0300 Timo Sirainen <tss@iki.fi> (4d811490cf)
+
+ aggregator: Allow replicator_port=0 setting (fix to previous in_port_t
+ changes)
+
+
+M src/replication/aggregator/aggregator-settings.c
+
+2015-08-30 00:46:32 +0300 Stephan Bosch <stephan@rename-it.nl> (84296542cb)
+
+ Earlier in_port_t fix created problems with service listener configuration.
+ Listeners are disabled with port=0, which was not allowed anymore.
+
+
+M src/config/config-request.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings-parser.h
+M src/lib/net.c
+M src/lib/net.h
+M src/master/master-settings.c
+
+2015-08-30 00:42:16 +0300 Timo Sirainen <tss@iki.fi> (08c518f050)
+
+ lib-master: Compiler warning fix
+
+
+M src/lib-master/master-service.c
+
+2015-04-25 11:42:06 +0200 Stephan Bosch <stephan@rename-it.nl> (ede750711f)
+
+ http-client: Added support for using an HTTP proxy running on a unix socket.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2015-08-29 14:42:49 +0300 Stephan Bosch <stephan@rename-it.nl> (e48f289d2e)
+
+ Removed all invocations of strtoll() and friends.
+
+
+M configure.ac
+M src/anvil/anvil-connection.c
+M src/auth/checkpassword-reply.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/lib-dict/dict-file.c
+M src/lib-fs/fs-posix.c
+M src/lib-otp/otp-parse.c
+M src/lib-settings/settings-parser.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib/compat.c
+M src/lib/compat.h
+M src/lib/rand.c
+M src/lib/var-expand.c
+M src/log/log-connection.c
+M src/login-common/sasl-server.c
+M src/master/main.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-util.c
+M src/util/maildirlock.c
+
+2015-08-29 14:31:51 +0300 Stephan Bosch <stephan@rename-it.nl> (7b58c089a0)
+
+ strnum: Implemented many more numeric string parsing functions. Created
+ macros for most of the implementation to avoid further code duplication.
+
+
+M src/lib/strnum.c
+M src/lib/strnum.h
+
+2015-08-29 14:30:37 +0300 Stephan Bosch <stephan@rename-it.nl> (c93aca832e)
+
+ Removed all invocations of atoi().
+
+
+M src/auth/db-ldap.c
+M src/auth/mech-digest-md5.c
+M src/auth/passdb-blocking.c
+M src/dict/dict-connection.c
+M src/director/director-connection.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-who.c
+M src/imap-login/client.c
+M src/lib-dict/dict.h
+M src/lib-master/master-service.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-storage/mail-storage-service.c
+M src/lmtp/commands.c
+M src/login-common/client-common-auth.c
+M src/master/main.c
+M src/util/script.c
+
+2015-08-29 14:26:30 +0300 Stephan Bosch <stephan@rename-it.nl> (009217abb5)
+
+ 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.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/passdb-imap.c
+M src/config/config-request.c
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director-host.h
+M src/director/director-settings.c
+M src/director/director-settings.h
+M src/director/director-test.c
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/main.c
+M src/doveadm/client-connection.h
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-util.h
+M src/doveadm/doveadm-zlib.c
+M src/doveadm/server-connection.c
+M src/imap-hibernate/imap-client.h
+M src/imap-hibernate/imap-hibernate-client.c
+M src/imap-login/client.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.h
+M src/imap/imap-client-hibernate.c
+M src/imap/imap-master-client.c
+M src/imap/imap-settings.c
+M src/imap/imap-settings.h
+M src/lib-auth/auth-client.h
+M src/lib-auth/auth-master.h
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-server-connection.c
+M src/lib-http/test-http-server.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-urlauth/imap-urlauth-private.h
+M src/lib-imap-urlauth/imap-urlauth.h
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/lmtp-client.h
+M src/lib-lda/smtp-client.c
+M src/lib-master/master-service-haproxy.c
+M src/lib-master/master-service.h
+M src/lib-master/service-settings.h
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings-parser.h
+M src/lib-sql/driver-mysql.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/pop3c/pop3c-client.h
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/index/pop3c/pop3c-settings.h
+M src/lib-storage/mail-storage-service.h
+M src/lib/connection.c
+M src/lib/connection.h
+M src/lib/fd-close-on-exec.c
+M src/lib/iostream-rawlog.c
+M src/lib/net.c
+M src/lib/net.h
+M src/lib/uri-util.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.h
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+M src/login-common/login-common.h
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy-state.h
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+M src/master/master-settings.c
+M src/master/service-listen.c
+M src/master/service.c
+M src/pop3-login/client.c
+M src/replication/aggregator/aggregator-settings.c
+M src/replication/aggregator/aggregator-settings.h
+M src/replication/aggregator/replicator-connection.c
+M src/replication/aggregator/replicator-connection.h
+
+2015-08-29 14:21:27 +0300 Stephan Bosch <stephan@rename-it.nl> (b116c06e4d)
+
+ ioloop-epoll: Fix fatal epoll_wait() error occurring when there are only ios
+ with no fd.
+
+
+M src/lib/ioloop-epoll.c
+
+2015-08-29 14:20:57 +0300 Stephan Bosch <stephan@rename-it.nl> (62812c68a2)
+
+ 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.
+
+
+M src/lib-http/http-client-connection.c
+
+2015-08-28 15:44:34 +0200 Timo Sirainen <tss@iki.fi> (23152672e3)
+
+ lib-storage: Added %{userdb:*} expansion to mail settings.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2015-08-28 15:43:45 +0200 Timo Sirainen <tss@iki.fi> (fd3994922c)
+
+ lib-settings: Added settings_var_expand_with_funcs()
+
+
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings-parser.h
+
+2015-08-28 15:07:35 +0200 Timo Sirainen <tss@iki.fi> (654b460781)
+
+ 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}".
+
+
+M src/lib/test-var-expand.c
+M src/lib/var-expand.c
+
+2015-08-28 14:43:35 +0200 Timo Sirainen <tss@iki.fi> (2dfd08e8aa)
+
+ *-login: Added %{passdb:*} fields to login_log_format_elements
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2015-08-27 18:39:58 +0200 Timo Sirainen <tss@iki.fi> (89f9c7bf3c)
+
+ doveadm fs delete: Support giving multiple filename parameters.
+
+
+M src/doveadm/doveadm-fs.c
+
+2015-08-27 17:38:12 +0200 Timo Sirainen <tss@iki.fi> (414b2d3b63)
+
+ dsync: Include mailboxes' full path in debug messages.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+
+2015-08-27 17:35:17 +0200 Timo Sirainen <tss@iki.fi> (d1d6887e8c)
+
+ imapc: Don't crash with mailbox_list_index=yes
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2015-08-27 17:34:52 +0200 Timo Sirainen <tss@iki.fi> (9b3565b096)
+
+ 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.
+
+
+M src/lib/Makefile.am
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+M src/lib/test-ioloop.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2015-08-27 15:46:23 +0200 Timo Sirainen <tss@iki.fi> (36f8309eee)
+
+ dsync: Fixed running with tcp/tcps destination.
+
+
+M src/doveadm/doveadm-dsync.c
+
+2015-08-27 15:28:21 +0200 Timo Sirainen <tss@iki.fi> (66e5a5a1be)
+
+ dsync: Fixed another crash with recent end-of-list changes.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+
+2015-08-27 15:07:35 +0200 Timo Sirainen <tss@iki.fi> (9c0c600b35)
+
+ Reverted ec6e672a6e32 for now due to some bugs.
+
+
+M src/lib/Makefile.am
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2015-08-27 13:38:44 +0200 Timo Sirainen <tss@iki.fi> (1a1d00fd04)
+
+ 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.
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+
+2015-08-27 12:33:47 +0200 Timo Sirainen <tss@iki.fi> (8c2c9a8647)
+
+ 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.
+
+
+M src/doveadm/doveadm-dsync.c
+
+2015-08-27 10:39:26 +0200 Stephan Bosch <stephan@rename-it.nl> (72a7c4f2ba)
+
+ 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.
+
+
+M src/lib/Makefile.am
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+A src/lib/test-ioloop.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2015-08-26 17:00:55 +0200 Timo Sirainen <tss@iki.fi> (ae9b70a446)
+
+ imapc: Fixed handling escape-char The current code should now handle all
+ kinds of mailbox names correctly, including:
+
+ ~/foo
+ %7e/bar
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2015-08-26 16:59:47 +0200 Timo Sirainen <tss@iki.fi> (d3e5a14ea3)
+
+ lib-storage: mailbox_list_[un]escape_name() can now be called globally
+
+
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+
+2015-08-26 16:59:07 +0200 Timo Sirainen <tss@iki.fi> (33409f3448)
+
+ dsync: Earlier end-of-list change broke single-process dsync.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+
+2015-08-26 15:44:45 +0200 Timo Sirainen <tss@iki.fi> (c892c8b591)
+
+ 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.
+
+
+M src/doveadm/doveadm-dsync.c
+
+2015-08-26 15:19:27 +0200 Timo Sirainen <tss@iki.fi> (1ff34185c1)
+
+ dsync: Added -T parameter to specify the I/O stall timeout.
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+
+2015-08-26 15:05:06 +0200 Timo Sirainen <tss@iki.fi> (7abb6c8948)
+
+ 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.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+
+2015-08-26 13:38:52 +0200 Timo Sirainen <tss@iki.fi> (189f639bdf)
+
+ dsync: Added assert to make sure end-of-list isn't sent when brain has
+ already failed.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+
+2015-08-25 23:20:49 +0300 Timo Sirainen <tss@iki.fi> (83228b3f9f)
+
+ imap: If mailbox state couldn't be exported for hibernation, log also the
+ mailbox name.
+
+
+M src/imap/imap-client-hibernate.c
+
+2015-08-25 23:12:51 +0300 Timo Sirainen <tss@iki.fi> (c12d96f12c)
+
+ login_log_format_elements: Added %{listener} variable to expand to the
+ listener socket name.
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2015-08-25 22:39:16 +0300 Timo Sirainen <tss@iki.fi> (e64b3633c9)
+
+ example-config: Updated mail_attribute_dict comment
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2015-08-25 18:32:23 +0300 Timo Sirainen <tss@iki.fi> (f3fa33be55)
+
+ imap: Fail silently if selected mailbox format doesn't support GUIDs.
+
+
+M src/imap/imap-state.c
+
+2015-08-25 18:27:44 +0300 Timo Sirainen <tss@iki.fi> (b4318afaa6)
+
+ imap: Fixed hibernation to work with non-TCP connections. Mainly meaning
+ UNIX socket connections from login processes, which are proxying TLS
+ connections.
+
+
+M src/imap/imap-client-hibernate.c
+
+2015-08-25 17:03:19 +0300 Timo Sirainen <tss@iki.fi> (03435aae7b)
+
+ lib-http: Added more debug logging. Patch by Stephan Bosch.
+
+
+M src/lib-http/http-client-peer.c
+
+2015-08-25 16:57:57 +0300 Timo Sirainen <tss@iki.fi> (639ba5ff2b)
+
+ lib-imap-client: Allow reconnecting to IMAP server even if there had been no
+ idle moments.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+
+2015-08-25 16:55:00 +0300 Timo Sirainen <tss@iki.fi> (1e95710be5)
+
+ lib-imap-client: Removed unused pending_box_command_count
+
+
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-connection.c
+
+2015-08-25 16:50:17 +0300 Timo Sirainen <tss@iki.fi> (14fd61e735)
+
+ 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.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.h
+
+2015-08-25 01:07:04 +0300 Timo Sirainen <tss@iki.fi> (a350c75b6e)
+
+ lib: Fixed io_loop_extract_notify_fd() to compile with kqueue.
+
+
+M src/lib/ioloop-notify-kqueue.c
+
+2015-08-24 18:06:42 +0300 Timo Sirainen <tss@iki.fi> (13f4d4d4a6)
+
+ 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.
+
+
+M src/lib-master/master-service.c
+
+2015-08-24 15:33:36 +0300 Timo Sirainen <tss@iki.fi> (472f3cbaaa)
+
+ dsync: Compiler warning fix to previous change.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2015-08-24 14:59:52 +0300 Timo Sirainen <tss@iki.fi> (eb72996868)
+
+ dsync: Fixed memory leaks when importing attributes whose values were in
+ istreams.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2015-08-24 14:40:11 +0300 Timo Sirainen <tss@iki.fi> (f43b035d7f)
+
+ doveadm backup: Fixed assert-crash due to duplicate 'R' in getopt args.
+
+
+M src/doveadm/doveadm-dsync.c
+
+2015-08-24 14:32:52 +0300 Timo Sirainen <tss@iki.fi> (8b9a69edc1)
+
+ imap: Compiler warning fix to imap-hibernate commit
+
+
+M src/imap/imap-state.c
+
+2015-08-24 14:13:02 +0300 Timo Sirainen <tss@iki.fi> (5ef28f68ed)
+
+ 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.
+
+M .hgignore
+M configure.ac
+M src/Makefile.am
+A src/imap-hibernate/Makefile.am
+A src/imap-hibernate/imap-client.c
+A src/imap-hibernate/imap-client.h
+A src/imap-hibernate/imap-hibernate-client.c
+A src/imap-hibernate/imap-hibernate-client.h
+A src/imap-hibernate/imap-hibernate-settings.c
+A src/imap-hibernate/imap-master-connection.c
+A src/imap-hibernate/imap-master-connection.h
+A src/imap-hibernate/main.c
+M src/imap/Makefile.am
+M src/imap/cmd-idle.c
+A src/imap/cmd-x-state.c
+A src/imap/imap-client-hibernate.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands.c
+M src/imap/imap-commands.h
+M src/imap/imap-common.h
+A src/imap/imap-master-client.c
+A src/imap/imap-master-client.h
+M src/imap/imap-settings.c
+M src/imap/imap-settings.h
+A src/imap/imap-state.c
+A src/imap/imap-state.h
+M src/imap/main.c
+M src/lib-storage/mail-user.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+
+2015-08-24 14:14:59 +0300 Timo Sirainen <tss@iki.fi> (179d6dfa02)
+
+ lib-storage: Added mailbox_watch_extract_notify_fd()
+
+
+M src/lib-storage/mailbox-watch.c
+M src/lib-storage/mailbox-watch.h
+
+2015-08-24 14:02:52 +0300 Timo Sirainen <tss@iki.fi> (dad206f834)
+
+ lib: Added io_loop_extract_notify_fd()
+
+
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-kqueue.c
+M src/lib/ioloop-notify-none.c
+M src/lib/ioloop.h
+
+2015-08-24 14:01:04 +0300 Timo Sirainen <tss@iki.fi> (b2fa9f1954)
+
+ 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.
+
+
+M src/lib-storage/mailbox-recent-flags.c
+M src/lib-storage/mailbox-recent-flags.h
+
+2015-08-24 13:57:03 +0300 Timo Sirainen <tss@iki.fi> (192488b417)
+
+ lib-storage: mail_storage_service_user_free() needs to update log prefix if
+ current user is freed.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2015-08-24 12:56:07 +0300 Timo Sirainen <tss@iki.fi> (872876c29a)
+
+ lib-storage: mail_user_var_expand_table() may not have returned
+ %{auth_username} correctly
+
+
+M src/lib-storage/mail-user.c
+
+2015-08-24 12:14:40 +0300 Timo Sirainen <tss@iki.fi> (c5f9329682)
+
+ Use io_stream_get_disconnect_reason() instead of duplicating its code all
+ over the place.
+
+
+M src/imap/imap-client.c
+M src/lib/connection.c
+M src/lmtp/client.c
+M src/login-common/client-common-auth.c
+M src/pop3/pop3-client.c
+
+2015-08-24 12:10:08 +0300 Timo Sirainen <tss@iki.fi> (b554101f70)
+
+ lib: Added io_stream_get_disconnect_reason() to iostream.h
+
+
+M src/lib/Makefile.am
+M src/lib/iostream-private.h
+M src/lib/iostream.c
+A src/lib/iostream.h
+
+2015-08-24 12:04:55 +0300 Timo Sirainen <tss@iki.fi> (8d54ab986c)
+
+ lib: connection_disconnect_reason() now returns the full iostream error
+ string.
+
+
+M src/lib/connection.c
+
+2015-08-20 16:04:48 +0300 Timo Sirainen <tss@iki.fi> (ef81877666)
+
+ imap: Fixed memory leak in SELECT QRESYNC error handling path.
+
+
+M src/imap/cmd-select.c
+
+2015-08-19 21:41:55 +0300 Timo Sirainen <tss@iki.fi> (695332dede)
+
+ imap: Code cleanup Keep client_add_input() functionality separate from
+ client_create_from_input(). Also this way temporary buffer doesn't need to
+ be created to add the input in login_client_connected().
+
+
+M src/imap/main.c
+
+2015-08-19 21:31:56 +0300 Timo Sirainen <tss@iki.fi> (fefe9afdb0)
+
+ lib: Log notify IO leaks when ioloop is destroyed.
+
+
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-kqueue.c
+
+2015-08-19 21:24:50 +0300 Timo Sirainen <tss@iki.fi> (f6845101f2)
+
+ lib: io_add_notify() wasn't setting struct io.source_linenum
+
+
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-kqueue.c
+M src/lib/ioloop-notify-none.c
+M src/lib/ioloop.h
+
+2015-08-19 20:49:12 +0300 Timo Sirainen <tss@iki.fi> (495a74cd17)
+
+ imap: If command has no imap_parser, don't crash when freeing the command.
+ All the current commands have a parser though, so this doesn't actually fix
+ anything.
+
+
+M src/imap/imap-client.c
+
+2015-08-19 16:50:10 +0300 Timo Sirainen <tss@iki.fi> (85e2264f7d)
+
+ lib: inotify doesn't need to watch for IN_CLOSE This doesn't indicate that
+ the file was modified. We don't care if some reader accessed a watched file.
+
+
+M src/lib/ioloop-notify-inotify.c
+
+2015-08-19 15:12:09 +0300 Timo Sirainen <tss@iki.fi> (7e2671b295)
+
+ lib-storage: Moved index/index-mailbox-check.c code to mailbox-watch.c This
+ changes the API, but adds backwards compatibility macros.
+
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/index/Makefile.am
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/mail-storage-private.h
+R051 src/lib-storage/index/index-mailbox-check.c src/lib-storage/mailbox-watch.c
+A src/lib-storage/mailbox-watch.h
+
+2015-08-19 14:47:51 +0300 Timo Sirainen <tss@iki.fi> (88e52b9ca1)
+
+ Removed support for dnotify. Everybody should be using inotify by now.
+
+
+M configure.ac
+M doc/example-config/conf.d/10-mail.conf
+M src/lib/Makefile.am
+D src/lib/ioloop-notify-dn.c
+M src/lib/ioloop-notify-fd.c
+M src/master/main.c
+
+2015-08-19 14:33:09 +0300 Timo Sirainen <tss@iki.fi> (bb464f79a1)
+
+ pop3: Added %{deleted_bytes} variable to pop3_logout_format
+
+
+M doc/example-config/conf.d/20-pop3.conf
+M src/pop3/pop3-client.c
+
+2015-08-19 14:30:09 +0300 Timo Sirainen <tss@iki.fi> (febb892a31)
+
+ pop3: If transcation commit failed at QUIT, don't log any messages as
+ expunged.
+
+
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+M src/pop3/pop3-commands.c
+
+2015-08-19 13:41:54 +0300 Timo Sirainen <tss@iki.fi> (f3739947c8)
+
+ lib: kqueue notification should trigger also on file renames. For example if
+ dovecot.index.log is renamed to dovecot.index.log.2, we should notice that
+ since there's now a new dovecot.index.log containing new changes.
+
+
+M src/lib/ioloop-notify-kqueue.c
+
+2015-08-19 13:40:35 +0300 Timo Sirainen <tss@iki.fi> (a24e1400bd)
+
+ lib-storage: Code cleanup - Don't keep a separate notify_ios list.
+
+
+M src/lib-storage/index/index-mailbox-check.c
+M src/lib-storage/index/index-storage.h
+
+2015-08-19 12:56:55 +0300 Timo Sirainen <tss@iki.fi> (817d027593)
+
+ lib-storage: Moved most of the \Recent flag handling code to
+ mailbox-recent-flags.c There are also some API changes, because functions
+ were renamed and the recent_* fields were moved to struct mailbox. I'm not
+ aware of any plugins using these though, except for
+ index_mailbox_set_recent_seq() which for now is kept as a backwards
+ compatibility macro.
+
+ No changes were made to the actual code logic.
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/index/raw/raw-sync.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+A src/lib-storage/mailbox-recent-flags.c
+A src/lib-storage/mailbox-recent-flags.h
+M src/plugins/virtual/virtual-sync.c
+
+2015-08-19 11:34:36 +0300 Timo Sirainen <tss@iki.fi> (aeba69ffaa)
+
+ *-login: Removed dead assignment to make static analyzer happy.
+
+
+M src/login-common/main.c
+
+2015-08-18 23:20:35 +0300 Timo Sirainen <tss@iki.fi> (2e51f501c9)
+
+ fts-solr: Flush Solr indexing HTTP requests every 1000 mails. This avoids
+ the HTTP request from becoming too huge.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2015-08-18 23:20:07 +0300 Timo Sirainen <tss@iki.fi> (1a115c1eb4)
+
+ fts-solr: If HTTP request fails, log the status number as well.
+
+
+M src/plugins/fts-solr/solr-connection.c
+
+2015-08-18 23:17:47 +0300 Timo Sirainen <tss@iki.fi> (0685853771)
+
+ fts-solr: Fix to previous memory leak fix - second request was failing.
+ Duplicated data was sent to Solr because string wasn't truncated.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2015-08-18 23:07:19 +0300 Timo Sirainen <tss@iki.fi> (5e19da15f5)
+
+ fts-solr: Fixed memory leak when indexing multiple mailboxes in one update
+ context.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2015-08-18 23:02:01 +0300 Stephan Bosch <stephan@rename-it.nl> (3d1edb8e3a)
+
+ lib-http: client: Fixed handling of request timeout. It was inappropriately
+ active when the client needed to take action. This showed particularly with
+ large payloads sent using http_client_request_send_payload().
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2015-08-18 21:10:41 +0300 Timo Sirainen <tss@iki.fi> (acff3d8f00)
+
+ lib-http: Previous test-http-client safe_memset() change broke in some
+ systems. Since there's no easy way to fix this in Makefile.am, just do it by
+ actually using safe_memset()..
+
+
+M src/lib-http/Makefile.am
+M src/lib-http/test-http-client.c
+
+2015-08-18 20:59:25 +0300 Timo Sirainen <tss@iki.fi> (5c46ec7416)
+
+ lib-http: test-http-client may have failed to load SSL library plugin.
+ safe_memset() wasn't necessarily compiled into test-http-client. This is a
+ bit kludgy way of just adding it. Another possibility could have been to use
+ -Wl,--whole-archive with GNU ld, but it's a bit tricky here.
+
+
+M src/lib-http/Makefile.am
+
+2015-08-18 20:54:47 +0300 Timo Sirainen <tss@iki.fi> (6a62f58e2b)
+
+ lib-http: test-http-client double-freed memory
+
+
+M src/lib-http/test-http-client.c
+
+2015-08-18 20:39:24 +0300 Stephan Bosch <stephan@rename-it.nl> (4356563bc3)
+
+ lib-http: url: Implemented http_url_clone_authority() to clone authority
+ part of existing HTTP URL.
+
+
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+
+2015-08-18 20:39:24 +0300 Stephan Bosch <stephan@rename-it.nl> (92c2272787)
+
+ lib-http: url: Implemented functions to copy/clone URLs including the
+ userinfo part (normally skipped).
+
+
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+
+2015-08-18 20:39:24 +0300 Stephan Bosch <stephan@rename-it.nl> (d01c7c7dfb)
+
+ lib-http auth: Implemented cloning/copying of credentials struct.
+
+
+M src/lib-http/http-auth.c
+M src/lib-http/http-auth.h
+
+2015-08-18 20:39:24 +0300 Stephan Bosch <stephan@rename-it.nl> (4c4c4a740b)
+
+ lib-http client: Implemented proxy authentication using Basic scheme.
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2015-08-18 20:39:24 +0300 Stephan Bosch <stephan@rename-it.nl> (91a4eaad6c)
+
+ lib-http client: Added inline function to check whether request is directed
+ at a proxy.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2015-08-18 20:39:24 +0300 Stephan Bosch <stephan@rename-it.nl> (30f35cf5d1)
+
+ lib-http client: Implemented simple authentication using Basic scheme.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+M src/lib-http/test-http-client.c
+
+2015-08-18 20:39:24 +0300 Stephan Bosch <stephan@rename-it.nl> (fb20981577)
+
+ lib-http client: Removed useless assignment of request->authority in
+ http_client_request_redirect(). It is assigned again in
+ http_client_request_do_submit().
+
+
+M src/lib-http/http-client-request.c
+
+2015-08-18 20:39:24 +0300 Stephan Bosch <stephan@rename-it.nl> (8aa91c0f70)
+
+ lib-http client: Minor whitespace cleanups in struct http_client_request.
+
+
+M src/lib-http/http-client-private.h
+
+2015-08-18 20:39:24 +0300 Stephan Bosch <stephan@rename-it.nl> (af6baaa258)
+
+ lib-http: url: Make sure destination url struct is cleared in
+ http_url_copy().
+
+
+M src/lib-http/http-url.c
+
+2015-08-18 20:39:24 +0300 Stephan Bosch <stephan@rename-it.nl> (79fa0267d0)
+
+ lib-http auth: Implemented client-side handling of basic authentication
+ scheme.
+
+
+M src/lib-http/http-auth.c
+M src/lib-http/http-auth.h
+
+2015-08-18 20:39:24 +0300 Stephan Bosch <stephan@rename-it.nl> (68adc380cc)
+
+ lib-http auth: Fixed assertion on the validity of the token68 encountered
+ during conversion to string.
+
+
+M src/lib-http/http-auth.c
+
+2015-08-18 20:39:24 +0300 Stephan Bosch <stephan@rename-it.nl> (06c6330d64)
+
+ lib-http auth: Made second argument of http_auth_create_challenges() const
+ as it should be.
+
+
+M src/lib-http/http-auth.c
+M src/lib-http/http-auth.h
+
+2015-08-18 20:39:24 +0300 Stephan Bosch <stephan@rename-it.nl> (77f3d7fc65)
+
+ lib-http auth: Fixed segfault occurring in http_auth_challenge_copy() when
+ there are no parameters.
+
+
+M src/lib-http/http-auth.c
+
+2015-08-18 20:39:06 +0300 Timo Sirainen <tss@iki.fi> (8761992b5a)
+
+ lib-master: Added support for HAProxy protocol. Patch by Stephan Bosch -
+ with some small changes.
+
+
+M src/lib-master/Makefile.am
+A src/lib-master/master-service-haproxy.c
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service.c
+M src/lib-master/service-settings.h
+M src/master/master-settings.c
+M src/master/service-process.c
+
+2015-08-18 20:23:45 +0300 Timo Sirainen <tss@iki.fi> (71056e0f5e)
+
+ master: Changed passing of listener settings from master to process to be
+ more flexible. This is needed to allow adding new listener settings, such as
+ `haproxy'. Patch by Stephan Bosch - with some small changes.
+
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+M src/master/service-process.c
+
+2015-06-15 18:50:53 +0200 Stephan Bosch <stephan@rename-it.nl> (a05fec120e)
+
+ lmtp, *-login: Use ip/port values from struct master_service_connection
+ instead of from the socket. This way, a proxy protocol like HAProxy can
+ transparently override these addresses with what is seen by the proxy.
+
+
+M src/lmtp/client.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/main.c
+
+2015-06-15 18:50:53 +0200 Stephan Bosch <stephan@rename-it.nl> (72f21884c0)
+
+ lib-master: Added local and real IP addresses and ports to struct
+ master_service_connection.
+
+
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2015-08-18 20:03:28 +0300 Timo Sirainen <tss@iki.fi> (8ab32a83ca)
+
+ lib-master: Moved connection accepting code to its own functions. No
+ functional changes.
+
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+
+2015-08-17 19:31:42 +0300 Timo Sirainen <tss@iki.fi> (42562240ca)
+
+ lazy-expunge: If MAIL_FETCH_REFCOUNT fails because mail is expunged, ignore
+ the error.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2015-08-17 19:28:55 +0300 Timo Sirainen <tss@iki.fi> (0f277a0649)
+
+ lazy-expunge: If MAIL_FETCH_REFCOUNT fails, log the storage error.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2015-08-17 14:25:59 +0300 Timo Sirainen <tss@iki.fi> (7b3f0e0a46)
+
+ lib-fts: Minor cleanup - initialize err with U_ZERO_ERROR instead of 0.
+ They're the same though.
+
+
+M src/lib-fts/fts-icu.c
+
+2015-08-17 13:18:03 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (3a54211bd6)
+
+ lib-fts: Add Unicode TR29 rule WB5a setting to tokenizer. Splits prefixing
+ contracted words from base word. E.g. "l'homme" -> "l" "homme". Together
+ with a language specific stopword list unnecessary contractions can thus be
+ filtered away.
+
+ This is disabled by default and only works with the TR29 algorithm. Enable
+ by "fts_tokenizer_generic = algorithm=tr29 wb5a=yes"
+
+M src/lib-fts/fts-common.h
+M src/lib-fts/fts-tokenizer-generic-private.h
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-08-17 13:15:11 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (bcc55b1547)
+
+ lib-fts: Add note about possible additional apostrophe.
+
+
+M src/lib-fts/fts-common.h
+
+2015-08-17 13:14:44 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (d1623103c7)
+
+ lib-fts: Update comment on tr29 rules.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-08-17 12:56:25 +0300 Timo Sirainen <tss@iki.fi> (ff32ec7f6c)
+
+ indexer: Removed counting worker processes as service clients to prevent
+ idle-kill. lib-master handles this internally now. Also if the max client
+ count was reached, we assert-crashed:
+
+ indexer: Panic: file master-service.c: line 672
+ (master_service_client_connection_created): assertion failed:
+ (service->master_status.available_count > 0)
+
+M src/indexer/worker-pool.c
+
+2015-08-17 12:53:52 +0300 Timo Sirainen <tss@iki.fi> (2f94ca6b0f)
+
+ lib-master: If idle-die callback returns FALSE, notify master that we don't
+ want to die. This avoids the master thinking that we're ignoring its
+ idle-kill signal and logging an error.
+
+
+M src/lib-master/master-service.c
+
+2015-08-17 12:51:43 +0300 Timo Sirainen <tss@iki.fi> (b17d7bbd28)
+
+ lib-master: Code cleanup - split master_status_update() to two functions. No
+ functional changes.
+
+
+M src/lib-master/master-service.c
+
+2015-08-16 13:22:14 +0200 Timo Sirainen <tss@iki.fi> (a578aaf571)
+
+ lib-fs: Moved enum fs_op from fs-randomfail.c to fs-api-private.h These are
+ useful for other purposes as well.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-randomfail.c
+
+2015-08-16 13:17:06 +0200 Timo Sirainen <tss@iki.fi> (8f8858ba3f)
+
+ lib-fs: Fix to earlier write_stream_finish() commit 2f1378beeef6
+ accidentally reversed == and != check.
+
+
+M src/lib-fs/fs-api.c
+
+2015-08-16 13:14:11 +0200 Timo Sirainen <tss@iki.fi> (1445b15b4d)
+
+ lib-fs: fs_copy*() didn't update metadata_changed correctly. It was supposed
+ to be (only) set when the copying actually finished.
+
+
+M src/lib-fs/fs-api.c
+
+2015-08-16 13:10:48 +0200 Timo Sirainen <tss@iki.fi> (825e349a82)
+
+ lib-fs: Small code cleanup for handling write_stream_finish()
+
+
+M src/lib-fs/fs-api.c
+
+2015-08-16 13:07:21 +0200 Timo Sirainen <tss@iki.fi> (b76b97a5b2)
+
+ lib-fs: fs_write() didn't update stats.write_count correctly. If backend
+ implemented asynchronous write(), the write_count was updated multiple
+ times. If backend didn't implement write(), then it was counted twice.
+
+
+M src/lib-fs/fs-api.c
+
+2015-08-15 12:14:35 +0200 Timo Sirainen <tss@iki.fi> (1132d309c6)
+
+ dsync: Fixed syncing a recursive delete of mailbox with children. For
+ example if 1/2/3 exists in both sides and then 1/2/3, 1/2 and 1 are deleted
+ from one side, the next dsync would delete 1/2/3, but leave 1/2 and 1
+ undeleted.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2015-08-15 12:05:34 +0200 Timo Sirainen <tss@iki.fi> (34256c0245)
+
+ dsync: If mailbox is already deleted locally, don't attempt to delete it
+ again. This only caused an unnecessary desync warning / exit code.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2015-08-12 12:52:06 +0300 Timo Sirainen <tss@iki.fi> (3a63761473)
+
+ pop3: Added pop3_delete_type setting with values "default", "expunge" or
+ "flag". This is related to pop3_deleted_flag setting. The main behefit here
+ is that you can now hide messages from POP3 by setting pop3_deleted_flag,
+ but without changing the actual deletion behavior by setting
+ pop3_delete_type=expunge.
+
+
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-settings.c
+M src/pop3/pop3-settings.h
+
+2015-08-11 14:27:01 +0300 Timo Sirainen <tss@iki.fi> (f1306b3d24)
+
+ lib-fts: Install headers on make install.
+
+
+M src/lib-fts/Makefile.am
+
+2015-08-10 15:39:50 +0300 Timo Sirainen <tss@iki.fi> (67e599e108)
+
+ rawlog: Removed unnecessary/duplicate 'o' from getopt_args This caused
+ assert-crash at startup after ff17864ba6e0.
+
+
+M src/util/rawlog.c
+
+2015-08-10 15:35:43 +0300 Timo Sirainen <tss@iki.fi> (809751b9a9)
+
+ lda: Removed unnecessary/duplicate 'k' from getopt_args This caused
+ assert-crash at startup after ff17864ba6e0.
+
+
+M src/lda/main.c
+
+2015-08-09 21:54:33 +0300 Timo Sirainen <tss@iki.fi> (48ed692c47)
+
+ man: doveadm-import -s description updated The previously mentioned
+ subscriptions-file is specific to Maildir format.
+
+
+M doc/man/doveadm-import.1.in
+
+2015-08-07 15:32:28 +0300 Timo Sirainen <tss@iki.fi> (22b88a9dd1)
+
+ doveadm: Make sure we can't accidentally add duplicate getopt args.
+
+
+M src/doveadm/doveadm-mail.c
+
+2015-08-07 15:32:14 +0300 Timo Sirainen <tss@iki.fi> (9b0f6b90ff)
+
+ lib-master: Make sure we can't accidentally add duplicate getopt args.
+
+
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2015-08-07 15:30:26 +0300 Timo Sirainen <tss@iki.fi> (2759d14523)
+
+ stats: Added session=<ID> filter to doveadm dump session|command
+
+
+M src/stats/client-export.c
+
+2015-08-07 15:13:34 +0300 Timo Sirainen <tss@iki.fi> (7fbad92f3b)
+
+ dsync: Renamed -F parameter to -O to avoid a conflict doveadm mail commands
+ already had a generic -F parameter.
+
+
+M src/doveadm/doveadm-dsync.c
+
+2015-08-07 13:32:02 +0300 Timo Sirainen <tss@iki.fi> (e99ffa6abd)
+
+ fts-solr: "highest UID for mailbox" lookup was actually returning "highest
+ UID for user" If the default operator was OR instead of AND. This affected
+ indexing mails in newly created mailboxes.
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2015-08-07 12:58:30 +0300 Timo Sirainen <tss@iki.fi> (29cda2d6eb)
+
+ lib: istream-timeout could have triggered timeout too early after
+ long-running code.
+
+
+M src/lib/istream-timeout.c
+
+2015-08-07 11:31:29 +0300 Timo Sirainen <tss@iki.fi> (146f6f85db)
+
+ fts: If Tika returns 500, retry it a couple of times and then fallback to
+ ignoring the problem.
+
+
+M src/plugins/fts/fts-parser-tika.c
+
+2015-08-06 22:36:20 +0300 Timo Sirainen <tss@iki.fi> (6b757d07f7)
+
+ lib-storage: Make sure tryagain_r is never randomly set in
+ mailbox_search_next_nonblock() This infinite looping in some fts plugin
+ failure situations.
+
+
+M src/lib-storage/mail-storage.c
+
+2015-08-06 12:17:45 +0300 Timo Sirainen <tss@iki.fi> (38db7268f7)
+
+ stats: If process was used for multiple sessions, some of the fields weren't
+ set correctly. For example the second user's disk_output was increased at
+ startup by the same amount as what the previous user's last disk_output
+ value was.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2015-08-04 11:31:17 +0300 Timo Sirainen <tss@iki.fi> (f0d09be40b)
+
+ lib-storage: escape_char and broken_char settings weren't copied on
+ mailbox_list_create()
+
+
+M src/lib-storage/mailbox-list.c
+
+2015-07-20 10:33:39 +0300 Timo Sirainen <tss@iki.fi> (668f92ab0e)
+
+ lib-storage: Another fix for doing multiple changes via
+ mailbox_attribute_set/unset
+
+
+M src/lib-storage/index/index-attribute.c
+
+2015-07-19 16:45:23 +0300 Timo Sirainen <tss@iki.fi> (5199b57650)
+
+ lib-mail: Fixed message_part_to_idx()
+
+
+M src/lib-mail/message-part.c
+M src/lib-mail/test-message-part.c
+
+2015-07-19 16:21:04 +0300 Timo Sirainen <tss@iki.fi> (cd889f59cd)
+
+ pop3-migration: Compiling fix in some systems
+
+
+M src/plugins/pop3-migration/Makefile.am
+
+2015-07-19 10:57:26 +0300 Timo Sirainen <tss@iki.fi> (4a9bbf81af)
+
+ lib-storage: Fixed doing multiple changes via mailbox_attribute_set/unset()
+ Only the last change was committed and the earlier changes were just leaking
+ memory.
+
+
+M src/lib-storage/index/index-attribute.c
+
+2015-07-16 19:37:22 +0300 Timo Sirainen <tss@iki.fi> (b3070aca2a)
+
+ pop3-migration: Fetch physical sizes instead of virtual sizes so pop3c uses
+ LIST 4bebfbb32410 caused the fetching to break entirely.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2015-07-16 18:10:12 +0300 Timo Sirainen <tss@iki.fi> (7e8bfb5b0a)
+
+ pop3-migration: Use LIST instead of RETRs to get the messages' sizes.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2015-07-16 18:09:17 +0300 Timo Sirainen <tss@iki.fi> (bca734e149)
+
+ lib-mail: Updated test-message-header-parser unit test
+
+
+M src/lib-mail/test-message-header-parser.c
+
+2015-07-16 18:08:40 +0300 Timo Sirainen <tss@iki.fi> (e18e90938f)
+
+ pop3-migration: Truncate header if there's line containing only CR(s). This
+ fixes matching IMAP <-> POP3 messages when the servers behave differently.
+
+
+M src/plugins/pop3-migration/Makefile.am
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/pop3-migration/pop3-migration-plugin.h
+A src/plugins/pop3-migration/test-pop3-migration-plugin.c
+
+2015-07-14 15:08:24 +0200 Timo Sirainen <tss@iki.fi> (7faf475a2f)
+
+ pop3-migration: Show the first message's number and UIDL which wasn't found
+ from IMAP.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2015-07-11 12:16:56 +0300 Timo Sirainen <tss@iki.fi> (e048e63fec)
+
+ lib-storage: If mailboxes' vsizes are used, keep them updated also in
+ mailbox list index. This allows looking them up quickly without opening the
+ actual mailbox indexes.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/list/mailbox-list-notify-tree.c
+
+2015-07-11 12:14:48 +0300 Timo Sirainen <tss@iki.fi> (c16bf6335c)
+
+ quota: Use MAILBOX_METADATA_PHYSICAL_SIZE for recalculating mailbox's size.
+
+
+M src/plugins/quota/quota-count.c
+
+2015-07-11 12:11:48 +0300 Timo Sirainen <tss@iki.fi> (dae42444ac)
+
+ lib-storage: Added MAILBOX_METADATA_PHYSICAL_SIZE If backend always uses the
+ same virtual and physical sizes, this is implemented via the
+ MAILBOX_METADATA_VIRTUAL_SIZE code. Otherwise it searches all the messages
+ and sums up their physical sizes.
+
+
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/mail-storage.h
+
+2015-07-11 12:06:44 +0300 Timo Sirainen <tss@iki.fi> (382f23541c)
+
+ lib-storage: Moved vsize_hdr_ext_id to struct mailbox for more global
+ access.
+
+
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/mail-storage-private.h
+
+2015-07-11 12:03:56 +0300 Timo Sirainen <tss@iki.fi> (2c70086138)
+
+ lib-storage: Renamed struct index_vsize_header to struct mailbox_index_vsize
+ Also moved the struct to mail-storage-private.h for more global access.
+
+
+M src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/mail-storage-private.h
+
+2015-07-11 12:00:38 +0300 Timo Sirainen <tss@iki.fi> (2c759e5193)
+
+ lib-storage: Moved mailbox vsize calculation code to its own file. No
+ functional differences.
+
+
+M src/lib-storage/index/Makefile.am
+A src/lib-storage/index/index-mailbox-size.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.h
+
+2015-07-03 13:55:17 +0300 Timo Sirainen <tss@iki.fi> (67d4da9d5d)
+
+ quota: Even if quota counting fails, commit the mailbox transaction. The
+ only changes in the transaction are changes to dovecot.index.cache file and
+ we don't want to rollback those.
+
+
+M src/plugins/quota/quota-count.c
+
+2015-07-03 13:54:18 +0300 Timo Sirainen <tss@iki.fi> (e7c8048ee5)
+
+ quota: Fixed error handling in quota counting code. Errors weren't logged
+ and some error checking was missing.
+
+
+M src/plugins/quota/quota-count.c
+
+2015-07-02 11:06:04 +0200 Timo Sirainen <tss@iki.fi> (c5c244da99)
+
+ mdbox: Make sure rebuilding doesn't try to add a copy of the message too
+ many times. Currently it just silently overflowed the 16bit refcount, which
+ caused problems later.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2015-06-30 14:26:00 +0300 Timo Sirainen <tss@iki.fi> (5a3ff8dc39)
+
+ istream-zlib: Don't overwrite parent istream's error on gz header/trailer
+ read errors.
+
+
+M src/lib-compression/istream-zlib.c
+
+2015-06-30 13:58:15 +0300 Timo Sirainen <tss@iki.fi> (c4d1ceab44)
+
+ doveadm: Added doveadm_username to specify the username for authentication.
+ The default is still "doveadm" and the server side doesn't currently support
+ anything except "doveadm".
+
+
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/server-connection.c
+
+2015-06-30 12:18:08 +0300 Timo Sirainen <tss@iki.fi> (2c0f1cb7a0)
+
+ istream filters: If parent's i_stream_stat() fails, copy the stream_errno.
+ This doesn't actually change any functionality yet, since most
+ i_stream_stat() callers aren't using i_stream_get_error().
+
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-fs/istream-metawrap.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib/istream-limit.c
+M src/lib/istream-sized.c
+M src/lib/istream.c
+M src/plugins/mail-filter/istream-ext-filter.c
+
+2015-06-30 12:17:35 +0300 Timo Sirainen <tss@iki.fi> (e17d72cec1)
+
+ lib: istream_file.stat() fails, set stream_errno and error string. For now
+ we'll also keep logging the error since everybody isn't using
+ i_stream_get_error().
+
+
+M src/lib/istream-file.c
+
+2015-06-30 11:26:47 +0300 Timo Sirainen <tss@iki.fi> (ffc2b0165f)
+
+ master: When sending SIGTERM/SIGKILL to processes, log which services they
+ were sent to.
+
+
+M src/master/service.c
+
+2015-06-29 20:25:15 +0300 Timo Sirainen <tss@iki.fi> (0a9d52be3f)
+
+ imap/pop3-login: If auth failure reason already begins with [resp-code],
+ don't prefix it with another one.
+
+
+M src/imap-login/client-authenticate.c
+M src/pop3-login/client.c
+
+2015-06-29 13:36:38 +0300 Timo Sirainen <tss@iki.fi> (5291b4f7a2)
+
+ lib: Fixed unit test with big-endian CPUs. Patch by Michal Hlavinka / Redhat
+
+
+M src/lib/test-net.c
+
+2015-06-29 13:06:03 +0300 Timo Sirainen <tss@iki.fi> (55e8c2dec7)
+
+ lib: Fixed read buffer overflow in wildcard_match*() Patch by Hanno Böck.
+
+ Note that input to wildard_match*() is always coming only from trusted
+ sources, like config file or doveadm commands.
+
+M src/lib/wildcard-match.c
+
+2015-06-29 12:05:25 +0300 Timo Sirainen <tss@iki.fi> (29ffe70662)
+
+ indexer: Properly fix crashing at deinit when there are pending requests.
+
+
+M src/indexer/indexer-queue.c
+
+2015-06-29 12:00:05 +0300 Timo Sirainen <tss@iki.fi> (d03ffc6497)
+
+ indexer: Reverted 5945ba000a45 - it didn't really help
+
+
+M src/indexer/indexer.c
+
+2015-06-29 11:44:00 +0300 Timo Sirainen <tss@iki.fi> (1d69f58dba)
+
+ indexer: Fixed crash at deinit if there were still queued requests.
+
+
+M src/indexer/indexer.c
+
+2015-06-24 07:54:35 +0200 Timo Sirainen <tss@iki.fi> (2d0c822bc1)
+
+ imapc: Fixed check to see if prefix!="" in previous commit.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2015-06-23 11:31:21 +0200 Timo Sirainen <tss@iki.fi> (db3325d027)
+
+ lib-storage: Set MAILBOX_SELECT/NONEXISTENT for namespace prefix even if no
+ flags are wanted. This fixes doveadm commands attempting to access such
+ nonexistent mailbox prefixes.
+
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2015-06-23 11:30:27 +0200 Timo Sirainen <tss@iki.fi> (7882e10fda)
+
+ imapc: Don't return mailbox list entries that would result in name="". So
+ basically don't return namespace prefix if imapc_list_prefix="".
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2015-06-23 11:12:38 +0200 Timo Sirainen <tss@iki.fi> (9a717bf843)
+
+ imapc: If login is aborted at deinit, don't log an error.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2015-06-23 11:02:20 +0200 Timo Sirainen <tss@iki.fi> (c1a2ab4097)
+
+ imapc: Don't automatically login to IMAP server for list=no namespaces.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2015-06-18 11:10:05 +0300 Timo Sirainen <tss@iki.fi> (2ff548b460)
+
+ lib-http: http_client_request_send() failure returned already-freed error
+ string.
+
+
+M src/lib-http/http-client-request.c
+
+2015-06-17 16:37:37 +0300 Timo Sirainen <tss@iki.fi> (976459a13f)
+
+ fs-posix: Hide temporary files from fs_iter_*() Those could exist just
+ because another process is just using them to create new files to the
+ directory. Although they could also be older files caused by earlier
+ crashes. It would probably be a good idea to have fs_iter_*() delete the old
+ temporary files automatically.
+
+
+M src/lib-fs/fs-posix.c
+
+2015-06-17 14:25:48 +0300 Timo Sirainen <tss@iki.fi> (96d85fb360)
+
+ virtual: virtual_uids weren't always set to all mails, causing missing mails
+ and crashes in search.
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2015-06-17 14:24:06 +0300 Timo Sirainen <tss@iki.fi> (a5a4433751)
+
+ virtual: Added more asserts when DEBUG is enabled.
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2015-06-17 14:23:38 +0300 Timo Sirainen <tss@iki.fi> (cc7e2c3903)
+
+ virtual: Added more asserts.
+
+
+M src/plugins/virtual/virtual-storage.c
+
+2015-06-17 14:04:42 +0300 Timo Sirainen <tss@iki.fi> (d4fbb33173)
+
+ fts-solr: Avoid sending too large queries to Solr due to listing wanted
+ mailboxes. This is mainly a problem if there are a lot of mailboxes and "All
+ Mails" virtual mailbox. For now hardcoded to send max 10 mailboxes in the
+ query, afterwards it just returns matches in all the mailboxes and we'll
+ filter out the unwanted mailboxes.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2015-06-17 13:55:37 +0300 Timo Sirainen <tss@iki.fi> (57cefeb34a)
+
+ fts-solr: Removed assert to fix indexing multiple mailboxes. fts plugin may
+ want to do last-uid lookup for a new mailbox while we still have posting
+ open for the previous one.
+
+
+M src/plugins/fts-solr/solr-connection.c
+
+2015-06-17 13:12:37 +0300 Timo Sirainen <tss@iki.fi> (ae19dcf610)
+
+ fts-tika: Fixed crashes when indexing larger attachments with fts-solr. We
+ were mixing ioloops without switching back to the original ioloop in the
+ middle. Also io_remove() at deinit caused another timeout to be added, so
+ this needs to be done while original ioloop is active or we'll just leak the
+ just-added timeout in io_loop_destroy() and crash later.
+
+
+M src/plugins/fts/fts-parser-tika.c
+
+2015-06-17 12:22:17 +0300 Timo Sirainen <tss@iki.fi> (30605b7bd8)
+
+ lib-fs: Removed redundant o_stream_nfinish() calls
+
+
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-randomfail.c
+M src/lib-fs/fs-sis.c
+
+2015-06-17 12:21:52 +0300 Timo Sirainen <tss@iki.fi> (4244105be4)
+
+ lib-fs: Call o_stream_nfinish() automatically for all backends in
+ fs_write_stream_finish() Otherwise each backend needs to do it internally.
+ fs-metawrap for example was missing this and causing assert-crashes.
+
+
+M src/lib-fs/fs-api.c
+
+2015-06-17 11:42:53 +0300 Phil Carmody <phil@dovecot.fi> (03e0be2465)
+
+ lib: test-data-stack - simplify #if-ing out of DEBUG-only fatal test With no
+ canaries, nothing can be tested, so just reduce this to a trivial 1-line
+ return on the non-DEBUG case.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-data-stack.c
+
+2015-06-17 11:42:30 +0300 Phil Carmody <phil@dovecot.fi> (f4a8208242)
+
+ lib: test-data-stack - ensure t_push() and t_pop() are balanced in fatal
+ tests If the t_pop() unexpectedly succeeds, we won't want to do another one
+ upon entering the function again.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-data-stack.c
+
+2015-06-17 11:31:02 +0300 Timo Sirainen <tss@iki.fi> (1cd595423d)
+
+ auth: Added allow_real_nets setting. The difference to allow_nets is that it
+ matches against the connection's "real IP" rather than what the connection
+ told was the original client's IP address (%{rip} vs %{real_rip})
+
+
+M src/auth/auth-request.c
+
+2015-06-16 17:19:12 +0300 Timo Sirainen <tss@iki.fi> (4487c66123)
+
+ lib: Added unix_client_connect_msecs setting to connection API.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2015-06-16 16:56:08 +0300 Timo Sirainen <tss@iki.fi> (c1d99776b5)
+
+ lib: Compiler warning fix for test-ostream-failure-at.
+
+
+M src/lib/test-ostream-failure-at.c
+
+2015-06-16 16:40:29 +0300 Timo Sirainen <tss@iki.fi> (5a441a6d97)
+
+ lib-fs: Added "randomfail" driver. Using this in front of fs drivers allows
+ randomly injecting failures. For example:
+
+ mail_attachment_fs = randomfail:all=10,read=30,read-range=2000-3000:sis
+ posix
+
+ This means that all FS operations have a 10% chance of failing, except reads
+ have a 30% chance of failing. If the read fails, it'll fail somewhere
+ between offsets 2000-3000 (the default is 0, so it'll fail at the start of
+ file).
+
+ The supported operations are: wait metadata prefetch read write lock exists
+ stat copy rename delete iter. "all" applies to all of them.
+
+ The supported ranges are: read-range, write-range, iter-range.
+
+M src/lib-fs/Makefile.am
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+A src/lib-fs/fs-randomfail.c
+
+2015-06-16 16:22:18 +0300 Timo Sirainen <tss@iki.fi> (9294b9ad2e)
+
+ lib: Added o_stream_create_failure_at() to inject EIO at given offset in
+ ostream
+
+
+M src/lib/Makefile.am
+A src/lib/ostream-failure-at.c
+A src/lib/ostream-failure-at.h
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+A src/lib/test-ostream-failure-at.c
+
+2015-06-16 16:21:56 +0300 Timo Sirainen <tss@iki.fi> (289bb39856)
+
+ lib: Added i_stream_create_failure_at() to inject EIO at given offset in
+ istream.
+
+
+M src/lib/Makefile.am
+A src/lib/istream-failure-at.c
+A src/lib/istream-failure-at.h
+A src/lib/test-istream-failure-at.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2015-06-16 14:12:59 +0300 Timo Sirainen <tss@iki.fi> (85dd5fe0b9)
+
+ dsync: If we stop because of a signal, log a warning about it.
+
+
+M src/doveadm/doveadm-dsync.c
+
+2015-06-16 14:12:33 +0300 Timo Sirainen <tss@iki.fi> (eff3452873)
+
+ doveadm: Added doveadm_killed_signo()
+
+
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2015-06-16 00:29:07 +0300 Timo Sirainen <tss@iki.fi> (44ca7644e6)
+
+ fts: Avoid expanding mail_search_args multiple times (for optimization &
+ crash-avoidance) Primarily this fixes the crash:
+
+ index-search-result.c: line 132 (index_search_result_update_flags):
+ assertion failed: (result->search_args->args == &search_arg)
+
+ It could be triggered by: a search return (update) body body seen b store 1
+ +flags \seen c store 1 -flags \seen
+
+M src/lib-storage/mail-search.h
+M src/plugins/fts/fts-search-args.c
+
+2015-06-16 00:16:42 +0300 Timo Sirainen <tss@iki.fi> (0084f25dd9)
+
+ fs-posix: fs_copy() didn't work with prefix= parameter
+
+
+M src/lib-fs/fs-posix.c
+
+2015-06-15 14:55:03 +0300 Phil Carmody <phil@dovecot.fi> (15595e862b)
+
+ lib-stats: fix tristate-int vs. bool return value confusion -1 was being
+ silently converted to true. However, this was an error condition.
+
+ The callers don't need anything more complex than a bool, so kill the int.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-stats/stats.c
+
+2015-06-15 14:55:01 +0300 Phil Carmody <phil@dovecot.fi> (085a87d32b)
+
+ lib-fts: use NULL rather than 0 to shut up sparse Signed-off-by: Phil
+ Carmody <phil@dovecot.fi>
+
+
+M src/lib-fts/fts-tokenizer.c
+
+2015-06-15 14:54:58 +0300 Phil Carmody <phil@dovecot.fi> (ff060dcf76)
+
+ director: explicitly mark _disconnect() helper static to match proto No
+ functional change, compiler would not have exported the symbol, this just
+ shuts up sparse.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/director/director-connection.c
+
+2015-06-15 14:51:46 +0300 Timo Sirainen <tss@iki.fi> (b5439deff8)
+
+ fs-metawrap: If written file unexpectedly shrinks, return error instead of
+ assert-crash. This shouldn't be happening, but we can't fully control it so
+ an error is better.
+
+
+M src/lib-fs/fs-metawrap.c
+
+2015-06-15 14:49:46 +0300 Timo Sirainen <tss@iki.fi> (4107ad482b)
+
+ fs-metawrap: Don't assert-crash when writing an empty file.
+
+
+M src/lib-fs/fs-metawrap.c
+
+2015-06-15 14:35:25 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (998e17137d)
+
+ lib-fts: Fix comment in fts-filter.h
+
+
+M src/lib-fts/fts-filter.h
+
+2015-06-15 14:31:19 +0300 Phil Carmody <phil@dovecot.fi> (8549b59aa3)
+
+ lib: test-failures - tests get/set handlers and the various log levels Also
+ indirectoy tests the new lib-test test_expect* family.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/Makefile.am
+A src/lib/test-failures.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2015-06-15 14:31:19 +0300 Phil Carmody <phil@dovecot.fi> (1b3a9b9e7e)
+
+ lib-test: test_expect_error_string() to match a single known message This
+ gives us very fine control over what is acceptable as an expected warning.
+ Alas you have to do it for each message individually.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2015-06-15 14:31:19 +0300 Phil Carmody <phil@dovecot.fi> (7d442a685d)
+
+ lib-test: let tests invoke i_warning/i_error behaviour Error-handling paths
+ should be testable too. Permit a test case to register that a known number
+ of warnings/errors are to be expected, and to verify that those warnings did
+ occur afterwards. Too many messages will fail the test exactly as it did in
+ the past, they're unexpected messages. However, too few messages will also
+ cause the test case to fail.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2015-06-15 14:31:19 +0300 Phil Carmody <phil@dovecot.fi> (04e7cfc5e6)
+
+ lib-test: flush test-assert failure messages Diagnostic output to stderr may
+ overtake these stdout logs if the streams are combined by the shell or on
+ the console. fflush() might help realign them.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+
+2015-06-15 14:25:07 +0300 Phil Carmody <phil@dovecot.fi> (fdc468280e)
+
+ lib: array - permit array_swap with uninitialised arrays Before
+ initialisation, all fields are blank, so the element_size field is not the
+ actual size, and the i_assert would fire.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/array.h
+
+2015-06-13 17:05:49 +0300 Timo Sirainen <tss@iki.fi> (ea91861234)
+
+ lib-index: Added mail_index_ext_register_resize_defaults()
+
+
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+
+2015-06-13 16:46:06 +0300 Timo Sirainen <tss@iki.fi> (b50234708a)
+
+ cassandra: Commit failures returned an already freed error string.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-06-13 15:10:23 +0300 Timo Sirainen <tss@iki.fi> (98add73ebc)
+
+ lib-fts: Removed unnecessary data stack frames from test-fts-filter. They
+ are already added by lib-test/test-common.c
+
+
+M src/lib-fts/test-fts-filter.c
+
+2015-06-13 14:36:43 +0300 Timo Sirainen <tss@iki.fi> (0df5668223)
+
+ config: Added hook_config_parser_end for plugins.
+
+
+M src/config/config-parser-private.h
+M src/config/config-parser.c
+
+2015-06-12 15:14:52 +0300 Timo Sirainen <tss@iki.fi> (28c669e01d)
+
+ doveadm mailbox delete -r: Delete all mailboxes when empty mailbox name is
+ given.
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+
+2015-06-12 13:02:08 +0300 Timo Sirainen <tss@iki.fi> (f07e311812)
+
+ lib-fts: Don't crash if fts_icu_*() are used after fts_icu_deinit()
+
+
+M src/lib-fts/fts-icu.c
+
+2015-06-11 19:21:16 +0300 Timo Sirainen <tss@iki.fi> (b356019bca)
+
+ lib-index: Avoid writing tail offset update to transaction log if it's not
+ necessary. This should avoid extra writes that do nothing but update the
+ tail offset. mdbox's map requires this behavior, so disable it for it. For
+ others it might cause the next sync to read more data unnecessarily, but it
+ should be worth the extra cost of write most of the times.
+
+
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index.h
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2015-06-11 19:08:13 +0300 Timo Sirainen <tss@iki.fi> (e1ba963457)
+
+ doveadm fetch: Added "refcount" field.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2015-06-11 16:19:05 +0300 Timo Sirainen <tss@iki.fi> (e22ec7998a)
+
+ cassandra: Error handling cleanup. Probably doesn't fix any actual bugs.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-06-11 15:28:46 +0300 Timo Sirainen <tss@iki.fi> (6b4b3e5fe8)
+
+ cassandra: Minor code cleanup to make sure we don't try to access freed
+ transaction memory.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-06-11 15:28:05 +0300 Timo Sirainen <tss@iki.fi> (b23a8d3514)
+
+ cassandra: Don't access freed memory when doing an assert-check.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-06-11 15:19:53 +0300 Timo Sirainen <tss@iki.fi> (01c4df2ade)
+
+ doveadm fs delete -R: More fixes to handling errors without crashing.
+
+
+M src/doveadm/doveadm-fs.c
+
+2015-06-10 20:29:35 +0300 Timo Sirainen <tss@iki.fi> (2010ab3fb1)
+
+ lmtp: Fixed assert-crash on anvil lookup failures. If anvil_client_query()
+ fails, it immediately calls the callback and returns NULL. So we need to
+ increase anvil_queries even before calling anvil_client_query()
+
+
+M src/lmtp/commands.c
+
+2015-06-10 19:50:29 +0300 Timo Sirainen <tss@iki.fi> (2f9266ae87)
+
+ doveadm fs delete -R: Fixed hang when some of the deletions failed.
+
+
+M src/doveadm/doveadm-fs.c
+
+2015-06-10 16:18:10 +0300 Timo Sirainen <tss@iki.fi> (48ce7a375a)
+
+ cassandra: If log_level=debug/trace, log each query and its result.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-06-10 16:09:13 +0300 Timo Sirainen <tss@iki.fi> (b650f04c3b)
+
+ cassandra: Added extra asserts and sanity checks to make sure query errors
+ are caught.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-06-10 16:08:28 +0300 Timo Sirainen <tss@iki.fi> (f0e811f0e3)
+
+ cassandra: Don't crash on failed queries.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-06-09 19:32:09 +0300 Timo Sirainen <tss@iki.fi> (bda46f9a6e)
+
+ dict-sql: Don't try to optimize finding a matching map by using the previous
+ match. In some setups multiple maps can match and it's important that the
+ matching is done in the same order always, otherwise the results could
+ become somewhat random.
+
+
+M src/lib-dict/dict-sql.c
+
+2015-06-05 16:37:24 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (091932d9b9)
+
+ man: doveadm-pw.1: Fix typo.
+
+
+M doc/man/doveadm-pw.1.in
+
+2015-06-04 21:03:42 +0000 Pascal Volk <user@localhost.localdomain.org> (74befaa48d)
+
+ man: doveadm-pw.1: Added a note about quoting password hashes.
+
+
+M doc/man/doveadm-pw.1.in
+
+2015-06-04 21:57:32 +0300 Timo Sirainen <tss@iki.fi> (fe3f637ef0)
+
+ fts: lib-fts search arg expansion wasn't done for non-TEXT/BODY searches
+ when fts_enforced=no
+
+
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+
+2015-06-04 00:45:11 +0300 Timo Sirainen <tss@iki.fi> (be1126eef3)
+
+ fts: Added "doveadm fts expand" to show lib-fts search query expanded.
+
+
+M src/plugins/fts/doveadm-fts.c
+
+2015-06-04 00:44:42 +0300 Timo Sirainen <tss@iki.fi> (9bafaf2bea)
+
+ lib-storage: Added mail_search_args_to_cmdline() This isn't entirely correct
+ yet, but it's only going to be used for debugging for now.
+
+
+M src/lib-storage/Makefile.am
+A src/lib-storage/mail-search-args-cmdline.c
+M src/lib-storage/mail-search.h
+
+2015-06-03 23:56:32 +0300 Timo Sirainen <tss@iki.fi> (2e3e24888f)
+
+ fts: Added "doveadm fts lookup" command. This is mainly useful for debugging
+ lib-fts. It doesn't perform any of the lib-fts tokenization / filtering so
+ you can do raw lookups.
+
+
+M src/plugins/fts/Makefile.am
+M src/plugins/fts/doveadm-fts.c
+
+2015-06-03 22:39:52 +0300 Timo Sirainen <tss@iki.fi> (12952c18d1)
+
+ lib-fts: fts_tokenizer_reset() didn't reset the entire state.
+
+
+M src/lib-fts/fts-tokenizer.c
+
+2015-06-03 22:30:05 +0300 Timo Sirainen <tss@iki.fi> (218095792e)
+
+ indexer: Improved handling multiple indexing requests to the same mailbox.
+ If a request arrives for a mailbox that we were already indexes, the
+ previous code simply sent the indexing request to the existing worker
+ process. This could have caused a lot of requests to be buffered to the same
+ mailbox if the indexing took a long time, which could have taken a while to
+ process even though they weren't really doing anything indexing work.
+
+ The new code instead just keeps track in memory that when the earlier
+ indexing is finished, it's done again once to finish any pending changes.
+
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-queue.h
+M src/indexer/indexer.c
+
+2015-06-03 22:26:05 +0300 Timo Sirainen <tss@iki.fi> (be98c0c6da)
+
+ indexer: Try to always flush as many requests from queue as possible. I
+ don't think this changes the behavior much. It's mainly a code cleanup.
+
+
+M src/indexer/indexer.c
+
+2015-06-03 22:25:28 +0300 Timo Sirainen <tss@iki.fi> (7fb611afeb)
+
+ indexer: Use array.h API instead of writing our own. The space savings
+ aren't worth the extra complexity.
+
+
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-queue.h
+
+2015-06-03 21:50:40 +0300 Timo Sirainen <tss@iki.fi> (4462eb835e)
+
+ fts: If mail indexing fails, don't log a "BUG: Unknown internal error"
+
+
+M src/plugins/fts/fts-storage.c
+
+2015-06-03 21:49:52 +0300 Timo Sirainen <tss@iki.fi> (07fcb647e5)
+
+ fts: If reading mail fails, log an error.
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2015-06-03 16:47:25 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (fcf9e8a625)
+
+ lib-lda: Fixed crash in mail_deliver_get_log_var_expand_table(). Discovered
+ by clang static analyzer. This caused crashes with older versions of
+ Pigeonhole.
+
+
+M src/lib-lda/mail-deliver.c
+
+2015-06-03 01:04:49 +0300 Timo Sirainen <tss@iki.fi> (471167b970)
+
+ lib-fts: Added "english-possessive" filter.
+
+
+M src/lib-fts/Makefile.am
+A src/lib-fts/fts-filter-english-possessive.c
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-filter.h
+M src/lib-fts/test-fts-filter.c
+
+2015-06-03 01:04:07 +0300 Timo Sirainen <tss@iki.fi> (e8ee7a23b1)
+
+ lib-fts: Use UTF8_IS_START_SEQ()
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-03 01:03:52 +0300 Timo Sirainen <tss@iki.fi> (3b02371c12)
+
+ lib: Added UTF8_IS_START_SEQ() helper macro
+
+
+M src/lib/unichar.h
+
+2015-06-03 00:46:23 +0300 Timo Sirainen <tss@iki.fi> (be70859212)
+
+ lib-fts: fts-filter API changed to have a non-pointer vfuncs variable. The
+ main benefit being that the fts-filter implementations can save a few lines
+ of code.
+
+
+M src/lib-fts/fts-filter-lowercase.c
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-filter-private.h
+M src/lib-fts/fts-filter-stemmer-snowball.c
+M src/lib-fts/fts-filter-stopwords.c
+M src/lib-fts/fts-filter.c
+
+2015-06-03 00:43:51 +0300 Timo Sirainen <tss@iki.fi> (9a5ff31ae3)
+
+ lib-fts: fts-lowercase can now use the default destroy function.
+
+
+M src/lib-fts/fts-filter-lowercase.c
+
+2015-06-03 00:43:28 +0300 Timo Sirainen <tss@iki.fi> (bc180e6468)
+
+ lib-fts: Implemented default create/destory functions for fts-filters.
+
+
+M src/lib-fts/fts-filter.c
+
+2015-06-03 00:39:11 +0300 Timo Sirainen <tss@iki.fi> (5a2910119e)
+
+ lib-fts: Moved IS_APOSTROPHE() to fts-common.h
+
+
+M src/lib-fts/Makefile.am
+A src/lib-fts/fts-common.h
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-02 23:46:28 +0300 Timo Sirainen <tss@iki.fi> (a1f6236191)
+
+ example-config: Updated deliver_log_format comments
+
+
+M doc/example-config/conf.d/10-logging.conf
+
+2015-06-02 23:43:05 +0300 Timo Sirainen <tss@iki.fi> (eda4028322)
+
+ lib-lda: Added %{to_envelope} to deliver_log_format
+
+
+M src/lib-lda/mail-deliver.c
+
+2015-06-02 23:35:23 +0300 Timo Sirainen <tss@iki.fi> (7a0d717739)
+
+ lib-fts: Compiling fix without libicu
+
+
+M src/lib-fts/fts-filter.c
+
+2015-06-02 23:28:35 +0300 Timo Sirainen <tss@iki.fi> (266c879b43)
+
+ lib-fts: Avoid compiler warning when building without libicu
+
+
+M src/lib-fts/fts-filter-lowercase.c
+
+2015-06-02 22:47:21 +0300 Timo Sirainen <tss@iki.fi> (014cfdf92b)
+
+ imapc: If auth fails due to connection failure, don't treat it the same as
+ failed login.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2015-06-02 22:20:03 +0300 Timo Sirainen <tss@iki.fi> (b5440e0ae7)
+
+ lib-fts: Fixed compiling without libicu
+
+
+M src/lib-fts/fts-filter-lowercase.c
+
+2015-06-02 22:16:46 +0300 Timo Sirainen <tss@iki.fi> (0894188da3)
+
+ lib-fts: Added more supported languages. This includes now all the ones that
+ are currently supported by both snowball and exttextcat.
+
+
+M src/lib-fts/fts-language.c
+
+2015-06-02 22:01:07 +0300 Timo Sirainen <tss@iki.fi> (1b8da092e7)
+
+ lib-fts: Optimized truncation of partial trailing UTF-8 characters in
+ tokenizers.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-02 21:56:29 +0300 Timo Sirainen <tss@iki.fi> (c8b49c0799)
+
+ lib-fts: Use fts_icu_lcase() for fts-filter-lowercase if possible.
+
+
+M src/lib-fts/fts-filter-lowercase.c
+
+2015-06-02 21:56:03 +0300 Timo Sirainen <tss@iki.fi> (887b04f7b2)
+
+ lib-fts: Added string_t *token to struct fts_filter This makes the work a
+ bit easier for simple filters that don't need any state but want to use a
+ string_t.
+
+
+M src/lib-fts/fts-filter-private.h
+
+2015-06-02 21:54:52 +0300 Timo Sirainen <tss@iki.fi> (37dfa8907f)
+
+ lib-fts: Added fts_icu_lcase()
+
+
+M src/lib-fts/fts-icu.c
+M src/lib-fts/fts-icu.h
+M src/lib-fts/test-fts-icu.c
+
+2015-06-02 21:49:46 +0300 Timo Sirainen <tss@iki.fi> (d3acad5380)
+
+ lib-fts: Do all the ICU cleanup in fts_icu_deinit().
+
+
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-icu.c
+M src/lib-fts/fts-icu.h
+
+2015-06-02 21:45:46 +0300 Timo Sirainen <tss@iki.fi> (3e462730eb)
+
+ lib-fts: Include fts-filter.h in fts-filter-private.h This avoids having to
+ always include them both.
+
+
+M src/lib-fts/fts-filter-lowercase.c
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-filter-private.h
+M src/lib-fts/fts-filter-stemmer-snowball.c
+M src/lib-fts/fts-filter-stopwords.c
+M src/lib-fts/fts-filter.c
+
+2015-06-02 21:43:27 +0300 Timo Sirainen <tss@iki.fi> (87607475da)
+
+ lib-fts: Renamed variable. This is a lowercase-filter, not a normalizer.
+
+
+M src/lib-fts/fts-filter-lowercase.c
+
+2015-06-02 21:41:46 +0300 Timo Sirainen <tss@iki.fi> (db451bddb5)
+
+ lib-fts: Removed unnecessary array.h include from fts-filter.h
+
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-filter.h
+
+2015-06-02 20:50:23 +0300 Timo Sirainen <tss@iki.fi> (3448096d5b)
+
+ lib-fts: Fixed tr29 tokenizer to delete last character correctly when it's
+ preceded by non-ASCII
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-06-02 19:59:45 +0300 Timo Sirainen <tss@iki.fi> (cd97e999be)
+
+ pop3-login: Added support for Zimbra proxy's XOIP command.
+
+
+M src/pop3-login/client.c
+
+2015-06-02 19:52:37 +0300 Timo Sirainen <tss@iki.fi> (c2c6342dbf)
+
+ fts: If we fail while indexing headers, return failure immediately.
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2015-06-02 19:52:15 +0300 Timo Sirainen <tss@iki.fi> (3d00e356f1)
+
+ fts: Error logging fix. 1) We were logging the error after it was already
+ freed from data stack. 2) We were logging uninitialized error string when
+ fts indexing was the one that failed.
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2015-06-02 02:39:20 +0300 Timo Sirainen <tss@iki.fi> (6634e45500)
+
+ fts: Fixed memory leak at deinit when using multiple fts plugins at the same
+ time using libfts.
+
+
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts/fts-user.c
+
+2015-06-02 02:26:44 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (88f5dbec21)
+
+ lib-fts: Correct comment in filter internal API.
+
+
+M src/lib-fts/fts-filter-private.h
+
+2015-06-02 02:26:44 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (093e68f3c0)
+
+ lib-fts: Call libicu u_cleanup.
+
+
+M src/lib-fts/fts-filter.c
+
+2015-06-01 22:16:19 +0300 Phil Carmody <phil@dovecot.fi> (6aadd1c52e)
+
+ various: use new uni_utf8_get_char*() interface No need for additional
+ uni_utf8_char_bytes() calls if you can parse and know the size with one
+ call.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/str-sanitize.c
+M src/lib/unichar.c
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2015-06-01 22:14:19 +0300 Timo Sirainen <tss@iki.fi> (cf755ce29d)
+
+ lib-fts: Use new uni_utf8_get_char*() interface
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-01 22:11:55 +0300 Timo Sirainen <tss@iki.fi> (2c8b34a5fb)
+
+ lib: Improved unit test for uni_utf8_get_char() return value check.
+
+
+M src/lib/test-unichar.c
+
+2015-06-01 22:08:43 +0300 Phil Carmody <phil@dovecot.fi> (304a9d2db2)
+
+ lib: API change - have uni_utf8_get_char*() return _char_bytes Often the two
+ functions are called in close proximity (both ways round). As _get_char*()
+ calls _char_bytes() early on the success path, we may as well return that
+ value to the caller for immediate use.
+
+ The callers which call _char_bytes() first are simply rejecting the
+ truncated case quickly - all other invalid cases still call both functions,
+ and all other valid cases (which should be the fast path) likewise call
+ both.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/unichar.c
+M src/lib/unichar.h
+
+2015-06-01 22:08:27 +0300 Phil Carmody <phil@dovecot.fi> (d69318e501)
+
+ fts-solr: laxer check of uni_utf8_get_char_n() return value If
+ uni_utf8_get_char*() were changed to return the number of bytes in the
+ character on success, then all we care about is it being > 0 (i.e. not
+ error, not truncated).
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2015-06-01 22:07:44 +0300 Phil Carmody <phil@dovecot.fi> (7c1b72e1a0)
+
+ lib: test-unichar - test invalid utf8 encodings Chop trailing characters off
+ valid encodings, and watch them fail. (There's no need to do this on most of
+ the test characters, as they're truncated to the same byte sequence - only
+ do 1 in 64.)
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-unichar.c
+
+2015-06-01 22:06:44 +0300 Phil Carmody <phil@dovecot.fi> (5fea87f050)
+
+ lib: test-unichar - streamline the unichars test It's doing 2 kinds of
+ tests, split them into separate test cases.
+
+ And the first part has started to get expensive, so just make sure all code
+ paths are tested by skipping most values. Only 3 from each set of 64 (lowest
+ 6 bits) are tested.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-unichar.c
+
+2015-06-01 21:59:02 +0300 Timo Sirainen <tss@iki.fi> (83172e28d4)
+
+ lib-fts: Added unit testing for unicode apostrophe handling.
+
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-06-01 21:58:30 +0300 Timo Sirainen <tss@iki.fi> (b6b06530d6)
+
+ lib-fts: tokenizers - Fixed removal of trailing character in truncated
+ tokens. If the token is truncated, we don't want to remove the trailing
+ character since it's not actually there.
+
+ Also we don't want to remove trailing apostrophes from a truncated word,
+ because they're not actually at the end of the (untruncated) token there.
+ This doesn't make a big difference, but it's slightly more correct.
+
+M src/lib-fts/fts-tokenizer-generic-private.h
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-06-01 21:51:33 +0300 Timo Sirainen <tss@iki.fi> (a2b6f7f91c)
+
+ lib-fts: Optimize tokenizers - Rewrite of apostrophe handling. We parse
+ through the UTF8 characters only once now, not twice.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-01 21:49:18 +0300 Timo Sirainen <tss@iki.fi> (67360bc4d7)
+
+ lib-fts: tr29 tokenizer - rename variable in preparation for the next patch
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-01 21:48:59 +0300 Timo Sirainen <tss@iki.fi> (202468f94e)
+
+ lib-fts: tokenizers - don't include removed apostrophes as part of the token
+ size
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-06-01 21:35:39 +0300 Timo Sirainen <tss@iki.fi> (3fe4e251c3)
+
+ lib-fts: simple tokenizer minor cleanup - removed unnecessary token length >
+ 0 check fts_tokenizer_generic_simple_current_token() will check it in any
+ case.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-01 21:33:11 +0300 Timo Sirainen <tss@iki.fi> (0503150165)
+
+ lib-fts: tr29 tokenizer cleanup - Avoid unnecessary goto.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-01 21:28:42 +0300 Timo Sirainen <tss@iki.fi> (dfc9cfd5b8)
+
+ lib-fts: simple tokenizer optimization - don't check unicode word breaks for
+ ASCII chars.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-01 21:27:09 +0300 Timo Sirainen <tss@iki.fi> (e3f8b4fd89)
+
+ lib-fts: simple tokenizer cleanup - make prev_letter updating more explicit.
+ It was now hidden inside one of the functions, which didn't make the
+ prev_letter very consistent when a word break was found. It didn't actually
+ matter what the prev_letter was at that point, but now the behavior is more
+ consistent.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-01 21:19:47 +0300 Timo Sirainen <tss@iki.fi> (8acf0a8559)
+
+ lib-fts: simple tokenizer cleanup - removed unnecessary variables
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-01 21:16:35 +0300 Timo Sirainen <tss@iki.fi> (bf8b21a664)
+
+ lib-fts: tr29 cleanup - consistently call valid chars "token" and
+ "non-token" chars. Instead of word/token/text.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-01 21:11:55 +0300 Timo Sirainen <tss@iki.fi> (afb62c7a52)
+
+ lib-fts: tr29 cleanup - Avoid i++ in the for loop to avoid extra
+ calculations
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-01 21:10:11 +0300 Timo Sirainen <tss@iki.fi> (3deb8a4df8)
+
+ lib-fts: tr29 cleanup - token can never be empty by the time it's being
+ returned.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-01 21:08:27 +0300 Timo Sirainen <tss@iki.fi> (b15ff9096e)
+
+ lib-fts: Optimization for tr29 - we don't need to track last_size explicitly
+
+
+M src/lib-fts/fts-tokenizer-generic-private.h
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-01 18:35:58 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (73e7fedf77)
+
+ lib-fts: Correct internal helper function for tr29.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-06-01 18:35:58 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (fdf70410de)
+
+ lib-fts: Fix unit tests for TR29 full stop change.
+
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-06-01 18:35:58 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (65a2c8fef9)
+
+ lib-fts: Change TR29 tokenizer to break at full stop (and others). Diverge
+ from the TR29 rules and always break at MidNumLet letters. This fixes
+ tokenizing first.last@domain.tld email addresses.
+
+
+M src/lib-fts/fts-tokenizer-generic-private.h
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-05-29 21:39:33 +0300 Timo Sirainen <tss@iki.fi> (38ceb710e2)
+
+ auth: Added %{passdb:field} and %{userdb:field} variables The field expands
+ to either the passdb or userdb extra field.
+
+ You can also use %{passdb:field:defaultvalue} where if field doesn't exist,
+ it's expanded to defaultvalue. Note that an empty value means that the field
+ still exists and it's not expanded to defaultvalue.
+
+M src/auth/Makefile.am
+M src/auth/auth-request-var-expand.c
+M src/auth/auth-request-var-expand.h
+M src/auth/auth-request.c
+M src/auth/db-checkpassword.c
+M src/auth/db-passwd-file.c
+M src/auth/passdb-imap.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-pam.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb-template.c
+M src/auth/test-auth-request-var-expand.c
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-template.c
+
+2015-05-29 20:56:13 +0300 Timo Sirainen <tss@iki.fi> (9b9db49ad3)
+
+ auth: Added unit test for auth %variable expansion.
+
+
+M src/auth/Makefile.am
+A src/auth/test-auth-request-var-expand.c
+
+2015-05-29 20:55:58 +0300 Timo Sirainen <tss@iki.fi> (de2cba085b)
+
+ auth: Make sure %{mech} and %{session} is escaped in %var expansion. %{mech}
+ is already very trusted and %{session} should be only from trusted sources
+ as well, so this doesn't fix any actual security holes. They are also
+ unlikely to have ever even been used in anything that requires escaping.
+
+
+M src/auth/auth-request-var-expand.c
+
+2015-05-29 19:55:47 +0300 Timo Sirainen <tss@iki.fi> (4b7957c5e9)
+
+ auth: Moved var_expand() related code to its own file.
+
+
+M src/auth/Makefile.am
+A src/auth/auth-request-var-expand.c
+A src/auth/auth-request-var-expand.h
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2015-05-29 19:11:50 +0300 Timo Sirainen <tss@iki.fi> (a1044a46a8)
+
+ cassandra: Added log_level parameter to connect_string. Available values are
+ critical, error, warn (default), info, debug and trace.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-05-29 18:22:17 +0300 Timo Sirainen <tss@iki.fi> (372a9dd989)
+
+ lib-fs: Updated fs_write_stream_*() comments related to ostream corking and
+ nfinish.
+
+
+M src/lib-fs/fs-api.h
+
+2015-05-29 17:51:21 +0300 Timo Sirainen <tss@iki.fi> (9750790dae)
+
+ lib-fs: fs_write_stream_abort() now ignores missing o_stream_nfinish() call
+
+
+M src/lib-fs/fs-api.c
+
+2015-05-29 11:50:18 +0300 Timo Sirainen <tss@iki.fi> (04f70d9dc1)
+
+ fts: If precaching fails, stop precaching the rest of the mails. If there
+ are a lot of mails to be precached, this could mean that the precaching is
+ attempted for a long time and every one of them fails the same way.
+
+
+M src/plugins/fts/fts-storage.c
+
+2015-05-29 11:08:29 +0300 Timo Sirainen <tss@iki.fi> (2a0c3f9a66)
+
+ dovecot.m4: If run-test.sh fails, print the failing command to stderr.
+ Currently otherwise the way Dovecot tests are run it's not clearly visible.
+
+
+M dovecot.m4
+
+2015-05-29 10:43:38 +0300 Timo Sirainen <tss@iki.fi> (68aaffc9d7)
+
+ dovecot.m4: If NOVALGRIND environment is set, don't run tests via valgrind
+ in "make check"
+
+
+M dovecot.m4
+
+2015-05-29 07:03:15 +0300 Timo Sirainen <tss@iki.fi> (af8e972250)
+
+ lib-fs: fs_write_stream() now automatically corks the ostream and uncorks at
+ _finish().
+
+
+M src/lib-fs/fs-api.c
+
+2015-05-29 05:43:25 +0300 Timo Sirainen <tss@iki.fi> (e7f8009c97)
+
+ fts: If last-uid lookup fails, return "Internal error" instead of "BUG" to
+ client.
+
+
+M src/plugins/fts/fts-storage.c
+
+2015-05-25 11:50:48 -0400 Timo Sirainen <tss@iki.fi> (a6bb10d402)
+
+ lib: Avoid race conditions in mkdir*() if directory is being deleted at the
+ same time. Mainly this allows the call to return failure silently without
+ logging unnecessary errors.
+
+
+M src/lib/mkdir-parents.c
+
+2015-05-25 11:35:53 -0400 Timo Sirainen <tss@iki.fi> (da3aebb676)
+
+ log: read() errors weren't logged.
+
+
+M src/log/log-connection.c
+
+2015-05-25 14:27:22 +0000 Pascal Volk <user@localhost.localdomain.org> (fc4f5358a5)
+
+ systemd service: Fixed typos in the comment section. The settings for the
+ file descriptor limit is LimitNOFILE. Removed quotes around the value
+ infinity. Otherwise systemd will fail to parse that resource value.
+
+
+M dovecot.service.in
+
+2015-05-17 11:54:42 +0000 Pascal Volk <user@localhost.localdomain.org> (b00fbdb632)
+
+ systemd: Small improvements to the unit configuration file:
+
+ * Added Documentation URIs
+ * Added ExecReload, to reload the config instead of restarting
+ * Added a comment for modifying/extending the unit file.
+
+M dovecot.service.in
+
+2015-05-24 17:55:33 -0400 Timo Sirainen <tss@iki.fi> (96df95e610)
+
+ doveadm user: Don't change privileges when looking up users. We don't need
+ to and it might fail.
+
+
+M src/doveadm/doveadm-auth.c
+
+2015-05-24 17:50:26 -0400 Timo Sirainen <tss@iki.fi> (b4277135f3)
+
+ lib-storage: If no namespaces were defined, the autocreated namespace
+ settings were a bit wrong.
+
+
+M src/lib-storage/mail-namespace.c
+
+2015-05-24 17:40:53 -0400 Timo Sirainen <tss@iki.fi> (d6601a0bc4)
+
+ lib-storage: If session_id isn't given, generate a new one. This is useful
+ for tracking logs written by services that aren't directly related to any
+ specific user session.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2015-05-24 16:13:57 -0400 Timo Sirainen <tss@iki.fi> (3079d05c4f)
+
+ lib-index: Unit test fix.
+
+
+M src/lib-index/test-mail-index-transaction-update.c
+
+2015-05-24 13:40:46 -0400 Timo Sirainen <tss@iki.fi> (cac6b8b1a2)
+
+ lib: file_lock_try_update() comment updated. It should possibly be removed
+ entirely from the API.
+
+
+M src/lib/file-lock.h
+
+2015-05-24 13:24:19 -0400 Timo Sirainen <tss@iki.fi> (715fa0c143)
+
+ lib: file_create_locked() lock method is now configurable
+
+
+M src/lib/file-create-locked.c
+M src/lib/file-create-locked.h
+
+2015-05-24 13:22:56 -0400 Timo Sirainen <tss@iki.fi> (799b19bb4f)
+
+ lib: file_create_locked() was leaking fds and locks.
+
+
+M src/lib/file-create-locked.c
+
+2015-05-23 19:21:10 -0400 Timo Sirainen <tss@iki.fi> (6307daf935)
+
+ lib: file_create_locked() no longer logs an error if temp file is deleted
+ under it.
+
+
+M src/lib/file-create-locked.c
+
+2015-05-23 16:51:52 -0400 Timo Sirainen <tss@iki.fi> (d32fce86c0)
+
+ lib: file_create_locked() wasn't deleting the temp file after successful
+ link()
+
+
+M src/lib/file-create-locked.c
+
+2015-05-23 16:41:34 -0400 Timo Sirainen <tss@iki.fi> (a63907c14b)
+
+ lib: Added file_create_locked()
+
+
+M src/lib/Makefile.am
+A src/lib/file-create-locked.c
+A src/lib/file-create-locked.h
+
+2015-05-22 19:07:56 -0400 Timo Sirainen <tss@iki.fi> (e9b69732e4)
+
+ auth: Don't crash if trying to add password with TAB or LF to auth cache.
+ This would happen only if the passwords were stored as plaintext in passdb
+ and the valid password actually contained TAB or LF.
+
+
+M src/auth/auth-request.c
+
+2015-05-22 16:37:07 -0400 Timo Sirainen <tss@iki.fi> (01e29d9d23)
+
+ lib-index: Added asserts to make sure invalid extension records aren't
+ written to log.
+
+
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-update.c
+
+2015-05-21 22:41:43 -0400 Timo Sirainen <tss@iki.fi> (2e5170d1dc)
+
+ fts: Fixed fts_enforced=yes when it has to wait for indexing to finish
+
+
+M src/plugins/fts/fts-storage.c
+
+2015-05-21 22:20:10 -0400 Timo Sirainen <tss@iki.fi> (0211537cbf)
+
+ fts: Added fts_enforced setting to disable fallbacking to slow search on
+ errors.
+
+
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-storage.h
+
+2015-05-21 22:03:10 -0400 Timo Sirainen <tss@iki.fi> (3e786e2a41)
+
+ lib-fts: ICU normalization changes some characters to spaces - remove them.
+ We don't really want to add spaces to our index. It would be nice if the
+ words between spaces were actually split to different tokens, but that's
+ more of the fts-tokenizer's job and at filter stage that's probably not
+ wanted anymore.
+
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/test-fts-filter.c
+
+2015-05-21 08:38:56 -0400 Timo Sirainen <tss@iki.fi> (091a2dea9d)
+
+ lib: Cork connection output while handling input
+
+
+M src/lib/connection.c
+
+2015-05-21 06:35:59 -0400 Timo Sirainen <tss@iki.fi> (72c4ef3b44)
+
+ lib-fts: Fixed handling tokens that contain only apostrophes
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-05-21 06:29:15 -0400 Teemu Huovila <teemu.huovila@dovecot.fi> (0c5854b689)
+
+ lib-fts: Fix simple tokenizer apostrophe handling. Apostrophes and quotation
+ marks are now treated as word breaks, except U+0027 between non-wordbrek
+ characters. The characters U+2019 and U+FF07 are transformed to U+0027
+ before processing.
+
+
+M src/lib-fts/fts-tokenizer-generic-private.h
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/test-fts-tokenizer.c
+M src/lib-fts/word-properties.pl
+
+2015-05-21 06:17:32 -0400 Teemu Huovila <teemu.huovila@dovecot.fi> (6018cfb92a)
+
+ lib-fts: Fix tr29 tokenizer apostrophe handling. U+0027, which is called
+ Single Quote in tr29, was not properly handled as a word boundary.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-05-18 14:53:52 +0300 Timo Sirainen <tss@iki.fi> (98ed0b24d6)
+
+ lib-fts: Partially reverted d097a9779c37 - don't use lib_atexit() Because
+ fts is loaded as plugin lib_atexit() is called after the plugin is already
+ unloaded, so it crashes.
+
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+
+2015-05-18 07:49:15 -0400 Timo Sirainen <tss@iki.fi> (a5ddfd7a8b)
+
+ director: Added "up" vs "down" states and doveadm director up/down commands.
+ These commands are intended to be used by automated watchdogs that detect if
+ backends are up or down. This way the vhost count doesn't get forgotten
+ after server goes down. It also means that admin can manually take down a
+ server by setting its vhost count to 0 without the watchdog automatically
+ bringing it back up.
+
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+M src/director/mail-host.c
+M src/director/mail-host.h
+M src/doveadm/doveadm-director.c
+
+2015-05-18 13:56:07 +0300 Timo Sirainen <tss@iki.fi> (f3779c0540)
+
+ lib-charset: test-charset unit test - Don't use invalid UTF-8 text in source
+ code
+
+
+M src/lib-charset/test-charset.c
+
+2015-05-18 06:53:20 -0400 Timo Sirainen <tss@iki.fi> (b459855366)
+
+ lib-fts: Fixed memory leaks in test-fts-filter unit test
+
+
+M src/lib-fts/test-fts-filter.c
+
+2015-05-18 06:51:24 -0400 Timo Sirainen <tss@iki.fi> (156027ee3a)
+
+ lib-fts: Call u_clean() at deinit to free up all of libicu's memory.
+
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/test-fts-icu.c
+
+2015-05-18 06:46:32 -0400 Timo Sirainen <tss@iki.fi> (5ae9745641)
+
+ lib-fts: test-fts-icu memory leak fix
+
+
+M src/lib-fts/test-fts-icu.c
+
+2015-05-18 06:37:28 -0400 Timo Sirainen <tss@iki.fi> (6eca434b47)
+
+ fts + lib-fts: Fixed crash with some search queries that contained
+ uninitialized search args.
+
+
+M src/plugins/fts/fts-search-args.c
+
+2015-05-18 06:36:56 -0400 Timo Sirainen <tss@iki.fi> (e614fad701)
+
+ lib-storage: Added mail_search_init/deinit_arg() For forcibly
+ initializing/deinitializing search args.
+
+
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+
+2015-05-18 06:21:50 -0400 Timo Sirainen <tss@iki.fi> (8d5eb4f808)
+
+ lib-storage: Cleanup - separate search arg values that are set by
+ mail_search_init()
+
+
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-search-args-imap.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+
+2015-05-17 00:51:50 +0300 Timo Sirainen <tss@iki.fi> (2d7ec47e66)
+
+ lib-mail: Make sure iconv state is reset between MIME parts.
+
+
+M src/lib-mail/message-decoder.c
+
+2015-05-16 18:47:20 +0300 Timo Sirainen <tss@iki.fi> (bf698b98d3)
+
+ lib-fts: Rewrite ICU handling functions. Some of the changes: - Use buffers
+ instead of allocating everything from data stack. - Optimistically attempt
+ to write the data directly to the buffers without first calculating their
+ size. Grow the buffer if it doesn't fit first. - Use u_strFromUTF8Lenient()
+ instead of u_strFromUTF8(). Our input is already supposed to be valid UTF-8,
+ although we don't check if all code points are valid, while u_strFromUTF8()
+ does check them and return failures. We don't really care about if code
+ points are valid or not and u_strFromUTF8Lenient() passes through
+ everything.
+
+ Added unit tests to make sure all the functions work as intended and all the
+ UTF-8 input passes through them successfully.
+
+M src/lib-fts/Makefile.am
+M src/lib-fts/fts-filter-normalizer-icu.c
+A src/lib-fts/fts-icu.c
+A src/lib-fts/fts-icu.h
+M src/lib-fts/test-fts-filter.c
+A src/lib-fts/test-fts-icu.c
+
+2015-05-16 18:41:44 +0300 Timo Sirainen <tss@iki.fi> (e915ba86f1)
+
+ lib: Added buffer_get_writable_size()
+
+
+M src/lib/buffer.c
+M src/lib/buffer.h
+
+2015-05-16 18:20:08 +0300 Timo Sirainen <tss@iki.fi> (0983b24328)
+
+ fts: Avoid excessive data stack usage with lib-fts
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2015-05-16 13:50:48 +0300 Timo Sirainen <tss@iki.fi> (b1b3d99b2b)
+
+ lib-charset: Fixed compile warning caused by earlier commit. This
+ UNICODE_REPLACEMENT_CHAR_UTF8 part of the change was actually supposed to be
+ a separate commit..
+
+
+M src/lib-charset/charset-iconv.c
+
+2015-05-16 13:20:22 +0300 Timo Sirainen <tss@iki.fi> (c8b84f03c7)
+
+ lib: Added UNICODE_REPLACEMENT_CHAR_UTF8
+
+
+M src/lib/unichar.h
+
+2015-05-16 12:51:08 +0300 Timo Sirainen <tss@iki.fi> (04e66ac3d0)
+
+ lib: Added p_memdup()
+
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+
+2015-05-16 12:46:38 +0300 Timo Sirainen <tss@iki.fi> (9366765479)
+
+ lib-charset: Added a minimal unit test
+
+
+M src/lib-charset/Makefile.am
+M src/lib-charset/charset-iconv.c
+A src/lib-charset/test-charset.c
+
+2015-05-16 11:47:09 +0300 Timo Sirainen <tss@iki.fi> (461b1f9c77)
+
+ imap: Fixed crash in FETCH RFC822* caused by earlier commit
+
+
+M src/imap/imap-fetch-body.c
+
+2015-05-15 21:36:07 +0300 Timo Sirainen <tss@iki.fi> (5c4d9baec1)
+
+ replication plugin: s/transction/transaction/ in debug log messages
+
+
+M src/plugins/replication/replication-plugin.c
+
+2015-05-15 16:50:27 +0300 Timo Sirainen <tss@iki.fi> (db8ca445e2)
+
+ doveadm director flush: Unless -F parameter is used, do the flush by moving
+ users. User moving causes the users to be properly kicked out of the old
+ backends before new connections are made to the new backends. This way the
+ user isn't accessed simultaneously by different backends.
+
+
+M src/doveadm/doveadm-director.c
+
+2015-05-15 16:46:14 +0300 Timo Sirainen <tss@iki.fi> (8a1e199862)
+
+ lib-master: Added data stack frames to handling IPC input.
+
+
+M src/lib-master/ipc-client.c
+
+2015-05-15 16:45:14 +0300 Timo Sirainen <tss@iki.fi> (7bccaece91)
+
+ director: Added HOST-RESET-USERS command to move users to their
+ hash-assigned hosts.
+
+
+M src/director/doveadm-connection.c
+
+2015-05-15 16:44:45 +0300 Timo Sirainen <tss@iki.fi> (5c1733e9e5)
+
+ director: Moving a user to another host sometimes caused the move to fail.
+ It could have given "User hash .. is being redirected to two hosts" error
+ and afterwards moved the user back to its original host.
+
+
+M src/director/director-connection.c
+M src/director/user-directory.h
+
+2015-05-15 14:55:21 +0300 Timo Sirainen <tss@iki.fi> (760245ee05)
+
+ imap: Added %{deleted}, %{expunged} and %{trashed} to imap_logout_format
+
+
+M doc/example-config/conf.d/20-imap.conf
+M src/imap/cmd-close.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-expunge.c
+M src/imap/cmd-store.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-expunge.c
+M src/imap/imap-expunge.h
+
+2015-05-15 14:35:01 +0300 Timo Sirainen <tss@iki.fi> (defeb23b40)
+
+ Added %{fetch_hdr/body_count/bytes} variables to imap_logout_format
+
+
+M doc/example-config/conf.d/20-imap.conf
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.h
+
+2015-05-15 14:34:54 +0300 Timo Sirainen <tss@iki.fi> (bbb5807edb)
+
+ lib-imap-storage: Added imap_msgpart_contains_body()
+
+
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-storage/imap-msgpart.h
+
+2015-05-15 14:03:02 +0300 Timo Sirainen <tss@iki.fi> (8065a71a0a)
+
+ Added signature for changeset 917d027836d0
+
+
+M .hgsigs
+
+2015-05-15 14:02:58 +0300 Timo Sirainen <tss@iki.fi> (6673337cc9)
+
+ Added tag 2.2.18 for changeset 917d027836d0
+
+
+M .hgtags
+
+2015-05-15 14:02:58 +0300 Timo Sirainen <tss@iki.fi> (f2a1dbe029)
+
+ Released v2.2.18.
+
+
+M NEWS
+M configure.ac
+
+2015-05-15 13:55:46 +0300 Timo Sirainen <tss@iki.fi> (cf5533e38e)
+
+ replication plugin: Fixed handling EAGAIN errors when writing to
+ replication-pipe.
+
+
+M src/plugins/replication/replication-plugin.c
+
+2015-05-15 13:54:49 +0300 Timo Sirainen <tss@iki.fi> (5b994364bd)
+
+ replication plugin: Added debug logging when mail_debug=yes
+
+
+M src/plugins/replication/replication-plugin.c
+
+2015-05-15 13:48:45 +0300 Timo Sirainen <tss@iki.fi> (c9ed5cae52)
+
+ replication plugin: A small optimization to check the user's "dsyncing"
+ status only once.
+
+
+M src/plugins/replication/replication-plugin.c
+
+2015-05-15 13:27:29 +0300 Timo Sirainen <tss@iki.fi> (af98c413ee)
+
+ pgsql: Don't crash at disconnect/deinit if there's an unfinished query.
+
+
+M src/lib-sql/driver-pgsql.c
+
+2015-05-15 13:07:27 +0300 Timo Sirainen <tss@iki.fi> (a99b64f7d6)
+
+ pgsql: Log a warning if DNS lookup takes too long. Don't include it in
+ connect timeout.
+
+
+M src/lib-sql/driver-pgsql.c
+
+2015-05-15 12:48:07 +0300 Timo Sirainen <tss@iki.fi> (a5563dc790)
+
+ Reverted d592417ec815 which added unnecessary code to Makefiles. The
+ original problem it tried to solve was properly fixed by 46969c4cc57e. make
+ will actually wait for processes to finish creating files before it
+ continues to the next program that wants to access the file. As long as the
+ dependencies are correct.
+
+
+M src/config/Makefile.am
+M src/lib-dict/Makefile.am
+M src/lib-fts/Makefile.am
+M src/lib-sql/Makefile.am
+M src/lib-storage/register/Makefile.am
+M src/lib/Makefile.am
+M src/plugins/quota/Makefile.am
+
+2015-05-15 12:43:13 +0300 Timo Sirainen <tss@iki.fi> (06d1238dd2)
+
+ quota: Fixed dependency tracking in Makefile The earlier fix attempt was
+ done by creating a .tmp file first, but that didn't really solve anything.
+
+
+M src/plugins/quota/Makefile.am
+
+2015-05-15 11:15:50 +0300 Timo Sirainen <tss@iki.fi> (2a77044395)
+
+ sdbox: When hardlink-copying a mail in alt storage, keep it within the alt
+ storage. Also make sure that the alt-flag is set correctly no matter where
+ we copy the mail.
+
+
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+
+2015-05-14 23:49:12 +0300 Timo Sirainen <tss@iki.fi> (d4e8dbd070)
+
+ lib: Use /dev/zero instead of /dev/stderr in test-istream-unix unit test
+ Some distros don't seem to allow opening stderr.
+
+
+M src/lib/test-istream-unix.c
+
+2015-05-14 21:44:50 +0300 Timo Sirainen <tss@iki.fi> (4aeb50a831)
+
+ lib-imap: Fixed crash in IDLE for non-TCP connections.
+
+
+M src/lib-imap/imap-keepalive.c
+
+2015-05-14 14:02:13 +0300 Timo Sirainen <tss@iki.fi> (e0d0e7f377)
+
+ lib-fts: Fixed test-fts-filter when building without libstemmer
+
+
+M src/lib-fts/test-fts-filter.c
+
+2015-05-14 12:36:38 +0300 Matti Hamalainen <ccr@tnsp.org> (69b435cb9f)
+
+ configure: Use consistent quotation for AC_DEFINEs as per autoconf
+ recommendations. Also fix one minor typo.
+
+
+M configure.ac
+
+2015-05-14 13:33:59 +0300 Timo Sirainen <tss@iki.fi> (1d132fe27d)
+
+ pgsql: Include connect state string on connect failure errors.
+
+
+M src/lib-sql/driver-pgsql.c
+
+2015-05-14 11:27:04 +0300 Timo Sirainen <tss@iki.fi> (629cb309f6)
+
+ lib-lda: Added missing include file. This fixes building Pigeonhole in some
+ systems.
+
+
+M src/lib-lda/mail-deliver.h
+
+2015-05-14 11:26:00 +0300 Timo Sirainen <tss@iki.fi> (973c8fc1d7)
+
+ director: UNIX auth sockets were wrongly detected as doveadm or ring
+ sockets. A workaround would be to use login/director-auth socket name
+ instead of login/director.
+
+
+M src/director/main.c
+
+2015-05-13 21:35:56 +0300 Timo Sirainen <tss@iki.fi> (e5fcfef143)
+
+ fts-lucene: Removed dead code Found by Coverity
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2015-05-13 20:47:35 +0300 Timo Sirainen <tss@iki.fi> (b9495c944b)
+
+ lib-fts: Makefile compiling dependency fix
+
+
+M src/lib-fts/Makefile.am
+
+2015-05-13 19:45:11 +0300 Timo Sirainen <tss@iki.fi> (642f95b813)
+
+ Added signature for changeset 166106aaefc5
+
+
+M .hgsigs
+
+2015-05-13 19:45:07 +0300 Timo Sirainen <tss@iki.fi> (28ce7d89c8)
+
+ Added tag 2.2.17 for changeset 166106aaefc5
+
+
+M .hgtags
+
+2015-05-13 19:45:07 +0300 Timo Sirainen <tss@iki.fi> (17c41e50cd)
+
+ Released v2.2.17.
+
+
+M NEWS
+M configure.ac
+
+2015-05-13 19:36:29 +0300 Timo Sirainen <tss@iki.fi> (7fb35b357a)
+
+ lib-lda: Don't crash if postmaster_address is given as command line
+ parameter.
+
+
+M src/lib-lda/lda-settings.c
+
+2015-05-13 19:26:45 +0300 Timo Sirainen <tss@iki.fi> (f2b4fd3cae)
+
+ mbox: If we notice our internal state is wrong, avoid further corruption by
+ returning error.
+
+
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+
+2015-05-13 19:24:55 +0300 Timo Sirainen <tss@iki.fi> (fcc2880f80)
+
+ mbox: Fixed corruption in some usage patterns. Something like: - first mail
+ is being expunged - other mails are being rewritten and they get their
+ space from the expunged mail - there's not enough space for the last
+ mail to get space - we add more space - we'll now need to use up the
+ space. We can't just decide to mark the mails dirty.
+
+
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2015-05-13 17:16:21 +0300 Timo Sirainen <tss@iki.fi> (f7fa93fb42)
+
+ fts-solr: Fixed memory leak at user deinit.
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-connection.h
+
+2015-05-13 16:54:27 +0300 Timo Sirainen <tss@iki.fi> (c9445d17bf)
+
+ fts-solr: Crashfixes
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-connection.h
+
+2015-05-13 16:46:14 +0300 Timo Sirainen <tss@iki.fi> (d2f1759dd9)
+
+ fts-solr: Don't update "last indexed UID" if we couldn't actually add the
+ mails to Solr.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2015-05-13 16:22:27 +0300 Timo Sirainen <tss@iki.fi> (db3b95d5a3)
+
+ director: Added "authreply" socket type. This allows defining a socket,
+ which receives auth replies. Director then adds the "host" field to it if
+ it's missing and returns back the original string. The idea is that
+ eventually a director ring could be running independently from Dovecot
+ proxies.
+
+
+M src/director/login-connection.c
+M src/director/login-connection.h
+M src/director/main.c
+
+2015-05-13 15:59:48 +0300 Timo Sirainen <tss@iki.fi> (4ae5f4a10f)
+
+ director: Removed accidentally committed debug log message
+
+
+M src/director/main.c
+
+2015-05-13 15:47:14 +0300 Timo Sirainen <tss@iki.fi> (cf89092dff)
+
+ lib-master: If executing doveconf, use master_service_settings_input.service
+ for filter Instead of hardcoding to the master_service->name, which may be
+ different. This fixes reading protocol sieve {} settings when if managesieve
+ was reading settings via doveconf (= executed from command line).
+
+
+M src/lib-master/master-service-settings.c
+
+2015-05-13 15:33:27 +0300 Timo Sirainen <tss@iki.fi> (6468191d64)
+
+ director: Cleanup for director socket type configuration. It's now possible
+ to use any type of a socket for inet listeners by specifying the name for
+ the listener. The available types are: auth (default), userdb, ring (=
+ director<->director connection), admin/doveadm. This change should be
+ backwards compatible with previous configuration. This setting also
+ deprecates director_doveadm_port setting.
+
+
+M src/director/main.c
+
+2015-05-13 15:32:54 +0300 Timo Sirainen <tss@iki.fi> (7f1b897201)
+
+ lib-master: Added master_service_get_socket_name()
+
+
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2015-05-13 13:57:24 +0300 Timo Sirainen <tss@iki.fi> (2cc34f340d)
+
+ director: Minor code cleanup - allow access to auth connection's ostream
+ directly.
+
+
+M src/director/auth-connection.c
+M src/director/auth-connection.h
+M src/director/login-connection.c
+
+2015-05-13 13:15:57 +0300 Timo Sirainen <tss@iki.fi> (2cd04598af)
+
+ director: Reverted previous e178413a905d commit after all - do it a bit
+ differently.
+
+
+M src/director/auth-connection.c
+M src/director/auth-connection.h
+M src/director/login-connection.c
+
+2015-05-13 12:24:02 +0300 Timo Sirainen <tss@iki.fi> (1f2f38f518)
+
+ Added quota-clone plugin.
+
+
+M NEWS
+M configure.ac
+M src/plugins/Makefile.am
+A src/plugins/quota-clone/Makefile.am
+A src/plugins/quota-clone/quota-clone-plugin.c
+A src/plugins/quota-clone/quota-clone-plugin.h
+
+2015-05-13 05:34:16 +0300 Timo Sirainen <tss@iki.fi> (b816cad28f)
+
+ lib-sql: sqlite and cassandra libs were mixed up in the Makefile
+
+
+M src/lib-sql/Makefile.am
+
+2015-05-13 05:25:31 +0300 Timo Sirainen <tss@iki.fi> (0388fd5e0b)
+
+ director: Added a new DIRECTOR-LOOKUP command that auth connections can use.
+ The parameters are the same as what auth lookup would receive from auth
+ process. So the idea is that a proxy could do an auth lookup, then forward
+ the reply to director, which would return back the updated reply with the
+ host field added.
+
+
+M src/director/auth-connection.c
+M src/director/auth-connection.h
+M src/director/login-connection.c
+
+2015-05-13 05:22:22 +0300 Timo Sirainen <tss@iki.fi> (336cdc9993)
+
+ director: Don't send DIRECTOR command infinitely in loop if that director
+ got disconnected.
+
+
+M src/director/director-connection.c
+
+2015-05-13 04:11:34 +0300 Timo Sirainen <tss@iki.fi> (ece0a20249)
+
+ director: Include useful statistics in process title.
+
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director.h
+M src/director/main.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+
+2015-05-13 04:10:53 +0300 Timo Sirainen <tss@iki.fi> (3411522415)
+
+ director: Fixed crash if director sent invalid data too early.
+
+
+M src/director/director-connection.c
+
+2015-05-13 04:10:18 +0300 Timo Sirainen <tss@iki.fi> (d3ee83b4c2)
+
+ director: If we disconnect a director, pass the reason all the way to
+ deinit's debug logging.
+
+
+M src/director/director-connection.c
+
+2015-05-13 04:07:46 +0300 Timo Sirainen <tss@iki.fi> (447653aca1)
+
+ director: Improved debug logging about connecting to another director.
+
+
+M src/director/director.c
+
+2015-05-13 00:33:18 +0300 Timo Sirainen <tss@iki.fi> (ac393b4b88)
+
+ Make static analyzer happier.
+
+
+M src/doveadm/doveadm-dict.c
+
+2015-05-12 23:06:33 +0300 Timo Sirainen <tss@iki.fi> (0ac5243480)
+
+ Added signature for changeset 2c1ce55de520
+
+
+M .hgsigs
+
+2015-05-12 23:06:30 +0300 Timo Sirainen <tss@iki.fi> (331e44985f)
+
+ Added tag 2.2.17.rc2 for changeset 2c1ce55de520
+
+
+M .hgtags
+
+2015-05-12 23:06:30 +0300 Timo Sirainen <tss@iki.fi> (adaa511dff)
+
+ Released v2.2.17.rc2.
+
+
+M NEWS
+M configure.ac
+
+2015-05-12 21:58:03 +0300 Timo Sirainen <tss@iki.fi> (cb3ab2fd56)
+
+ lib: connection API: Added delayed_unix_client_connected_callback setting.
+ 092a51d80bad commit changed this functionality first to fix lib-http code,
+ but it broke other code. 1fac17a2bc53 reversed the original behavior. This
+ change allows either behavior optionally.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2015-05-12 21:52:07 +0300 Timo Sirainen <tss@iki.fi> (f79ba7136a)
+
+ doveadm fs: Improved error message logging.
+
+
+M src/doveadm/doveadm-fs.c
+
+2015-05-12 19:43:48 +0300 Timo Sirainen <tss@iki.fi> (90de1644a1)
+
+ doveadm dict iter: Added -1 parameter to enable DICT_ITERATE_FLAG_EXACT_KEY
+
+
+M src/doveadm/doveadm-dict.c
+
+2015-05-12 19:43:25 +0300 Timo Sirainen <tss@iki.fi> (062ee0039b)
+
+ dict-sql: Fixed non-recursive iteration. If path has e.g. "a/$var/b/$var2"
+ and we're iterating "a/", we shouldn't return anything under "a/*/b/".
+
+
+M src/lib-dict/dict-sql.c
+
+2015-05-12 19:14:13 +0300 Timo Sirainen <tss@iki.fi> (7fa451bfbb)
+
+ cassandra: Leave consistency to default if it's not specified in config.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-05-12 19:13:31 +0300 Timo Sirainen <tss@iki.fi> (038b90b6d8)
+
+ lib: connection API was unnecessarily delaying client_connected() calls for
+ UNIX sockets.
+
+
+M src/lib/connection.c
+
+2015-05-12 19:12:34 +0300 Timo Sirainen <tss@iki.fi> (eee3785740)
+
+ doveadm: Register builtin dict drivers always at init
+
+
+M src/doveadm/doveadm.c
+
+2015-05-12 19:12:11 +0300 Timo Sirainen <tss@iki.fi> (8ed4757c20)
+
+ lib-dict: Allow registering builtin dict drivers multiple times.
+
+
+M src/lib-dict/dict-register.c
+
+2015-05-12 18:16:54 +0300 Timo Sirainen <tss@iki.fi> (e07677bb15)
+
+ lib-sql: Don't crash in Cassandra if connection to it failed.
+
+
+M src/lib-sql/driver-cassandra.c
+
+2015-05-12 16:44:45 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (bd69de668c)
+
+ lib-fts: ICU normalizer code cleanup.
+
+ Fold some long lines. Rename the internal struct to be more aligned with the
+ other filters.
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+
+2015-05-12 16:12:29 +0300 Phil Carmody <phil@dovecot.fi> (91d2e560eb)
+
+ lib-fts: autogenerate C arrays using perl
+
+ The sh script had bashisms, the awk script crashed mawk, so let's try
+ perl...
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-fts/Makefile.am
+D src/lib-fts/word-boundary-data.sh
+D src/lib-fts/word-break-data.sh
+A src/lib-fts/word-properties.pl
+
+2015-05-12 12:45:34 +0300 Timo Sirainen <tss@iki.fi> (37a2e36557)
+
+ fs-compress: Added NOPLUGIN_LDFLAGS to Makefile for helping with linking
+
+
+M src/plugins/fs-compress/Makefile.am
+
+2015-05-12 12:30:40 +0300 Timo Sirainen <tss@iki.fi> (3756060476)
+
+ lib-fts: .sh scripts weren't executable - changed them to be run via bash
+ directly. Better to avoid relying on the executable bit.
+
+
+M src/lib-fts/Makefile.am
+
+2015-05-12 12:20:56 +0300 Timo Sirainen <tss@iki.fi> (5d8dad014b)
+
+ lib-fts: Reverted e80969ea8684 which replaced .sh scripts with awk Bugs in
+ older awk versions (used at least by Debian squeeze & wheezy) caused awk to
+ crash while processing the script.
+
+
+M src/lib-fts/Makefile.am
+D src/lib-fts/word-boundary-data.awk
+A src/lib-fts/word-boundary-data.sh
+D src/lib-fts/word-break-data.awk
+A src/lib-fts/word-break-data.sh
+
+2015-05-11 22:38:38 +0300 Timo Sirainen <tss@iki.fi> (412bd45e0c)
+
+ Makefile: Fixed build concurrency issues with lib-fts
+
+
+M src/lib-fts/Makefile.am
+
+2015-05-11 22:37:21 +0300 Timo Sirainen <tss@iki.fi> (644e991973)
+
+ lib-fts: Replaced word-boundary/break-data.sh with more portable awk scripts
+ Patch by Michael Grimm.
+
+
+M src/lib-fts/Makefile.am
+A src/lib-fts/word-boundary-data.awk
+D src/lib-fts/word-boundary-data.sh
+A src/lib-fts/word-break-data.awk
+D src/lib-fts/word-break-data.sh
+
+2015-05-11 21:55:42 +0300 Timo Sirainen <tss@iki.fi> (b772ddf3cf)
+
+ lib-sql: Added support for Cassandra CQL as lib-sql backend. Implemented
+ using DataStax's cpp-driver.
+
+ Many things are still unimplemented. Column name specific functionality
+ isn't even supported by the Cassandra library. So this can currently mainly
+ be used as one of the dict backends for some simple functionality.
+
+M configure.ac
+M src/lib-sql/Makefile.am
+A src/lib-sql/driver-cassandra.c
+
+2015-05-11 21:48:45 +0300 Timo Sirainen <tss@iki.fi> (2e53e088b5)
+
+ dict-sql: If DICT_ITERATE_FLAG_EXACT_KEY is used, use only the first found
+ map.
+
+
+M src/lib-dict/dict-sql.c
+
+2015-05-11 19:12:45 +0300 Timo Sirainen <tss@iki.fi> (76b4207273)
+
+ lib-dict: Added DICT_ITERATE_FLAG_EXACT_KEY flag. This is mainly useful with
+ SQL for iterating through a result that has multiple rows.
+
+
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-fs.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.h
+
+2015-05-11 16:01:13 +0300 Timo Sirainen <tss@iki.fi> (f5b6f113bf)
+
+ lib-fts: Fixed/improved test-fts-filter unit tests for previous changes.
+
+
+M src/lib-fts/test-fts-filter.c
+
+2015-05-11 16:00:53 +0300 Timo Sirainen <tss@iki.fi> (bb726ed329)
+
+ lib-fts: normalizer-icu no longer returns empty tokens.
+
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+
+2015-05-11 16:00:21 +0300 Timo Sirainen <tss@iki.fi> (4d44a03eb1)
+
+ lib-fts: Added assert to fts_filter_filter() to make sure input token isn't
+ empty
+
+
+M src/lib-fts/fts-filter.c
+
+2015-05-11 14:42:18 +0300 Timo Sirainen <tss@iki.fi> (759c11290d)
+
+ lib-fts: Fixed assert-crash in fts-tokenizer-generic
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-05-11 14:35:49 +0300 Timo Sirainen <tss@iki.fi> (b04e76cbc8)
+
+ lib-fts: Test trailing "number." for TR29 in test-fts-tokenizer
+
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-05-11 14:34:50 +0300 Timo Sirainen <tss@iki.fi> (62fc0b4f07)
+
+ lib-fts: Improved test-fts-tokenizer to run multiple text inputs
+
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-05-11 14:22:05 +0300 Timo Sirainen <tss@iki.fi> (47fb62a010)
+
+ lmtp: Earlier compiler warning fix broke compiling completely..
+
+
+M src/lmtp/commands.c
+
+2015-05-11 14:10:24 +0300 Timo Sirainen <tss@iki.fi> (9bbc62421e)
+
+ lib-fts: Added asserts to make sure we don't return empty tokens.
+
+
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-tokenizer.c
+
+2015-05-11 12:28:58 +0300 Timo Sirainen <tss@iki.fi> (f87938eab9)
+
+ Compiler warning fixes
+
+
+M src/imap-urlauth/imap-urlauth.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/pop3/main.c
+
+2015-05-11 12:27:39 +0300 Timo Sirainen <tss@iki.fi> (de05e7b6a2)
+
+ lmtp: chdir() to base_dir shouldn't fail - log an error if it does
+
+
+M src/lmtp/commands.c
+
+2015-05-10 12:28:09 +0300 Timo Sirainen <tss@iki.fi> (45b0d8d0b9)
+
+ lib-index: If header is corrupted after syncing, log the reason why.
+
+
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync-update.c
+
+2015-05-10 12:05:06 +0300 Timo Sirainen <tss@iki.fi> (9bee6caa05)
+
+ fts: Fixed crash when not using lib-fts
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2015-05-10 11:20:37 +0300 Timo Sirainen <tss@iki.fi> (0d7dc1d6ca)
+
+ lib-http: http-server now always creates a payload istream, even empty one.
+ This simplifies the caller's logic so that it doesn't need to explicitly
+ check if payload is NULL everywhere.
+
+
+M src/lib-http/http-server-connection.c
+
+2015-05-09 21:22:50 +0300 Timo Sirainen <tss@iki.fi> (ba57ea2c69)
+
+ pop3-migration: Added more debug and error logging.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2015-05-09 20:29:55 +0300 Timo Sirainen <tss@iki.fi> (8b9e2a7ec6)
+
+ Added signature for changeset da685736985a
+
+
+M .hgsigs
+
+2015-05-09 20:29:52 +0300 Timo Sirainen <tss@iki.fi> (157db8463b)
+
+ Added tag 2.2.17.rc1 for changeset da685736985a
+
+
+M .hgtags
+
+2015-05-09 20:29:52 +0300 Timo Sirainen <tss@iki.fi> (44a0465edd)
+
+ Released v2.2.17.rc1.
+
+
+M NEWS
+M configure.ac
+
+2015-05-09 20:26:06 +0300 Timo Sirainen <tss@iki.fi> (ba40be5b23)
+
+ Moved fs-compress to a separate plugin directory. Mainly because I couldn't
+ figure out how to make automake dependencies work on "make install" stage.
+ It was trying to link fs-compress.so using -ldovecot-storage, but
+ libdovecot-storage.so was also concurrently being installed.
+
+
+M configure.ac
+M src/lib-compression/Makefile.am
+M src/plugins/Makefile.am
+A src/plugins/fs-compress/Makefile.am
+R100 src/lib-compression/fs-compress.c src/plugins/fs-compress/fs-compress.c
+
+2015-05-09 19:58:59 +0300 Timo Sirainen <tss@iki.fi> (8409959d66)
+
+ Make Coverity happier.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-mail/ostream-dot.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2015-05-09 19:57:28 +0300 Timo Sirainen <tss@iki.fi> (9c0cd052c0)
+
+ quota-dict: It wasn't possible to use multiple quota settings. Found by
+ Coverity
+
+
+M src/plugins/quota/quota-dict.c
+
+2015-05-09 19:50:14 +0300 Timo Sirainen <tss@iki.fi> (7f29b32465)
+
+ anvil: Penalty tracking was moving last checksums wrongly with memcpy().
+ Depending on the OS/etc this could have caused the checksum tracking to go
+ wrong. Found by Coverity.
+
+
+M src/anvil/penalty.c
+
+2015-05-09 19:41:45 +0300 Timo Sirainen <tss@iki.fi> (90f9536320)
+
+ doveadm-server: Fixed potential crash if doveadm client disconnected Found
+ by Coverity
+
+
+M src/doveadm/server-connection.c
+
+2015-05-09 19:39:39 +0300 Timo Sirainen <tss@iki.fi> (e4ba52b829)
+
+ doveadm: Removed unused doveadm_mailbox_find_and_sync() function
+
+
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2015-05-09 19:35:31 +0300 Timo Sirainen <tss@iki.fi> (cbccc33187)
+
+ imap: Don't crash if APPEND command is given with invalid parameters. Found
+ by Coverity.
+
+
+M src/imap/cmd-append.c
+
+2015-05-09 19:31:17 +0300 Timo Sirainen <tss@iki.fi> (9bc1a7f4aa)
+
+ lib-mail: Improved istream-attachment-extractor error logging.
+
+
+M src/lib-mail/istream-attachment-extractor.c
+
+2015-05-09 19:31:05 +0300 Timo Sirainen <tss@iki.fi> (2be6479ae9)
+
+ lib-mail: Fixed crash in istream-attachment-extractor error handling path
+
+
+M src/lib-mail/istream-attachment-extractor.c
+
+2015-05-09 19:28:46 +0300 Timo Sirainen <tss@iki.fi> (73a7078395)
+
+ indexer-worker: Don't crash if we failed to get mailbox path. Found by
+ Coverity
+
+
+M src/indexer/master-connection.c
+
+2015-05-09 19:26:01 +0300 Timo Sirainen <tss@iki.fi> (8b1a9a4d63)
+
+ lib-fts: Changed fts_tokenizer_next/final() to return error string. The
+ current tokenizers can't fail, but if we're doing tokenization via external
+ services they could fail.
+
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/fts-tokenizer-private.h
+M src/lib-fts/fts-tokenizer.c
+M src/lib-fts/fts-tokenizer.h
+M src/lib-fts/test-fts-tokenizer.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-search-args.c
+
+2015-05-09 19:21:45 +0300 Timo Sirainen <tss@iki.fi> (56a21d5d4f)
+
+ lib-fts: Minor code cleanup - avoid functions always returning same value
+ Makes it clearer to see in the code that the function can't return any
+ failures.
+
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-05-09 19:14:07 +0300 Timo Sirainen <tss@iki.fi> (a9b3887f4d)
+
+ lib-fts: fts_language_list_init() API changed to return errors.
+
+
+M src/lib-fts/fts-language.c
+M src/lib-fts/fts-language.h
+M src/lib-fts/test-fts-language.c
+M src/plugins/fts/fts-user.c
+
+2015-05-09 19:04:11 +0300 Timo Sirainen <tss@iki.fi> (0eef579fa2)
+
+ virtual: Don't crash if trying to save mail to a virtual mailbox without
+ configured save-mailbox. Found by Coverity
+
+
+M src/plugins/virtual/virtual-save.c
+
+2015-05-09 19:00:36 +0300 Timo Sirainen <tss@iki.fi> (a052f297c2)
+
+ lib-fs: Minor code cleanup Both temp_output and super_output are NULL so it
+ doesn't matter which we use, but this change makes it use the intended
+ variable.
+
+
+M src/lib-fs/fs-metawrap.c
+
+2015-05-09 18:53:02 +0300 Timo Sirainen <tss@iki.fi> (bfcd430292)
+
+ lib-compression: Fixed dependency tracking in Makefile
+
+
+M src/lib-compression/Makefile.am
+
+2015-05-09 15:29:21 +0000 Pascal Volk <user@localhost.localdomain.org> (e7f1247b5a)
+
+ man: Added description of option `-F file'.
+
+
+M doc/man/Makefile.am
+M doc/man/doveadm-acl.1.in
+M doc/man/doveadm-altmove.1.in
+M doc/man/doveadm-batch.1.in
+M doc/man/doveadm-deduplicate.1.in
+M doc/man/doveadm-expunge.1.in
+M doc/man/doveadm-fetch.1.in
+M doc/man/doveadm-flags.1.in
+M doc/man/doveadm-force-resync.1.in
+M doc/man/doveadm-fts.1.in
+M doc/man/doveadm-import.1.in
+M doc/man/doveadm-index.1.in
+M doc/man/doveadm-mailbox.1.in
+M doc/man/doveadm-move.1.in
+M doc/man/doveadm-purge.1.in
+M doc/man/doveadm-quota.1.in
+M doc/man/doveadm-search.1.in
+M doc/man/doveadm-sync.1.in
+A doc/man/option-F-file.inc
+M doc/man/option-u-user.inc
+M doc/man/sed.sh
+
+2015-05-09 18:28:04 +0300 Timo Sirainen <tss@iki.fi> (568fec5b1e)
+
+ lib-fts: Various improvements to test-fts-tokenizer
+
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-05-09 18:00:58 +0300 Timo Sirainen <tss@iki.fi> (16dd1fd16f)
+
+ lib-fts: Added fts_tokenizer_final() as a convenience wrapper.
+
+
+M src/lib-fts/fts-tokenizer.c
+M src/lib-fts/fts-tokenizer.h
+M src/plugins/fts/fts-search-args.c
+
+2015-05-09 17:34:59 +0300 Timo Sirainen <tss@iki.fi> (868aa947ba)
+
+ lib-fts: Fixed token truncation.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-05-09 17:07:32 +0300 Timo Sirainen <tss@iki.fi> (4a692dfa35)
+
+ lib-fts: Fixed compiling without libicu
+
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+
+2015-05-09 17:06:42 +0300 Timo Sirainen <tss@iki.fi> (041cb02052)
+
+ lib-storage: Run each storage hook inside its own data stack frame.
+
+
+M src/lib-storage/mail-storage-hooks.c
+
+2015-05-09 17:05:17 +0300 Timo Sirainen <tss@iki.fi> (fe0dff63d6)
+
+ fts: Renamed filter and tokenizer specific setting keys. Having the plural
+ in the name didn't make a lot of sense, so all the settings are now:
+
+ fts_filters = name1 name2
+ fts_filters_<lang> = name3 name 4
+ fts_filter_<name> = key1=value1
+ fts_filter_<lang>_<name> = key2=value2
+
+ fts_tokenizers = name1 name2
+ fts_tokenizer_<name> = key1=value1
+
+ So this also removes the confusion in settings if there existed a filter
+ with one of the language names.
+
+M src/plugins/fts/fts-user.c
+
+2015-05-09 17:00:12 +0300 Timo Sirainen <tss@iki.fi> (fac865bad1)
+
+ fts: Simplify error messages a little bit to be more consistent with other
+ such errors. Only the setting name is really important.
+
+
+M src/plugins/fts/fts-user.c
+
+2015-05-09 16:58:09 +0300 Timo Sirainen <tss@iki.fi> (0ebeb1831a)
+
+ fts: Use key=value instead of "key value" settings for tokenizers and
+ filters.
+
+
+M src/plugins/fts/fts-user.c
+
+2015-05-09 15:11:48 +0300 Timo Sirainen <tss@iki.fi> (07dabfd18e)
+
+ fts: If fts_filters setting doesn't exist, use built-in defaults.
+
+
+M src/plugins/fts/fts-user.c
+
+2015-05-09 15:10:17 +0300 Timo Sirainen <tss@iki.fi> (57dc9669d3)
+
+ fts: Prefer language-specific filter settings over global fts_filters
+ setting.
+
+
+M src/plugins/fts/fts-user.c
+
+2015-05-09 15:07:13 +0300 Timo Sirainen <tss@iki.fi> (2bb1ef0b66)
+
+ lib-fts: Minor code cleanups
+
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-filter.h
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/fts-tokenizer-generic-private.h
+M src/lib-fts/fts-tokenizer.c
+M src/lib-fts/fts-tokenizer.h
+
+2015-05-09 15:06:45 +0300 Timo Sirainen <tss@iki.fi> (34c7e8b10f)
+
+ lib-fts: fts-tokenizer-generic-private.h had content that didn't really
+ belog there.
+
+
+M src/lib-fts/fts-tokenizer-generic-private.h
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-05-09 15:00:28 +0300 Timo Sirainen <tss@iki.fi> (61eb91ed6d)
+
+ lib-fts: Removed supports() function from filter API I think the original
+ idea was that this could be used to automatically create filters for many
+ languages, but this probably won't be needed or wanted.
+
+
+M src/lib-fts/fts-filter-lowercase.c
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-filter-private.h
+M src/lib-fts/fts-filter-stemmer-snowball.c
+M src/lib-fts/fts-filter-stopwords.c
+
+2015-05-09 14:56:33 +0300 Timo Sirainen <tss@iki.fi> (f5c0d5cada)
+
+ lib-fts: Removed tokenizer name macros from fts-tokenizer.h The tokenizers
+ can be directly accessed via their class structs.
+
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/fts-tokenizer.h
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-05-09 14:55:47 +0300 Timo Sirainen <tss@iki.fi> (a46abae27d)
+
+ lib-fts: Store pointers to fts_tokenizer classes instead of copying the
+ data. The same reason as for doing this for fts-filter.
+
+
+M src/lib-fts/fts-tokenizer.c
+
+2015-05-09 14:53:46 +0300 Timo Sirainen <tss@iki.fi> (b1965419f3)
+
+ lib-fts: test-fts-tokenizer cleanup - moved tokenizers_init/deinit() to be
+ done globally
+
+
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-05-09 14:50:10 +0300 Timo Sirainen <tss@iki.fi> (a7d8afaada)
+
+ lib-fts: Removed filter name macros from fts-filter.h The filters can be
+ directly accessed via their class structs.
+
+
+M src/lib-fts/fts-filter-lowercase.c
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-filter-stemmer-snowball.c
+M src/lib-fts/fts-filter-stopwords.c
+M src/lib-fts/fts-filter.h
+M src/lib-fts/test-fts-filter.c
+
+2015-05-09 14:49:20 +0300 Timo Sirainen <tss@iki.fi> (1ef271d300)
+
+ lib-fts: Store pointers to fts_filter classes instead of copying the data.
+ Doesn't really matter, but it's a bit cleaner when fts_filter_find() returns
+ the same pointer as the fts_filter class originally was.
+
+
+M src/lib-fts/fts-filter.c
+
+2015-05-09 14:41:05 +0300 Timo Sirainen <tss@iki.fi> (60ba197d17)
+
+ fts: Lowecase non-human language input while indexing.
+
+
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-user.c
+M src/plugins/fts/fts-user.h
+
+2015-05-09 14:26:42 +0300 Timo Sirainen <tss@iki.fi> (acfcf88e4d)
+
+ lib-fts: Added "lowercase" filter. For now it handles only ASCII characters,
+ but that's enough for our use.
+
+
+M src/lib-fts/Makefile.am
+A src/lib-fts/fts-filter-lowercase.c
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-filter.h
+M src/lib-fts/test-fts-filter.c
+
+2015-05-09 14:09:37 +0300 Timo Sirainen <tss@iki.fi> (eac88e31b7)
+
+ lib-fts: Removed "simple" normalizer. It translated input to titlecase,
+ which wasn't suitable for snowball stemming that wanted lowercase input.
+ Since that doesn't work, there's probably no good for the existence of this
+ (perhaps in future it's replaced by unicode-aware lowercaser).
+
+
+M src/lib-fts/Makefile.am
+D src/lib-fts/fts-filter-normalizer-simple.c
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-filter.h
+
+2015-05-09 14:19:48 +0300 Timo Sirainen <tss@iki.fi> (5916f19b49)
+
+ lib-fts: Minor unit test cleanups
+
+
+M src/lib-fts/test-fts-filter.c
+
+2015-05-09 13:57:41 +0300 Timo Sirainen <tss@iki.fi> (5ea079cebb)
+
+ fts: Reset tokenizers before using them This is mainly needed if the
+ previous tokenization had failed.
+
+
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-search-args.c
+
+2015-05-09 13:52:37 +0300 Timo Sirainen <tss@iki.fi> (2730605833)
+
+ lib-fts: Added fts_tokenizer_reset()
+
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/fts-tokenizer-private.h
+M src/lib-fts/fts-tokenizer.c
+M src/lib-fts/fts-tokenizer.h
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-05-09 13:46:37 +0300 Timo Sirainen <tss@iki.fi> (c4b772bfbd)
+
+ lib-fts: fts-tokenizer-address didn't reset state properly when input ended.
+
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-05-09 13:31:14 +0300 Timo Sirainen <tss@iki.fi> (0c827d2094)
+
+ fts: When tokenizing a search word, give "search" parameter to all the
+ tokenizers.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+M src/plugins/fts/fts-user.c
+
+2015-05-09 13:30:41 +0300 Timo Sirainen <tss@iki.fi> (aaed9e3ce9)
+
+ fts: Don't crash if search arg string expands to empty token list.
+
+
+M src/plugins/fts/fts-search-args.c
+
+2015-05-09 13:20:29 +0300 Timo Sirainen <tss@iki.fi> (505bba1d21)
+
+ lib-fts: Use case-sensitive settings comparisons in fts-tokenizer Dovecot in
+ general doesn't allow case-insensitive settings.
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-05-09 13:19:21 +0300 Timo Sirainen <tss@iki.fi> (d1356a777d)
+
+ lib-fts: Minor unit test fix - use case sensitive checks for word
+ comparison.
+
+
+M src/lib-fts/test-fts-filter.c
+
+2015-05-09 13:15:43 +0300 Timo Sirainen <tss@iki.fi> (1cc4d4d1a2)
+
+ lib-storage: mail_search_arg_dup() is now a public function.
+
+
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+
+2015-05-09 13:15:09 +0300 Timo Sirainen <tss@iki.fi> (e4bf76afb8)
+
+ lib-fts: Implemented "search" parameter to fts-tokenizer-address.
+
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-05-09 13:01:45 +0300 Timo Sirainen <tss@iki.fi> (98fe03ecad)
+
+ fts: If filtering fails during search arg expansion, fail the fts search.
+
+
+M src/plugins/fts/fts-search-args.c
+
+2015-05-09 12:50:54 +0300 Timo Sirainen <tss@iki.fi> (1d8bcf118d)
+
+ lib-fts: Compiler warning fix when building without libicu
+
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+
+2015-05-09 12:50:11 +0300 Timo Sirainen <tss@iki.fi> (3743d05a33)
+
+ lib-fts: Minor fts-tokenizer-address cleanups
+
+
+M src/lib-fts/fts-tokenizer-address.c
+
+2015-05-09 12:48:13 +0300 Timo Sirainen <tss@iki.fi> (908c417cc1)
+
+ lib-fts: Removed explicit no_parent setting from fts-address-tokenizer It
+ was used only by unit tests and we can check it without the setting as well.
+
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-05-09 12:41:59 +0300 Timo Sirainen <tss@iki.fi> (12bc47bcae)
+
+ lib-fts: Use rfc822-parser in fts-tokenizer-address instead of duplicating
+ its code.
+
+
+M src/lib-fts/Makefile.am
+M src/lib-fts/fts-tokenizer-address.c
+
+2015-05-09 12:39:21 +0300 Timo Sirainen <tss@iki.fi> (173d34afe8)
+
+ lib-fts: Don't treat empty domains as valid addresses. This actually pretty
+ much reverts the previous patch and just fixes the original code's
+ chars_after_at() to work correctly. Also renamed the function to make it a
+ bit clearer what was intended.
+
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-05-09 12:32:46 +0300 Timo Sirainen <tss@iki.fi> (81fd40df7b)
+
+ lib-fts: Removed unnecessary code from fts-address-tokenizer.
+ chars_after_at() was only used to check if local-part was empty, but it was
+ checked at a state where it never could have been empty.
+
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-05-09 12:01:42 +0300 Timo Sirainen <tss@iki.fi> (20f03fe09b)
+
+ lib-fts: Various fixes and cleanups to stopwords filter. Most importantly
+ words added to hash table needs to be allocated from the pool and not data
+ stack.
+
+
+M src/lib-fts/fts-filter-stopwords.c
+
+2015-05-09 12:04:56 +0300 Timo Sirainen <tss@iki.fi> (927f6e67f9)
+
+ lib-fts: Assume that fts_language.name is always lowercased and has two
+ letters. Anything else just unnecessarily complicates the code.
+
+
+M src/lib-fts/fts-filter-stemmer-snowball.c
+M src/lib-fts/fts-filter-stopwords.c
+M src/lib-fts/fts-language.h
+M src/lib-fts/test-fts-filter.c
+
+2015-05-09 11:57:40 +0300 Timo Sirainen <tss@iki.fi> (b58ad1c4a4)
+
+ lib-fts: Fixed test-fts-filter unit test to handle errors a bit better.
+
+
+M src/lib-fts/fts-filter.c
+M src/lib-fts/test-fts-filter.c
+
+2015-05-09 11:46:09 +0300 Timo Sirainen <tss@iki.fi> (6111370718)
+
+ lib-fts: Changed filter's internal APIs to return error_r directly. It's not
+ very safe to store strings allocated from data stack to any permanent
+ structs.
+
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-filter-normalizer-simple.c
+M src/lib-fts/fts-filter-private.h
+M src/lib-fts/fts-filter-stemmer-snowball.c
+M src/lib-fts/fts-filter-stopwords.c
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-filter.h
+
+2015-05-09 11:33:45 +0300 Timo Sirainen <tss@iki.fi> (c5c58fbb11)
+
+ lib-fts: Snowball's sb_stemmer_stem() can only fail because it runs out of
+ memory.
+
+
+M src/lib-fts/fts-filter-stemmer-snowball.c
+
+2015-05-09 11:17:03 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (ade9b3596a)
+
+ lib-fts: Improve using max_length in tr29 tokenizer
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-05-09 11:16:22 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (78f87ea1d3)
+
+ lib-fts: Fixed using max_length setting in simple tokenizer
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/test-fts-tokenizer.c
+
+2015-05-09 11:15:50 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (50f659bc47)
+
+ lib-fts: Default to simple tokenizer algorithm
+
+
+M src/lib-fts/fts-tokenizer-generic.c
+
+2015-05-09 11:15:34 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (dfb9243af1)
+
+ lib-fts: Delay stopwords filter full initialization until it's needed.
+
+
+M src/lib-fts/fts-filter-stopwords.c
+M src/lib-fts/test-fts-filter.c
+
+2015-05-09 11:14:51 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (55be4b0677)
+
+ lib-fts: Delay snowball filter initialization until it's needed.
+
+
+M src/lib-fts/fts-filter-stemmer-snowball.c
+
+2015-05-09 11:13:49 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (1d0f568e26)
+
+ fts: Improve filter error handling.
+
+ In lib-fts: Move error storage to the generic filter struct level. Change
+ make_utf8 helper to void also.
+
+ In fts: Add the error argument to _filter() calls.
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-filter-private.h
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-filter.h
+M src/lib-fts/test-fts-filter.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-search-args.c
+
+2015-05-09 11:10:31 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (a53953d8bd)
+
+ lib-fts: Removed make_uchar() return value. It was already de facto
+ meaningless, so best we remove it.
+
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+
+2015-05-09 11:09:37 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (f65a6ee214)
+
+ lib-fts: normalizer-icu now delays initialization of libicu. This way the
+ normalizer can be quickly created even if it's never even used.
+
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/test-fts-filter.c
+
+2015-05-09 11:06:45 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (db090e2a48)
+
+ fts: Change filter API to be able to return errors
+
+ Modify fts_filter_filter() to return integer status codes. It returns 1 if a
+ token was returned, 0 if it was filtered away and -1 on error.
+
+M src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-filter-normalizer-simple.c
+M src/lib-fts/fts-filter-private.h
+M src/lib-fts/fts-filter-stemmer-snowball.c
+M src/lib-fts/fts-filter-stopwords.c
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-filter.h
+M src/lib-fts/test-fts-filter.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-search-args.c
+
+2015-05-09 11:05:04 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (3dc5a23116)
+
+ fts: Change tokenizer API to be able to return errors
+
+ Modify fts_tokenizer_next() to return integer status codes. It returns 1 if
+ a token was returned in *token_r, 0 if more input is needed and -1 on error.
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/fts-tokenizer-generic.c
+M src/lib-fts/fts-tokenizer-private.h
+M src/lib-fts/fts-tokenizer.c
+M src/lib-fts/fts-tokenizer.h
+M src/lib-fts/test-fts-tokenizer.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-search-args.c
+
+2015-05-09 11:03:21 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (957b0b4c9a)
+
+ fts: Replace '-' with '_' in tokenizer-specific fts_tokenizers_* settings
+
+
+M src/plugins/fts/fts-user.c
+
+2015-05-09 11:02:22 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (4ef1f9f329)
+
+ fts: Create tokenizers differently
+
+ Create tokenizers earlier. Create separate tokenizers for search and
+ indexing. Enable configuration of tokenizers. Add some helpers in
+ fts-tokenizer.h api. Change tokenizer unit tests to match those changes.
+
+ lib-fts: Refactor lib-fts settings a bit
+
+ Turned address tokenizer settings into "boolean" values. Changed have_parent
+ to "no_parent" and added "search" setting. Added documentation in
+ fts-tokenizer.h. Change unit tests accordingly.
+
+M src/lib-fts/fts-tokenizer-address.c
+M src/lib-fts/fts-tokenizer.c
+M src/lib-fts/fts-tokenizer.h
+M src/lib-fts/test-fts-tokenizer.c
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-search-args.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-user.c
+M src/plugins/fts/fts-user.h
+
+2015-05-09 10:53:25 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (09aed882b9)
+
+ fts: Create filters earlier
+
+ This builds on the assumption that early initialization will be made less
+ costly, in a coming change.
+
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-search-args.c
+M src/plugins/fts/fts-user.c
+M src/plugins/fts/fts-user.h
+
+2015-05-08 16:00:16 +0300 Timo Sirainen <tss@iki.fi> (6f29823de4)
+
+ fts: Fixed handling NOT when using lib-fts
+
+
+M src/plugins/fts/fts-search-args.c
+
+2015-05-08 14:47:26 +0300 Timo Sirainen <tss@iki.fi> (344bb4abc3)
+
+ dsync: Stop running if SIGINT/SIGTERM is received.
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2015-05-08 10:44:18 +0300 Timo Sirainen <tss@iki.fi> (3ee40ecd55)
+
+ Moved fs-compress from lib-fs to lib-compression. This solves build ordering
+ issues.
+
+
+M src/lib-compression/Makefile.am
+R100 src/lib-fs/fs-compress.c src/lib-compression/fs-compress.c
+M src/lib-fs/Makefile.am
+
+2015-05-07 20:35:23 +0300 Timo Sirainen <tss@iki.fi> (29b8c2bd69)
+
+ lib-fs: Fixed fs-compress code to actually build and run. It's a plugin
+ (because it depends on extra compression libraries). We want to register it
+ only when it's explicitly attempted to be used, not before.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-compress.c
+
+2015-05-07 20:25:44 +0300 Timo Sirainen <tss@iki.fi> (d0c3964c88)
+
+ lib-fs: Added fs-compress wrapper. Future TODO could include automatically
+ detecting the format of the input file, but this should be optional.
+
+
+M src/lib-fs/Makefile.am
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+A src/lib-fs/fs-compress.c
+
+2015-05-07 18:21:35 +0300 Timo Sirainen <tss@iki.fi> (441f0e0d84)
+
+ lib-storage: Fixed LAYOUT=imapdir to work again Patch by Jason Gunthorpe
+
+
+M src/lib-storage/list/mailbox-list-maildir.c
+
+2015-05-07 18:04:33 +0300 Timo Sirainen <tss@iki.fi> (a56fcfa52e)
+
+ director: Fixed "doveadm director status <user>" lookup to return "Current"
+ correctly.
+
+
+M src/director/doveadm-connection.c
+
+2015-05-07 17:29:55 +0300 Timo Sirainen <tss@iki.fi> (2f41b2ceff)
+
+ example-config: s/Recipient:/Received:/
+
+
+M doc/example-config/conf.d/20-lmtp.conf
+
+2015-05-07 17:29:00 +0300 Timo Sirainen <tss@iki.fi> (8f2af06e45)
+
+ exmaple-config: Added lmtp_hdr_delivery_address setting.
+
+
+M doc/example-config/conf.d/20-lmtp.conf
+
+2015-05-07 17:18:44 +0300 Timo Sirainen <tss@iki.fi> (f0ecd925c7)
+
+ auth: Added assert to make sure previous change is correct.
+
+
+M src/auth/auth-worker-client.c
+
+2015-05-07 11:27:55 +0300 Timo Sirainen <tss@iki.fi> (3db05c8c00)
+
+ auth: Fixed credentials lookups via auth-workers when no actual password was
+ returned. For example LDAP lookup with auth_bind=yes should still return any
+ extra fields.
+
+
+M src/auth/auth-worker-client.c
+
+2015-05-07 11:21:33 +0300 Timo Sirainen <tss@iki.fi> (0a66c12342)
+
+ ldap auth: If password is already verified (e.g. master user login), skip
+ LDAP auth binding. This happens only if auth_bind_userdn isn't set, i.e. it
+ only makes sense if the LDAP DN lookup also returns some extra fields.
+
+
+M src/auth/passdb-ldap.c
+
+2015-05-07 00:01:16 +0300 Timo Sirainen <tss@iki.fi> (867c109fc5)
+
+ mbox: Added an extra assert
+
+
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+
+2015-05-07 00:01:08 +0300 Timo Sirainen <tss@iki.fi> (f76f483f08)
+
+ mbox: Fixed crash/corruption in some situations when the first mail was
+ expunged. This could be reproduced with default mbox settings, IMAP session
+ that does - STORE 1 +FLAGS \DELETED - EXPUNGE
+
+ With mbox containing:
+
+ === From root@example.com Tue Jan 13 10:18:16 2015
+
+ a
+
+ From root@example.com Tue Jan 13 10:18:20 2015
+
+ a
+
+ ===
+
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2015-05-06 19:50:23 +0300 Timo Sirainen <tss@iki.fi> (6ba5d739f7)
+
+ imap: Don't advertise SPECIAL-USE if there are no such mailboxes configured.
+
+
+M configure.ac
+M src/imap/imap-client.c
+
+2015-05-06 16:16:11 +0300 Timo Sirainen <tss@iki.fi> (d12ea923bd)
+
+ dsync: Don't try to rename namespace roots. It'll just cause an
+ assert-crash.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+
+2015-05-06 16:01:45 +0300 Timo Sirainen <tss@iki.fi> (24072b49be)
+
+ doveadm: Changed -U to -F Otherwise -U collides with doveadm sync -U
+ parameter. -F isn't currently used by anything.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail.c
+
+2015-05-06 15:45:43 +0300 Timo Sirainen <tss@iki.fi> (f7141101e2)
+
+ doveadm: Added -U <file> parameter for executing the command for all the
+ users in the file. This is similar to -A parameter, but instead of getting
+ the list of users from userdb they are read from the file. The file contains
+ one username per line.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2015-05-06 15:42:31 +0300 Timo Sirainen <tss@iki.fi> (98e8f95ffe)
+
+ doveadm-server: Invalid parameters for some commands caused crash at deinit
+ handlers. deinit() can be called even if init() was never called.
+
+
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail.h
+
+2015-05-06 14:14:09 +0300 Timo Sirainen <tss@iki.fi> (95d41d2107)
+
+ script: Another comment update about protocol - the previous one was wrong.
+
+
+M src/util/script.c
+
+2015-05-06 11:10:09 +0300 Timo Sirainen <tss@iki.fi> (7439b55b88)
+
+ script: Updated comment to describe the current script protocol.
+
+
+M src/util/script.c
+
+2015-05-05 23:07:03 +0300 Timo Sirainen <tss@iki.fi> (ab1e085cf1)
+
+ doveadm fs delete: Fixed function return type
+
+
+M src/doveadm/doveadm-fs.c
+
+2015-05-05 16:24:07 +0300 Timo Sirainen <tss@iki.fi> (e0f57c552d)
+
+ lib-storage: After mailbox_list_init_fs() is finished, notify fs about it.
+ Creating a separate fs_init_finish() would perhaps have been clearner, but
+ it's a lot more work and usually isn't even necessary for most backends. So
+ I simply chose to use fs_get_properties() which is a fast call in all fs
+ backends and the few ones that actually care about the initialization finish
+ can then do their work in there.
+
+
+M src/lib-storage/mailbox-list.c
+
+2015-05-05 16:18:21 +0300 Timo Sirainen <tss@iki.fi> (c0273594fd)
+
+ fts-lucene: Removed lazy initialization code. This is no longer needed after
+ the previous fts commit.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2015-05-05 16:17:14 +0300 Timo Sirainen <tss@iki.fi> (11f12ca1c9)
+
+ fts: Initialize fts backend in mail_namespaces_added(), not in
+ mailbox_list_created() This way the storage has already been created by the
+ time fts initialization starts, which simplifies things.
+
+
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-storage.h
+
+2015-05-05 16:14:07 +0300 Timo Sirainen <tss@iki.fi> (a41f6dd2a2)
+
+ lib-storage: mailbox_list_fs_get_list() shouldn't crash if fs wasn't created
+ by mailbox_list_init_fs()
+
+
+M src/lib-storage/mailbox-list.c
+
+2015-05-05 14:16:31 +0300 Timo Sirainen <tss@iki.fi> (917b4e1a9e)
+
+ auth: If passdb has non-matching allow_nets, don't fail the other passdb
+ lookups also. We might want to use e.g.:
+
+ passdb {
+ driver = static
+ args = password=secretmasterpass allow_nets=10.1.2.3
+ } passdb {
+ ...
+ }
+
+ If allow_nets didn't match in the first passdb, we should just ignore it and
+ continue to the next passdb.
+
+M src/auth/auth-request.c
+
+2015-05-05 13:35:52 +0300 Timo Sirainen <tss@iki.fi> (f942b7b96a)
+
+ doveadm fs delete: Another attempt at fixing recursive deletion. I'm not
+ entirely sure anymore what the original infinite looping was, but this fixes
+ all the potential problems that I see.
+
+
+M src/doveadm/doveadm-fs.c
+
+2015-05-05 13:30:38 +0300 Timo Sirainen <tss@iki.fi> (f86f7ec83f)
+
+ doveadm fs delete: Reverted last two patches - they were all completely
+ wrong..
+
+
+M src/doveadm/doveadm-fs.c
+
+2015-05-05 13:13:42 +0300 Timo Sirainen <tss@iki.fi> (f98a079691)
+
+ doveadm fs delete: Recent changes broke it completely.
+
+
+M src/doveadm/doveadm-fs.c
+
+2015-05-04 23:27:42 +0300 Timo Sirainen <tss@iki.fi> (7f0fad65a3)
+
+ lib-storage: Fixed setting/getting server metadata. Also added a
+ MAILBOX_ATTRIBUTE_KEY_IS_USER_ACCESSIBLE() macro to make it a bit easier to
+ check if a key should be accessible to a user or not.
+
+
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/mailbox-attribute.h
+
+2015-05-04 19:53:53 +0300 Stephan Bosch <stephan@rename-it.nl> (146f9076cd)
+
+ mail-storage: Moved mailbox attributes API to separate module.
+
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+A src/lib-storage/mailbox-attribute-private.h
+A src/lib-storage/mailbox-attribute.c
+A src/lib-storage/mailbox-attribute.h
+
+2015-05-04 19:15:10 +0300 Timo Sirainen <tss@iki.fi> (70f202ae74)
+
+ lib-fs: Forgot to initialize refcount in previous commit
+
+
+M src/lib-fs/fs-api.c
+
+2015-05-04 19:06:11 +0300 Timo Sirainen <tss@iki.fi> (e853125ece)
+
+ lib-fs: Added fs_ref() and fs_unref() for reference counting.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2015-05-04 18:44:29 +0300 Timo Sirainen <tss@iki.fi> (c01e993599)
+
+ imap: FETCH BODY.PEEK[HEADER.FIELDS (..)] didn't set wanted_headers
+ optimization. Primarily this fixes imapc's prefetching.
+
+
+M src/imap/imap-fetch-body.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-storage/imap-msgpart.h
+
+2015-05-04 18:31:27 +0300 Timo Sirainen <tss@iki.fi> (50ffc12831)
+
+ imapc: Various optimization fixes to fetching messages' virtual size.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2015-05-04 18:15:00 +0300 Timo Sirainen <tss@iki.fi> (7ac6e63e07)
+
+ imapc: imapc-features=rfc822.size didn't work for fetching mail's virtual
+ size. Physical and virtual sizes are the same for imapc.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2015-05-04 12:07:16 +0300 Timo Sirainen <tss@iki.fi> (baf4695c42)
+
+ configure: When compiling with sqlite3, don't forcibly link with zlib. Looks
+ like -lz was originally added when it was copy&pasted from some other code.
+ Hopefully this isn't actually needed by any (current) system.
+
+
+M configure.ac
+
+2015-05-04 11:55:11 +0300 Timo Sirainen <tss@iki.fi> (c8c6f2fda3)
+
+ man: Fixed -Dv parameter position in doveadm-sync.1
+
+
+M doc/man/doveadm-sync.1.in
+
+2015-05-03 17:07:02 +0300 Timo Sirainen <tss@iki.fi> (e2e6f40d58)
+
+ acl: Log more debug info with mail_debug=yes
+
+
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-global-file.c
+M src/plugins/acl/acl-global-file.h
+
+2015-05-03 16:26:46 +0300 Timo Sirainen <tss@iki.fi> (971f89b14c)
+
+ lib-mail: Removed quoted_printable_decode*() quoted_printable_q_decode() was
+ still left in quoted-printable.h, but maybe it should be moved to
+ qp-decoder.c as well.
+
+
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/quoted-printable.h
+M src/lib-mail/test-quoted-printable.c
+
+2015-05-03 16:23:41 +0300 Timo Sirainen <tss@iki.fi> (1a6a2a1317)
+
+ lib-mail: Switched message-decoder to use qp-decoder. This probably doesn't
+ fix any actual bugs, but allows getting rid of the
+ quoted_printable_decode*()
+
+
+M src/lib-mail/Makefile.am
+M src/lib-mail/message-decoder.c
+M src/lib-mail/test-message-decoder.c
+
+2015-05-03 16:22:55 +0300 Timo Sirainen <tss@iki.fi> (76adf79431)
+
+ lib-mail: Fixed various istream-qp-decoder bugs by switching to qp-decoder
+ API
+
+
+M src/lib-mail/Makefile.am
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/test-istream-qp-decoder.c
+
+2015-05-03 14:50:01 +0300 Timo Sirainen <tss@iki.fi> (722702762c)
+
+ lib-mail: Added qp-decoder, which is a rewritten quoted_printable_decode()
+ The main benefit is that qp-decoder allows feeding data to it in smaller
+ pieces. It can also give better error reporting.
+
+
+M src/lib-mail/Makefile.am
+A src/lib-mail/qp-decoder.c
+A src/lib-mail/qp-decoder.h
+A src/lib-mail/test-qp-decoder.c
+
+2015-04-29 17:45:30 +0200 Timo Sirainen <tss@iki.fi> (f0d8efc20c)
+
+ director: Log error if auth sends invalid lip/lport/port parameter. This
+ also fixes compiler warnings.
+
+
+M src/director/login-connection.c
+
+2015-04-29 17:43:13 +0200 Timo Sirainen <tss@iki.fi> (77f05ffe7b)
+
+ lib: Added unit test for net_ip2addr() and fixed net_is_in_network() test.
+
+
+M src/lib/test-net.c
+
+2015-04-29 17:36:44 +0200 Timo Sirainen <tss@iki.fi> (68ae5d6615)
+
+ lib: Renamed test-network to test-net Since network.c had been renamed to
+ net.c some time ago.
+
+
+M src/lib/Makefile.am
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+R098 src/lib/test-network.c src/lib/test-net.c
+
+2015-04-29 17:35:18 +0200 Timo Sirainen <tss@iki.fi> (d1e20cdf44)
+
+ lib: net_addr2ip() sets the family now only after address is successfully
+ converted.
+
+
+M src/lib/net.c
+
+2015-04-29 17:19:34 +0200 Timo Sirainen <tss@iki.fi> (3fbc12d56e)
+
+ lib-imap: imap_utf7_to_utf8() returns failure now for encoded NULs. All the
+ callers change the string to NUL-terminated string, so the earlier behavior
+ was just truncating the string at the encoded NUL. It's a bit safer to just
+ return failure so in future if the callers didn't convert the string to
+ NUL-terminated string it wouldn't be handled inconsistently in different
+ places.
+
+
+M src/lib-imap/imap-utf7.c
+
+2015-04-29 11:33:21 +0200 Timo Sirainen <tss@iki.fi> (0dc72981f5)
+
+ director: Implemented director_proxy_maybe passdb extra field. This allows
+ running director and backend in the same Dovecot instance. It was
+ implemented into director instead of login-common to allow doveadm and lmtp
+ proxying to work as well (although currently lmtp can't handle mixed
+ proxying and non-proxying destinations, which makes this a bit less useful).
+
+
+M src/auth/auth-request.c
+M src/director/login-connection.c
+
+2015-04-25 11:42:06 +0200 Stephan Bosch <stephan@rename-it.nl> (7a545edbd1)
+
+ uri-util: Added the possibility of only checking the URI without parsing any
+ of the data.
+
+
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2015-04-25 11:42:06 +0200 Stephan Bosch <stephan@rename-it.nl> (bcd6c13936)
+
+ uri-util: Improve errors about invalid characters in URI by reporting the
+ component where the offending character is located.
+
+
+M src/lib-http/http-url.c
+M src/lib-imap/imap-url.c
+M src/lib/uri-util.c
+
+2015-04-25 11:42:06 +0200 Stephan Bosch <stephan@rename-it.nl> (f3cf2f0215)
+
+ uri-util: Allow empty host name in the generic URI syntax as specified in
+ RFC 3986.
+
+
+M src/lib-http/http-url.c
+M src/lib-imap/imap-url.c
+M src/lib/uri-util.c
+
+2015-04-25 11:42:06 +0200 Stephan Bosch <stephan@rename-it.nl> (8c80cd4e90)
+
+ lib-http: client: Fixed memory leak in CONNECT tunnel support. Forgot to
+ dereference streams once tunnel was completed and passed to the new
+ connection object.
+
+
+M src/lib-http/http-client-connection.c
+
+2015-04-25 11:42:06 +0200 Stephan Bosch <stephan@rename-it.nl> (6793538c38)
+
+ lib: connection: Connect to unix socket asynchronously if connected callback
+ is set. Prevents problems in lib-http unix socket support.
+
+
+M src/lib/connection.c
+
+2015-04-29 10:34:33 +0200 Timo Sirainen <tss@iki.fi> (afbd176851)
+
+ fts: Do not deinit uncreated fts context Fixes crash with fts-lucene and
+ fts-solr when lib-fts wasn't used. Patch by Teemu Huovila
+
+
+M src/plugins/fts/fts-user.c
+
+2015-04-29 10:27:50 +0200 Timo Sirainen <tss@iki.fi> (bcdf3baace)
+
+ trash plugin: Count more correctly the number of bytes/messages needed to
+ get under quota. If there already were some messages saved, those weren't
+ counted when figuring out how many/much mails are still needed to be
+ expunged.
+
+ Patch by Alexei Gradinari
+
+M src/plugins/trash/trash-plugin.c
+
+2015-04-29 10:22:26 +0200 Timo Sirainen <tss@iki.fi> (50e7732ee4)
+
+ trash plugin: Fixed handling unlimited quota limits. Patch by Alexei
+ Gradinari
+
+
+M src/plugins/trash/trash-plugin.c
+
+2015-04-29 10:13:19 +0200 Timo Sirainen <tss@iki.fi> (4c7e360ab6)
+
+ quota: Don't assume mail is too large if a quota root has mail count limit
+ but not size limit. Based on patch by Alexei Gradinari
+
+
+M src/plugins/quota/quota.c
+
+2015-04-28 14:20:39 +0200 Timo Sirainen <tss@iki.fi> (82705acc82)
+
+ lib-mail: Fixed modifying headers with i_stream_header_filter_add() If the
+ stream was read twice, the second time the callback wasn't called and the
+ header wasn't modified.
+
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2015-04-28 11:27:04 +0200 Timo Sirainen <tss@iki.fi> (ebf6313584)
+
+ *-login: Don't try to flush SSL output if SSL handshake fails. This fixes a
+ crash on failed handshakes on some OpenSSL builds.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2015-04-25 12:16:07 +0300 Timo Sirainen <tss@iki.fi> (efc70d0563)
+
+ Forgot to include year 2015 in earlier new files' Copyright lines.
+
+
+M src/lib-imap/imap-keepalive.c
+M src/lib/istream-unix.c
+
+2015-04-25 12:07:44 +0300 Timo Sirainen <tss@iki.fi> (ffafd76c96)
+
+ log: Don't confuse process sending a partial log line to process sending
+ logs too fast. If it's a partial line we don't want to show the "service too
+ fast" error in ps title.
+
+
+M src/log/log-connection.c
+
+2015-04-25 11:52:02 +0300 Timo Sirainen <tss@iki.fi> (b78d8dbe41)
+
+ lib: Fixed crash in connection API if input streams aren't used (only input
+ fd).
+
+
+M src/lib/connection.c
+
+2015-04-25 11:40:23 +0300 Timo Sirainen <tss@iki.fi> (4c1a936be3)
+
+ lib: Fixed test-istream-unix to not send uninitialized bytes. Fixes Valgrind
+ errors in make check.
+
+
+M src/lib/test-istream-unix.c
+
+2015-04-25 11:27:17 +0300 Timo Sirainen <tss@iki.fi> (9805f5093a)
+
+ imap: Code cleanup: Moved IDLE keepalive timer calculation to lib-imap.
+
+
+M src/imap/cmd-idle.c
+M src/lib-imap/Makefile.am
+A src/lib-imap/imap-keepalive.c
+A src/lib-imap/imap-keepalive.h
+
+2015-04-25 11:23:00 +0300 Timo Sirainen <tss@iki.fi> (bf132be3fe)
+
+ lib: Added istream-unix for reading fd sockets via istream.
+
+
+M src/lib/Makefile.am
+A src/lib/istream-file-private.h
+M src/lib/istream-file.c
+A src/lib/istream-unix.c
+A src/lib/istream-unix.h
+A src/lib/test-istream-unix.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2015-04-25 11:22:39 +0300 Timo Sirainen <tss@iki.fi> (e88b20c658)
+
+ lib: Added numpack_decode32()
+
+
+M src/lib/numpack.c
+M src/lib/numpack.h
+
+2015-04-24 16:03:51 +0300 Timo Sirainen <tss@iki.fi> (eeb0343447)
+
+ fts: Fixed infinite looping at deinit. fts_mail_user_deinit() was calling
+ itself. Now the fts backend is responsible for calling it at deinit.
+
+
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts/fts-user.c
+M src/plugins/fts/fts-user.h
+
+2015-04-24 15:45:42 +0300 Timo Sirainen <tss@iki.fi> (46241d83c8)
+
+ doveadm fs delete -R: Fixed infinite looping when deleting a lot of files
+ with some backends. After file was deleted, we closed it. Then later on we
+ tried to delete it all over again.
+
+
+M src/doveadm/doveadm-fs.c
+
+2015-04-24 15:41:55 +0300 Timo Sirainen <tss@iki.fi> (f9ca41ec7a)
+
+ doveadm fs delete -R: When deleting directories, include "/" suffix in the
+ name.
+
+
+M src/doveadm/doveadm-fs.c
+
+2015-04-24 15:13:59 +0300 Timo Sirainen <tss@iki.fi> (1ac7b69691)
+
+ lmtp: Added lmtp_hdr_delivery_address=final|original|none setting. This
+ controls what username is used for logging Delivered-To: header and the "for
+ user@domain" in Received: header. The default "final" is the regular
+ username as earlier, "original" logs the RFC822 address received via ORCPT
+ parameter or fallbacks to username, "none" logs nothing.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2015-04-24 14:47:43 +0300 Timo Sirainen <tss@iki.fi> (55257755b2)
+
+ doveadm-server: Fixed returning command input stream when its data was
+ already in the input stream.
+
+
+M src/doveadm/doveadm-mail.c
+
+2015-04-24 14:25:06 +0300 Timo Sirainen <tss@iki.fi> (1e60d516e9)
+
+ fts-solr: fts_solr=use_libfts send data to Solr via space-separated tokens.
+ In this case Solr should be configured to not do any kind of filtering and
+ use only WhitespaceTokenizerFactory.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/fts-solr-plugin.h
+
+2015-04-24 14:08:51 +0300 Timo Sirainen <tss@iki.fi> (a32b055a1a)
+
+ fts: Minor error messagage prefix change.
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2015-04-24 14:08:39 +0300 Timo Sirainen <tss@iki.fi> (4ba3717a04)
+
+ fts: Don't always try to initialize lib-fts. Require backend to explictly do
+ it now.
+
+
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-user.c
+M src/plugins/fts/fts-user.h
+
+2015-04-24 14:03:01 +0300 Timo Sirainen <tss@iki.fi> (36723229d5)
+
+ fts: Install fts-user.h header
+
+
+M src/plugins/fts/Makefile.am
+
+2015-04-24 13:10:17 +0300 Timo Sirainen <tss@iki.fi> (4c61d6b6ad)
+
+ fts: Replace '-' with '_' in filter-specific fts_filters_* settings. So for
+ example using fts_filters_normalizer_icu instead of
+ fts_filters_normalizer-icu.
+
+
+M src/plugins/fts/fts-user.c
+
+2015-04-24 13:08:16 +0300 Timo Sirainen <tss@iki.fi> (e0593474ae)
+
+ lib-fs: Use the new t_str_replace() instead of doing it ourself.
+
+
+M src/lib-fs/fs-api.c
+
+2015-04-24 13:07:39 +0300 Timo Sirainen <tss@iki.fi> (be1749e242)
+
+ lib: Added t_str_replace() to replace one character with another one
+
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/lib/test-strfuncs.c
+
+2015-04-23 21:32:43 +0300 Timo Sirainen <tss@iki.fi> (ad0131e975)
+
+ dict: Fixed unescaping strings from lib-dict. This may potentially break
+ backwards compatibility with someone, but it's probably pretty rare that
+ anybody is yet using dict proxy with multi-line fields. Also even though the
+ current behavior happens to work, it's very much non-ideal and can be
+ potentially dangerous.
+
+
+M src/dict/dict-commands.c
+
+2015-04-23 21:26:50 +0300 Timo Sirainen <tss@iki.fi> (51d7baa054)
+
+ auth: Don't assert-crash if master user login attempts to use empty login
+ username.
+
+
+M src/auth/auth-request.c
+
+2015-04-23 21:19:54 +0300 Timo Sirainen <tss@iki.fi> (cc935aff97)
+
+ lib-storage: mail_search_args_simplify() handles now
+ SEARCH_HEADER*/TEXT/BODY These are especially useful with lib-fts, where
+ stemming and other filtering can produce duplicates. There's some internal
+ deduplication, but it doesn't catch all of these.
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2015-04-23 21:00:43 +0300 Timo Sirainen <tss@iki.fi> (f5e8a76a12)
+
+ lib-storage: mail_search_args_simplify() handles now SEARCH_SMALLER/LARGER
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2015-04-23 20:50:23 +0300 Timo Sirainen <tss@iki.fi> (d6a7cb184c)
+
+ lib-storage: mail_search_args_simplify() handles now SEARCH_BEFORE/ON/SINCE
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2015-04-23 20:16:54 +0300 Timo Sirainen <tss@iki.fi> (7000810786)
+
+ lib-storage: mail_search_args_simplify() merges now seqsets and uidsets.
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2015-04-23 19:49:49 +0300 Timo Sirainen <tss@iki.fi> (fb79b36eb3)
+
+ lib-storage: If mail_search_args_simplify() merges flags, check again if any
+ SUBs can be removed. The subquery may have been replaced with a single
+ SEARCH_FLAGS parameter.
+
+
+M src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/test-mail-search-args-simplify.c
+
+2015-04-23 19:42:13 +0300 Timo Sirainen <tss@iki.fi> (78278319a2)
+
+ lib-storage: Makefile fixes for previous test programs
+
+
+M src/lib-storage/Makefile.am
+
+2015-04-23 19:37:25 +0300 Timo Sirainen <tss@iki.fi> (45a3ea3347)
+
+ imapc: Don't write SEARCH YOUNGER/OLDER queries if server doesn't support
+ WITHIN extension
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-storage/index/imapc/imapc-search.c
+
+2015-04-23 19:29:43 +0300 Timo Sirainen <tss@iki.fi> (f8740ac533)
+
+ lib-storage: Moved mail_search_args_simplify() to its own file and added
+ unit tests. No functional changes.
+
+
+M src/lib-storage/Makefile.am
+A src/lib-storage/mail-search-args-simplify.c
+M src/lib-storage/mail-search.c
+A src/lib-storage/test-mail-search-args-simplify.c
+
+2015-04-23 19:28:04 +0300 Timo Sirainen <tss@iki.fi> (ae1b2f5548)
+
+ imapc: Use mail_search_arg_to_imap() to write IMAP SEARCH parameters. This
+ also fixes a few bugs, since some of the search parameters weren't written
+ entirely correctly.
+
+
+M src/lib-storage/index/imapc/imapc-search.c
+
+2015-04-23 19:24:50 +0300 Timo Sirainen <tss@iki.fi> (9b92e79622)
+
+ lib-storage: Added mail_search_args_to_imap() Useful for writing IMAP SEARCH
+ parameters from struct mail_search_arg.
+
+
+M src/lib-storage/Makefile.am
+A src/lib-storage/mail-search-args-imap.c
+M src/lib-storage/mail-search.h
+A src/lib-storage/test-mail-search-args-imap.c
+
+2015-04-23 19:20:00 +0300 Timo Sirainen <tss@iki.fi> (4fe4f6e135)
+
+ lib-storage: Added mail_thread_type_to_str()
+
+
+M src/lib-storage/mail-thread.c
+M src/lib-storage/mail-thread.h
+
+2015-04-23 19:19:10 +0300 Timo Sirainen <tss@iki.fi> (120dd01f52)
+
+ lib-imap: Added imap_to_date()
+
+
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-date.h
+
+2015-04-23 16:33:19 +0300 Timo Sirainen <tss@iki.fi> (2848ed0473)
+
+ lib-storage: Fixed assert-crash with mailbox_list_index=yes if root mailbox
+ name was empty. This happened if the index was used for a non-listable
+ namespace whose prefix started with the namespace separator (e.g.
+ prefix="/expunged/")
+
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+
+2015-04-23 13:37:22 +0300 Timo Sirainen <tss@iki.fi> (a7348c7fdc)
+
+ imapc: After auth failed, return failure immediately when opening a mailbox.
+ Instead of trying to re-authenticate which again will most likely fail.
+ Based on patch by Michael M Slusarz
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2015-04-23 13:27:17 +0300 Timo Sirainen <tss@iki.fi> (471eed36d9)
+
+ lib-storage: Small code cleanup for index_mail_get_binary_stream() stream_r
+ is always non-NULL here. Also move unreferencing cache istream to be last in
+ case it might fix data.stream=NULL being here in some situations.
+
+
+M src/lib-storage/index/index-mail-binary.c
+
+2015-04-23 13:01:50 +0300 Timo Sirainen <tss@iki.fi> (75157863d6)
+
+ lib: Fixed reference counting in iostream-rawlog if either i/ostream wasn't
+ used.
+
+
+M src/lib/iostream-rawlog.c
+
+2015-04-23 11:40:03 +0300 Timo Sirainen <tss@iki.fi> (fc64b2b538)
+
+ lib: iostream_rawlog_create_from_stream() now allows input or output to be
+ NULL.
+
+
+M src/lib/iostream-rawlog.c
+
+2015-04-23 11:20:53 +0300 Timo Sirainen <tss@iki.fi> (59eba6fc8b)
+
+ lib-storage: Fixed subscription file reading when file was (nearly) empty.
+ Broken by the earlier changes.
+
+
+M src/lib-storage/list/subscription-file.c
+
+2015-04-22 18:17:10 +0300 Timo Sirainen <tss@iki.fi> (4b11f96880)
+
+ lib-storage: Added support for subscriptions file version 2 format. The v2
+ format's main benefit is that it doesn't write the hierarchy separator to
+ the subscriptions file, which allows the separator to be changed without
+ breaking subscriptions. This mainly affects LAYOUT=INDEX, which doesn't have
+ a native hardcoded separator.
+
+ The plan is to start writing v2 subscription files in Dovecot v2.3. So for
+ now we simply read such files and if we find v2 file we also modify it in v2
+ format, but we never create new v2 format files or convert v0 to v2.
+
+M src/lib-storage/list/subscription-file.c
+
+2015-04-21 23:00:08 +0300 Timo Sirainen <tss@iki.fi> (36716baeee)
+
+ fts-lucene: Fix to earlier commit: Header names must be indexed without
+ libfts, not with.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2015-04-21 21:29:42 +0300 Timo Sirainen <tss@iki.fi> (4f4daf7df8)
+
+ fts-lucene: Optionally use lib-fts instead of CLucene's own analyzers.
+ fts_lucene = use_libfts enables this.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/fts-lucene-plugin.h
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2015-04-21 21:28:41 +0300 Timo Sirainen <tss@iki.fi> (76cb5c2b65)
+
+ fts: If backend has FTS_BACKEND_FLAG_TOKENIZED_INPUT set, index also the
+ header name. We were sending the hdr_name to the backend without tokenizing
+ it or filtering it, so the backend couldn't have done anything useful about
+ it.
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2015-04-21 20:59:48 +0300 Timo Sirainen <tss@iki.fi> (0c509a394d)
+
+ lib-fs: Fixed fs-posix to work with fs_iter_init(path="") when fs prefix
+ wasn't set.
+
+
+M src/lib-fs/fs-posix.c
+
+2015-04-21 20:16:36 +0300 Timo Sirainen <tss@iki.fi> (ec930ce90b)
+
+ lib-fts: Added normalizer-simple for doing normalization without libicu.
+
+
+M src/lib-fts/Makefile.am
+A src/lib-fts/fts-filter-normalizer-simple.c
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-filter.h
+
+2015-04-21 19:40:42 +0300 Timo Sirainen <tss@iki.fi> (2f2faa96aa)
+
+ lib-fts: Fixed test-fts-filter to work again after previous normalizer
+ changes.
+
+
+M src/lib-fts/test-fts-filter.c
+
+2015-04-21 19:36:27 +0300 Timo Sirainen <tss@iki.fi> (63713f16ba)
+
+ lib-fts: Renamed normalizer to icu-normalizer, including the source code.
+
+
+M src/lib-fts/Makefile.am
+R078 src/lib-fts/fts-filter-normalizer.c src/lib-fts/fts-filter-normalizer-icu.c
+M src/lib-fts/fts-filter.c
+M src/lib-fts/fts-filter.h
+
+2015-04-21 19:31:14 +0300 Timo Sirainen <tss@iki.fi> (cb6f6ef504)
+
+ configure: s/normalizer/libicu/ since we it could be used for something else
+ as well.
+
+
+M configure.ac
+M src/lib-fts/Makefile.am
+M src/lib-fts/fts-filter-normalizer.c
+
+2015-04-21 17:01:39 +0300 Timo Sirainen <tss@iki.fi> (e298a331a4)
+
+ lmtp proxy: Include in log messages how long it took to deliver the mail. In
+ multi-RCPT TO sessions it's a bit unreliable to split the single DATA
+ reply's times to multiple lines, so instead each line just says "(2/3 at 123
+ ms)" meaning that the second mail was delivered at the time when 123
+ milliseconds had elapsed since the delivery was started.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2015-04-21 16:54:51 +0300 Timo Sirainen <tss@iki.fi> (da0420f1b5)
+
+ lib-lda: Assume that the caller sets delivery_time_started This is required
+ because parts of the delivery time may be done at the time the user is being
+ initialized, so it needs to be set before the user init is done.
+
+
+M src/lda/main.c
+M src/lib-lda/mail-deliver.c
+M src/lmtp/commands.c
+
+2015-04-21 16:52:59 +0300 Timo Sirainen <tss@iki.fi> (0783364679)
+
+ lib-lda: mail_deliver_log() now updates the %{delivery_time} instead of
+ using the first cached value. The first time the cached values are set the
+ transaction isn't committed and the mailbox isn't synced.
+
+
+M src/lib-lda/mail-deliver.c
+
+2015-04-21 16:50:43 +0300 Timo Sirainen <tss@iki.fi> (5072e5009f)
+
+ lib-lda: Added lmtp-client to track timestamps when various events happen.
+
+
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/lmtp-client.h
+
+2015-04-21 14:08:12 +0300 Timo Sirainen <tss@iki.fi> (cb29b57f69)
+
+ imap: Finishing previous commit by removing now-unnecessary code.
+
+
+M src/imap/cmd-select.c
+
+2015-04-21 14:06:41 +0300 Timo Sirainen <tss@iki.fi> (115cf0320f)
+
+ imap: Removed separate time counting from SELECT and SEARCH commands.
+
+
+M src/imap/cmd-select.c
+M src/imap/imap-search.c
+M src/imap/imap-search.h
+
+2015-04-21 14:06:22 +0300 Timo Sirainen <tss@iki.fi> (8808ae6412)
+
+ imap: Include in tagged reply how much running time each IMAP command takes.
+ The running time doesn't include time spent waiting for the client on
+ ioloop.
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands.c
+
+2015-04-21 14:03:52 +0300 Timo Sirainen <tss@iki.fi> (900cbc1dc5)
+
+ imap: Small code cleanup. Removed all the checks of
+ CLIENT_COMMAND_STATE_DONE to command_exec() itself.
+
+
+M src/imap/cmd-append.c
+M src/imap/imap-client.c
+M src/imap/imap-commands.c
+
+2015-04-21 13:19:24 +0300 Timo Sirainen <tss@iki.fi> (6b6011c224)
+
+ lda, lmtp: Added delivery_time and session_time variables to
+ deliver_log_format session_time is meaningful only with LMTP. The
+ delivery_time is separate for each mail delivery. The results are in
+ milliseconds now. If needed we could add a new %modifier that converts it
+ into secs.millisecs.
+
+
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2015-04-21 11:13:51 +0300 Timo Sirainen <tss@iki.fi> (dbd7b5ee98)
+
+ stats: num_cmds was always 0 in global stats
+
+
+M src/stats/mail-command.c
+
+2015-04-21 09:59:32 +0300 Timo Sirainen <tss@iki.fi> (e162baa2d2)
+
+ lib-fts: Added udhr_fra.txt to EXTRA_DIST
+
+
+M src/lib-fts/Makefile.am
+
+2015-04-20 19:57:37 +0300 Timo Sirainen <tss@iki.fi> (4bf6941ccd)
+
+ lib-fts: Added PropList.txt to EXTRA_DIST
+
+
+M src/lib-fts/Makefile.am
+
+2015-04-20 18:08:56 +0300 Timo Sirainen <tss@iki.fi> (82eadbc431)
+
+ lib-fts requires libexttextcat actually - don't even try to use textcat for
+ it. I'm also not sure yet if some libexttextcats are too old for it.
+
+
+M configure.ac
+M src/lib-fts/fts-language.c
+
+2015-04-20 18:02:31 +0300 Timo Sirainen <tss@iki.fi> (0ebe498801)
+
+ lib-fts: Updated Finnish/French stopword lists from Lucene code. Most
+ importantly they added the licensing info to the files.
+
+
+M src/lib-fts/stopwords_fi.txt
+M src/lib-fts/stopwords_fr.txt
+
+2015-04-20 17:45:32 +0300 Timo Sirainen <tss@iki.fi> (556c189ce6)
+
+ lib-fts: Fixed using FTS_NORMALIZER_CFLAGS/LIBS.
+
+
+M src/lib-fts/Makefile.am
+
+2015-04-20 17:44:21 +0300 Timo Sirainen <tss@iki.fi> (632d218191)
+
+ lib-fts: Don't crash in test-fts-filter if libstemmer support isn't built in
+
+
+M src/lib-fts/test-fts-filter.c
+
+2015-04-20 17:43:32 +0300 Timo Sirainen <tss@iki.fi> (ec976e5dd4)
+
+ lib-fts: Fixed some wrong macro name checks. Forgot to change these ones
+ while renaming them..
+
+
+M src/lib-fts/fts-filter-normalizer.c
+M src/lib-fts/fts-filter-stemmer-snowball.c
+M src/lib-fts/test-fts-filter.c
+
+2015-04-20 17:40:12 +0300 Timo Sirainen <tss@iki.fi> (9cff78f3cc)
+
+ lib-fts: Added missing stopwords_fi.txt
+
+
+M src/lib-fts/Makefile.am
+A src/lib-fts/stopwords_fi.txt
+
+2015-04-20 17:33:09 +0300 Timo Sirainen <tss@iki.fi> (4e07da7f29)
+
+ lib-fts: Fixed test-fts-language to use TEXTCAT_DATADIR This may still make
+ too many assumptions about what data exists where.. So we may need to remove
+ this test from "make check". But for now leave it there.
+
+
+M src/lib-fts/Makefile.am
+M src/lib-fts/test-fts-language.c
+
+2015-04-20 17:24:37 +0300 Timo Sirainen <tss@iki.fi> (30106a5a9f)
+
+ configure: Fixed building without textcat.
+
+
+M configure.ac
+
+2015-04-20 17:08:42 +0300 Timo Sirainen <tss@iki.fi> (44f6dba7ab)
+
+ configure: Added Debian Wheezy workaround for finding textcat.h
+
+
+M configure.ac
+
+2015-04-20 17:01:12 +0300 Timo Sirainen <tss@iki.fi> (a6f1ded5a5)
+
+ lib-fts: Fixed default textcat datadir paths.
+
+
+M configure.ac
+M src/lib-fts/fts-language.c
+
+2015-04-20 16:34:31 +0300 Timo Sirainen <tss@iki.fi> (fb32aea492)
+
+ configure: Fixed linking with libexttextcat when it was found via pkg-config
+
+
+M configure.ac
+
+2015-04-20 16:22:36 +0300 Timo Sirainen <tss@iki.fi> (1537d20b85)
+
+ fts: Added FTS_BACKEND_FLAG_TOKENIZED_INPUT, which is implemented via
+ lib-fts.
+
+
+M src/plugins/fts/Makefile.am
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-plugin.c
+A src/plugins/fts/fts-search-args.c
+A src/plugins/fts/fts-search-args.h
+M src/plugins/fts/fts-storage.c
+A src/plugins/fts/fts-user.c
+A src/plugins/fts/fts-user.h
+
+2015-04-20 16:19:07 +0300 Timo Sirainen <tss@iki.fi> (c865b0e9c6)
+
+ Initial import for lib-fts. Parts of what this code does was already
+ implemented internally by fts-lucene. lib-fts is intended to be usable for
+ all the FTS backends. The APIs are still going to change a bit, but
+ hopefully not after v2.2.17 release.
+
+ Mostly written by Teemu Huovila.
+
+M .hgignore
+M configure.ac
+M src/Makefile.am
+A src/lib-fts/Makefile.am
+A src/lib-fts/fts-filter-normalizer.c
+A src/lib-fts/fts-filter-private.h
+A src/lib-fts/fts-filter-stemmer-snowball.c
+A src/lib-fts/fts-filter-stopwords.c
+A src/lib-fts/fts-filter.c
+A src/lib-fts/fts-filter.h
+A src/lib-fts/fts-language.c
+A src/lib-fts/fts-language.h
+A src/lib-fts/fts-tokenizer-address.c
+A src/lib-fts/fts-tokenizer-generic-private.h
+A src/lib-fts/fts-tokenizer-generic.c
+A src/lib-fts/fts-tokenizer-private.h
+A src/lib-fts/fts-tokenizer.c
+A src/lib-fts/fts-tokenizer.h
+A src/lib-fts/stopwords_en.txt
+A src/lib-fts/stopwords_fr.txt
+A src/lib-fts/test-fts-filter.c
+A src/lib-fts/test-fts-language.c
+A src/lib-fts/test-fts-tokenizer.c
+A src/lib-fts/udhr_fra.txt
+A src/lib-fts/word-boundary-data.sh
+A src/lib-fts/word-break-data.sh
+
+2015-04-20 15:27:02 +0300 Timo Sirainen <tss@iki.fi> (5f9231534f)
+
+ configure: Fixed/improved finding and using libexttextcat. libexttextcat
+ wasn't actually being used at all by fts-lucene. Now we'll first prefer
+ finding it via pkg-config, next finding exttextcat and only last look up
+ textcat.
+
+
+M configure.ac
+M src/plugins/fts-lucene/Makefile.am
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2015-04-20 15:12:14 +0300 Timo Sirainen <tss@iki.fi> (db9ad8c821)
+
+ configure: Stemmer and textcat checks are now done even if CLucene isn't
+ used. They'll be useful for other FTS backends as well. This patch doesn't
+ change any actual functionality.
+
+
+M configure.ac
+M src/plugins/fts-lucene/Makefile.am
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2015-04-20 15:02:04 +0300 Timo Sirainen <tss@iki.fi> (fed97f5bee)
+
+ fts: Code cleanup to do all index updates via fts_build_data() This doesn't
+ actually change the behavior.
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2015-04-17 11:52:24 +0300 Timo Sirainen <tss@iki.fi> (ab0475b6fb)
+
+ doveadm fs delete -R: Don't add extra '/' chars in the middle of paths
+
+
+M src/doveadm/doveadm-fs.c
+
+2015-04-17 11:20:23 +0300 Timo Sirainen <tss@iki.fi> (ead160b74d)
+
+ dovecot-config: Added lib-stats to LIBDOVECOT_INCLUDE
+
+
+M dovecot-config.in.in
+
+2015-04-16 18:20:15 +0300 Timo Sirainen <tss@iki.fi> (60eda49183)
+
+ lib-fs: fs_class_register() can now be called externally.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2015-04-16 14:19:51 +0300 Timo Sirainen <tss@iki.fi> (c17957c850)
+
+ 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.
+
+
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+
+2015-04-16 12:59:05 +0300 Timo Sirainen <tss@iki.fi> (7c7e4eef72)
+
+ stats: Fixed compiling with some OSes. struct timeval wasn't necessarily
+ already defined by existing includes.
+
+
+M src/stats/mail-stats.h
+
+2015-04-16 11:46:22 +0300 Phil Carmody <phil@dovecot.fi> (8b814dfefb)
+
+ 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>
+
+M src/lib/test-array.c
+
+2015-04-15 21:01:11 +0300 Timo Sirainen <tss@iki.fi> (eb1365e616)
+
+ 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.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mail.h
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+
+2015-04-14 09:58:01 +0300 Timo Sirainen <tss@iki.fi> (1f366614aa)
+
+ 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.
+
+
+M src/lib-dict/dict-file.c
+
+2015-04-13 20:38:10 +0300 Timo Sirainen <tss@iki.fi> (b523ce6326)
+
+ auth: If passdb/userdb changes the username, add the changed username also
+ to the cache.
+
+
+M src/auth/auth-request.c
+
+2015-04-13 20:37:48 +0300 Timo Sirainen <tss@iki.fi> (87c4b77509)
+
+ auth: Setting userdb fields from cache didn't set handle any special fields.
+ The special fields were relatively rarely used though.
+
+
+M src/auth/auth-request.c
+
+2015-04-13 10:04:47 +0300 Timo Sirainen <tss@iki.fi> (d8128f68db)
+
+ replication plugin: Don't crash for users who don't have replication
+ enabled.
+
+
+M src/plugins/replication/replication-plugin.c
+
+2015-04-08 13:55:35 +0900 Timo Sirainen <tss@iki.fi> (31e6dbee5f)
+
+ 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.
+
+
+M src/lib/Makefile.am
+A src/lib/json-tree.c
+A src/lib/json-tree.h
+A src/lib/test-json-tree.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2015-04-06 12:07:32 +0900 Timo Sirainen <tss@iki.fi> (1f4f81ba81)
+
+ 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.
+
+
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.h
+M src/lib-index/test-mail-transaction-log-view.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/test-mailbox-get.c
+
+2015-04-06 11:39:34 +0900 Timo Sirainen <tss@iki.fi> (189c53b4ae)
+
+ rawlog: Flush output to disk every second instead of only when buffer is
+ full.
+
+
+M src/util/rawlog.c
+
+2015-04-03 08:53:45 +0900 Timo Sirainen <tss@iki.fi> (e94ce0c7fb)
+
+ configure: Added --with-textcat parameter
+
+
+M configure.ac
+
+2015-04-02 08:12:41 +0900 Timo Sirainen <tss@iki.fi> (eef454740c)
+
+ dsync: Improved error message when remote dsync-server couldn't be started.
+
+
+M src/doveadm/doveadm-dsync.c
+
+2015-04-01 01:16:57 +0900 Timo Sirainen <tss@iki.fi> (a166cdfbaa)
+
+ dsync: Don't try to use the new "finish" state with old dsync versions.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2015-03-28 01:23:47 +0200 Timo Sirainen <tss@iki.fi> (8b7e479f8d)
+
+ Makefile: Build lib-dovecot before lib-compression Because lib-compression
+ depends on it.
+
+
+M src/Makefile.am
+
+2015-03-27 23:39:30 +0200 Timo Sirainen <tss@iki.fi> (9871c4b8a0)
+
+ quota: Added debug information for quota_over_flag handling.
+
+
+M src/plugins/quota/quota.c
+
+2015-03-25 10:11:35 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (50e06c056c)
+
+ configure: Add missing (auto) to autodetected options.
+
+
+M configure.ac
+
+2015-03-27 18:04:51 +0200 Timo Sirainen <tss@iki.fi> (54f93d2bae)
+
+ lib-compression: Use libdovecot.so as dependency. Don't include liblib.a
+ itself!
+
+
+M src/lib-compression/Makefile.am
+
+2015-03-27 15:12:50 +0200 Timo Sirainen <tss@iki.fi> (603cfcf51e)
+
+ 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.
+
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2015-03-27 14:31:01 +0200 Timo Sirainen <tss@iki.fi> (e265563be2)
+
+ 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.
+
+
+M src/plugins/quota/quota.c
+
+2015-03-27 11:02:18 +0200 Timo Sirainen <tss@iki.fi> (e5d6ec3335)
+
+ auth: Don't add original_user or auth_user to passdb reply if they already
+ exist. This allows passdb to override their values cleanly.
+
+
+M src/auth/auth-request-handler.c
+
+2015-03-24 11:27:26 +0200 Timo Sirainen <tss@iki.fi> (4ce25b6f7f)
+
+ imapc: Fix to previous change - labels are strings and not atoms. Allow also
+ atoms just in case
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2015-03-24 10:14:58 +0100 Timo Sirainen <tss@iki.fi> (dce8b33992)
+
+ imapc: Ignore \Muted GMail label
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2015-03-22 20:54:29 +0200 Timo Sirainen <tss@iki.fi> (697ff56bf3)
+
+ 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.
+
+
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2015-03-22 20:52:56 +0200 Timo Sirainen <tss@iki.fi> (ea19bfdfc2)
+
+ 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.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2015-03-22 20:52:16 +0200 Timo Sirainen <tss@iki.fi> (0bf2d5782f)
+
+ 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.
+
+
+M src/lib-fs/fs-api.c
+
+2015-03-22 18:59:51 +0200 Timo Sirainen <tss@iki.fi> (11e8e38b5a)
+
+ Cleanup for libcharset's iconv linking. Linking libcharset.la now
+ automatically links with the necessary iconv libraries.
+
+
+M src/lib-charset/Makefile.am
+M src/lib-dovecot/Makefile.am
+M src/lib-mail/Makefile.am
+
+2015-03-20 21:58:16 +0200 Timo Sirainen <tss@iki.fi> (4898b00d59)
+
+ lib: Fixed potential build error when building without modules.
+
+
+M src/lib/module-dir.c
+
+2015-03-20 21:13:21 +0200 Timo Sirainen <tss@iki.fi> (4d65df350e)
+
+ lib-dict: Fixed crash when transaction failed due to dict server
+ disconnection.
+
+
+M src/lib-dict/dict-client.c
+
+2015-03-20 21:01:08 +0200 Timo Sirainen <tss@iki.fi> (93936b4e71)
+
+ lib: o_stream_create_rawlog_from_stream() should preserve the output stream
+ fd. ostream-rawlog is just a passthrough stream after all.
+
+
+M src/lib/ostream-rawlog.c
+
+2015-03-20 20:46:52 +0200 Timo Sirainen <tss@iki.fi> (ce9619645e)
+
+ doveadm: Added -h parameter to hide header line from tab and table formatter
+ output.
+
+
+M src/doveadm/doveadm-print-tab.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-print.h
+M src/doveadm/doveadm.c
+
+2015-03-20 13:27:00 +0200 Timo Sirainen <tss@iki.fi> (4a14ae5529)
+
+ 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
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+M src/lib-storage/mailbox-list.c
+M src/master/main.c
+
+2015-03-19 10:01:18 +0200 Timo Sirainen <tss@iki.fi> (28d084caf1)
+
+ dsync: Fixed returning wrong mail_error in some remote dsync.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2015-03-19 01:24:32 +0200 Timo Sirainen <tss@iki.fi> (535646abe6)
+
+ 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).
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2015-03-19 01:21:20 +0200 Timo Sirainen <tss@iki.fi> (4733d3729d)
+
+ imapc: Don't crash in mailbox_is_inconsistent() with unopened mailbox.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2015-03-19 01:20:38 +0200 Timo Sirainen <tss@iki.fi> (58ab5b9e71)
+
+ imap: If mailbox list is unusable at startup, return failure immediately.
+ This is currently used only by imapc when login fails.
+
+
+M src/imap/main.c
+
+2015-03-19 00:41:19 +0200 Timo Sirainen <tss@iki.fi> (ce0e25f26d)
+
+ dsync: Use storage's mail_error to choose the doveadm exit code. Instead of
+ always assuming that all errors are EX_TEMPFAIL.
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-private.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-export.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+
+2015-03-19 00:38:01 +0200 Timo Sirainen <tss@iki.fi> (ce7c2091ca)
+
+ 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.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2015-03-19 00:32:44 +0200 Timo Sirainen <tss@iki.fi> (d3d2e50d62)
+
+ lib-storage: mailbox_list_mailbox() now copies the mailbox_exists() error.
+ Instead of assuming it has to be an internal error.
+
+
+M src/lib-storage/mailbox-list.c
+
+2015-03-18 17:10:23 +0200 Phil Carmody <phil@dovecot.fi> (0248b1c21b)
+
+ 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>
+
+M src/lib/buffer.c
+
+2015-03-18 17:10:03 +0200 Phil Carmody <phil@dovecot.fi> (62684181bd)
+
+ lib: bits - improve bits_required to recurse downwards, not sideways Ooops.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/bits.h
+
+2015-03-18 17:09:30 +0200 Phil Carmody <phil@dovecot.fi> (db10156822)
+
+ 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>
+
+M src/lib/bits.h
+
+2015-03-18 13:43:35 +0200 Timo Sirainen <tss@iki.fi> (70fc76bbc5)
+
+ fts: Fixed assert-crash if fts-parser was created for a body part that
+ backend didn't want to index.
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2015-03-17 17:30:33 +0200 Timo Sirainen <tss@iki.fi> (cd58b6bbd3)
+
+ auth ldap: Crashfixes for earlier changes. Hopefully works correctly now
+
+
+M src/auth/db-ldap.c
+
+2015-03-17 10:49:20 +0200 Timo Sirainen <tss@iki.fi> (cc3cbeae65)
+
+ auth ldap: Fixed crash when handling invalid SSL option.
+
+
+M src/auth/db-ldap.c
+
+2015-03-17 09:58:03 +0200 Timo Sirainen <tss@iki.fi> (e3c410263e)
+
+ auth ldap: Fixed assert-crash when both passdb ldap and userdb ldap was used
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+
+2015-03-16 23:25:34 +0200 Timo Sirainen <tss@iki.fi> (99363aeac5)
+
+ 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.
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+M src/auth/passdb-ldap.c
+M src/auth/userdb-ldap.c
+
+2015-03-16 23:21:05 +0200 Timo Sirainen <tss@iki.fi> (67d650c5a1)
+
+ auth ldap: Make sure config file path is included in all fatal error
+ messages.
+
+
+M src/auth/db-ldap.c
+
+2015-03-16 23:17:39 +0200 Timo Sirainen <tss@iki.fi> (d492e2f0d0)
+
+ 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.
+
+
+M src/auth/db-ldap.c
+
+2015-03-16 23:14:49 +0200 Timo Sirainen <tss@iki.fi> (e885bb21d4)
+
+ 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.
+
+
+M src/auth/db-ldap.c
+
+2015-03-16 23:03:10 +0200 Timo Sirainen <tss@iki.fi> (6332ef7522)
+
+ auth ldap: More concentration of i_fatal() calls to db_ldap_init()
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+
+2015-03-16 22:55:47 +0200 Timo Sirainen <tss@iki.fi> (41e360a76a)
+
+ auth ldap: Moved more LDAP fatal checks to db_ldap_init()
+
+
+M src/auth/db-ldap.c
+
+2015-03-16 22:48:39 +0200 Timo Sirainen <tss@iki.fi> (22513dfdaa)
+
+ auth ldap: Improved ldap_initialize() failure's error logging.
+
+
+M src/auth/db-ldap.c
+
+2015-03-16 22:46:16 +0200 Timo Sirainen <tss@iki.fi> (f2dda28eb0)
+
+ auth ldap: Include LDAP config path in all fatal errors. Also moved all such
+ error checks to db_ldap_init().
+
+
+M src/auth/db-ldap.c
+
+2015-03-16 13:54:50 +0200 Timo Sirainen <tss@iki.fi> (8e8795e08a)
+
+ stats: Don't allow stats_refresh setting to be set too large.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2015-03-16 13:53:54 +0200 Timo Sirainen <tss@iki.fi> (9445ac01c1)
+
+ 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.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2015-03-13 20:08:34 +0200 Timo Sirainen <tss@iki.fi> (24bd831901)
+
+ 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.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-private.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-ibc.h
+
+2015-03-13 20:05:03 +0200 Timo Sirainen <tss@iki.fi> (b0a06fd1ca)
+
+ dsync: Added an extra assert.
+
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2015-03-13 20:03:27 +0200 Timo Sirainen <tss@iki.fi> (f4fdc28d5d)
+
+ imapc: If reconnect fails during syncing, don't treat all mails as expunged
+ in error handling code.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2015-03-13 16:28:31 +0200 Timo Sirainen <tss@iki.fi> (051c44cfe0)
+
+ lib-imap-client: If we get disconnected and reconnect, log it as warning
+ instead of as error.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+
+2015-03-13 16:12:37 +0200 Timo Sirainen <tss@iki.fi> (657f76e8b6)
+
+ fts: fts-parser doesn't need to be asked about all the known-plaintext
+ content-types.
+
+
+M src/plugins/fts/fts-parser.c
+
+2015-03-13 16:04:10 +0200 Timo Sirainen <tss@iki.fi> (88b90ce9df)
+
+ fts-tika, fts-solr: Added timeouts to requests so they aren't attempted
+ infinitely.
+
+
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts/fts-parser-tika.c
+
+2015-03-13 16:04:01 +0200 Timo Sirainen <tss@iki.fi> (5518182f11)
+
+ 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.
+
+
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-parser-html.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-parser-tika.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-parser.h
+
+2015-03-13 15:06:10 +0200 Timo Sirainen <tss@iki.fi> (ca20a10994)
+
+ 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.
+
+
+M src/config/Makefile.am
+M src/lib-dict/Makefile.am
+M src/lib-sql/Makefile.am
+M src/lib-storage/register/Makefile.am
+M src/lib/Makefile.am
+M src/plugins/quota/Makefile.am
+
+2015-03-12 19:39:03 +0200 Timo Sirainen <tss@iki.fi> (3818c2a966)
+
+ lib-mail: Added HEADER_FILTER_CRLF_PRESERVE flag to istream-header-filter.
+
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/istream-header-filter.h
+
+2015-03-12 17:41:09 +0200 Timo Sirainen <tss@iki.fi> (c999c1f500)
+
+ Added signature for changeset 0f8f0d8ee607
+
+
+M .hgsigs
+
+2015-03-12 17:41:05 +0200 Timo Sirainen <tss@iki.fi> (c512970717)
+
+ Added tag 2.2.16 for changeset 0f8f0d8ee607
+
+
+M .hgtags
+
+2015-03-12 17:41:05 +0200 Timo Sirainen <tss@iki.fi> (c087194944)
+
+ Released v2.2.16.
+
+
+M NEWS
+M configure.ac
+
+2015-03-12 15:50:59 +0200 Timo Sirainen <tss@iki.fi> (55171d0298)
+
+ rawlog: Updated -i -> -I also in usage string.
+
+
+M src/util/rawlog.c
+
+2015-03-12 15:50:07 +0200 Timo Sirainen <tss@iki.fi> (49f88c99b3)
+
+ rawlog: Changed -i to -I parameter We can't use -i, because it's handled by
+ lib-master for instance selection.
+
+
+M src/util/rawlog.c
+
+2015-03-12 15:42:31 +0200 Timo Sirainen <tss@iki.fi> (ac4ec9d17c)
+
+ 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.
+
+M configure.ac
+M src/lib-dict/Makefile.am
+
+2015-03-12 15:33:13 +0200 Timo Sirainen <tss@iki.fi> (2aa48777a6)
+
+ doveadm: Fixed table formatter for UTF-8 output. Based on patch by Hardy
+ Flor
+
+
+M src/doveadm/doveadm-print-table.c
+
+2015-03-12 12:32:54 +0200 Timo Sirainen <tss@iki.fi> (78199a8ade)
+
+ fts: Added missing error logging/setting.
+
+
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-storage.c
+
+2015-03-12 12:32:30 +0200 Timo Sirainen <tss@iki.fi> (6a262c9bd8)
+
+ doveadm: Added several missing error logging calls.
+
+
+M src/doveadm/doveadm-mail-deduplicate.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+
+2015-03-11 23:05:34 +0200 Timo Sirainen <tss@iki.fi> (13a7cda8a4)
+
+ imapc: Prefetching wasn't done for headers if there weren't also other
+ fields.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2015-03-11 20:38:52 +0200 Timo Sirainen <tss@iki.fi> (60df0886ad)
+
+ lib-master: Crashfix to earlier anvil query timeout change.
+
+
+M src/lib-master/anvil-client.c
+
+2015-03-11 20:02:20 +0200 Timo Sirainen <tss@iki.fi> (de26c21cfa)
+
+ imapc: Added throttling settings to imapc_features=throttle:a:b:c This
+ change could be reverted once good settings are found.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2015-03-11 19:44:48 +0200 Timo Sirainen <tss@iki.fi> (8557c3b6dd)
+
+ lib-imap-client: Implemented a bit more complicated [THROTTLING] behavior.
+ The throttling is now more continuous and decreases more slowly.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2015-03-11 18:30:19 +0200 Timo Sirainen <tss@iki.fi> (71417d43ad)
+
+ 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.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2015-03-11 17:54:27 +0200 Timo Sirainen <tss@iki.fi> (eda647108a)
+
+ imapc: Use GUIDs from cache.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2015-03-11 17:54:21 +0200 Timo Sirainen <tss@iki.fi> (3e546c4430)
+
+ imapc: Add prefetched GUIDs to cache.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2015-03-11 17:29:12 +0200 Timo Sirainen <tss@iki.fi> (4f75b5bff4)
+
+ 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.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2015-03-11 16:40:05 +0200 Timo Sirainen <tss@iki.fi> (2c16769fb3)
+
+ lib-master: Timeout anvil queries after 5 seconds.
+
+
+M src/lib-master/anvil-client.c
+
+2015-03-11 16:39:24 +0200 Timo Sirainen <tss@iki.fi> (34f7d3a806)
+
+ lib-master: If write() to anvil fails, reconnect to it.
+
+
+M src/lib-master/anvil-client.c
+
+2015-03-11 14:39:52 +0200 Timo Sirainen <tss@iki.fi> (b43d7e2b75)
+
+ imapc: Don't flush prefetch FETCH command before it has mail_prefetch_count
+ number of mails.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2015-03-11 14:39:26 +0200 Timo Sirainen <tss@iki.fi> (2a1d9dda6e)
+
+ imapc: Make sure we don't flush prefetch FETCH command unneededly.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.h
+
+2015-03-11 13:28:24 +0200 Timo Sirainen <tss@iki.fi> (851404049f)
+
+ doveadm: Initialize logging. Most importantly so that LOG_STDERR_TIMESTAMP
+ can be used to prefix each line with a timestamp.
+
+
+M src/doveadm/doveadm.c
+
+2015-03-11 13:27:49 +0200 Timo Sirainen <tss@iki.fi> (e52f55c08f)
+
+ lib-master: Get log timestamp prefix from LOG_STDERR_TIMESTAMP environment.
+
+
+M src/lib-master/master-service.c
+
+2015-03-09 21:27:51 +0200 Timo Sirainen <tss@iki.fi> (a7b2e5e2a2)
+
+ lib-fs: Optimized fs_stat() for fs-metawrap after writing a file.
+
+
+M src/lib-fs/fs-metawrap.c
+
+2015-03-09 20:33:13 +0200 Timo Sirainen <tss@iki.fi> (876cc43339)
+
+ fs-posix: Don't close fd after successful write. 5bd6e2eee650 should have
+ been done only on failures.
+
+
+M src/lib-fs/fs-posix.c
+
+2015-03-09 20:26:50 +0200 Timo Sirainen <tss@iki.fi> (664bf3e236)
+
+ fs-posix: Implement fs_stat() with fstat() if fd is already open.
+
+
+M src/lib-fs/fs-posix.c
+
+2015-03-09 19:29:04 +0200 Timo Sirainen <tss@iki.fi> (b82a8dd9af)
+
+ fs-posix: Don't try to unlink() the temp file twice after failure.
+
+
+M src/lib-fs/fs-posix.c
+
+2015-03-09 17:36:11 +0200 Timo Sirainen <tss@iki.fi> (737c22276f)
+
+ lib: And another module_dir_load() bugfix..
+
+
+M src/lib/module-dir.c
+
+2015-03-09 17:15:03 +0200 Timo Sirainen <tss@iki.fi> (4d9cd7ab28)
+
+ lib: Small error logging improvements for module_dir_load()
+
+
+M src/lib/module-dir.c
+
+2015-03-09 17:14:35 +0200 Timo Sirainen <tss@iki.fi> (a870ffe750)
+
+ 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.
+
+
+M src/lib/module-dir.c
+
+2015-03-09 16:17:08 +0200 Timo Sirainen <tss@iki.fi> (2e429f7932)
+
+ indexer-worker: Added missing error logging.
+
+
+M src/indexer/master-connection.c
+
+2015-03-09 15:32:23 +0200 Timo Sirainen <tss@iki.fi> (46e227c139)
+
+ lib-imap-client: Fixed GMail [THROTTLED] detection. It's not a
+ resp-text-code, but appended at the end of line.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2015-03-09 15:26:45 +0200 Timo Sirainen <tss@iki.fi> (08f429b666)
+
+ 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).
+
+
+M src/lib-fs/fs-posix.c
+
+2015-03-09 15:26:01 +0200 Timo Sirainen <tss@iki.fi> (6ff4d08b33)
+
+ 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.
+
+
+M src/lib-fs/fs-posix.c
+
+2015-03-06 17:47:38 +0200 Timo Sirainen <tss@iki.fi> (cc8bf5e5bc)
+
+ Added signature for changeset a3c27cec4112
+
+
+M .hgsigs
+
+2015-03-06 17:47:34 +0200 Timo Sirainen <tss@iki.fi> (50ed84230e)
+
+ Added tag 2.2.16.rc1 for changeset a3c27cec4112
+
+
+M .hgtags
+
+2015-03-06 17:47:34 +0200 Timo Sirainen <tss@iki.fi> (3dad5b157b)
+
+ Released v2.2.16.rc1.
+
+
+M NEWS
+M configure.ac
+
+2015-03-06 17:46:26 +0200 Timo Sirainen <tss@iki.fi> (846adf6cf3)
+
+ lib-mail: Unit test fix to make static analyzer happier
+
+
+M src/lib-mail/test-message-part.c
+
+2015-03-06 16:37:07 +0200 Timo Sirainen <tss@iki.fi> (f24f2b5e17)
+
+ lmtp: Fixed lmtp_user_concurrency_limit=0 to actually mean unlimited
+
+
+M src/lmtp/commands.c
+
+2015-03-06 16:33:23 +0200 Timo Sirainen <tss@iki.fi> (d25877a69c)
+
+ lda/lmtp: Added a hardcoded LDA_SUBMISSION_TIMEOUT_SECS=30 timeout for SMTP
+ client. Maybe we could have a new setting if needed later on, but we've been
+ working pretty successfully without any timeout for a long time..
+
+
+M src/lda/main.c
+M src/lib-lda/mail-deliver.h
+M src/lib-lda/mail-send.c
+M src/lmtp/commands.c
+
+2015-03-06 16:32:05 +0200 Timo Sirainen <tss@iki.fi> (0d4483bc4a)
+
+ lib-lda: Added smtp_client_deinit_timeout() to give a session timeout.
+
+
+M src/lib-lda/smtp-client.c
+M src/lib-lda/smtp-client.h
+
+2015-03-06 16:30:55 +0200 Timo Sirainen <tss@iki.fi> (18dad02ae3)
+
+ lib-lda: lmtp client now supports checking for timeouts internally. The
+ default is still to have no timeout.
+
+
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/lmtp-client.h
+
+2015-03-06 11:55:45 +0200 Timo Sirainen <tss@iki.fi> (c793a28b3a)
+
+ lib-fs: struct fs_stats comment updates
+
+
+M src/lib-fs/fs-api.h
+
+2015-03-06 11:51:55 +0200 Timo Sirainen <tss@iki.fi> (4dfd8a717f)
+
+ lib-fs: Minor code cleanup: Merge read_counted & prefetch_counted into
+ read_or_prefetch_counted
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2015-03-06 02:23:56 +0200 Timo Sirainen <tss@iki.fi> (87845ba7d3)
+
+ lib-master: Added anvil_client_query_abort()
+
+
+M src/lib-master/anvil-client.c
+M src/lib-master/anvil-client.h
+
+2015-03-06 02:10:02 +0200 Timo Sirainen <tss@iki.fi> (42abccd9b2)
+
+ lmtp: Added lmtp_user_concurrency_limit setting. This allows limiting the
+ number of concurrent deliveries to a single user. Useful in case one user is
+ receiving a lot of mails and causing other deliveries to be delayed. If the
+ limit is reached, Dovecot returns temporary failure error at DATA stage.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+M src/lmtp/main.c
+M src/lmtp/main.h
+
+2015-03-06 02:06:10 +0200 Timo Sirainen <tss@iki.fi> (b02e7bac5b)
+
+ lmtp: Changed rcpt_to array to contain pointers to struct mail_recipient
+ This allow storing the pointers so they don't change.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2015-03-06 01:01:28 +0200 Timo Sirainen <tss@iki.fi> (9ab339518d)
+
+ pop3-login: Disconnect client on 3rd invalid command (not 11th).
+
+
+M src/pop3-login/client.c
+
+2015-03-06 00:41:14 +0200 Timo Sirainen <tss@iki.fi> (52b61e1dfc)
+
+ lib: Minor improvement to test-wildcard-match unit test.
+
+
+M src/lib/test-wildcard-match.c
+
+2015-03-06 00:40:46 +0200 Timo Sirainen <tss@iki.fi> (666286d8ec)
+
+ quota: If overquota-flag in userdb is wrong, execute a configured script.
+ The idea here is that a quota_warning script could set user's overquota-flag
+ to e.g. LDAP where MTA could reject mails already at RCPT TO stage. The
+ quota_warning scripts however have race conditions that are difficult (or
+ impossible) to fix, so sometimes the overquota-flag could become wrong and
+ might require manual intervention to fix it. This feature is supposed to
+ solve the issue by comparing the overquota-flag's status to the actual
+ current quota usage and execute a script to fix up the situation if needed.
+ This script is of course racy as well, but there's always the next login
+ that can fix the situation. Also it's pretty rare that user's quota is
+ jumping just around the limit.
+
+ The overquota-flag name in userdb must be "quota_over_flag". There are two
+ settings to configure what to do:
+
+ plugin {
+ # If quota_over_flag=TRUE, the overquota-flag is enabled. Otherwise not.
+ quota_over_flag_value = TRUE
+
+ # Any non-empty value for quota_over_flag means user is over quota.
+ # Wildcards can be used in a generic way, e.g. "*yes" or "*TRUE*"
+ #quota_over_flag_value = *
+
+ # Service script to execute if overquota-flag is wrong. Configured the
+ # same as quota_warning scripts. The current quota_over_flag's value is
+ # appended as the last parameter.
+ quota_over_script = quota-warning mismatch %u
+ }
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2015-03-05 23:02:48 +0200 Timo Sirainen <tss@iki.fi> (379175cfba)
+
+ stats process/plugin redesign to be more modular. The visible functionality
+ doesn't actually change with this patch yet, but it allows other
+ plugins/services to add their own fields to stats process. For example auth
+ process could send auth success/failures or auth cache hits/misses.
+
+
+M configure.ac
+M src/Makefile.am
+M src/lib-dovecot/Makefile.am
+A src/lib-stats/Makefile.am
+A src/lib-stats/stats-parser.c
+A src/lib-stats/stats-parser.h
+A src/lib-stats/stats.c
+A src/lib-stats/stats.h
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+M src/plugins/imap-stats/Makefile.am
+M src/plugins/imap-stats/imap-stats-plugin.c
+M src/plugins/stats/Makefile.am
+A src/plugins/stats/mail-stats-fill.c
+A src/plugins/stats/mail-stats.c
+A src/plugins/stats/mail-stats.h
+M src/plugins/stats/stats-connection.c
+M src/plugins/stats/stats-connection.h
+M src/plugins/stats/stats-plugin.c
+M src/plugins/stats/stats-plugin.h
+M src/stats/Makefile.am
+M src/stats/client-export.c
+M src/stats/mail-command.c
+M src/stats/mail-domain.c
+M src/stats/mail-domain.h
+M src/stats/mail-ip.c
+M src/stats/mail-ip.h
+M src/stats/mail-server-connection.c
+M src/stats/mail-session.c
+M src/stats/mail-session.h
+M src/stats/mail-stats.c
+M src/stats/mail-stats.h
+M src/stats/mail-user.c
+M src/stats/mail-user.h
+M src/stats/main.c
+
+2015-03-05 22:19:02 +0200 Timo Sirainen <tss@iki.fi> (bebc9fe206)
+
+ lib: Don't call ioloop context deactivate() if activate() hasn't been called
+ yet. This could have happened immediately after the callback was registered.
+
+
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+
+2015-03-05 22:18:04 +0200 Timo Sirainen <tss@iki.fi> (302167a8a7)
+
+ lib-fs: Track how many different operations have been done on the fs.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2015-03-05 22:17:09 +0200 Timo Sirainen <tss@iki.fi> (4c827a0925)
+
+ lib-fs: Added fs_get_parent() and fs_get_driver() These can be used to
+ iterate through fs wrappers and see what they are.
+
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2015-03-03 19:48:23 +0200 Timo Sirainen <tss@iki.fi> (bcd946aee6)
+
+ doveadm backup: Try to avoid crashing on unexpected destination changes.
+ It's a bit difficult to reproduce this bug.. But at least this change should
+ change the assert, if nothing else.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2015-03-03 19:34:59 +0200 Timo Sirainen <tss@iki.fi> (f771d4d1fd)
+
+ dsync: Open mailboxes with readonly-flag whenever possible. There shouldn't
+ be any actual functional difference though.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+
+2015-03-03 19:32:28 +0200 Timo Sirainen <tss@iki.fi> (de3175adb4)
+
+ doveadm backup -R: Open the mailbox as readonly, so with imapc EXAMINE is
+ used.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+
+2015-03-03 17:25:33 +0200 Timo Sirainen <tss@iki.fi> (3f50c13814)
+
+ lib-imap-client: Get capabilities again after reconnection to server. This
+ is needed most importantly if we're not using plaintext authentication to
+ log in.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2015-03-03 01:05:49 +0200 Timo Sirainen <tss@iki.fi> (a0d0650370)
+
+ lib-fs: Added FS_ITER_FLAG_NOCACHE
+
+
+M src/lib-fs/fs-api.h
+
+2015-03-02 21:14:55 +0200 Timo Sirainen <tss@iki.fi> (ddc8fe2638)
+
+ rawlog: Removed double '.' chars from log filenames
+
+
+M src/util/rawlog.c
+
+2015-03-02 15:07:20 +0200 Timo Sirainen <tss@iki.fi> (640d320445)
+
+ dict-redis: Added support for changing the Redis database. Adding :db=N to
+ the dict string specifies the database.
+
+
+M src/lib-dict/dict-redis.c
+
+2015-03-02 14:41:11 +0200 Timo Sirainen <tss@iki.fi> (d907b51d22)
+
+ lib: Added assert to i_stream_create_seekable*() to have non-zero
+ max_buffer_size. This size is used for the created fd istream and it can't
+ be zero.
+
+
+M src/lib/istream-seekable.c
+
+2015-03-02 14:36:15 +0200 Timo Sirainen <tss@iki.fi> (ac6bba612a)
+
+ lib: Give a name for istream-seekable's temporary fd istream.
+
+
+M src/lib/istream-seekable.c
+
+2015-03-01 22:14:01 +0200 Timo Sirainen <tss@iki.fi> (1bf1a24a90)
+
+ lib-storage: Allow up to 255 chars in a single mailbox hierarchy name. This
+ also reduces the max number of hierarchy levels, but 16 should still be
+ enough for normal uses.
+
+
+M src/lib-storage/mailbox-list.c
+
+2015-02-27 14:29:10 +0200 Timo Sirainen <tss@iki.fi> (be5a825edb)
+
+ fts-lucene: Fixed lookups from virtual mailboxes with over 32 physical
+ mailboxes.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2015-02-26 20:24:16 +0200 Timo Sirainen <tss@iki.fi> (5dc8572f1d)
+
+ dsync: If we get disconnected from remoset server, exit with EX_TEMPFAIL
+ Instead of 1000, which gets truncated to 232.
+
+
+M src/doveadm/doveadm-dsync.c
+
+2015-02-25 18:58:50 +0200 Timo Sirainen <tss@iki.fi> (1bea995196)
+
+ lib-index: Added an assert. It seems to be triggering later on, but not sure
+ how it's happening.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2015-02-25 15:06:29 +0200 Timo Sirainen <tss@iki.fi> (68801dacba)
+
+ doveadm: If command going through multiple users fails with user-specific
+ error, don't stop.
+
+
+M src/doveadm/doveadm-mail-server.c
+
+2015-02-25 15:05:22 +0200 Timo Sirainen <tss@iki.fi> (83b7b796c7)
+
+ lib-auth: auth_master_pass/user_lookup() now returns -2 for user-specific
+ errors. Compared to -1 which are about a more generic error with auth
+ process communication. If -2 is returned the lookup could still succeed for
+ another user.
+
+
+M src/doveadm/doveadm-auth.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+
+2015-02-24 18:42:43 +0200 Timo Sirainen <tss@iki.fi> (b78bed724f)
+
+ expire plugin: If expire_cache=yes, cache the dict db value in dovecot.index
+ file. This avoids all of the dict lookups when mails are being saved to a
+ mailbox that is tracked for expiring. The only downside is that if the dict
+ is externally modified, the changes won't reflect the cached value. This
+ isn't normally a problem (except maybe in initial testing stages).
+
+
+M src/plugins/expire/expire-plugin.c
+
+2015-02-21 11:40:40 +0200 Timo Sirainen <tss@iki.fi> (98935c8408)
+
+ dsync: Debug logging was attempting to read already freed memory.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2015-02-20 14:04:28 +0200 Timo Sirainen <tss@iki.fi> (8d56694af1)
+
+ LAYOUT=index: Reversed d977a746819d - use storage's list_index_*() callbacks
+ after all. Just because we have all the mailbox information in the mailbox
+ list index doesn't mean that we necessarily trust the folder mail counts and
+ such to be correct. Setting mailbox_list_index_very_dirty_syncs=yes pretty
+ much reverts to the earlier behavior.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2015-02-20 12:56:43 +0200 Timo Sirainen <tss@iki.fi> (399a7f628c)
+
+ dsync: Added more debug output for mailbox renaming.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2015-02-19 19:31:49 +0200 Timo Sirainen <tss@iki.fi> (1497234a27)
+
+ lib-storage: Index rebuilding (for [sm]dbox) caused it to reset
+ dovecot.index.cache file Although in some situations this might be wanted,
+ usually it's not needed and simply makes the performance worse. If caching
+ is explicitly unwanted the dovecot.index.cache file can be deleted manually
+ for now. Perhaps there could be a separate doveadm force-resync parameter to
+ do it as well.
+
+
+M src/lib-storage/index/index-rebuild.c
+
+2015-02-19 13:45:23 +0200 Timo Sirainen <tss@iki.fi> (5dcaffaa31)
+
+ Makefile: Added run-test.sh to be cleaned by distclean
+
+
+M Makefile.am
+
+2015-02-19 13:05:49 +0200 Timo Sirainen <tss@iki.fi> (d47bd663de)
+
+ lib: Make static analyzer happier
+
+
+M src/lib/test-istream.c
+
+2015-02-19 13:05:31 +0200 Timo Sirainen <tss@iki.fi> (96f75b44a4)
+
+ lib: Another test_assert() -> i_assert() change to avoid static analyzer
+ warnings.
+
+
+M src/lib/test-data-stack.c
+
+2015-02-19 13:03:46 +0200 Timo Sirainen <tss@iki.fi> (98c59517eb)
+
+ lib: Replaced two test_assert()s checking for NULLs with i_assert()s These
+ can never happen anyway, and keeping them as test_assert()s cause static
+ analyzer to give warnings.
+
+
+M src/lib/test-data-stack.c
+M src/lib/test-printf-format-fix.c
+
+2015-02-19 12:00:11 +0200 Timo Sirainen <tss@iki.fi> (1183340bf4)
+
+ fs-posix: Removed the FS_PROPERTY_DIRECTORIES after all. We could have kept
+ it if we removed the auto-rmdir()-parents feature in fs_delete(), but SIS
+ code already somewhat relies on it so it's better not to change it for now
+ at least.
+
+ The downside here though is that directories are rmdir()ed only if
+ fs_settings.root_dir is set. So for example "doveadm fs delete -R" doesn't
+ ever rmdir() any directories. But that's probably not a real problem.
+
+M src/lib-fs/fs-posix.c
+
+2015-02-19 10:24:09 +0200 Timo Sirainen <tss@iki.fi> (abf9eb24d0)
+
+ Makefile: Removed run-test.sh from EXTRA_DIST since it's now generated by
+ configure
+
+
+M Makefile.am
+
+2015-02-17 23:13:22 +0200 Timo Sirainen <tss@iki.fi> (e545e42a47)
+
+ lib-fs: fs-posix needs to return FS_PROPERTY_DIRECTORIES
+
+
+M src/lib-fs/fs-posix.c
+
+2015-02-17 23:13:00 +0200 Timo Sirainen <tss@iki.fi> (95c13a2735)
+
+ doveadm fs delete -R: Delete the root directory also.
+
+
+M src/doveadm/doveadm-fs.c
+
+2015-02-17 23:07:00 +0200 Timo Sirainen <tss@iki.fi> (aab0e25f23)
+
+ doveadm fs delete: When recursively deleting files, delete directories with
+ "/" prefix. Some backends require this to properly delete the file. Those
+ that don't can ignore it easily.
+
+
+M src/doveadm/doveadm-fs.c
+
+2015-02-17 22:06:14 +0200 Timo Sirainen <tss@iki.fi> (fb10881ee5)
+
+ doveadm fetch: Removed unused code.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2015-02-17 20:43:57 +0200 Timo Sirainen <tss@iki.fi> (41843bdb6c)
+
+ lib-fs: Added FS_METADATA_OBJECTID macro.
+
+
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-metawrap.c
+
+2015-02-17 20:42:59 +0200 Timo Sirainen <tss@iki.fi> (8656b625c1)
+
+ lib-fs: Added flag for iteration returning object IDs. The flag is only
+ allowed to be used if FS_PROPERTY_OBJECTIDS is set (to avoid writing extra
+ code for backends that don't support this).
+
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2015-02-17 16:02:49 +0200 Timo Sirainen <tss@iki.fi> (acfdd1b162)
+
+ imapc: Fixed STATUS_FIRST_RECENT_UID to return the (mostly) correct UID.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2015-02-15 10:11:01 +0200 Timo Sirainen <tss@iki.fi> (e617d6e7db)
+
+ doveadm: Added "save" command to directly save mail to specified mailbox.
+ The mail is read from stdin.
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-mail-save.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2015-02-15 10:09:19 +0200 Timo Sirainen <tss@iki.fi> (32c779d5d0)
+
+ doveadm: Added support for mail commands to read an input stream (from
+ stdin) This is done by calling doveadm_mail_get_input() from the command's
+ init() function. Currently it reads the entire input into a seekable istream
+ with hardcoded 5 minute timeout. The input stream sending works also through
+ doveadm proxying.
+
+ This could probably be used by dsync at some point to support proxying over
+ doveadm proxies, but that would require some more work. Especially a flag
+ for commands to specify that they allow non-blocking input streams.
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/server-connection.c
+M src/doveadm/server-connection.h
+
+2015-02-15 10:03:10 +0200 Timo Sirainen <tss@iki.fi> (83773f7eb5)
+
+ lib-mail: ostream-dot API changes The dot-line sending is now done when
+ o_stream_flush() is called. This should be used instead of relying on
+ close() doing it, because it still needs to write a few bytes and there are
+ no guarantees that the parent stream allows sending them.
+
+ Also added force_extra_crlf parameter, which specifies whether CRLF should
+ always be written before the dot-line, even when it already contained CRLF.
+ This is useful if the input is read with
+ i_stream_create_dot(send_last_lf=FALSE), since it allows sending a stream
+ that doesn't have to end with LF.
+
+M src/lib-mail/ostream-dot.c
+M src/lib-mail/ostream-dot.h
+M src/lib-mail/test-ostream-dot.c
+
+2015-02-15 09:55:56 +0200 Timo Sirainen <tss@iki.fi> (f7355a5779)
+
+ lib-mail: istream-dot should have immediately returned error if dot-line was
+ missing at EOF.
+
+
+M src/lib-mail/istream-dot.c
+
+2015-02-15 09:55:05 +0200 Timo Sirainen <tss@iki.fi> (fb502495e9)
+
+ lib: If i_stream_read() sets stream_errno even if it didn't return -1, make
+ sure we set eof=TRUE
+
+
+M src/lib/istream.c
+
+2015-02-15 09:54:45 +0200 Timo Sirainen <tss@iki.fi> (b8c009e163)
+
+ lib: If istream-seekable's parent stream returns error, make sure we set
+ eof=TRUE
+
+
+M src/lib/istream-seekable.c
+
+2015-02-14 09:47:41 +0200 Timo Sirainen <tss@iki.fi> (77706d164e)
+
+ lib-imap-client: Improved error message a bit if server disconnects.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2015-02-13 16:39:30 +0200 Timo Sirainen <tss@iki.fi> (fc63bad6ab)
+
+ configure: Removed unnecessary lines left by the previous commit.
+
+
+M configure.ac
+
+2015-02-13 16:38:35 +0200 Timo Sirainen <tss@iki.fi> (e42dd71494)
+
+ Link all libstorage.la dependencies into the library itself instead. Instead
+ of keeping a lot of different libraries in LIBDOVECOT_STORAGE, which have
+ circular dependencies and may cause linking issues.
+
+
+M configure.ac
+M src/lib-storage/Makefile.am
+
+2015-02-13 14:35:54 +0200 Timo Sirainen <tss@iki.fi> (a76bcf87b4)
+
+ dovecot-config: Added DOVECOT_INSTALLED parameter. Also added
+ dovecot_installed_moduledir to dovecot.m4
+
+ These can be used by external plugins to access some headers and libraries
+ that don't already have existing DOVECOT_* parameters in dovecot-config.
+
+M Makefile.am
+M dovecot.m4
+
+2015-02-12 14:38:18 +0200 Timo Sirainen <tss@iki.fi> (bd5b580c07)
+
+ dovecot-config: Added LIBDOVECOT_NOTIFY_INCLUDE
+
+
+M dovecot-config.in.in
+M dovecot.m4
+
+2015-02-12 13:29:23 +0200 Timo Sirainen <tss@iki.fi> (076cc77913)
+
+ dovecot-config: Added lib-storage/index/imapc also to
+ LIBDOVECOT_IMAPC_INCLUDE
+
+
+M dovecot-config.in.in
+
+2015-02-12 12:42:39 +0200 Timo Sirainen <tss@iki.fi> (0d2a67d57b)
+
+ dovecot-config: Added LIBDOVECOT_IMAPC_INCLUDE and LIBDOVECOT_FTS_INCLUDE
+
+
+M dovecot-config.in.in
+M dovecot.m4
+
+2015-02-12 10:49:28 +0200 Timo Sirainen <tss@iki.fi> (432dd1f5d7)
+
+ fts: Fixed memory leak in HTML parsing
+
+
+M src/plugins/fts/fts-parser-html.c
+
+2015-02-11 11:56:59 +0200 Timo Sirainen <tss@iki.fi> (0226f0f919)
+
+ fts: Fixed error printing if fts wasn't enabled for user's default
+ namespace.
+
+
+M src/plugins/fts/doveadm-fts.c
+
+2015-02-10 17:29:31 +0200 Timo Sirainen <tss@iki.fi> (fd2ede339d)
+
+ dovecot-config: Added lib-sasl path into LIBDOVECOT_INCLUDE.
+
+
+M dovecot-config.in.in
+
+2015-02-10 13:12:42 +0200 Timo Sirainen <tss@iki.fi> (cd244bb810)
+
+ dovecot.m4: External plugins can now more easily run their tests via
+ Valgrind. DC_DOVECOT macro automatically adds RUN_TEST variable to
+ Makefiles, which can be used to call any test programs. If valgrind exists,
+ the tests are run through it. This is done by writing run-test.sh to the
+ build directory, so the original run-test.sh in hg is no longer needed.
+
+
+M .hgignore
+M configure.ac
+M dovecot.m4
+D run-test.sh
+
+2015-02-10 12:31:12 +0200 Phil Carmody <phil@dovecot.fi> (212a34c06f)
+
+ lib: istream create helpers for common cases Several clients want to create
+ streams from buffer_t and string_t, we may as well make it easy for them
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/istream.h
+
+2015-02-09 21:58:13 +0200 Timo Sirainen <tss@iki.fi> (7676a044f8)
+
+ dsync: Don't try to rename namespace prefixes.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+
+2015-02-09 21:45:04 +0200 Timo Sirainen <tss@iki.fi> (84a1abefd2)
+
+ dsync: Fixed assert-crash when the two mailbox trees differed only by their
+ directory names.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2015-02-09 15:38:42 +0200 Timo Sirainen <tss@iki.fi> (68b3865469)
+
+ doveadm copy/move/import: Delay initializing source user until run() This
+ fixes using them with doveadm proxying.
+
+
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-import.c
+
+2015-02-09 15:21:55 +0200 Timo Sirainen <tss@iki.fi> (42681892b2)
+
+ doveadm: Added comments to struct doveadm_mail_cmd_vfuncs
+
+
+M src/doveadm/doveadm-mail.h
+
+2015-02-09 13:03:47 +0200 Timo Sirainen <tss@iki.fi> (a03f2228e5)
+
+ doveadm: Reverted changeset 3b89f2f4ffb3, which avoided calling init() for
+ proxied commands. The init() is required for all commands that print
+ something, because otherwise the doveadm_print_header*() isn't called and
+ the commands crash.
+
+ The reason for the original change was that some commands' init() attempted
+ to do too much work on the proxy, which ended up failing. So looks like the
+ proper fix is to just remove this kind of extra work from init().
+
+M src/doveadm/doveadm-mail.c
+
+2015-02-09 04:03:12 +0200 Timo Sirainen <tss@iki.fi> (f2880c3c3d)
+
+ log: If too much logging data is sent, show it in process title.
+
+
+M src/log/log-connection.c
+M src/log/log-connection.h
+M src/log/main.c
+M src/master/service-process.c
+
+2015-02-07 18:39:05 +0200 Timo Sirainen <tss@iki.fi> (aed2118ef7)
+
+ log: Log a warning if some connection is logging faster than we can write.
+
+
+M src/log/log-connection.c
+
+2015-02-07 18:23:58 +0200 Timo Sirainen <tss@iki.fi> (f45d907940)
+
+ log: Don't spend more than 100 msecs at a time logging one connection.
+
+
+M src/log/log-connection.c
+
+2015-02-07 18:17:59 +0200 Timo Sirainen <tss@iki.fi> (f6849394b0)
+
+ log: Small cleanup: Include log connection prefix when logging read()
+ errors.
+
+
+M src/log/log-connection.c
+
+2015-02-07 18:14:53 +0200 Timo Sirainen <tss@iki.fi> (452455bb3b)
+
+ log: Minor cleanup: Update ioloop_timeval whenever reading input from log
+ client.
+
+
+M src/log/log-connection.c
+
+2015-02-06 19:03:20 +0200 Timo Sirainen <tss@iki.fi> (842a57e10c)
+
+ lib: Accidentally committed a nonexistent function call in previous commit.
+
+
+M src/lib/module-dir.c
+
+2015-02-06 18:18:19 +0200 Timo Sirainen <tss@iki.fi> (351668ae69)
+
+ lib-storage: Use module_dir_try_load_missing() to load user plugins.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2015-02-06 18:18:10 +0200 Timo Sirainen <tss@iki.fi> (e05a7d1768)
+
+ lib: Added module_dir_try_load_missing() that returns error instead of
+ logging it. Also module_names now can be given for it without i_fatal()
+ being called.
+
+
+M src/lib/module-dir.c
+M src/lib/module-dir.h
+
+2015-02-06 18:17:10 +0200 Timo Sirainen <tss@iki.fi> (a48ccadf62)
+
+ lib-storage: Previous log prefix changing code started accessing freed
+ memory.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2015-02-06 17:06:36 +0200 Timo Sirainen <tss@iki.fi> (39f5c2b214)
+
+ lib-storage: Set the user log prefix earlier when initializing user. So the
+ full prefix with session and other useful information is included in the log
+ message as early as possible. Some fatal/panic errors wouldn't even have
+ shown the username.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2015-02-06 17:04:52 +0200 Timo Sirainen <tss@iki.fi> (d894bcdc71)
+
+ lib: Added i_get_failure_prefix()
+
+
+M src/lib/failures.c
+M src/lib/failures.h
+
+2015-02-05 19:40:25 +0200 Timo Sirainen <tss@iki.fi> (ed6d4c22d0)
+
+ dsync: Fixed crash in earlier patch if node didn't have a namespace. This
+ shouldn't have happened except in test-dsync-mailbox-tree-sync, but easier
+ and safer to fix it here.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2015-02-05 19:36:29 +0200 Timo Sirainen <tss@iki.fi> (5a470af153)
+
+ dsync: Added assert to make sure namespace prefix isn't attempted to be
+ renamed. This can happen, I'm just not sure how exactly.. The previous
+ behavior caused assert-crashes also, this change just makes it happen
+ earlier.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+
+2015-02-05 19:20:17 +0200 Timo Sirainen <tss@iki.fi> (6a479389c4)
+
+ dsync: Don't assert-crash in configs where INBOX doesn't have a parent
+ namespace. The inbox=yes namespace of course exists, but if there is no
+ prefix="" or prefix=INBOX/ namespace, then INBOX doesn't clearly belong to
+ any namespace.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+
+2015-02-03 20:27:49 +0200 Timo Sirainen <tss@iki.fi> (a46162e640)
+
+ dsync: Make sure when fixing mailbox names we don't try to change the
+ namespace prefix. Although in normal installations this it wouldn't have
+ happened in any case.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2015-02-03 20:23:52 +0200 Timo Sirainen <tss@iki.fi> (a590a80b3a)
+
+ lib-storage: Avoid assert-crashing on mailbox_verify_*_name() with invalid
+ namespace prefix.
+
+
+M src/lib-storage/mail-storage.c
+
+2015-02-03 18:47:54 +0200 Timo Sirainen <tss@iki.fi> (4d2e65d9c5)
+
+ imapc: Fixed modseq search for previous imapc_features=search change
+
+
+M src/lib-storage/index/imapc/imapc-search.c
+
+2015-02-03 18:33:12 +0200 Timo Sirainen <tss@iki.fi> (6e1cac3def)
+
+ imapc: Added imapc_features=search support for sending SEARCH commands.
+ Currently requires the remote server to support ESEARCH (but this would be
+ easy to avoid). This is only minimally tested for now, so bugs may exist
+ (especially related to sub-queries).
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-storage/index/imapc/Makefile.am
+M src/lib-storage/index/imapc/imapc-mailbox.c
+A src/lib-storage/index/imapc/imapc-search.c
+A src/lib-storage/index/imapc/imapc-search.h
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2015-02-03 10:15:38 +0200 Timo Sirainen <tss@iki.fi> (190e48dfea)
+
+ lib-imap-client: Implemented support for GMail [THROTTLED] resp-text-code.
+ If we receive it, start throttling future commands by waiting exponentially
+ longer until we no longer receive [THROTTLED]. Max wait time is currently 16
+ seconds.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2015-02-02 23:48:30 +0200 Stephan Bosch <stephan@rename-it.nl> (5e4cdaaf56)
+
+ lib-http: client: Fixed double unref of request when error occurs during
+ http_client_request_try_retry(). Much like when the request is first
+ submitted, any errors that occur while attempting a retry from within the
+ callback are now delayed in a zero timer.
+
+
+M src/lib-http/http-client-request.c
+
+2015-02-02 10:26:44 +0200 Phil Carmody <phil@dovecot.fi> (cca8abdc46)
+
+ lib: array - test count/isempty/nonepty Signed-off-by: Phil Carmody
+ <phil@dovecot.fi>
+
+
+M src/lib/test-array.c
+
+2015-02-02 10:24:42 +0200 Phil Carmody <phil@dovecot.fi> (fbb70476f0)
+
+ lib: array - two helpers to avoid wasteful array_count There's no need to
+ dereference array->element_size and perform a division when all you care
+ about is the boolean isempty/nonempty predicate:
+
+ $ git grep 'array_count(.*) > 0' | wc -l 77
+ $ git grep 'array_count(.*) == 0' | wc -l 95
+
+ Changing 6 of them has the following impact on the code:
+
+ $ size src/lib-imap-client/imapc-connection.o
+ text data bss dec hex filename
+ 20879 0 4 20883 5193
+ src/lib-imap-client/imapc-connection.o
+ $ size src/lib-imap-client/imapc-connection.o
+ text data bss dec hex filename
+ 20796 0 4 20800 5140
+ src/lib-imap-client/imapc-connection.o
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/array.h
+
+2015-01-31 01:10:56 +0200 Timo Sirainen <tss@iki.fi> (6b70a713f0)
+
+ replicator: Previous "last successful sync" timestamp change wrote data
+ wrong to replicator.db Patch by Matthew Via / Rackspace
+
+
+M src/replication/replicator/replicator-queue.c
+
+2015-01-30 12:29:25 +0200 Timo Sirainen <tss@iki.fi> (a1a79357a8)
+
+ imap: If GETMETADATA fails for some mailbox, don't send the error message
+ mixed in the METADATA reply line.
+
+
+M src/imap/cmd-getmetadata.c
+
+2015-01-30 12:19:58 +0200 Timo Sirainen <tss@iki.fi> (e05ccef483)
+
+ imap: Dynamic capabilities weren't being added correctly when
+ imap_capability setting was used. They were supposed to be added when '+'
+ prefix was used in imap_capability and not added when it wasn't. But the
+ behavior was exactly the opposite.
+
+
+M src/imap/imap-client.c
+
+2015-01-30 11:53:12 +0200 Timo Sirainen <tss@iki.fi> (e054714551)
+
+ lib: str_sanitize*() max_len parameter renamed to max_bytes to describe it
+ more accurately.
+
+
+M src/lib/str-sanitize.c
+M src/lib/str-sanitize.h
+
+2015-01-30 11:52:33 +0200 Timo Sirainen <tss@iki.fi> (5a43bb5d5a)
+
+ lib: Various fixes to str_sanitize*() - UTF-8 sequences could have been
+ truncated to become partial sequences - Truncation may not have happened at
+ all to text containing UTF-8 - str_sanitize_append() might have truncated
+ string beyond what we were appending, although that happened only if
+ max_len was very small
+
+
+M src/lib/str-sanitize.c
+M src/lib/test-str-sanitize.c
+
+2015-01-30 03:12:37 +0200 Timo Sirainen <tss@iki.fi> (69c92cbe74)
+
+ replicator: Remember last successful sync and show it in "doveadm replicator
+ status" Patch by Matthew Via / Rackspace
+
+
+M src/doveadm/doveadm-replicator.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/replicator-brain.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-queue.h
+
+2015-01-29 18:43:15 +0200 Timo Sirainen <tss@iki.fi> (eefcf71c76)
+
+ lib-ssl-iostream: Don't set EPIPE/ECONNRESET error to istream when
+ connection is closed. Several istream users verify at EOF that
+ stream_errno=0 and fail if it isn't.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/istream-openssl.c
+
+2015-01-27 02:19:01 +0200 Timo Sirainen <tss@iki.fi> (a5f7c7c3ef)
+
+ fts: When indexing address headers, don't add MISSING_MAILBOX or
+ MISSING_DOMAIN.
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2015-01-27 02:07:10 +0200 Timo Sirainen <tss@iki.fi> (1d3ee23f5f)
+
+ fts: Added back fts_expunge_log_uid_count() This was accidentally removed by
+ commit 5091f03d70e1
+
+
+M src/plugins/fts/fts-expunge-log.c
+
+2015-01-25 10:37:35 -0800 Timo Sirainen <tss@iki.fi> (da273d3b05)
+
+ lib-mail: Test program wasn't linked with libiconv, causing linking
+ failures.
+
+
+M src/lib-mail/Makefile.am
+
+2015-01-24 02:15:45 +0200 Phil Carmody <phil@dovecot.fi> (9a6250aecf)
+
+ lib: array - helper to swap array buffer ownership Currently there's no
+ simple way to create a replacement for an array, and then atomically switch
+ in that replacement. With this helper, you can just exchange ownership of
+ the two lists and then free the new list (which now contains the old
+ buffer).
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/array.h
+M src/lib/test-array.c
+
+2015-01-23 23:19:24 +0200 Timo Sirainen <tss@iki.fi> (f424c157fa)
+
+ imapc: Merged gmail-pop3 and gmail-labels-keyword features into a single
+ gmail-migration feature There's really no other reason to use them except
+ for migration.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2015-01-23 23:18:01 +0200 Timo Sirainen <tss@iki.fi> (2813037cc3)
+
+ imapc: With gmail-labels-keyword feature add the $GMailHaveLabels only to
+ \All mailbox This is primarily intended for migration, and with this
+ behavior dsync can be run just once so it's faster.
+
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2015-01-21 02:21:35 +0200 Timo Sirainen <tss@iki.fi> (9fd6f70ed6)
+
+ sdbox: Fixed assert-crash when copying mails due to earlier change.
+
+
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+
+2015-01-21 01:53:34 +0200 Phil Carmody <phil@dovecot.fi> (6b2f82c7ed)
+
+ plugins/fts: use common guid_128 helpers Signed-off-by: Phil Carmody
+ <phil@dovecot.fi>
+
+
+M src/plugins/fts/fts-expunge-log.c
+
+2015-01-21 01:52:59 +0200 Phil Carmody <phil@dovecot.fi> (5433d56d33)
+
+ plugins/fts: expunge-log - query function to lookup GUID/UID Constant time
+ hash lookup for GUID. Log time lookup in seq_range array.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-expunge-log.h
+
+2015-01-21 01:51:46 +0200 Phil Carmody <phil@dovecot.fi> (8d4428cee2)
+
+ plugins/fts: expunge-log - create flattened in-RAM log with no backing
+ storage Combine each record in a source expunge log. This source log does
+ not get deleted afterwards.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-expunge-log.h
+
+2015-01-21 01:48:00 +0200 Phil Carmody <phil@dovecot.fi> (2282944443)
+
+ plugins/fts: expunge-log - pull mailbox finding/creating into a helper There
+ will be more clients than just this one.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/plugins/fts/fts-expunge-log.c
+
+2015-01-21 01:47:25 +0200 Phil Carmody <phil@dovecot.fi> (2442c230b6)
+
+ plugins/fts: expunge-log - permit append helpers to have no log to write to
+ This is for creating an in-RAM, later queriable, structure which you do not
+ want to be written to backing storage. As when you've finished with one,
+ there's no concept of a "commit", provide an alternative "abort" way out.
+ These are identical apart from the call to the write() routine, so refactor
+ the two.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-expunge-log.h
+
+2015-01-21 01:46:13 +0200 Phil Carmody <phil@dovecot.fi> (87b5c1fc03)
+
+ plugins/fts: expung-log - add the concept of not unlinking at the end No
+ behavioural differences, the default is to unlink.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/plugins/fts/fts-expunge-log.c
+
+2015-01-21 01:44:31 +0200 Phil Carmody <phil@dovecot.fi> (ba66ac5557)
+
+ lib: seq-range-array - add range changes Pull the _add_range() guts into a
+ private helper function, and add a new _add_range_count() helper which also
+ returns the number of SEQs added.
+
+ Expand the tests to test this new functionality.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/seq-range-array.c
+M src/lib/seq-range-array.h
+M src/lib/test-seq-range-array.c
+
+2015-01-21 01:42:01 +0200 Phil Carmody <phil@dovecot.fi> (50c05dde01)
+
+ lib: data-stack - fix pointer arithmetic compiler warning Clang's
+ -fsanitize=unsigned-integer-overflow barfs as follows:
+
+ data-stack.c:477:29: runtime error: negation of 8 cannot be represented in
+ type 'unsigned long' data-stack.c:495:15: runtime error: negation of 8
+ cannot be represented in type 'unsigned long'
+
+ Which is of course complete bollocks. There is no 8, there's only an 8ul,
+ and the negation of 8ul is 0xfffffff8ul (or a wider equivalent). That's the
+ law.
+
+ However, the pointer arithmetic which follows the negation, whilst almost
+ certainly working in practice, is probably bogus, so just make the thing
+ signed before the negation, and both problems go away.
+
+ Reported-by: Teemu Huovila <teemu.huovila@dovecot.fi> Signed-off-by: Phil
+ Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2015-01-21 00:19:17 +0200 Timo Sirainen <tss@iki.fi> (9a9f3310d0)
+
+ master: Fixed a check to see if login directory has any unix listeners.
+
+
+M src/master/master-settings.c
+
+2015-01-20 21:54:58 +0200 Timo Sirainen <tss@iki.fi> (6b23e5a3ff)
+
+ imapc: Implemented imapc_features=gmail-pop3 that also migrates
+ pop3_deleted_flag. This also caused gmail-pop3-uidl feature to be renamed to
+ simply gmail-pop3, which includes both the features.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2015-01-20 21:49:04 +0200 Timo Sirainen <tss@iki.fi> (2d4995828b)
+
+ lib-imap-client: Added imapc_command_get_tag()
+
+
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+
+2015-01-20 05:41:23 +0200 Timo Sirainen <tss@iki.fi> (e2b63d479f)
+
+ imapc: Added imapc_features=gmail-pop3-uidl This allows imapc to generate
+ GMail POP3 compatible UIDL so that pop3-migration plugin isn't needed.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+
+2015-01-20 04:46:51 +0200 Timo Sirainen <tss@iki.fi> (46a9a338c4)
+
+ dsync: Allow -m parameter to specify \Special-use mailboxes. Similarly to
+ how -x parameter allows them.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+
+2015-01-20 04:46:26 +0200 Timo Sirainen <tss@iki.fi> (845bac8afd)
+
+ dsync: Crashfix to -F parameter handling.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2015-01-20 04:30:27 +0200 Timo Sirainen <tss@iki.fi> (3394dcb433)
+
+ imapc: Added imapc_features=gmail-labels-keyword This is a bit kludgy
+ feature mainly intended for migrations from GMail. Unfortunately I couldn't
+ figure out any nicer way to do this for now. GMail's "All Mail" folder
+ contains all messages in all folders, but it also contains some messages
+ that don't exist in other folders. For migrations we want to copy only those
+ messages that don't exist elsewhere. This can now be achieved with something
+ like:
+
+ doveadm -o imapc_features='gmail-labels-keyword ...' \
+ backup -F '-$GmailHaveLabels' mdbox:~/mdbox
+
+ Note that dsync can't handle inserting mails into folders, so if doveadm
+ backup is already run once and one of the existing mails loses all labels,
+ doveadm backup will delete the whole folder and start again.
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2015-01-20 04:07:09 +0200 Timo Sirainen <tss@iki.fi> (2e652d2651)
+
+ dsync: Added -F parameter to sync only mails with[out] specific flag.
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2015-01-20 03:23:29 +0200 Timo Sirainen <tss@iki.fi> (70df8f39fb)
+
+ dsync: If same GUID already exists in storage, try to copy it instead of
+ recreating the mail. This way most mailbox backends can reduce disk space by
+ only doing a reference count update.
+
+ This feature isn't enabled by default. A virtual "All Mails" mailbox needs
+ to be configured using the virtual plugin. Then you need to give this
+ mailbox as -a parameter, e.g.: doveadm sync -a "Virtual/All Mails" ...
+
+ Currently this is implemented by reading through all the GUIDs in the
+ virtual mailbox. This of course isn't very efficient for things like
+ incremental replication. An upcoming conversation plugin will keep track of
+ all the mails' GUIDs, so in future replication should be able to have this
+ functionality efficiently as well.
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2015-01-20 03:14:37 +0200 Timo Sirainen <tss@iki.fi> (d85a1a9d9a)
+
+ virtual plugin: Read virtual index header when opening virtual mailbox. This
+ allows doing some mailbox accessing without actually syncing the mailbox.
+ For example MAIL_FETCH_MAILBOX_NAME can be used without crashing.
+
+
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+
+2015-01-20 00:20:27 +0200 Timo Sirainen <tss@iki.fi> (da215fe5cd)
+
+ dsync: Added more debug logging.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2015-01-19 23:43:37 +0200 Timo Sirainen <tss@iki.fi> (3561c7bb47)
+
+ dsync: Added -t <timestamp> parameter to save only mails newer than
+ <timestamp> If one side has old mails that don't exist on the other side,
+ they are ignored (not synced and not deleted).
+
+
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-export.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2015-01-19 23:40:27 +0200 Timo Sirainen <tss@iki.fi> (d81bbb6948)
+
+ lib-storage: Added mail_parse_human_timestamp() to parse human-writable
+ timestamps. This isn't really the ideal location for the function, but since
+ it uses both lib-settings and lib-imap, there's not any good location for it
+ that I can think of..
+
+
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2015-01-19 22:24:42 +0200 Timo Sirainen <tss@iki.fi> (bb25bed75e)
+
+ doveadm: Added missing error handling to various mail commands. This fixes
+ assert-crash that happened when the commands failed, because they hadn't set
+ any exit_code.
+
+
+M src/doveadm/doveadm-mail-deduplicate.c
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/doveadm-mailbox-list-iter.c
+
+2015-01-19 22:12:58 +0200 Timo Sirainen <tss@iki.fi> (4947cf0826)
+
+ lib-storage: Comment updates to mailbox_list_iter_*()
+
+
+M src/lib-storage/mailbox-list-iter.h
+
+2015-01-19 22:11:29 +0200 Timo Sirainen <tss@iki.fi> (ded274d94e)
+
+ doveadm: If mailbox list iteration fails, log the error reason.
+
+
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+
+2015-01-19 22:10:17 +0200 Timo Sirainen <tss@iki.fi> (168204692e)
+
+ imap-urlauth: If mailbox list iteration fails, log the error.
+
+
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+
+2015-01-19 22:09:14 +0200 Timo Sirainen <tss@iki.fi> (a5056d1e9d)
+
+ virtual plugin: If mailbox list iteration fails, log the error.
+
+
+M src/plugins/virtual/virtual-config.c
+
+2015-01-19 21:58:19 +0200 Timo Sirainen <tss@iki.fi> (6358619ca9)
+
+ lib-storage: Removed caching body snippet while message is being saved. This
+ broke saving mails with dbox, because it attempts to open the mails too
+ early. Also the generation was a bit costly operation to do if it wasn't
+ actually wanted to be cached.
+
+ So in future we'd first want to check if body snippet is actually wanted. If
+ it is, then generate the potential snippets while the message is being
+ parsed (always generate the snippet for the best found MIME part, replacing
+ existing snippets when needed). This requires the message_snippet_generate()
+ API to support sending input as partial message_blocks.
+
+M src/lib-storage/index/index-mail-headers.c
+
+2015-01-19 21:53:00 +0200 Timo Sirainen <tss@iki.fi> (e4d054789e)
+
+ lib-storage: MAIL_FETCH_BODY_SNIPPET should seek the mail stream back to
+ original position.
+
+
+M src/lib-storage/index/index-mail.c
+
+2015-01-19 21:52:21 +0200 Timo Sirainen <tss@iki.fi> (cc0a651962)
+
+ dbox: Added asserts to make sure the mail body isn't tried to be read too
+ early while saving. If the mail headers are still being written, the opening
+ will just fail thinking the mail is corrupted.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-file.h
+M src/lib-storage/index/dbox-single/sdbox-save.c
+
+2015-01-19 21:11:29 +0200 Timo Sirainen <tss@iki.fi> (9456cdbeba)
+
+ fts: Fixed assert-crash in HTML parsing, broken by the earlier changes.
+
+
+M src/plugins/fts/fts-parser-html.c
+
+2015-01-17 04:14:58 +0200 Timo Sirainen <tss@iki.fi> (76d4ff1c1b)
+
+ lib: iostream-rawlog now writes to ostreams instead of directly to fds.
+
+
+M src/lib/iostream-rawlog-private.h
+M src/lib/iostream-rawlog.c
+M src/lib/iostream-rawlog.h
+M src/lib/istream-rawlog.c
+M src/lib/istream-rawlog.h
+M src/lib/ostream-rawlog.c
+M src/lib/ostream-rawlog.h
+
+2015-01-17 04:14:09 +0200 Timo Sirainen <tss@iki.fi> (981139bb2e)
+
+ lib: Added o_stream_create_passthrough() for creating simple wrapper
+ ostreams
+
+
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2015-01-17 04:13:13 +0200 Timo Sirainen <tss@iki.fi> (eb98a038ca)
+
+ lib: Added o_stream_add_destroy_callback()
+
+
+M src/lib/iostream-private.h
+M src/lib/iostream.c
+M src/lib/istream.c
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2015-01-17 02:40:11 +0200 Timo Sirainen <tss@iki.fi> (7d26aee0c0)
+
+ auth: Changed passdb { continue-ok } handling for credentials lookups. If
+ the last passdb after it doesn't return credentials, use the first passdb's
+ credentials. This allows implementing plugins that modify the passdb result
+ without actually changing the credentials.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/passdb.c
+
+2015-01-17 02:31:24 +0200 Timo Sirainen <tss@iki.fi> (1701b354e8)
+
+ lib-storage: Added mail_user_init_fs_settings() Also changed
+ mailbox_list_init_fs() to use it internally.
+
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+M src/lib-storage/mailbox-list.c
+
+2015-01-17 01:19:42 +0200 Timo Sirainen <tss@iki.fi> (26d0966d67)
+
+ doveadm user: If username is changed by userdb lookup, return it.
+
+
+M src/doveadm/doveadm-auth.c
+
+2015-01-17 00:32:10 +0200 Timo Sirainen <tss@iki.fi> (ed897f9e09)
+
+ doveadm fetch: Added body.snippet field.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2015-01-17 00:31:35 +0200 Timo Sirainen <tss@iki.fi> (52fbebc87d)
+
+ lib-storage: Added MAIL_FETCH_BODY_SNIPPET.
+
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/mail-storage.h
+
+2015-01-17 00:24:36 +0200 Timo Sirainen <tss@iki.fi> (ed9f9fe03e)
+
+ fts: Parse HTML MIME parts using lib-mail's mail-html2text.
+
+
+M src/plugins/fts/Makefile.am
+M src/plugins/fts/fts-parser-html.c
+D src/plugins/fts/html-entities.h
+
+2015-01-17 00:23:36 +0200 Timo Sirainen <tss@iki.fi> (7f7be2cbf6)
+
+ lib-mail: Added message_snippet_generate() to produce a short text snippet
+ of a mail.
+
+
+M src/lib-mail/Makefile.am
+A src/lib-mail/message-snippet.c
+A src/lib-mail/message-snippet.h
+A src/lib-mail/test-message-snippet.c
+
+2015-01-17 00:15:44 +0200 Timo Sirainen <tss@iki.fi> (c914112527)
+
+ lib-mail: Added mail-html2text API What makes it mail-specific is that it
+ allows skipping over data inside <blockquote>. This code probably doesn't
+ parse HTML perfectly, but hopefully good enough for HTML emails.
+
+
+M src/lib-mail/Makefile.am
+A src/lib-mail/html-entities.h
+A src/lib-mail/mail-html2text.c
+A src/lib-mail/mail-html2text.h
+A src/lib-mail/test-mail-html2text.c
+
+2015-01-15 01:26:02 +0200 Timo Sirainen <tss@iki.fi> (b4d14c264b)
+
+ lib-mail: Forgot to commit .h file for
+ message_decoder_current_content_type() change.
+
+
+M src/lib-mail/message-decoder.h
+
+2015-01-15 01:22:04 +0200 Timo Sirainen <tss@iki.fi> (01eef06269)
+
+ lib-mail: Added message_decoder_current_content_type()
+
+
+M src/lib-mail/message-decoder.c
+M src/lib-mail/test-message-decoder.c
+
+2015-01-15 01:11:34 +0200 Timo Sirainen <tss@iki.fi> (d60a5611b1)
+
+ lib-mail: message-decoder now always sets output->size=0 when headers are
+ returned.
+
+
+M src/lib-mail/message-decoder.c
+M src/lib-mail/test-message-decoder.c
+
+2015-01-15 01:10:11 +0200 Timo Sirainen <tss@iki.fi> (c389f8bf13)
+
+ lib-mail: Fixed crash in message-decoder with unknown charsets. Caused by
+ earlier changes.
+
+
+M src/lib-mail/message-decoder.c
+
+2015-01-15 01:08:00 +0200 Timo Sirainen <tss@iki.fi> (2c70dc3ca3)
+
+ lib-mail: Replaced MAX_TRANSLATION_BUF_SIZE with the new
+ CHARSET_MAX_PENDING_BUF_SIZE
+
+
+M src/lib-mail/message-decoder.c
+
+2015-01-15 01:05:36 +0200 Timo Sirainen <tss@iki.fi> (63f7632bf3)
+
+ lib-charset: Added CHARSET_MAX_PENDING_BUF_SIZE macro and asserts for it.
+
+
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/charset-utf8.c
+M src/lib-charset/charset-utf8.h
+
+2015-01-15 01:05:13 +0200 Timo Sirainen <tss@iki.fi> (d62d6e780c)
+
+ lib-charset: Added charset_utf8_to_utf8_begin() wrapper function. It's never
+ supposed to fail, so it makes it nicer for the callers who need to use it.
+
+
+M src/lib-charset/charset-utf8.c
+M src/lib-charset/charset-utf8.h
+
+2015-01-15 01:03:58 +0200 Timo Sirainen <tss@iki.fi> (32ae620015)
+
+ lib: Fixed NUL-handling in uni_utf8_*strlen*() uni_utf8_strlen() could have
+ skipped over the ending NUL byte and caused read buffer overflows with
+ invalid input.
+
+ uni_utf8_strlen_n() and uni_utf8_partial_strlen_n() now allow NUL bytes in
+ the input and they're treated as regular control characters. Previously the
+ size was actually treated as max_size with early NUL byte termination.
+ Technically this is an API change, but I'm not aware of anything using these
+ functions in an incompatible way.
+
+M src/lib/test-unichar.c
+M src/lib/unichar.c
+M src/lib/unichar.h
+
+2015-01-15 00:10:56 +0200 Timo Sirainen <tss@iki.fi> (ce763c83d5)
+
+ lib-storage: Added "oldestonly" search arg to stop searching after the first
+ non-match. This parameter works only for doveadm search queries. It's not
+ fully exact currently, because if mailbox.search_next_update_seq() skips
+ over non-matching messages we don't stop if the next message matches. So
+ this parameter is mainly useful for optimization of commands like:
+
+ doveadm expunge -u user@domain mailbox inbox savedsince 30d oldestonly
+
+ Where the timestamps should be ascending all the time anyway and there's no
+ point in continuing to search for more mails after the first timestamp is
+ too high.
+
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-build.h
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search.h
+
+2015-01-10 04:32:42 +0200 Timo Sirainen <tss@iki.fi> (47e90cc0da)
+
+ lib-mail: message-decoder no longer skips lib-charset for UTF8 -> UTF8
+ translations. With the previous lib-charset fix this makes message-decoder
+ handle partial UTF-8 text in input blocks correctly.
+
+
+M src/lib-mail/Makefile.am
+M src/lib-mail/message-decoder.c
+M src/lib-mail/test-message-decoder.c
+
+2015-01-10 04:30:40 +0200 Timo Sirainen <tss@iki.fi> (f66c8939c3)
+
+ lib: Added uni_utf8_partial_strlen_n()
+
+
+M src/lib/test-unichar.c
+M src/lib/unichar.c
+M src/lib/unichar.h
+
+2015-01-10 04:25:21 +0200 Timo Sirainen <tss@iki.fi> (7ed3861ff8)
+
+ lib-charset: UTF-8 -> UTF-8 translation was never returning
+ CHARSET_RET_INCOMPLETE_INPUT Instead the incomplete input was just being
+ modified into broken output.
+
+
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/charset-utf8.c
+M src/lib-charset/charset-utf8.h
+
+2015-01-08 23:07:54 +0200 Timo Sirainen <tss@iki.fi> (fdf8020fad)
+
+ lib-imap-client: Compiler warning fixes
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2015-01-08 22:52:11 +0200 Timo Sirainen <tss@iki.fi> (c6033074ad)
+
+ imapc: Added imapc_sasl_mechanisms setting The first supported SASL
+ mechanism is used, otherwise the login fails entirely.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/Makefile.am
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/mail-storage.c
+
+2015-01-08 22:32:20 +0200 Timo Sirainen <tss@iki.fi> (2f351279cb)
+
+ lib-imap-client: Use lib-sasl to perform the AUTHENTICATE command handling.
+
+
+M src/lib-imap-client/Makefile.am
+M src/lib-imap-client/imapc-connection.c
+
+2015-01-07 00:37:50 +0200 Timo Sirainen <tss@iki.fi> (fea5323480)
+
+ lib: Defined array type for guid_128_t
+
+
+M src/lib/guid.h
+
+2015-01-06 03:15:11 +0200 Timo Sirainen <tss@iki.fi> (fb655ad598)
+
+ lib: Remove OpenBSD workaround in i_getpw*() Originally added in
+ 801714cba91b. It was requested to be removed now that 1) it's fixed in
+ OpenBSD v5.6+ and 2) The workaround caused nonexistent users to not work
+ correctly (process running out of memory I guess?)
+
+
+M src/lib/ipwd.c
+
+2015-01-05 15:48:55 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (38a79b5a7a)
+
+ fts: Correct returned value to match type signature.
+
+
+M src/plugins/fts/fts-parser.c
+
+2015-01-05 22:20:10 +0200 Phil Carmody <phil@dovecot.fi> (7cb128dc4c)
+
+ global: freshen copyright Robomatically: git ls-files | xargs perl -p -i
+ -e 's/(\d+)-201[0-4]/$1-2015/g;s/ (201[0-4]) Dovecot/ $1-2015 Dovecot/'
+
+ Happy 2015 everyone!
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M doc/man/doveadm-acl.1.in
+M doc/man/doveadm-altmove.1.in
+M doc/man/doveadm-auth.1.in
+M doc/man/doveadm-batch.1.in
+M doc/man/doveadm-deduplicate.1.in
+M doc/man/doveadm-director.1.in
+M doc/man/doveadm-dump.1.in
+M doc/man/doveadm-exec.1.in
+M doc/man/doveadm-expunge.1.in
+M doc/man/doveadm-fetch.1.in
+M doc/man/doveadm-flags.1.in
+M doc/man/doveadm-force-resync.1.in
+M doc/man/doveadm-fts.1.in
+M doc/man/doveadm-help.1.in
+M doc/man/doveadm-import.1.in
+M doc/man/doveadm-index.1.in
+M doc/man/doveadm-instance.1.in
+M doc/man/doveadm-kick.1.in
+M doc/man/doveadm-log.1.in
+M doc/man/doveadm-mailbox.1.in
+M doc/man/doveadm-mount.1.in
+M doc/man/doveadm-move.1.in
+M doc/man/doveadm-penalty.1.in
+M doc/man/doveadm-proxy.1.in
+M doc/man/doveadm-purge.1.in
+M doc/man/doveadm-pw.1.in
+M doc/man/doveadm-quota.1.in
+M doc/man/doveadm-replicator.1.in
+M doc/man/doveadm-search-query.7
+M doc/man/doveadm-search.1.in
+M doc/man/doveadm-sync.1.in
+M doc/man/doveadm-user.1.in
+M doc/man/doveadm-who.1.in
+M doc/man/doveadm.1.in
+M doc/man/doveconf.1.in
+M doc/man/dovecot-lda.1.in
+M doc/man/dovecot.1.in
+M src/anvil/anvil-connection.c
+M src/anvil/anvil-settings.c
+M src/anvil/connect-limit.c
+M src/anvil/main.c
+M src/anvil/penalty.c
+M src/anvil/test-penalty.c
+M src/auth/auth-cache.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-fields.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-penalty.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-token.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/auth.c
+M src/auth/db-checkpassword.c
+M src/auth/db-dict-cache-key.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/auth/db-sql.c
+M src/auth/main.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-dovecot-token.c
+M src/auth/mech-external.c
+M src/auth/mech-plain.c
+M src/auth/mech-scram-sha1.c
+M src/auth/mech.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-checkpassword.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-imap.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb-template.c
+M src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme.c
+M src/auth/test-auth-cache.c
+M src/auth/test-db-dict.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-checkpassword.c
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-nss.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-prefetch.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb-template.c
+M src/auth/userdb-vpopmail.c
+M src/auth/userdb.c
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/config-request.c
+M src/config/config-settings.c
+M src/config/doveconf.c
+M src/config/main.c
+M src/config/old-set-parser.c
+M src/config/sysinfo-get.c
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/dict/dict-settings.c
+M src/dict/main.c
+M src/director/auth-connection.c
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director-request.c
+M src/director/director-settings.c
+M src/director/director-test.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/mail-host.c
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+M src/dns/dns-client-settings.c
+M src/dns/dns-client.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-cmd.c
+M src/doveadm/doveadm-dict.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dsync.c
+M src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/doveadm-dump-thread.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-fs.c
+M src/doveadm/doveadm-instance.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-batch.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-deduplicate.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-flags.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/doveadm-master.c
+M src/doveadm/doveadm-mount.c
+M src/doveadm/doveadm-mutf7.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-print-flow.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/doveadm-print-tab.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-proxy.c
+M src/doveadm/doveadm-pw.c
+M src/doveadm/doveadm-replicator.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-sis.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm-zlib.c
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-deserializer.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-state.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox.c
+M src/doveadm/dsync/dsync-serializer.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+M src/doveadm/main.c
+M src/doveadm/server-connection.c
+M src/imap-login/client-authenticate.c
+M src/imap-login/client.c
+M src/imap-login/imap-login-settings.c
+M src/imap-login/imap-proxy.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-login-settings.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/imap-urlauth/imap-urlauth-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/cmd-append.c
+M src/imap/cmd-cancelupdate.c
+M src/imap/cmd-capability.c
+M src/imap/cmd-check.c
+M src/imap/cmd-close.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-enable.c
+M src/imap/cmd-examine.c
+M src/imap/cmd-expunge.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-genurlauth.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-id.c
+M src/imap/cmd-idle.c
+M src/imap/cmd-list.c
+M src/imap/cmd-logout.c
+M src/imap/cmd-lsub.c
+M src/imap/cmd-namespace.c
+M src/imap/cmd-noop.c
+M src/imap/cmd-notify.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-resetkey.c
+M src/imap/cmd-search.c
+M src/imap/cmd-select.c
+M src/imap/cmd-setmetadata.c
+M src/imap/cmd-sort.c
+M src/imap/cmd-status.c
+M src/imap/cmd-store.c
+M src/imap/cmd-subscribe.c
+M src/imap/cmd-thread.c
+M src/imap/cmd-unselect.c
+M src/imap/cmd-unsubscribe.c
+M src/imap/cmd-urlfetch.c
+M src/imap/cmd-x-cancel.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands.c
+M src/imap/imap-expunge.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-list.c
+M src/imap/imap-notify.c
+M src/imap/imap-search-args.c
+M src/imap/imap-search.c
+M src/imap/imap-settings.c
+M src/imap/imap-status.c
+M src/imap/imap-sync.c
+M src/imap/mail-storage-callbacks.c
+M src/imap/main.c
+M src/indexer/indexer-client.c
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-settings.c
+M src/indexer/indexer-worker-settings.c
+M src/indexer/indexer-worker.c
+M src/indexer/indexer.c
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-pool.c
+M src/ipc/client.c
+M src/ipc/ipc-connection.c
+M src/ipc/ipc-group.c
+M src/ipc/ipc-settings.c
+M src/ipc/main.c
+M src/lda/main.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/charset-utf8.c
+M src/lib-compression/compression.c
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-lz4.c
+M src/lib-compression/ostream-lzma.c
+M src/lib-compression/ostream-zlib.c
+M src/lib-compression/test-compression.c
+M src/lib-dict/dict-cdb.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-fs.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-register.c
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict-transaction-memory.c
+M src/lib-dict/dict.c
+M src/lib-dict/test-dict.c
+M src/lib-dns/dns-lookup.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/istream-fs-file.c
+M src/lib-fs/istream-metawrap.c
+M src/lib-fs/ostream-cmp.c
+M src/lib-fs/ostream-metawrap.c
+M src/lib-http/http-auth.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-date.c
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-header.c
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-parser.c
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/http-url.c
+M src/lib-http/test-http-auth.c
+M src/lib-http/test-http-client.c
+M src/lib-http/test-http-date.c
+M src/lib-http/test-http-header-parser.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-response-parser.c
+M src/lib-http/test-http-server.c
+M src/lib-http/test-http-transfer.c
+M src/lib-http/test-http-url.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-msgmap.c
+M src/lib-imap-storage/imap-metadata.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap-urlauth/imap-urlauth.c
+M src/lib-imap/imap-arg.c
+M src/lib-imap/imap-base-subject.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-id.c
+M src/lib-imap/imap-match.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-seqset.c
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-utf7.c
+M src/lib-imap/imap-util.c
+M src/lib-imap/test-imap-bodystructure.c
+M src/lib-imap/test-imap-match.c
+M src/lib-imap/test-imap-parser.c
+M src/lib-imap/test-imap-quote.c
+M src/lib-imap/test-imap-url.c
+M src/lib-imap/test-imap-utf7.c
+M src/lib-imap/test-imap-util.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-dummy-view.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-util.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mailbox-log.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-index/test-mail-transaction-log-view.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/lda-settings.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-send.c
+M src/lib-lda/smtp-client.c
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/istream-nonuls.c
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/mail-user-hash.c
+M src/lib-mail/mbox-from.c
+M src/lib-mail/message-address.c
+M src/lib-mail/message-binary-part.c
+M src/lib-mail/message-date.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-id.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part-serialize.c
+M src/lib-mail/message-part.c
+M src/lib-mail/message-search.c
+M src/lib-mail/message-size.c
+M src/lib-mail/ostream-dot.c
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-mail/test-istream-binary-converter.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-mail/test-mbox-from.c
+M src/lib-mail/test-message-address.c
+M src/lib-mail/test-message-date.c
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-encode.c
+M src/lib-mail/test-message-header-parser.c
+M src/lib-mail/test-message-id.c
+M src/lib-mail/test-message-parser.c
+M src/lib-mail/test-message-part.c
+M src/lib-mail/test-ostream-dot.c
+M src/lib-mail/test-quoted-printable.c
+M src/lib-mail/test-rfc2231-parser.c
+M src/lib-master/anvil-client.c
+M src/lib-master/ipc-client.c
+M src/lib-master/ipc-server.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl.c
+M src/lib-master/master-service.c
+M src/lib-master/mountpoint-list.c
+M src/lib-master/syslog-util.c
+M src/lib-master/test-master-service-settings-cache.c
+M src/lib-sasl/dsasl-client.c
+M src/lib-sasl/mech-login.c
+M src/lib-sasl/mech-plain.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-db-cache.c
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl-params.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib-storage/fail-mail-storage.c
+M src/lib-storage/fail-mail.c
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-deleted-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mailbox-check.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-search-result.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync-search.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread-links.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/istream-mail.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-filename.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-settings.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-md5-all.c
+M src/lib-storage/index/mbox/mbox-md5-apop3d.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-settings.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync-list-index.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync-update.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/raw/raw-sync.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-notify-tree.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-error.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-parser-cmdline.c
+M src/lib-storage/mail-search-parser-imap.c
+M src/lib-storage/mail-search-parser.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search-register.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-thread.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-header.c
+M src/lib-storage/mailbox-keywords.c
+M src/lib-storage/mailbox-list-notify.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-search-result.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib-storage/test-mailbox-get.c
+M src/lib-test/test-common.c
+M src/lib/abspath.c
+M src/lib/aqueue.c
+M src/lib/array.c
+M src/lib/askpass.c
+M src/lib/backtrace-string.c
+M src/lib/base32.c
+M src/lib/base64.c
+M src/lib/bits.c
+M src/lib/bsearch-insert-pos.c
+M src/lib/buffer.c
+M src/lib/child-wait.c
+M src/lib/compat.c
+M src/lib/connection.c
+M src/lib/crc32.c
+M src/lib/data-stack.c
+M src/lib/eacces-error.c
+M src/lib/env-util.c
+M src/lib/execv-const.c
+M src/lib/failures.c
+M src/lib/fd-close-on-exec.c
+M src/lib/fd-set-nonblock.c
+M src/lib/fdatasync-path.c
+M src/lib/fdpass.c
+M src/lib/file-cache.c
+M src/lib/file-copy.c
+M src/lib/file-dotlock.c
+M src/lib/file-lock.c
+M src/lib/file-set-size.c
+M src/lib/guid.c
+M src/lib/hash-format.c
+M src/lib/hash-method.c
+M src/lib/hash.c
+M src/lib/hash2.c
+M src/lib/hex-binary.c
+M src/lib/hex-dec.c
+M src/lib/hmac.c
+M src/lib/home-expand.c
+M src/lib/hostpid.c
+M src/lib/imem.c
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-notify-dn.c
+M src/lib/ioloop-notify-fd.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-none.c
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+M src/lib/iostream-rawlog.c
+M src/lib/iostream-temp.c
+M src/lib/iostream.c
+M src/lib/ipwd.c
+M src/lib/iso8601-date.c
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-callback.c
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-data.c
+M src/lib/istream-file.c
+M src/lib/istream-hash.c
+M src/lib/istream-jsonstr.c
+M src/lib/istream-limit.c
+M src/lib/istream-mmap.c
+M src/lib/istream-rawlog.c
+M src/lib/istream-seekable.c
+M src/lib/istream-sized.c
+M src/lib/istream-tee.c
+M src/lib/istream-timeout.c
+M src/lib/istream.c
+M src/lib/json-parser.c
+M src/lib/lib-signals.c
+M src/lib/lib.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-system.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/mempool.c
+M src/lib/mkdir-parents.c
+M src/lib/mmap-anon.c
+M src/lib/mmap-util.c
+M src/lib/module-dir.c
+M src/lib/mountpoint.c
+M src/lib/net.c
+M src/lib/nfs-workarounds.c
+M src/lib/numpack.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-file.c
+M src/lib/ostream-hash.c
+M src/lib/ostream-rawlog.c
+M src/lib/ostream.c
+M src/lib/primes.c
+M src/lib/printf-format-fix.c
+M src/lib/priorityq.c
+M src/lib/process-title.c
+M src/lib/rand.c
+M src/lib/randgen.c
+M src/lib/read-full.c
+M src/lib/restrict-access.c
+M src/lib/restrict-process-size.c
+M src/lib/safe-memset.c
+M src/lib/safe-mkdir.c
+M src/lib/safe-mkstemp.c
+M src/lib/sendfile-util.c
+M src/lib/seq-range-array.c
+M src/lib/str-find.c
+M src/lib/str-sanitize.c
+M src/lib/str-table.c
+M src/lib/str.c
+M src/lib/strescape.c
+M src/lib/strfuncs.c
+M src/lib/strnum.c
+M src/lib/test-aqueue.c
+M src/lib/test-array.c
+M src/lib/test-base32.c
+M src/lib/test-base64.c
+M src/lib/test-bits.c
+M src/lib/test-bsearch-insert-pos.c
+M src/lib/test-buffer.c
+M src/lib/test-crc32.c
+M src/lib/test-data-stack.c
+M src/lib/test-guid.c
+M src/lib/test-hash-format.c
+M src/lib/test-hash-method.c
+M src/lib/test-hash.c
+M src/lib/test-hex-binary.c
+M src/lib/test-iso8601-date.c
+M src/lib/test-istream-base64-decoder.c
+M src/lib/test-istream-base64-encoder.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-crlf.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-istream-tee.c
+M src/lib/test-istream.c
+M src/lib/test-json-parser.c
+M src/lib/test-lib.c
+M src/lib/test-llist.c
+M src/lib/test-mempool-alloconly.c
+M src/lib/test-network.c
+M src/lib/test-numpack.c
+M src/lib/test-ostream-file.c
+M src/lib/test-primes.c
+M src/lib/test-printf-format-fix.c
+M src/lib/test-priorityq.c
+M src/lib/test-seq-range-array.c
+M src/lib/test-str-find.c
+M src/lib/test-str-sanitize.c
+M src/lib/test-str-table.c
+M src/lib/test-str.c
+M src/lib/test-strescape.c
+M src/lib/test-strfuncs.c
+M src/lib/test-strnum.c
+M src/lib/test-time-util.c
+M src/lib/test-unichar.c
+M src/lib/test-utc-mktime.c
+M src/lib/test-var-expand.c
+M src/lib/test-wildcard-match.c
+M src/lib/time-util.c
+M src/lib/unichar.c
+M src/lib/unix-socket-create.c
+M src/lib/unlink-directory.c
+M src/lib/unlink-old-files.c
+M src/lib/uri-util.c
+M src/lib/utc-mktime.c
+M src/lib/utc-offset.c
+M src/lib/var-expand.c
+M src/lib/write-full.c
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/main.c
+M src/log/doveadm-connection.c
+M src/log/log-connection.c
+M src/log/log-error-buffer.c
+M src/log/log-settings.c
+M src/log/main.c
+M src/login-common/access-lookup.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/main.c
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.c
+M src/master/capabilities-posix.c
+M src/master/dup2-array.c
+M src/master/main.c
+M src/master/master-settings.c
+M src/master/service-anvil.c
+M src/master/service-listen.c
+M src/master/service-log.c
+M src/master/service-monitor.c
+M src/master/service-process-notify.c
+M src/master/service-process.c
+M src/master/service.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile-update.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/acl/acl-global-file.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-plugin.c
+M src/plugins/acl/acl-shared-storage.c
+M src/plugins/acl/acl-storage.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/expire/expire-set.c
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/fts-squat-plugin.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+M src/plugins/fts/doveadm-fts.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-parser-html.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-parser-tika.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-search-serialize.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/xml2text.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-stats/imap-stats-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/listescape/listescape-plugin.c
+M src/plugins/mail-filter/istream-ext-filter.c
+M src/plugins/mail-filter/mail-filter-plugin.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+M src/plugins/mail-log/mail-log-plugin.c
+M src/plugins/mailbox-alias/mailbox-alias-plugin.c
+M src/plugins/notify/notify-plugin.c
+M src/plugins/notify/notify-storage.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-plugin.c
+M src/plugins/quota/quota-status.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota-util.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/test-quota-util.c
+M src/plugins/replication/replication-plugin.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/stats/stats-connection.c
+M src/plugins/stats/stats-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-plugin.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/virtual/virtual-transaction.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client.c
+M src/pop3-login/pop3-login-settings.c
+M src/pop3-login/pop3-proxy.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-settings.c
+M src/replication/aggregator/aggregator-settings.c
+M src/replication/aggregator/aggregator.c
+M src/replication/aggregator/notify-connection.c
+M src/replication/aggregator/replicator-connection.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/dsync-client.c
+M src/replication/replicator/notify-connection.c
+M src/replication/replicator/replicator-brain.c
+M src/replication/replicator/replicator-queue-auth.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-settings.c
+M src/replication/replicator/replicator.c
+M src/ssl-params/main.c
+M src/ssl-params/ssl-params-settings.c
+M src/ssl-params/ssl-params.c
+M src/stats/client-export.c
+M src/stats/client.c
+M src/stats/global-memory.c
+M src/stats/mail-command.c
+M src/stats/mail-domain.c
+M src/stats/mail-ip.c
+M src/stats/mail-server-connection.c
+M src/stats/mail-session.c
+M src/stats/mail-stats.c
+M src/stats/mail-user.c
+M src/stats/main.c
+M src/stats/stats-settings.c
+M src/util/gdbhelper.c
+M src/util/maildirlock.c
+M src/util/rawlog.c
+M src/util/script-login.c
+M src/util/script.c
+M src/util/tcpwrap-settings.c
+M src/util/tcpwrap.c
+
+2015-01-05 22:16:59 +0200 Phil Carmody <phil@dovecot.fi> (33750ba29b)
+
+ lib: guid - centralise a 'reset to the empty value' helper function This
+ helper just ensures that the caller never has to get the sizeof() right.
+ (Were a guid passed as a function parameter, mistakes could happen.)
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/guid.h
+M src/lib/test-guid.c
+
+2015-01-05 22:15:31 +0200 Phil Carmody <phil@dovecot.fi> (518781a0a4)
+
+ lib: guid - declare some functions as pure As the functions aren't inline,
+ the compiler can't know if they can be optimised away, so give it a helping
+ hand.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/guid.h
+
+2015-01-05 22:15:07 +0200 Phil Carmody <phil@dovecot.fi> (fe08c73b0b)
+
+ lib: array - explain implications of ARRAY_TYPE() in comment If you use
+ ARRAY_TYPE() to pass an array around, then you must also use ARRAY_TYPE() to
+ define the array itself, ARRAY() will no longer do.
+
+ Reported-by: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no> Signed-off-by: Phil
+ Carmody <phil@dovecot.fi>
+
+M src/lib/array.h
+
+2015-01-05 22:13:59 +0200 Phil Carmody <phil@dovecot.fi> (bf38d57605)
+
+ lib: test-array - test new lsearch helper Just piggy-back on to the current
+ reverse test, as that's got an array nicely set up for us already.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-array.c
+
+2015-01-05 22:12:48 +0200 Phil Carmody <phil@dovecot.fi> (c029156a6e)
+
+ lib: array - new linear search helper There are large numbers of
+ array_foreach loops which do nothing but search for the first element which
+ matches some key. This can be abstracted out into a helper.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/array.c
+M src/lib/array.h
+
+2014-12-26 17:28:30 +0200 Timo Sirainen <tss@iki.fi> (6613ff7b8d)
+
+ configure: Don't break when using --without-shared-libs and CC with '/'
+ chars.
+
+
+M configure.ac
+
+2014-12-17 14:43:30 +0100 Timo Sirainen <tss@iki.fi> (6af1407463)
+
+ auth: Don't crash if master user login is attempted without master=yes
+ passdbs
+
+
+M src/auth/auth-request.c
+
+2014-12-17 13:39:57 +0100 Timo Sirainen <tss@iki.fi> (acab9b293b)
+
+ lib: Small optimization / unnecessary code removal from array_*() functions.
+
+
+M src/lib/array.c
+
+2014-12-05 05:50:19 +0200 Timo Sirainen <tss@iki.fi> (823af4a2cc)
+
+ lib-storage: Mail prefetching was still not working right. I wonder if it
+ ever actually worked (except for SEARCH TEXT).
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-search.c
+
+2014-12-05 04:39:11 +0200 Timo Sirainen <tss@iki.fi> (8b7feed47b)
+
+ doveadm: Avoid calling init() in doveadm binary if the command is sent to
+ doveadm-server. The init() is still always called when -A or -u *wildcards*
+ are used though. I'm not sure if that can be delayed. At least all commands
+ should be verified that they don't rely on the current init() location.
+
+
+M src/doveadm/doveadm-mail.c
+
+2014-12-05 03:53:02 +0200 Timo Sirainen <tss@iki.fi> (ae36914960)
+
+ doveadm: Support changing proxy destination username with "user" and
+ "destuser" passdb field.
+
+
+M src/doveadm/doveadm-mail-server.c
+
+2014-12-05 03:38:08 +0200 Timo Sirainen <tss@iki.fi> (ba342e38a3)
+
+ auth: Don't allow changing username to an empty string. This is most likely
+ always accidental and Dovecot in general hasn't been designed to support
+ empty usernames.
+
+
+M src/auth/auth-request.c
+
+2014-12-05 03:11:14 +0200 Timo Sirainen <tss@iki.fi> (5f4f58c81a)
+
+ fts: Install some of the header files that other external plugins might want
+ to use.
+
+
+M src/plugins/fts/Makefile.am
+
+2014-12-05 03:10:32 +0200 Timo Sirainen <tss@iki.fi> (16db137525)
+
+ fts: Compiler warning fix when using fts-indexer.h directly
+
+
+M src/plugins/fts/fts-indexer.h
+
+2014-12-02 00:29:13 -0800 Timo Sirainen <tss@iki.fi> (c935c4494b)
+
+ dict-redis: Use timeout_msecs parameter also for transaction commit waits.
+
+
+M src/lib-dict/dict-redis.c
+
+2014-12-02 00:26:24 -0800 Timo Sirainen <tss@iki.fi> (5890b141d5)
+
+ dict-redis: Use EXPIRE also after INCRBY commands.
+
+
+M src/lib-dict/dict-redis.c
+
+2014-12-01 22:43:33 +0200 Phil Carmody <phil@dovecot.fi> (4f3374cf60)
+
+ lib: test-array - really really really stop gcc optimising away fatal tests
+ Gcc 4.6 also was determined to optimise away the calls that should crash. We
+ therefore have to do *something*, no matter how stupid, with the return
+ values. This should do it. (please, oh please, oh please, ...)
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-array.c
+
+2014-12-01 12:11:54 -0800 Timo Sirainen <tss@iki.fi> (3f75831892)
+
+ quota: Added "hidden" option to hide the quota root from IMAP GETQUOTAROOT
+ command.
+
+
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2014-11-28 10:57:43 +0200 Phil Carmody <phil@dovecot.fi> (842f5a5ebf)
+
+ lib: array - array_foreach_idx is just a generic ptr_to_idx helper
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+
+M src/lib/array.h
+
+2014-11-28 10:57:43 +0200 Phil Carmody <phil@dovecot.fi> (173b12537f)
+
+ lib: test-array - remove possibility to optimise out tests (void) on a call
+ to a "pure" function was causing some compilers (gcc 4.8) to not reach the
+ assert within the pure function. Technically it's not a pure function, as
+ (in the assert fail case) it has effects other than its return value.
+ However, simply removing the void cast (and then actually using the return
+ value) also prevents this optimisation.
+
+ An additional fatal test was added - there's a difference between an access
+ outside the allocated range and outside the initialised range.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/array.h
+M src/lib/test-array.c
+
+2014-11-28 10:57:43 +0200 Phil Carmody <phil@dovecot.fi> (16c9a74e2d)
+
+ lib-test: more delicate *assert() behaviour when doing fatal tests We
+ shouldn't be i_asserting ourselves when we're in the state of wanting a test
+ to fail. Therefore instead test_assert to get the assert message, and ensure
+ that the success flag is cleared to get the FAILED at the end.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+
+2014-11-25 03:48:42 +0200 Phil Carmody <phil@dovecot.fi> (70c380a7b0)
+
+ lib: array - additional compile-time checks to array_append The new
+ two-array helper macro works in this context too.
+
+ Note: array_copy doesn't have any protection currently, it isn't obvious how
+ to wrap that with some safety without breaking interfaces. It only seems to
+ have one internal user, lib/aqueue.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/array.h
+
+2014-11-25 03:45:35 +0200 Phil Carmody <phil@dovecot.fi> (5d017bb2f0)
+
+ lib: test-array - fix off-by-one in test_reverse i is not used as an index,
+ but as a count. Therefore, it can attain the array size in the loop without
+ causing any buffer overflows.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-array.c
+
+2014-11-25 03:44:55 +0200 Phil Carmody <phil@dovecot.fi> (824809e642)
+
+ lib: test-array - fatal tests Tests both of the i_asserts which aren't
+ already protected by TYPEOF compile-time checks.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-array.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2014-11-25 03:44:31 +0200 Phil Carmody <phil@dovecot.fi> (a7e3651cba)
+
+ lib: test-array - new equality testers One using strings that get
+ dereferenced, the other using the context pointer to pass in external data.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-array.c
+
+2014-11-25 03:43:02 +0200 Phil Carmody <phil@dovecot.fi> (0f111ddfcb)
+
+ lib: array - element-wise comparison via callback 2 are provided - with and
+ without a context pointer.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/array.c
+M src/lib/array.h
+
+2014-11-25 03:43:02 +0200 Phil Carmody <phil@dovecot.fi> (afb48f82b9)
+
+ lib: test-array - test array_cmp() Signed-off-by: Phil Carmody
+ <phil@dovecot.fi>
+
+
+M src/lib/test-array.c
+
+2014-11-25 03:31:34 +0200 Phil Carmody <phil@dovecot.fi> (efaa1272c1)
+
+ lib: guid - turn uint8_t * parameters into guid_128_t As we expose the
+ type's internals, there's no concrete difference between the two, but it
+ might help static code checkers to detect misuse of the library, or sloppy
+ typing.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/guid.c
+M src/lib/guid.h
+
+2014-11-25 03:12:25 +0200 Timo Sirainen <tss@iki.fi> (2480bdc0a4)
+
+ dict-redis: Small error handling fix to previous change.
+
+
+M src/lib-dict/dict-redis.c
+
+2014-11-25 03:10:41 +0200 Timo Sirainen <tss@iki.fi> (e85a0dac75)
+
+ dict-redis: Added support for expire_secs=n parameter. It performs EXPIRE
+ command for the added keys immediately after the SET.
+
+
+M src/lib-dict/dict-redis.c
+
+2014-11-25 02:56:37 +0200 Timo Sirainen <tss@iki.fi> (96a410ecef)
+
+ lib-storage: Don't fetch wanted_fields for messages that don't match the
+ search query. For example "doveadm fetch text subject foo" was opening all
+ the mails, even though only a few matched the subject (that was hopefully
+ already in cache file).
+
+ The behavior still isn't perfect though. The wanted_fields should probably
+ be split into search_wanted_fields and fetch_wanted_fields, but the current
+ behavior is likely good enough for now.
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-search.c
+
+2014-11-21 18:17:00 +0900 Timo Sirainen <tss@iki.fi> (0dc719a06f)
+
+ lmtp: Added TLS security information to Received: header when STARTTLS was
+ used.
+
+
+M src/lmtp/commands.c
+
+2014-11-20 22:03:25 +0900 Timo Sirainen <tss@iki.fi> (3217ecd2d7)
+
+ stats: Removed extra TAB from global stats exporting.
+
+
+M src/stats/client-export.c
+
+2014-11-20 15:15:20 +0900 Timo Sirainen <tss@iki.fi> (e1ad2d13f5)
+
+ lib-index: If transaction log is unexpectedly recreated while it was locked,
+ log a nice error. Instead of just assert-crashing.
+
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log.c
+
+2014-11-20 05:40:55 +0900 Timo Sirainen <tss@iki.fi> (416b11af00)
+
+ auth: Increase timeout for multi-line auth-worker replies to 30 minutes.
+ This should help with running long-running doveadm -A commands.
+
+
+M src/auth/auth-worker-server.c
+
+2014-11-19 17:37:57 +0900 Timo Sirainen <tss@iki.fi> (3063bd8ff0)
+
+ mbox: Added more (and earlier) detection for errors in mbox istreams.
+
+
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/istream-raw-mbox.h
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-private.h
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2014-11-19 17:37:18 +0900 Timo Sirainen <tss@iki.fi> (1cf25eb44c)
+
+ mbox: istream_raw_mbox_seek() needs to reset all corruption errors. We now
+ reset all errors, but it doesn't really matter.
+
+
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+
+2014-11-15 03:26:16 +0200 Timo Sirainen <tss@iki.fi> (11a418b123)
+
+ lib-fs: Added FS_PROPERTY_ASYNC.
+
+
+M src/lib-fs/fs-api.h
+
+2014-11-15 02:39:04 +0200 Stephan Bosch <stephan@rename-it.nl> (75f7e423ea)
+
+ Added support for base32 encode/decode.
+
+
+M src/lib/Makefile.am
+A src/lib/base32.c
+A src/lib/base32.h
+A src/lib/test-base32.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2014-11-15 02:37:45 +0200 Stephan Bosch <stephan@rename-it.nl> (836e690c0e)
+
+ Implemented dot output stream. This outputs data in the dot-escaped format
+ needed for the SMTP data command. The sequence CRLF.CRLF is sent upon
+ closing the stream.
+
+
+M src/lib-mail/Makefile.am
+A src/lib-mail/ostream-dot.c
+A src/lib-mail/ostream-dot.h
+A src/lib-mail/test-ostream-dot.c
+
+2014-11-15 02:37:03 +0200 Stephan Bosch <stephan@rename-it.nl> (c9421d67ea)
+
+ lib-http: client: Removed connection code that is already in
+ src/lib/connection.c.
+
+
+M src/lib-http/http-client-connection.c
+
+2014-11-15 02:36:22 +0200 Stephan Bosch <stephan@rename-it.nl> (4388ddff22)
+
+ lib: connection: Now uses io_add_istream() instead of io_add().
+
+
+M src/lib/connection.c
+
+2014-11-15 02:27:27 +0200 Stephan Bosch <stephan@rename-it.nl> (8ccdf19576)
+
+ lib-imap-storage: Created new METADATA API.
+
+
+M dovecot-config.in.in
+M src/imap/Makefile.am
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-setmetadata.c
+D src/imap/imap-metadata.c
+D src/imap/imap-metadata.h
+M src/lib-imap-storage/Makefile.am
+A src/lib-imap-storage/imap-metadata.c
+A src/lib-imap-storage/imap-metadata.h
+
+2014-11-15 02:22:56 +0200 Timo Sirainen <tss@iki.fi> (9a1ab9488c)
+
+ lib-fs: Added fs_lookup_metadata() wrapper to fs_get_metadata()
+
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2014-11-15 00:30:06 +0200 Timo Sirainen <tss@iki.fi> (c53dd9a6ef)
+
+ lib-master: Don't even attempt to initialize SSL context if ssl=no
+
+
+M src/lib-master/master-service-ssl.c
+
+2014-11-15 00:27:27 +0200 Timo Sirainen <tss@iki.fi> (40ba79bfba)
+
+ lib-ssl-iostream: Close the plain iostreams when ssl-iostream is destroyed.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2014-11-15 00:14:20 +0200 Phil Carmody <phil@dovecot.fi> (887e05e03f)
+
+ lib: array/hash - enable typof checks for more compilers We have a
+ HAVE_TYPEOF macro from autoconf, we may as well make use of it.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/array.h
+M src/lib/hash.h
+
+2014-11-15 00:06:09 +0200 Phil Carmody <phil@dovecot.fi> (fcb19f9e99)
+
+ lib: array/hash - protect macro parameters If a pointer parameter p is ``ptr
+ + offset'', then sizeof(*p) becomes sizeof(*ptr + offset), which isn't what
+ was wanted. sizeof(*(p)) is the safe expression to use instead. Ditto for
+ just ``*data'' in array.h.
+
+ The macros in hash.h which have been changed have been reindented for better
+ readability and consistency.
+
+ The bracketting of elem in (elem)++ in both of the array_foreach* macros
+ isn't actually useful, as elem participates in token-pasting elsewhere.
+ However, the two macros have been made more similar to each other for better
+ parallelism.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/array.h
+M src/lib/hash.h
+
+2014-11-14 00:59:57 -0800 Timo Sirainen <tss@iki.fi> (5005322308)
+
+ imap: namespace { order } parameter now specifies the order returned in
+ NAMESPACE reply. This is relevant only if there are multiple visible
+ namespaces with the same type. The default order depends primarily on the
+ length of the prefix because of internal sorting (the order of equal length
+ prefixes can't really be relied on).
+
+
+M src/imap/cmd-namespace.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2014-11-14 02:29:27 +0200 Timo Sirainen <tss@iki.fi> (94b4104f86)
+
+ imap: Added client_disconnect_if_inconsistent() to remove code duplication.
+ Based on patch by Stephan Bosch
+
+
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands-util.h
+
+2014-11-13 22:55:59 -0800 Timo Sirainen <tss@iki.fi> (22d87bd260)
+
+ doveadm: If passdb lookup returns port, use it to override the doveadm_port
+ setting.
+
+
+M src/doveadm/doveadm-mail-server.c
+
+2014-11-14 02:00:12 +0200 Timo Sirainen <tss@iki.fi> (2ff3757305)
+
+ lib-fs: fs-metawrap now supports adding more metadata fields while file is
+ being saved. This potentially adds yet another temporary file write though.
+
+
+M src/lib-fs/fs-metawrap.c
+
+2014-11-14 01:19:37 +0200 Timo Sirainen <tss@iki.fi> (2f4f603d4c)
+
+ lib: Added iostream_temp_create_named()
+
+
+M src/lib/iostream-temp.c
+M src/lib/iostream-temp.h
+
+2014-11-13 11:29:41 +0200 Timo Sirainen <tss@iki.fi> (26b0075456)
+
+ lib-index: Make sure dovecot.index.cache parsing doesn't go to infinite
+ loop. Although we guarantee this only for files generated with Dovecot v2.2+
+ because it's too much trouble to check for older versions.
+
+
+M src/lib-index/mail-cache-fields.c
+
+2014-11-13 11:14:08 +0200 Timo Sirainen <tss@iki.fi> (8901f9484c)
+
+ lib-storage: If storage creation fails, destroy all the already created
+ namespaces/storages.
+
+
+M src/lib-storage/mail-namespace.c
+
+2014-11-13 10:57:07 +0200 Timo Sirainen <tss@iki.fi> (6a275b8e6e)
+
+ lib-storage: Fixed crash if mail_namespaces_init_add() failed due to invalid
+ settings. Normally the invalid settings were caught by config process
+ already.
+
+
+M src/lib-storage/mail-namespace.c
+
+2014-11-13 10:09:28 +0200 Timo Sirainen <tss@iki.fi> (3d77cc0d50)
+
+ lib: ostream.stream_errno is now exactly the same as last_failed_errno.
+ There's a lot of code that checks only for stream_errno instead of
+ last_failed_errno at the flush time where the stream_errno might have
+ already been cleared.
+
+ I'm not sure why these were separated in the first place. I don't think
+ there are any stream errors which just correctly go away by retrying the
+ operation. Perhaps some code could have attempted seeking and try to handle
+ the ESPIPE error, but that kind of code paths are rare and they could clear
+ the errors themselves if needed.
+
+M src/lib/ostream.c
+
+2014-11-13 10:01:37 +0200 Timo Sirainen <tss@iki.fi> (42b087dcb4)
+
+ lib: ostream-file checks "sendfile() not supported" a bit better. There are
+ other reasons why stream_errno=EINVAL could have been set, at least in
+ theory.
+
+
+M src/lib/ostream-file.c
+
+2014-11-13 09:53:35 +0200 Timo Sirainen <tss@iki.fi> (645d76bbb7)
+
+ lib-storage: Added "creator" for mail_user. This allows fixing stats plugin
+ to update stats also for shared mailboxes. That's a bit complicated change
+ though, so I'm not sure how soon it'll happen. But at least this change
+ makes it possible more easily later on. Might have other uses too.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-user.h
+
+2014-11-13 09:39:24 +0200 Timo Sirainen <tss@iki.fi> (7a77b94880)
+
+ lib: Never implicitly clear istream's stream_errno. I'm not really sure why
+ these were added in the first place. At some point the stream_errno was
+ cleared in more places, such as just before reading, but those were also
+ removed already. I don't see any benefit for these, just potential problems.
+
+
+M src/lib/istream.c
+
+2014-11-13 09:35:59 +0200 Timo Sirainen <tss@iki.fi> (e5b48cb130)
+
+ lib-mail: message_search_msg() shouldn't clear istream's stream_errno. If
+ the input stream failed, retrying the operation without cached message_parts
+ is unlikely to help. This also loses the original error message.
+
+
+M src/lib-mail/message-search.c
+
+2014-11-13 09:12:38 +0200 Timo Sirainen <tss@iki.fi> (ac51b12850)
+
+ dsync: Set MAILBOX_TRANSACTION_FLAG_SYNC also for exporter. This doesn't
+ really do much because exporter shouldn't be writing anything, but it allows
+ plugins to find out if transactions is coming from dsync.
+
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2014-11-13 03:58:51 +0200 Timo Sirainen <tss@iki.fi> (38f624b427)
+
+ lmtp: Added support for DSN ORCPT parameter. If the parameter is specified,
+ it's used as the original recipient address in Sieve. The ORCPT parameter is
+ also proxied to destination LMTP server if used (without checking if it
+ supports it). We don't currently advertise DSN extension, so this feature
+ won't be enabled automatically.
+
+
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/lmtp-client.h
+M src/lmtp/client.h
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2014-11-13 02:48:22 +0200 Timo Sirainen <tss@iki.fi> (fa8fbd8cb2)
+
+ imap-stats: Fixed truncation of command args.
+
+
+M src/plugins/imap-stats/imap-stats-plugin.c
+
+2014-11-13 02:39:51 +0200 Timo Sirainen <tss@iki.fi> (cf07b67169)
+
+ stats: Use the same session ID string for stats tracking as everywhere else.
+ Generate a new ID only if there is no session ID assigned.
+
+
+M src/plugins/imap-stats/imap-stats-plugin.c
+M src/plugins/stats/stats-connection.c
+M src/plugins/stats/stats-plugin.c
+M src/plugins/stats/stats-plugin.h
+M src/stats/client-export.c
+M src/stats/mail-session.c
+M src/stats/mail-stats.h
+
+2014-11-13 02:37:39 +0200 Timo Sirainen <tss@iki.fi> (b5f58ca1ca)
+
+ ssl-params: Removed duplicate lib-ssl-iostream.la linking
+
+
+M src/ssl-params/Makefile.am
+
+2014-11-13 02:28:46 +0200 Timo Sirainen <tss@iki.fi> (31b5f26bfa)
+
+ stats: Use the new str-table API to reduce memory usage for service strings.
+ There are only a couple of services, while there can be a lot of sessions.
+
+
+M src/stats/mail-session.c
+M src/stats/mail-stats.h
+
+2014-11-13 02:24:46 +0200 Timo Sirainen <tss@iki.fi> (639587335d)
+
+ lib: Added str-table API for keeping reference counted strings in a hash
+ table.
+
+
+M src/lib/Makefile.am
+A src/lib/str-table.c
+A src/lib/str-table.h
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+A src/lib/test-str-table.c
+
+2014-11-13 01:41:07 +0200 Timo Sirainen <tss@iki.fi> (89ca3ba9e1)
+
+ stats: Added support for "global" stats type.
+
+
+M src/stats/client-export.c
+M src/stats/mail-domain.c
+M src/stats/mail-stats.c
+M src/stats/mail-stats.h
+M src/stats/main.c
+
+2014-11-12 06:58:37 +0200 Timo Sirainen <tss@iki.fi> (09060303d5)
+
+ director: Added support for backend cluster "tags". This allows using a
+ single director ring for multiple backend clusters. By default everything
+ has an empty tag. A passdb lookup can return "director_tag" field containing
+ the wanted tag name. If there aren't any backend servers with the wanted
+ tag, it's treated the same as if there aren't any backend servers available
+ (= wait for 30 secs for a backend and then return temporary failure).
+
+ Tags can be added to configuration by adding @tag suffix to IPs/hosts. For
+ example:
+
+ director_mail_servers = 10.0.0.100-10.0.0.110@name1 10.0.0.120@name2
+
+ "doveadm director add" can also add tags either with @tag suffix or with -t
+ parameter. "doveadm director status user@domain" requires giving the user's
+ correct tag with -t parameter or the results won't be correct (empty tag's
+ results are shown). Tags can't currently be changed for an existing host
+ without removing it first.
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director-request.h
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/mail-host.c
+M src/director/mail-host.h
+M src/director/main.c
+M src/doveadm/doveadm-director.c
+
+2014-11-12 06:46:45 +0200 Timo Sirainen <tss@iki.fi> (5b4d189a01)
+
+ director: Don't restart request timeout when director state changes. If the
+ state keeps changing all the time we'll never return timeouts for the
+ requests.
+
+
+M src/director/main.c
+
+2014-11-12 03:29:04 +0200 Timo Sirainen <tss@iki.fi> (eb209d12e3)
+
+ director: Added director_consistent_hashing setting. This should have been
+ the default since the beginning. I didn't thik it was worth the trouble
+ originally because in theory it shouldn't matter much if users jump between
+ multiple backends. But this makes caching behavior worse, especially for
+ systems which are using local cache files.
+
+
+M src/director/director-connection.c
+M src/director/director-settings.c
+M src/director/director-settings.h
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+M src/director/mail-host.c
+M src/director/mail-host.h
+
+2014-11-12 02:04:14 +0200 Timo Sirainen <tss@iki.fi> (56c69b4b17)
+
+ director: When logging a warning about ring being synced again, log how many
+ seconds it took
+
+
+M src/director/director.c
+
+2014-11-12 01:59:48 +0200 Timo Sirainen <tss@iki.fi> (8420ca2c46)
+
+ director: Always log a message when director handshake finishes.
+
+
+M src/director/director-connection.c
+
+2014-11-12 01:51:29 +0200 Timo Sirainen <tss@iki.fi> (ad404d294f)
+
+ doveadm director ring status shows now more information
+
+
+M src/director/director-connection.c
+M src/director/director-connection.h
+M src/director/doveadm-connection.c
+M src/doveadm/doveadm-director.c
+
+2014-11-12 01:26:04 +0200 Timo Sirainen <tss@iki.fi> (d65cc3312d)
+
+ lmtp: Show more information in process title. Most importantly show the
+ username while messages are being delivered.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2014-11-12 01:06:02 +0200 Timo Sirainen <tss@iki.fi> (45ead23266)
+
+ doveadm: Support running non-mail commands via doveadm server. There are
+ still some commands that print their output via printf though, so they need
+ to be fixed separately.
+
+
+M src/doveadm/Makefile.am
+M src/doveadm/client-connection.c
+M src/doveadm/main.c
+
+2014-11-12 01:04:27 +0200 Timo Sirainen <tss@iki.fi> (55accf49e3)
+
+ doveadm: Moved commands related code to doveadm-cmd.[ch] Commands are
+ already split for command line-only commands and commands that can be run
+ via doveadm-server also.
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-cmd.c
+A src/doveadm/doveadm-cmd.h
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+
+2014-11-12 00:52:44 +0200 Timo Sirainen <tss@iki.fi> (d4c6c0412c)
+
+ doveadm who: If parameters are invalid, print help text for who command
+ instead of the whole doveadm usage.
+
+
+M src/doveadm/doveadm-who.c
+
+2014-11-12 00:20:40 +0200 Timo Sirainen <tss@iki.fi> (e16cdc182b)
+
+ doveadm: Code cleanups to prepare server code for non-mail commands.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm.c
+
+2014-11-11 05:06:09 +0200 Timo Sirainen <tss@iki.fi> (a8b37b688c)
+
+ lib: Compiler warning fix in 32bit systems to previous change
+
+
+M src/lib/file-lock.c
+
+2014-11-11 03:13:16 +0200 Timo Sirainen <tss@iki.fi> (4eb418849d)
+
+ lib: file_wait/try_lock() treats EINTR differently now for timeouts and for
+ actual signals.
+
+
+M src/lib/file-lock.c
+
+2014-10-31 04:27:27 +0200 Timo Sirainen <tss@iki.fi> (31a8f59ac2)
+
+ lib-storage: Mailbox list index now detects duplicate mailbox names. With
+ LAYOUT=index the duplicates are renamed.
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2014-11-05 13:00:14 +0200 Timo Sirainen <tss@iki.fi> (bb1a7da5a7)
+
+ doveadm: Removed duplicate subcommands from list of commands. For example
+ don't show "mailbox ..|metadata|metadata|metadata|.."
+
+
+M src/doveadm/doveadm.c
+
+2014-11-04 14:49:44 +0200 Timo Sirainen <tss@iki.fi> (730f8250fe)
+
+ imap: If GETMETADATA with wildcards can't open some mailbox, don't
+ assert-crash. Just send an untagged NO for the mailbox.
+
+
+M src/imap/cmd-getmetadata.c
+
+2014-10-31 17:05:31 -0700 Timo Sirainen <tss@iki.fi> (bc7c48e8b6)
+
+ ssl-params: Use lib-ssl-iostream's ssl_iostream_generate_params() instead of
+ OpenSSL directly
+
+
+M src/ssl-params/Makefile.am
+D src/ssl-params/ssl-params-openssl.c
+M src/ssl-params/ssl-params.c
+M src/ssl-params/ssl-params.h
+
+2014-10-31 17:04:58 -0700 Timo Sirainen <tss@iki.fi> (7ef7f34c38)
+
+ lib-ssl-iostream: Added dh_length parameter to
+ ssl_iostream_generate_params() This is an API change, but nobody was
+ actually using this function.
+
+
+M src/lib-ssl-iostream/iostream-openssl-params.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2014-10-31 16:54:07 -0700 Timo Sirainen <tss@iki.fi> (c5b7a9068c)
+
+ lib-ssl-iostream: Support non-1024bit DH parameters in ssl-parameters.dat.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl-params.c
+M src/lib-ssl-iostream/iostream-openssl.h
+
+2014-10-30 22:02:52 +0200 Timo Sirainen <tss@iki.fi> (0aaded8049)
+
+ lib-ssl-iostream: Destroy SSL module later in the atexit-callbacks.
+
+
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2014-10-30 22:00:14 +0200 Timo Sirainen <tss@iki.fi> (cd7cecf148)
+
+ lib: Added lib_atexit_priority()
+
+
+M src/lib/lib.c
+M src/lib/lib.h
+
+2014-10-30 04:41:11 +0200 Timo Sirainen <tss@iki.fi> (84e4f27dd1)
+
+ *-login: Also increase MASTER_AUTH_MAX_DATA_SIZE and add a check to make
+ sure it's large enough.
+
+
+M src/imap-login/client.c
+M src/lib-master/master-auth.h
+
+2014-10-30 04:36:50 +0200 Timo Sirainen <tss@iki.fi> (82fb1ead38)
+
+ *-login: And actually make the previous changes work.
+
+
+M src/imap-login/client.c
+M src/login-common/client-common.h
+M src/pop3-login/client.c
+
+2014-10-29 18:33:46 -0700 Timo Sirainen <tss@iki.fi> (85cbbbe62c)
+
+ imap-login: Added "x-session-ext-id" parameter for ID command. It's exactly
+ the same as "x-session-id", but this one can be safely used by external
+ software without having to worry about causing error messages in older
+ versions about too long session-id.
+
+
+M src/imap-login/client.c
+
+2014-10-29 18:32:36 -0700 Timo Sirainen <tss@iki.fi> (404150692b)
+
+ lib-master: Removed fixed length limit for session-id.
+
+
+M src/lib-master/master-login.c
+M src/lib-master/master-login.h
+
+2014-10-29 11:46:50 -0700 Timo Sirainen <tss@iki.fi> (959eca738a)
+
+ lib: connection_switch_ioloop() should switch also input stream's ioloop.
+
+
+M src/lib/connection.c
+
+2014-10-29 09:58:01 -0700 Timo Sirainen <tss@iki.fi> (4fbf595625)
+
+ lmtp: Added support for STARTTLS command.
+
+
+M src/lmtp/Makefile.am
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+M src/lmtp/commands.h
+M src/lmtp/main.c
+
+2014-10-28 17:15:31 -0700 Timo Sirainen <tss@iki.fi> (83db24db79)
+
+ lib-http: Make sure we don't access already freed client connection in
+ payload-destroyed callback.
+
+
+M src/lib-http/http-client-connection.c
+
+2014-10-28 17:07:21 -0700 Timo Sirainen <tss@iki.fi> (fde8872151)
+
+ lib: io_remove() should finish closing the io before unreferencing its
+ istream. This is because the istream unreferencing may close the fd.
+
+
+M src/lib/ioloop.c
+
+2014-10-28 16:12:09 -0700 Stephan Bosch <stephan@rename-it.nl> (85c41e096d)
+
+ lib-http: client: Fixed assertion failure in http_client_queue_fail(). Don't
+ explicitly clear the request array after looping through all requests, since
+ new requests may be added during the loop, not only removed.
+
+
+M src/lib-http/http-client-queue.c
+
+2014-10-27 21:48:29 -0700 Timo Sirainen <tss@iki.fi> (decdff03c3)
+
+ lib: istream-timeout logs how long the stream was open if parent read fails
+ with ECONNRESET/EPIPE.
+
+
+M src/lib/istream-timeout.c
+
+2014-10-27 21:43:10 -0700 Timo Sirainen <tss@iki.fi> (ac3d5a11ff)
+
+ lib-http: If there's an error reading chunked http stream, set the error to
+ the istream. Previously the error string was set, but it was never read by
+ anything.
+
+
+M src/lib-http/http-transfer-chunked.c
+
+2014-10-28 05:45:59 +0200 Timo Sirainen <tss@iki.fi> (cb091e2f74)
+
+ dsync: Fixed notifying replicator (-U parameter) if it didn't answer
+ instantly.
+
+
+M src/doveadm/doveadm-dsync.c
+
+2014-10-27 23:29:39 +0200 Timo Sirainen <tss@iki.fi> (5ef6906c82)
+
+ lib: Make sure ostream.last_failed_errno is always set when stream_errno is
+ set.
+
+
+M src/lib/ostream.c
+
+2014-10-27 23:26:10 +0200 Timo Sirainen <tss@iki.fi> (d08e08aebe)
+
+ lib: o_stream_uncork() could also cause write errors. Make sure
+ last_failed_errno is updated. This caused some write errors not to be
+ detected, such as in code like:
+
+ o_stream_cork() o_stream_nsend(..) o_stream_uncork() if (o_stream_nfinish()
+ < 0) {
+ // error not detected because last_failed_errno was 0
+ }
+
+M src/lib/ostream.c
+
+2014-10-27 22:05:27 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (f45aa66343)
+
+ lib-index: Remove assert that can never happen.
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2014-10-27 20:24:34 +0200 Timo Sirainen <tss@iki.fi> (451391ab78)
+
+ master: Don't send broken BYE notifications to log process.
+
+
+M src/master/service-log.c
+
+2014-10-27 20:14:47 +0200 Timo Sirainen <tss@iki.fi> (d695286ee8)
+
+ log: Don't crash if master sends a negative service_fd number.
+
+
+M src/log/log-connection.c
+
+2014-10-27 20:10:19 +0200 Timo Sirainen <tss@iki.fi> (46ad586b6d)
+
+ master: Added an assert to catch duplicate fork() PIDs. This really
+ shouldn't be happening, but apparently it does sometimes. This should make
+ it easier to debug.
+
+
+M src/master/service-process.c
+
+2014-10-27 17:05:52 +0200 Timo Sirainen <tss@iki.fi> (34b858a458)
+
+ lib-storage: Recent change broke deleting mailboxes with LAYOUT=index
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2014-10-26 18:43:57 +0200 Stephan Bosch <stephan@rename-it.nl> (659ab82ad5)
+
+ lib-http: server: Fixed a hang occurring sometimes when response is sent for
+ a request that had payload. Forgot to always trigger sending response when
+ processing request payload finishes.
+
+
+M src/lib-http/http-server-connection.c
+
+2014-10-26 18:43:57 +0200 Stephan Bosch <stephan@rename-it.nl> (bf1134c9c1)
+
+ lib-http: client: Removed asssert in http_client_connection_is_ready().
+ There is no reason why the input stream couldn't be full.
+
+
+M src/lib-http/http-client-connection.c
+
+2014-10-26 18:43:57 +0200 Stephan Bosch <stephan@rename-it.nl> (4e1039a8f2)
+
+ lib-http: client: The asserts recently added to http_connection_check_idle()
+ are bogus.
+
+
+M src/lib-http/http-client-connection.c
+
+2014-10-26 02:03:22 +0300 Timo Sirainen <tss@iki.fi> (fc525738d5)
+
+ fs-posix: fs_copy() no longer fails if destination exists and
+ FS_OPEN_MODE_REPLACE is used
+
+
+M src/lib-fs/fs-posix.c
+
+2014-10-26 01:59:05 +0300 Timo Sirainen <tss@iki.fi> (3f6a3951ad)
+
+ lib-http server: If i/ostream fails, don't return wrong "stream input size
+ changed" error. Also handle the real case in a bit nicer way.
+
+
+M src/lib-http/http-server-response.c
+
+2014-10-25 22:18:07 +0000 Pascal Volk <user@localhost.localdomain.org> (2e10491aee)
+
+ man: Global options includes: Added back the newline at end of files.
+
+ They were accidentally removed in the previous commit.
+
+M doc/man/global-options-formatter.inc
+M doc/man/global-options.inc
+
+2014-10-25 21:24:06 +0000 Pascal Volk <user@localhost.localdomain.org> (57552b0526)
+
+ man: Global options includes: Added description of `-o setting=value'.
+
+
+M doc/man/global-options-formatter.inc
+M doc/man/global-options.inc
+
+2014-10-26 01:00:36 +0300 Timo Sirainen <tss@iki.fi> (b80c329a25)
+
+ lib: If i_stream_seek() works by reading forward and read() fails, don't
+ override the error message.
+
+
+M src/lib/istream.c
+
+2014-10-26 00:08:05 +0300 Timo Sirainen <tss@iki.fi> (a03a9aa80d)
+
+ master: Don't start new processes while shutting down.
+
+
+M src/master/service-monitor.c
+
+2014-10-25 22:53:35 +0300 Timo Sirainen <tss@iki.fi> (a3e96a912e)
+
+ dsync: Added debug logging for attribute importing
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-10-25 06:57:25 +0300 Timo Sirainen <tss@iki.fi> (9803c762c1)
+
+ Added signature for changeset e8b793f2c409
+
+
+M .hgsigs
+
+2014-10-25 06:57:11 +0300 Timo Sirainen <tss@iki.fi> (1234a3f0e6)
+
+ Added tag 2.2.15 for changeset e8b793f2c409
+
+
+M .hgtags
+
+2014-10-25 06:57:11 +0300 Timo Sirainen <tss@iki.fi> (6ba458d40a)
+
+ Released v2.2.15.
+
+
+M NEWS
+M configure.ac
+
+2014-10-25 06:40:03 +0300 Timo Sirainen <tss@iki.fi> (18458233e8)
+
+ lmtp: Use mail_log_prefix while mails are being delivered.
+
+
+M src/lmtp/commands.c
+
+2014-10-25 06:37:35 +0300 Timo Sirainen <tss@iki.fi> (baca4c4509)
+
+ lmtp: Added missing session_id to mail_user
+
+
+M src/lmtp/commands.c
+
+2014-10-25 06:19:41 +0300 Timo Sirainen <tss@iki.fi> (bb2471ff14)
+
+ lib-storage: LAYOUT=index now first creates the backend mailbox and only
+ then adds it to list index. This avoids any race conditions with mailbox
+ creation and opening it.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2014-10-25 06:18:45 +0300 Timo Sirainen <tss@iki.fi> (7f0ad4a2ba)
+
+ lib-storage: Don't update mailbox list index status fields when deleting a
+ mailbox.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2014-10-25 06:18:06 +0300 Timo Sirainen <tss@iki.fi> (b63c064e96)
+
+ lib-storage: When mailbox is deleted, reset its cached paths. If mailbox is
+ still later on recreated, the paths may have changed.
+
+
+M src/lib-storage/mail-storage.c
+
+2014-10-25 06:16:47 +0300 Timo Sirainen <tss@iki.fi> (8739d6bf47)
+
+ lib-storage: Fully unreference indexes when deleting mailboxes.
+
+
+M src/lib-storage/index/index-storage.c
+
+2014-10-25 02:56:42 +0300 Timo Sirainen <tss@iki.fi> (458b283a2f)
+
+ lib-index: Don't assert-crash if expunge event handling finds that
+ everything is already expunged.
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2014-10-25 02:53:55 +0300 Timo Sirainen <tss@iki.fi> (73ac4a4b17)
+
+ quota: Fixed including the right system quota.h with NetBSD Patch by Manuel
+ Bouyer.
+
+ I guess the quota.h could be renamed to something at some point..
+
+M src/plugins/quota/quota-fs.h
+
+2014-10-25 02:52:50 +0300 Timo Sirainen <tss@iki.fi> (5f83be0c55)
+
+ quota: Fixed NetBSD quota I guess it's because quota is refreshed only at
+ quota_open() time. Based on patch by Manuel Bouyer
+
+
+M src/plugins/quota/quota-fs.c
+
+2014-10-25 02:42:47 +0300 Timo Sirainen <tss@iki.fi> (bbdd683dd2)
+
+ auth: Some unsuccessful passdb lookups weren't returned as failures to
+ passdb lookups. These lookups were only being done internally, so it usually
+ didn't matter. Also this only affected things like allow_nets checking and
+ some non-common passdb { result_* } settings.
+
+
+M src/auth/auth-master-connection.c
+
+2014-10-25 02:39:00 +0300 Timo Sirainen <tss@iki.fi> (42e23ab53a)
+
+ auth: allow_nets=local matches now connections without any IP address
+
+
+M src/auth/auth-request.c
+
+2014-10-25 02:13:36 +0300 Timo Sirainen <tss@iki.fi> (ce930f99c6)
+
+ virtual plugin: Fixed assert-crash when backend mailbox was auto-closed
+ while it had pending expunges.
+
+
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+
+2014-10-25 01:38:43 +0300 Stephan Bosch <stephan@rename-it.nl> (1a2ce9ef13)
+
+ lib-http: client: Handle situation in which server sends response before
+ request payload is fully sent.
+
+
+M src/lib-http/http-client-connection.c
+
+2014-10-25 01:38:42 +0300 Stephan Bosch <stephan@rename-it.nl> (30ccfe4fdc)
+
+ lib-http: client: Fixed handling of requests aborted while still sending
+ payload to server.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2014-10-25 01:38:42 +0300 Stephan Bosch <stephan@rename-it.nl> (9145c8b5ed)
+
+ lib-http: client: Fixed conflict between request abort and request delayed
+ error.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2014-10-25 01:38:42 +0300 Stephan Bosch <stephan@rename-it.nl> (7e5ead02b7)
+
+ lib-http: client: Fixed cleanup of remaining waiting requests at connection
+ destroy. Forgot to dereference the requests for the reference that the
+ connection itself holds for each waiting request.
+
+
+M src/lib-http/http-client-connection.c
+
+2014-10-25 01:38:42 +0300 Stephan Bosch <stephan@rename-it.nl> (23f432e576)
+
+ lib-http: client: Aborted requests were not counted as finished in the
+ connection's response receive loop. This caused a hang.
+
+
+M src/lib-http/http-client-connection.c
+
+2014-10-24 23:00:56 +0300 Timo Sirainen <tss@iki.fi> (46453c751e)
+
+ lib-fs: Improved error logging
+
+
+M src/lib-fs/fs-api.c
+
+2014-10-24 22:18:29 +0300 Timo Sirainen <tss@iki.fi> (b5351cfc57)
+
+ Use i_stream_get_error() wherever possible instead of %m
+
+
+M src/director/notify-connection.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-settings/settings-parser.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-storage.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-parser-script.c
+
+2014-10-24 22:11:50 +0300 Timo Sirainen <tss@iki.fi> (8dccbdbe38)
+
+ lib-storage: Added data stack frames for most calls. So neither the callers
+ nor the implementations need to worry about those so much.
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail.c
+
+2014-10-24 22:10:25 +0300 Timo Sirainen <tss@iki.fi> (9e406b04bb)
+
+ lib: Added "istream-seekable: " error message prefixes.
+
+
+M src/lib/istream-seekable.c
+
+2014-10-24 04:24:40 +0300 Timo Sirainen <tss@iki.fi> (299451d50b)
+
+ dsync: Added some debugging output for mailbox trees.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+
+2014-10-24 03:58:35 +0300 Timo Sirainen <tss@iki.fi> (49c7e0ae3f)
+
+ dsync: Removed in/out state from debugging. This was initially added for
+ debugging hangs, but those haven't existed for a long time now. Maybe we
+ should eventually make debug categories configurable, but for now nobody
+ wants to see these messages.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain.c
+
+2014-10-24 03:54:21 +0300 Timo Sirainen <tss@iki.fi> (f0101f9ddf)
+
+ login proxy: If proxy_timeout is set, try to reconnect until the timeout is
+ reached. This allows quickly restarting/upgrading backend servers without
+ returning login failures.
+
+
+M src/login-common/login-proxy.c
+
+2014-10-23 06:38:20 +0300 Timo Sirainen <tss@iki.fi> (2c57ebc900)
+
+ doveadm: Added metadata set/unset/get/list commands.
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-mail-mailbox-metadata.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2014-10-23 06:37:48 +0300 Timo Sirainen <tss@iki.fi> (7fbd5e7cee)
+
+ doveadm fetch: Use doveadm_print_istream()
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2014-10-23 06:37:30 +0300 Timo Sirainen <tss@iki.fi> (80bc6f4fea)
+
+ doveadm: Added doveadm_print_istream() for easily printing istreams.
+
+
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-print.h
+
+2014-10-23 05:55:51 +0300 Stephan Bosch <stephan@rename-it.nl> (0d24f1550f)
+
+ lib-http: client: Fixed proxied client connect timeout. Timeout didn't cause
+ requests to be aborted with error.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2014-10-23 05:55:51 +0300 Stephan Bosch <stephan@rename-it.nl> (94d1b08c9e)
+
+ lib-http: client: Implemented maximum for connection backoff time. Without a
+ maximum, the backoff time grows exponentially to enormous values, because it
+ isn't reset until the connection succeeds. This causes recovery from
+ connection failures to become very slow. Current maximum is one minute.
+
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2014-10-23 05:55:51 +0300 Stephan Bosch <stephan@rename-it.nl> (a830458875)
+
+ lib-http: client: Assertion in http_client_queue_fail() was wrong. It is not
+ guaranteed that all queue lists are empty, because new requests can be
+ submitted from the callbacks. Changed this into a proper invariant check,
+ which asserts tbat the number of requests in sub-queues add up to the total
+ number in the main queue.
+
+
+M src/lib-http/http-client-queue.c
+
+2014-10-23 05:55:51 +0300 Stephan Bosch <stephan@rename-it.nl> (5e3c6e9984)
+
+ lib-http: client: Clear req->conn when request is finished. This prevents a
+ spurious assert failure.
+
+
+M src/lib-http/http-client-connection.c
+
+2014-10-23 05:04:37 +0300 Timo Sirainen <tss@iki.fi> (537598efa6)
+
+ lib-index: Detect broken log_file_tail_offset updates without
+ assert-crashing.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2014-10-23 04:16:48 +0300 Timo Sirainen <tss@iki.fi> (ab841a2414)
+
+ dsync: Fixed assert-crash / memory leak on error handling path.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-10-23 03:10:12 +0300 Timo Sirainen <tss@iki.fi> (483268a37c)
+
+ lib-storage: Make sure mailbox names are valid UTF-8 with LAYOUT=index
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2014-10-22 14:15:23 -0700 Timo Sirainen <tss@iki.fi> (10732e0d10)
+
+ replication plugin: Use low priority for mail copying operations.
+
+
+M src/plugins/replication/replication-plugin.c
+
+2014-10-22 05:40:44 +0300 Timo Sirainen <tss@iki.fi> (3bb59b47d4)
+
+ lib: Added unit tests for guid_128_*()
+
+
+M src/lib/Makefile.am
+A src/lib/test-guid.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2014-10-22 02:59:22 +0300 Timo Sirainen <tss@iki.fi> (8562f8de46)
+
+ lib: Added guid_128_copy()
+
+
+M src/lib/guid.h
+
+2014-10-21 23:34:50 +0300 Stephan Bosch <stephan@rename-it.nl> (4aaec94d5f)
+
+ lib-http: client: If peer is unlinked from queue and no other links remain,
+ close any pending connections. Those pending connections would no longer
+ serve any purpose.
+
+
+M src/lib-http/http-client-peer.c
+
+2014-10-21 05:46:22 +0300 Timo Sirainen <tss@iki.fi> (3a177dbf62)
+
+ lib-storage: LAYOUT=index no longer keeps list index locked while creating
+ mailbox. Mailbox opening can be slow and complicated and could even try to
+ lock the list index again. So it's a bit more racy now, but all mailbox
+ formats can already handle races with mailbox creation.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2014-10-21 05:44:09 +0300 Timo Sirainen <tss@iki.fi> (330865e1eb)
+
+ lib-storage: Partially reverted previous change. Added
+ mailbox_list_index_sync_delete() instead.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index-sync.h
+
+2014-10-21 03:58:56 +0300 Timo Sirainen <tss@iki.fi> (c44f7761bb)
+
+ lib-storage: Added mailbox_list_index_delete_entry()
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index-sync.h
+
+2014-10-21 02:48:20 +0300 Timo Sirainen <tss@iki.fi> (74fe10b32e)
+
+ lib: test-buffer was randomly crashing with SIGFPE
+
+
+M src/lib/test-buffer.c
+
+2014-10-20 08:54:27 -0700 Stephan Bosch <stephan@rename-it.nl> (a991cfe215)
+
+ lib-http: client: Created list of all submitted requests. Currently only
+ needed to improve debugging of hanging requests.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+
+2014-10-20 08:54:27 -0700 Stephan Bosch <stephan@rename-it.nl> (8d5b57113f)
+
+ lib-http: client: Fixed behavior of connection backoff timer when multiple
+ IPs are returned for hostname. Peer backoff data was lost because peer was
+ destroyed quickly. Now the peer object is retained during the backoff
+ period, so that new connection attempts adhere to the backoff period.
+
+
+M src/lib-http/http-client-peer.c
+
+2014-10-20 08:54:27 -0700 Stephan Bosch <stephan@rename-it.nl> (72383415a2)
+
+ lib-http: client: Connection erroneously indicated that it was ready while
+ SSL handshake was not yet completed.
+
+
+M src/lib-http/http-client-connection.c
+
+2014-10-20 08:54:27 -0700 Stephan Bosch <stephan@rename-it.nl> (e4e4b8544a)
+
+ lib-http: client: Fixed behavior for max_connect_attempts with fewer IPs
+ than attempts. This was broken by earlier 'fix'.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+
+2014-10-20 08:54:26 -0700 Stephan Bosch <stephan@rename-it.nl> (60381d37ec)
+
+ lib-http: client: Fixed handling of connection timeouts. A timeout caused an
+ assert failure, because the connection status was altered before the
+ peer_connection_failure handler was called.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2014-10-19 19:29:34 +0000 Pascal Volk <user@localhost.localdomain.org> (da2555e119)
+
+ man: Reworked some formatting requests.
+
+ On some systems, for example SunOS 5.10, the example commands were cut off.
+
+M doc/man/doveadm-altmove.1.in
+M doc/man/doveadm-auth.1.in
+M doc/man/doveadm-batch.1.in
+M doc/man/doveadm-deduplicate.1.in
+M doc/man/doveadm-expunge.1.in
+M doc/man/doveadm-flags.1.in
+M doc/man/doveadm-mailbox.1.in
+M doc/man/doveadm-move.1.in
+M doc/man/doveadm-search.1.in
+M doc/man/doveadm-sync.1.in
+M doc/man/doveconf.1.in
+
+2014-10-19 11:24:12 -0700 Timo Sirainen <tss@iki.fi> (e9c0bb1f4d)
+
+ imap, pop3, lmtp: If client gets disconnected due to iostream error, log the
+ full error.
+
+
+M src/imap/imap-client.c
+M src/lmtp/client.c
+M src/pop3/pop3-client.c
+
+2014-10-18 02:13:30 +0300 Timo Sirainen <tss@iki.fi> (9f7a3d6bbc)
+
+ doveadm fetch: If istream reading fails, log a better error message.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2014-10-18 02:12:47 +0300 Timo Sirainen <tss@iki.fi> (6a268ef957)
+
+ lib-storage: When logging about corrupted cached message size, log the
+ filename also.
+
+
+M src/lib-storage/index/istream-mail.c
+
+2014-10-18 01:55:02 +0300 Timo Sirainen <tss@iki.fi> (b5188ceb83)
+
+ lib-storage: If we detect a broken cached message size, log more information
+ about it. Also try to include one of the cached headers in the message,
+ which could allow detecting if the cached data pointed to a completely
+ different message.
+
+
+M src/lib-storage/index/istream-mail.c
+
+2014-10-17 10:02:54 -0700 Timo Sirainen <tss@iki.fi> (aa21a546ce)
+
+ lib-lda: And fixed the earlier commit.
+
+
+M src/lib-lda/duplicate.c
+
+2014-10-17 09:59:21 -0700 Timo Sirainen <tss@iki.fi> (ad31667f86)
+
+ lib-lda: duplicate_flush() now unlocks the duplicate database even if
+ nothing had changed.
+
+
+M src/lib-lda/duplicate.c
+
+2014-10-16 08:19:03 -0700 Timo Sirainen <tss@iki.fi> (f3391d65cc)
+
+ lib-storage: LAYOUT=index doesn't reserve '~' as internal separator anymore.
+ The index doesn't reserve any character as hierarchy separator, so the
+ internal separator can change at any time. Use the namespace's configured
+ hierarchy separator as the internal separator to avoid reserving any
+ characters. If namespace separator isn't configured, fallback to the
+ original '~' so this change shouldn't break anything.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2014-10-16 07:25:17 -0700 Timo Sirainen <tss@iki.fi> (136ba0ed29)
+
+ doveconf: Changed _doveconf_comment symbol suffix to _doveconf_banner That
+ describes its behavior better.
+
+
+M src/config/doveconf.c
+
+2014-10-15 07:37:05 -0700 Timo Sirainen <tss@iki.fi> (4fcf9b577a)
+
+ doveconf: Allow settings plugins to print comments to the output header. If
+ plugin contains <plugin name>_doveconf_comment string, it's written as part
+ of the doveconf output. The idea mainly being that the major plugins (such
+ as Pigeonhole) could print their version number there to avoid having to ask
+ for it separately.
+
+
+M src/config/doveconf.c
+
+2014-10-14 16:57:13 -0700 Timo Sirainen <tss@iki.fi> (910a516720)
+
+ imap-zlib: Removed check for disallowing COMPRESS to be used with TLS
+ compression. Clients shouldn't be doing this in any case, and this check
+ doesn't work properly with proxies.
+
+ We could solve the check properly for Dovecot proxies by having them send
+ the TLS compression state to backends, but it would still leave non-Dovecot
+ proxies broken. Although we could just not advertise COMPRESS=DEFLATE
+ extension if TLS compression is enabled and non-Dovecot proxies at least
+ wouldn't cause failures. Still, overall seems like a lot of work for such a
+ small and probably unnecessary extra check.
+
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+
+2014-10-14 12:17:36 -0700 Timo Sirainen <tss@iki.fi> (1b225669e5)
+
+ lib-ssl-iostream: Allow commas also in ssl_protocols setting.
+
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+
+2014-10-14 12:14:14 -0700 Timo Sirainen <tss@iki.fi> (3cd3140707)
+
+ Compiling fix for some systems.
+
+
+M src/lib-storage/list/mailbox-list-index.h
+
+2014-10-14 10:17:26 -0700 Timo Sirainen <tss@iki.fi> (d4f80a4e2c)
+
+ auth: Minor fix to previous commit.
+
+
+M src/auth/auth-request.c
+
+2014-10-14 10:16:03 -0700 Timo Sirainen <tss@iki.fi> (1323ac1fde)
+
+ auth: Check for empty username after doing all the username changes.
+
+
+M src/auth/auth-request.c
+
+2014-10-14 19:49:58 +0300 Timo Sirainen <tss@iki.fi> (d6ecafb8be)
+
+ Added signature for changeset 6dad1f6e8930
+
+
+M .hgsigs
+
+2014-10-14 19:49:55 +0300 Timo Sirainen <tss@iki.fi> (9d128253a4)
+
+ Added tag 2.2.14 for changeset 6dad1f6e8930
+
+
+M .hgtags
+
+2014-10-14 19:49:55 +0300 Timo Sirainen <tss@iki.fi> (0ec69c4f27)
+
+ Released v2.2.14.
+
+
+M NEWS
+M configure.ac
+
+2014-10-14 09:39:50 -0700 Timo Sirainen <tss@iki.fi> (bacd4f6e62)
+
+ lib-storage: Added X-REAL-UID search parameter.
+
+
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+
+2014-10-14 09:36:15 -0700 Timo Sirainen <tss@iki.fi> (74c09aceb0)
+
+ Compiler warning fix
+
+
+M src/lib-http/http-client.h
+
+2014-10-14 09:22:40 -0700 Timo Sirainen <tss@iki.fi> (89c8d5f336)
+
+ lib: i_stream_read_next_line() now sets a better error message if line is
+ too long.
+
+
+M src/lib/istream.c
+
+2014-10-13 09:13:53 -0700 Timo Sirainen <tss@iki.fi> (228eff728b)
+
+ auth: Fix to earlier commit: Don't try to resume already finished user
+ iteration.
+
+
+M src/auth/auth-worker-server.c
+
+2014-10-13 08:50:44 -0700 Timo Sirainen <tss@iki.fi> (aa938aea66)
+
+ lib-index: Automatically grow header size on header updates. This fixes
+ assert-crashes when it didn't happen.
+
+ For example an old Maildir index could have had a header size 24. Dovecot
+ crashed then when trying to update it, because the new header size is 36 and
+ there wasn't an explicit mail_index_ext_resize_hdr() call.
+
+M src/lib-index/mail-index-transaction-export.c
+
+2014-10-13 06:55:15 -0700 Timo Sirainen <tss@iki.fi> (2e29c5838d)
+
+ Compile fix for systems without dlopen()
+
+
+M src/lib/module-dir.c
+
+2014-10-12 08:58:40 -0700 Stephan Bosch <stephan@rename-it.nl> (fca68889b2)
+
+ lib-http: client: Moved delayed failed requests from host to client object.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+
+2014-10-12 08:58:40 -0700 Stephan Bosch <stephan@rename-it.nl> (501d0f9aa4)
+
+ lib-http: client: With the recent addition of a connection attempt limit,
+ connection failures weren't always handled correctly.
+
+
+M src/lib-http/http-client-queue.c
+
+2014-10-12 08:58:40 -0700 Stephan Bosch <stephan@rename-it.nl> (68fb5a74d7)
+
+ lib-http: client: Fixed segfault caused by earlier change.
+
+
+M src/lib-http/http-client-connection.c
+
+2014-10-11 00:02:00 +0300 Timo Sirainen <tss@iki.fi> (47b5ef748f)
+
+ auth: Make sure userdb iteration is destroyed if worker connection
+ disconnects.
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-master-connection.h
+
+2014-10-11 00:01:09 +0300 Timo Sirainen <tss@iki.fi> (f26b9bb2c8)
+
+ auth: Userdb iteration optimization. Don't keep re-creating the timeout
+ after iterating each user.
+
+
+M src/auth/auth-worker-server.c
+
+2014-10-11 00:43:38 +0300 Stephan Bosch <stephan@rename-it.nl> (f1b04cf99c)
+
+ lib-dns: The dns_lookup() call caused a crash upon a connect error, because
+ dns_client_disconnect() can indirectly call itself recursively. Solved by
+ dropping the list of lookups from the client object before the lookups are
+ destroyed.
+
+
+M src/lib-dns/dns-lookup.c
+
+2014-10-10 23:59:52 +0300 Timo Sirainen <tss@iki.fi> (f3c4f76a22)
+
+ auth: If userdb iteration client disconnects early, make sure we don't get
+ stuck.
+
+
+M src/auth/userdb-blocking.c
+
+2014-10-10 18:11:58 +0300 Timo Sirainen <tss@iki.fi> (834dcbc785)
+
+ maildir: Don't limit uidlist line lengths to 4096 bytes. Although this
+ always indicates corruption, the current code doesn't handle that very
+ nicely. One fix would be to just ignore such long lines, but this is easier
+ to implement..
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2014-10-10 00:46:15 +0300 Stephan Bosch <stephan@rename-it.nl> (840abb812d)
+
+ lib-http: client: Fixed assert crash occurring when DNS lookup fails
+ immediately during request submission. In that situation, the request was
+ not dropped from the queue immediately, triggering the assert crash.
+
+
+M src/lib-http/http-client-request.c
+
+2014-10-09 21:23:08 +0300 Timo Sirainen <tss@iki.fi> (1837e13636)
+
+ lib-lda: Compiler warning fix
+
+
+M src/lib-lda/smtp-client.c
+
+2014-10-09 21:22:45 +0300 Timo Sirainen <tss@iki.fi> (474da741bf)
+
+ mbox: Removed obsolete code that also wasn't compiling because of previous
+ commit.
+
+
+M src/lib-storage/index/mbox/mbox-lock.c
+
+2014-10-09 18:19:03 +0000 Pascal Volk <user@localhost.localdomain.org> (411ae691e1)
+
+ man: doveadm-acl.1: Corrected description of default output formatter.
+
+
+M doc/man/doveadm-acl.1.in
+
+2014-10-09 20:46:31 +0300 Timo Sirainen <tss@iki.fi> (cfadd9a17f)
+
+ lib-index: Removed dovecot.index locking related code, which is no longer
+ used.
+
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+
+2014-10-09 18:41:06 +0300 Timo Sirainen <tss@iki.fi> (d77fb3be55)
+
+ lib: Updated comment to o_stream_send_istream()
+
+
+M src/lib/ostream.h
+
+2014-10-09 18:40:54 +0300 Timo Sirainen <tss@iki.fi> (63866b7a81)
+
+ lib: Fixed assert-crash in o_stream_send_istream() if input stream was the
+ one that failed.
+
+
+M src/lib/ostream.c
+
+2014-10-09 18:27:14 +0300 Timo Sirainen <tss@iki.fi> (f6ae4001e3)
+
+ lib-index: Added mail_index_sync_no_warning() to prevent "long transaction
+ lock" warnings. Use it with Maildir to prevent double-warning.
+
+
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index.h
+M src/lib-storage/index/maildir/maildir-sync-index.c
+
+2014-10-09 18:26:05 +0300 Timo Sirainen <tss@iki.fi> (2f8da04d70)
+
+ lib-index: Include reason string in warnings about keeping transaction log
+ locked for too long.
+
+
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mail-transaction-log.h
+M src/lib-index/test-mail-transaction-log-append.c
+
+2014-10-09 18:23:41 +0300 Timo Sirainen <tss@iki.fi> (da4376093d)
+
+ lib-index: Replaced some automatic transaction log unlocks with asserts.
+ Some earlier Dovecot versions were read-locking transaction logs and this
+ was useful there. But now we only do exclusive locking for the log head, so
+ it's an error not to explicitly unlock the files.
+
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log.c
+
+2014-10-09 18:20:56 +0300 Timo Sirainen <tss@iki.fi> (94cb0544ba)
+
+ lib-index: If locking transaction log times out, show the PID which has it
+ locked.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2014-10-09 18:19:11 +0300 Timo Sirainen <tss@iki.fi> (565790b060)
+
+ maildir: Use MAIL_TRANSACTION_LOG_LOCK_WARN_SECS as threshold for logging a
+ "long sync" warning. This is because the index syncing keeps the log locked,
+ and other processes trying to lock the log will start logging warnings as
+ well.
+
+
+M src/lib-storage/index/maildir/maildir-sync.h
+
+2014-10-09 18:17:26 +0300 Timo Sirainen <tss@iki.fi> (e307c82022)
+
+ lib-index: Moved MAIL_TRANSACTION_LOG_LOCK_WARN_SECS as part of public API.
+
+
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log-private.h
+
+2014-10-09 18:14:43 +0300 Timo Sirainen <tss@iki.fi> (a34d06ac67)
+
+ lib: o_stream_send_istream() shouldn't ignore EINTRs for file ostreams. Also
+ added extra asserts to make sure that either we return an error or we write
+ everything from input stream to output stream. This should make it safe to
+ write to files using just:
+
+ if (o_stream_send_istream(ostream, istream) < 0) {
+ // failed
+ } else {
+ // everything in istream was written to ostream
+ }
+
+M src/lib/ostream-file.c
+
+2014-10-09 18:12:46 +0300 Timo Sirainen <tss@iki.fi> (db3ebf659c)
+
+ lib: o_stream_send_istream() should return -1 if there was an error reading
+ input stream.
+
+
+M src/lib/ostream.c
+
+2014-10-09 18:12:14 +0300 Timo Sirainen <tss@iki.fi> (1107c86ff3)
+
+ lib: Added file_lock_find() to find which process has a file locked.
+
+
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+
+2014-10-09 16:51:22 +0300 Timo Sirainen <tss@iki.fi> (e19e36fc3b)
+
+ lib-storage: Small comment update
+
+
+M src/lib-storage/mail-storage.h
+
+2014-10-09 16:42:01 +0300 Timo Sirainen <tss@iki.fi> (073f965351)
+
+ lib-storage: If uncached header unfolding fails, panic instead of returning
+ error. This really shouldn't be happening. This also makes it clear that
+ return value -1 means some kind of I/O error instead of corruption.
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2014-10-09 16:41:23 +0300 Timo Sirainen <tss@iki.fi> (8b12e7b44a)
+
+ lib-storage: Fixed header parsing when there were multiple same header
+ names. For example if a mail had:
+
+ Name1: a Name1: b Name2: c
+
+ If the Name1: was initially added to cache and Name2: not, but later on both
+ were attempted to be added to cache, the Name2: lookup would have been added
+ with "b" instead of "c" value.
+
+M src/lib-storage/index/index-mail-headers.c
+
+2014-10-09 12:02:21 +0300 Timo Sirainen <tss@iki.fi> (0f48313419)
+
+ lib-lda: Added smtp_client_abort()
+
+
+M src/lib-lda/smtp-client.c
+M src/lib-lda/smtp-client.h
+
+2014-10-08 22:10:34 +0300 Timo Sirainen <tss@iki.fi> (1ee1a73bde)
+
+ lda, lmtp: Use mail_deliver_context.tempfail_error first if it exists
+ (instead of storage error).
+
+
+M src/lda/main.c
+M src/lmtp/commands.c
+
+2014-10-08 16:28:40 +0300 Timo Sirainen <tss@iki.fi> (f2841ed469)
+
+ lib: Compiling fix for FreeBSD Patch by Eero Hänninen
+
+
+M src/lib/net.c
+
+2014-10-08 11:34:05 +0300 Timo Sirainen <tss@iki.fi> (b056d19b7a)
+
+ lib-storage: LAYOUT=index small code cleanup
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2014-10-08 11:33:50 +0300 Timo Sirainen <tss@iki.fi> (28f7485aaa)
+
+ lib-storage: Fixed earlier LAYOUT=index change to refresh index before
+ opening a view to it. Fixes an assert-crash.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2014-10-07 22:24:21 +0000 Pascal Volk <user@localhost.localdomain.org> (6ae7a38d1f)
+
+ man: Added doveadm-proxy.1.
+
+
+M .hgignore
+M doc/man/Makefile.am
+A doc/man/doveadm-proxy.1.in
+M doc/man/doveadm.1.in
+
+2014-10-07 21:35:44 +0300 Timo Sirainen <tss@iki.fi> (f663bdd9d3)
+
+ lib-storage: Fixed some race condition crashes with LAYOUT=index
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2014-10-07 20:29:16 +0300 Timo Sirainen <tss@iki.fi> (ca315235ca)
+
+ lib-storage: Fixed assert-crash when BODYSTRUCTURE parsing fails due to
+ broken mail size.
+
+
+M src/lib-storage/index/index-mail.c
+
+2014-10-07 20:28:06 +0300 Timo Sirainen <tss@iki.fi> (02d8f3457e)
+
+ lib-mail: Added asserts
+
+
+M src/lib-mail/message-parser.c
+
+2014-10-07 20:13:36 +0300 Timo Sirainen <tss@iki.fi> (425cbcea60)
+
+ lib-index: Fixed assert-crash in some cache locking race conditions. If
+ mail_index_map() is being called, we can't refresh the index or it'll crash.
+ It wouldn't help anyway, since the index was just refreshed.
+
+
+M src/lib-index/mail-cache.c
+
+2014-10-07 19:48:34 +0300 Phil Carmody <phil@dovecot.fi> (6a53a51834)
+
+ lib-fs: struct fs_file's write_pending is a flag Signed-off-by: Phil Carmody
+ <phil@dovecot.fi>
+
+
+M src/lib-fs/fs-api-private.h
+
+2014-10-07 19:07:16 +0300 Timo Sirainen <tss@iki.fi> (0f833d18af)
+
+ lib-index: Delay unlocking cache compression until changes to transaction
+ log are committed. This should fix race condition with two processes
+ compressing the file at the same time with same file_seq and becoming
+ confused.
+
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.h
+M src/lib-index/mail-index-sync.c
+M src/lib-storage/index/index-rebuild.c
+
+2014-10-07 19:04:36 +0300 Timo Sirainen <tss@iki.fi> (06fc580f6b)
+
+ lib-index: Added path parameter to mail_index_create_tmp_file() This allows
+ using it for creating any kind of a new index file with proper file
+ permissions.
+
+ Some of the old code should probably be changed to use this. Maybe even move
+ this function to public mail-index.h
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.c
+
+2014-10-07 18:58:01 +0300 Timo Sirainen <tss@iki.fi> (cfd0e35fce)
+
+ lib-index: Try to minimize race conditions while compressing cache. There
+ are some unavoidable race conditions, but try to keep their time window as
+ small as possible.
+
+
+M src/lib-index/mail-cache-compress.c
+
+2014-10-07 18:47:09 +0300 Timo Sirainen <tss@iki.fi> (ab70f55bb8)
+
+ lib-index: mail_cache_lock() partial rewrite. require_same_reset_id is no
+ longer needed, if it ever was. If we're locking the cache file, we always
+ want the latest one. The logic of locking in general was somewhat confusing
+ and it probably didn't always successfully lock when it should have, because
+ the reset_id happened to match an old file.
+
+
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+
+2014-10-07 02:54:35 +0300 Timo Sirainen <tss@iki.fi> (620b5ed416)
+
+ lib-index: Code cleanup - avoid code duplication.
+
+
+M src/lib-index/mail-cache.c
+
+2014-10-07 02:35:41 +0300 Timo Sirainen <tss@iki.fi> (e4b2426849)
+
+ lib-index: Fixed cache file creation race condition. If two processes are
+ creating the index files at the same time, don't have one of them delete the
+ dovecot.index.cache that the other one just created. This means we never
+ should be calling mail_cache_create(), so it was removed entirely.
+
+
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-cache.h
+M src/lib-index/mail-index.c
+
+2014-10-07 02:33:03 +0300 Timo Sirainen <tss@iki.fi> (2219015cc8)
+
+ lib-index: Don't keep cache file locked for as long while syncing index. The
+ earlier code was required for updating the cache offsets, but this code no
+ longer exists. Now we just need to update the record counts in the header,
+ which can be done quickly at the end of the sync.
+
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+
+2014-10-06 20:50:34 +0000 Pascal Volk <user@localhost.localdomain.org> (80bd97a015)
+
+ man: Fixed broken syntax in doveadm-sync.1.
+
+
+M doc/man/doveadm-sync.1.in
+
+2014-10-06 22:12:01 +0300 Timo Sirainen <tss@iki.fi> (c85f661daf)
+
+ lib-dict: Fixed race condition in mkdir()ing dict file's parent directory.
+
+
+M src/lib-dict/dict-file.c
+
+2014-10-06 21:15:31 +0300 Timo Sirainen <tss@iki.fi> (a4828c4440)
+
+ sdbox: Fixed race condition when two processes mkdir() the same directory
+
+
+M src/lib-storage/index/dbox-single/sdbox-file.c
+
+2014-10-06 20:17:19 +0300 Timo Sirainen <tss@iki.fi> (482c0b9cbd)
+
+ Minor code cleanup to previous change. No need to have a data stack frame
+ here.
+
+
+M src/lib/failures.c
+
+2014-10-06 20:16:07 +0300 Timo Sirainen <tss@iki.fi> (d4f004105c)
+
+ log_timestamp setting supports now %{usecs} This is mainly useful for
+ debugging.
+
+
+M src/lib/failures.c
+M src/lib/failures.h
+M src/log/log-connection.c
+
+2014-10-05 23:36:10 +0000 Pascal Volk <user@localhost.localdomain.org> (af59148d4f)
+
+ man: Added doveadm-replicator.1.
+
+
+M .hgignore
+M doc/man/Makefile.am
+A doc/man/doveadm-replicator.1.in
+M doc/man/doveadm.1.in
+
+2014-10-05 23:25:48 +0000 Pascal Volk <user@localhost.localdomain.org> (1c84269045)
+
+ man: Forgot to update doveadm.1 in previous commit (fec91a386bb0).
+
+
+M doc/man/doveadm.1.in
+
+2014-10-05 20:18:20 +0000 Pascal Volk <user@localhost.localdomain.org> (b0bc86df07)
+
+ man: Reworked dsync.1 and renamed it to doveadm-sync.1.
+
+
+M .hgignore
+M doc/man/Makefile.am
+A doc/man/doveadm-backup.1
+A doc/man/doveadm-sync.1.in
+A doc/man/dsync.1
+D doc/man/dsync.1.in
+
+2014-10-06 13:17:00 +0300 Timo Sirainen <tss@iki.fi> (34422d89f9)
+
+ dsync: Debug logging improvements and comment clarifications.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-10-06 13:13:04 +0300 Timo Sirainen <tss@iki.fi> (f4842590cc)
+
+ dsync: Fixed potential crash when deleting mailbox.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+
+2014-10-06 13:15:10 +0300 Timo Sirainen <tss@iki.fi> (f6a50ab947)
+
+ doveadm backup: Don't unnecessarily delete mailbox when handling expunges
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-10-06 12:21:52 +0300 Timo Sirainen <tss@iki.fi> (2176c7c7a7)
+
+ doveadm backup: Local mailbox was deleted also when there were just new
+ messages.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-10-06 12:21:24 +0300 Timo Sirainen <tss@iki.fi> (f502a549ab)
+
+ doveadm backup: When deleting a mailbox, log a warning, not just a debug
+ message. Because we're also returning temporary failure in any case, so
+ there needs to be some kind of a warning/error logged.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-10-05 20:56:39 +0300 Timo Sirainen <tss@iki.fi> (01a486e33a)
+
+ dsync: Fixed linking with some systems.
+
+
+M src/doveadm/dsync/Makefile.am
+
+2014-10-05 13:24:02 +0300 Timo Sirainen <tss@iki.fi> (75fe5f1b40)
+
+ doveadm sync/backup: Updated usage string
+
+
+M src/doveadm/doveadm-dsync.c
+
+2014-10-04 17:48:03 +0300 Stephan Bosch <stephan@rename-it.nl> (efbeceffc8)
+
+ lib: Added support for connecting UDP sockets.
+
+
+M src/lib/net.c
+M src/lib/net.h
+
+2014-10-04 17:32:48 +0300 Stephan Bosch <stephan@rename-it.nl> (22215c2d75)
+
+ lib-http: Fixed detecting disconnection when ioloop is running only
+ intermittently. This fix only applies to ioloops created and run by lib-http
+ itself.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2014-10-04 17:32:48 +0300 Stephan Bosch <stephan@rename-it.nl> (b66def5dad)
+
+ lib-http: client: Added support for absolute request timeout. Requests
+ cannot survive beyond this deadline.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2014-10-04 17:31:38 +0300 Stephan Bosch <stephan@rename-it.nl> (de0181258a)
+
+ lib-http: client: Added support for delaying requests in milliseconds.
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2014-10-04 17:31:38 +0300 Stephan Bosch <stephan@rename-it.nl> (06d1b658d0)
+
+ lib-http: client queue: Start using new timeval_cmp_margin function for
+ delay handling.
+
+
+M src/lib-http/http-client-queue.c
+
+2014-10-04 17:31:38 +0300 Stephan Bosch <stephan@rename-it.nl> (b3ba8f6221)
+
+ lib: Fixed io_loop_move_timeout() to retain the next_run time, so that the
+ timeout is not implicitly reset. This problem became with
+ timeout_add_absolute(), since resetting an absolute timeout causes it to
+ fire immediately (msecs == 0).
+
+
+M src/lib/ioloop.c
+
+2014-10-04 17:31:14 +0300 Stephan Bosch <stephan@rename-it.nl> (dad72f9744)
+
+ lib: ioloop: Fixed absolute timeout removal. Absolute timeouts fire only
+ once, so the timeout should be removed from the priority queue once it
+ fires.
+
+
+M src/lib/ioloop.c
+
+2014-10-04 17:30:54 +0300 Stephan Bosch <stephan@rename-it.nl> (9f4f35957d)
+
+ lib-http: client: Fixed problem occuring when a nested ioloop was run inside
+ a request callback using the same client. If requests in the nested ioloop
+ would use the same connection as the one that called the callback, the
+ requests would (in the best scenario) all be doomed to time out.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2014-10-04 00:29:30 +0300 Timo Sirainen <tss@iki.fi> (792737e5c4)
+
+ fs-posix: Compile fix for systems without flock()
+
+
+M src/lib-fs/fs-posix.c
+
+2014-10-03 22:44:31 +0300 Timo Sirainen <tss@iki.fi> (c64840e986)
+
+ Make static analyzer happier
+
+
+M src/auth/passdb-static.c
+M src/doveadm/doveadm-dict.c
+M src/plugins/virtual/virtual-config.c
+
+2014-10-03 22:39:53 +0300 Timo Sirainen <tss@iki.fi> (924af2adb7)
+
+ lib-lda: smtp client may have crashed if remote returned a permanent error.
+
+
+M src/lib-lda/smtp-client.c
+
+2014-10-03 18:18:44 +0300 Timo Sirainen <tss@iki.fi> (8abfdb77da)
+
+ Added signature for changeset 34e52cbeb837
+
+
+M .hgsigs
+
+2014-10-03 18:18:41 +0300 Timo Sirainen <tss@iki.fi> (823190efd7)
+
+ Added tag 2.2.14.rc1 for changeset 34e52cbeb837
+
+
+M .hgtags
+
+2014-10-03 18:18:41 +0300 Timo Sirainen <tss@iki.fi> (4c808c48d9)
+
+ Released v2.2.14.rc1.
+
+
+M NEWS
+M configure.ac
+
+2014-10-03 17:36:11 +0300 Timo Sirainen <tss@iki.fi> (c939930157)
+
+ example-config: Added ssl_options setting.
+
+
+M doc/example-config/conf.d/10-ssl.conf
+
+2014-10-03 17:11:58 +0300 Timo Sirainen <tss@iki.fi> (5d786275b6)
+
+ imap: GETMETADATA was returning mailbox name as UTF-8 instead of mUTF-7
+
+
+M src/imap/cmd-getmetadata.c
+
+2014-10-03 16:57:39 +0300 Timo Sirainen <tss@iki.fi> (b6c48e71a9)
+
+ fs-posix: Added prefix parameter that is prefixed to all paths.
+
+
+M src/lib-fs/fs-posix.c
+
+2014-10-03 16:31:33 +0300 Timo Sirainen <tss@iki.fi> (2d9b6a31e5)
+
+ lib-lda, lmtp: Separate internal errors from remote errors. LMTP proxy
+ shouldn't log remote errors with error level, because the proxy itself
+ didn't have any failure.
+
+ This is an API change, but I'm not aware of any plugins actually using the
+ lmtp-client.h directly.
+
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/lmtp-client.h
+M src/lib-lda/smtp-client.c
+M src/lmtp/lmtp-proxy.c
+
+2014-10-03 16:04:06 +0300 Timo Sirainen <tss@iki.fi> (0f430e0a57)
+
+ master: If log process crashes, restart it immediately. The regular
+ service_monitor_listen_start() doesn't work for it, because the log fds
+ aren't in the listeners.
+
+
+M src/master/service-monitor.c
+
+2014-10-02 19:43:25 +0300 Timo Sirainen <tss@iki.fi> (61f258ff61)
+
+ dsync: Debug message fix
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-10-02 19:43:09 +0300 Timo Sirainen <tss@iki.fi> (f182955da3)
+
+ lib-storage: Added %{session} to mail_user_var_expand_table()
+
+
+M src/lib-storage/mail-user.c
+
+2014-10-02 13:15:22 +0300 Timo Sirainen <tss@iki.fi> (de39002e8e)
+
+ dsync: Improved debug logging.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-10-02 12:56:30 +0300 Timo Sirainen <tss@iki.fi> (3df1930bcd)
+
+ dsync: Added more debug logging.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-10-02 12:48:00 +0300 Timo Sirainen <tss@iki.fi> (5327026612)
+
+ doveadm backup: Fix to earlier commit - don't try to delete an already empty
+ mailbox.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-10-02 12:31:34 +0300 Timo Sirainen <tss@iki.fi> (2faaca21fb)
+
+ doveadm backup: Locally expunged mails weren't always added back.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-10-01 10:33:49 +0300 Stephan Bosch <stephan@rename-it.nl> (a40a555561)
+
+ lib-http: client: Fixed recovery after connection failure. If a parallel
+ already connected connection was active, the queue wasn't notified of the
+ failure. Only pending connections should be considered in this case and not
+ established ones.
+
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2014-10-01 10:33:39 +0300 Stephan Bosch <stephan@rename-it.nl> (aab7256cdc)
+
+ lib-http: client: Fixed aborting request in the middle of sending payload.
+ If the request payload is so big that it cannot be sent all at once, the
+ caller may at some point abort the request when it is still being sent. The
+ bug occurred when the request finally finished sending. It erroneously
+ advanced the state to WAITING rather than remaining ABORTED, thus 'reviving'
+ the request unexpectedly.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+
+2014-10-01 00:17:09 +0300 Timo Sirainen <tss@iki.fi> (9aa6561ac5)
+
+ lib: Fixed earlier timeout_add_absolute() commit. I removed too much from
+ Stephan's patch.
+
+
+M src/lib/ioloop.c
+
+2014-10-01 00:13:36 +0300 Stephan Bosch <stephan@rename-it.nl> (e28b88ee83)
+
+ lib: Created timeval_cmp_margin(). It's identical to timeval_cmp(), except
+ that it ignores tv_usec differences smaller than a specified margin.
+
+
+M src/lib/time-util.c
+M src/lib/time-util.h
+
+2014-10-01 00:06:19 +0300 Stephan Bosch <stephan@rename-it.nl> (2753f93e5d)
+
+ lib: Added support for adding milliseconds to struct timeval time values.
+
+
+M src/lib/time-util.h
+
+2014-10-01 00:03:17 +0300 Stephan Bosch <stephan@rename-it.nl> (43a2fa0183)
+
+ lib: Added support for setting timeouts at absolute time, rather than
+ relative to current time.
+
+
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2014-09-30 23:49:52 +0300 Stephan Bosch <stephan@rename-it.nl> (0d30ec5bef)
+
+ lib-http: client: The http_client_queue_fail() function aborted requests in
+ an unsafe manner. Copied queues before freeing the requests, because the
+ destroyed requests modify the queue.
+
+
+M src/lib-http/http-client-queue.c
+
+2014-09-30 23:49:45 +0300 Stephan Bosch <stephan@rename-it.nl> (16eb9a737d)
+
+ lib-http: client: Fixed crash occurring sometimes when delay timeout
+ expired. Forgot to drop destroyed requests from delay queue.
+
+
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+
+2014-09-30 23:49:35 +0300 Stephan Bosch <stephan@rename-it.nl> (f1767771dd)
+
+ lib-sasl: Added reference counting to lib-sasl initialization.
+
+
+M src/lib-sasl/dsasl-client.c
+
+2014-09-29 22:44:03 +0300 Timo Sirainen <tss@iki.fi> (5024c4799b)
+
+ lib: Improved istream-file's failing read()/pread() error message.
+
+
+M src/lib/istream-file.c
+
+2014-09-29 22:43:44 +0300 Timo Sirainen <tss@iki.fi> (73b9c241e7)
+
+ lib: If i_stream_default_seek_nonseekable() can't seek, set a more readable
+ error message.
+
+
+M src/lib/istream.c
+
+2014-09-29 15:56:02 +0300 Timo Sirainen <tss@iki.fi> (ccb0406a43)
+
+ lib-lda: smtp_client_deinit() may have returned NULL error strings.
+
+
+M src/lib-lda/smtp-client.c
+
+2014-09-29 14:57:42 +0300 Timo Sirainen <tss@iki.fi> (b5014077fa)
+
+ lib-http: Fixed assert-crash when http_client_connection_disconnect() is
+ called multiple times.
+
+
+M src/lib-http/http-client-connection.c
+
+2014-09-29 14:16:06 +0300 Timo Sirainen <tss@iki.fi> (d519a0449d)
+
+ dsync: Added DSYNC_BRAIN_FLAG_NO_MAIL_PREFETCH to avoid opening mails
+ unnecessarily.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-export.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-09-26 00:32:03 +0300 Timo Sirainen <tss@iki.fi> (232ee7c662)
+
+ lib-storage: Don't assume that we must read the whole message to get its
+ virtual size. This is true only with mbox format. All the other formats have
+ various metadata available where it's stored.
+
+
+M src/lib-storage/index/index-mail.c
+
+2014-09-25 19:43:28 +0300 Timo Sirainen <tss@iki.fi> (eec75bde5b)
+
+ imap: die-callback didn't set log prefixes correctly for client handlers
+ Calling mail_storage_service_io_activate_user() unfortunately doesn't set
+ the ioloop context itself, so timeouts weren't inheriting it. It seemed a
+ bit difficult to change this, so for now I just moved the call to the
+ timeout handler.
+
+
+M src/imap/main.c
+
+2014-09-25 15:50:03 +0300 Timo Sirainen <tss@iki.fi> (b5ff746939)
+
+ lib: If file_wait_lock*() fails, try to include the current pid holding the
+ lock in error message. This is currently supported via fcntl(F_GETLK) and
+ also via Linux /proc/locks.
+
+
+M src/lib/file-lock.c
+
+2014-09-25 15:37:48 +0300 Timo Sirainen <tss@iki.fi> (2df651ae18)
+
+ imap, pop3: Show user's proper log prefix when deinitializing users at exit.
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/main.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+
+2014-09-25 15:37:01 +0300 Timo Sirainen <tss@iki.fi> (85779ec11f)
+
+ lib-storage: Allow calling storage service's ioloop activate/deactivate
+ functions manually.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2014-09-25 15:15:20 +0300 Timo Sirainen <tss@iki.fi> (85b1455588)
+
+ lib: Code cleanup - check io_loop_context_add/remove_callbacks() callback
+ parameters.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+M src/plugins/stats/stats-plugin.c
+
+2014-09-25 13:40:54 +0300 Timo Sirainen <tss@iki.fi> (45324f1eaf)
+
+ Mark more memory pools as growing
+
+
+M src/lib-http/http-server-request.c
+M src/lib-index/mail-cache-lookup.c
+
+2014-09-25 13:38:09 +0300 Timo Sirainen <tss@iki.fi> (1b81b28b2e)
+
+ auth: Mark memory pools as growing and use the same sizes for all
+ mechanisms. Mainly to have DEBUG log fewer warnings.
+
+
+M src/auth/auth-request.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-apop.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-dovecot-token.c
+M src/auth/mech-external.c
+M src/auth/mech-gssapi.c
+M src/auth/mech-login.c
+M src/auth/mech-ntlm.c
+M src/auth/mech-otp.c
+M src/auth/mech-plain.c
+M src/auth/mech-rpa.c
+M src/auth/mech-scram-sha1.c
+M src/auth/mech-skey.c
+M src/auth/mech-winbind.c
+
+2014-09-25 13:28:39 +0300 Timo Sirainen <tss@iki.fi> (33bd898e77)
+
+ Avoid logging warnings about increasing memory pool/data stack with DEBUG
+ on. These could have a minor effect on memory usage, but shouldn't be much.
+
+
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/config-request.c
+M src/config/doveconf.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-service-settings.c
+M src/lib-settings/settings-parser.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/master/service.c
+
+2014-09-25 13:26:20 +0300 Timo Sirainen <tss@iki.fi> (0dc7891233)
+
+ lib: Added file_wait_lock_error() and file_try_lock_error()
+
+
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+
+2014-09-25 02:55:34 +0300 Timo Sirainen <tss@iki.fi> (96c5e558bb)
+
+ fs-posix: fs_read_stream() now returns an istream that can live even after
+ the fs_file is closed.
+
+
+M src/lib-fs/fs-posix.c
+
+2014-09-25 01:13:12 +0300 Timo Sirainen <tss@iki.fi> (5463358149)
+
+ lib-storage: Added mailbox_get_index_path() and caching of the index path.
+ This solves some potential assert-crashes on race conditions when opening a
+ mailbox while it's being deleted.
+
+
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2014-09-25 00:42:56 +0300 Timo Sirainen <tss@iki.fi> (70612e0710)
+
+ lib-storage: Headers were sometimes added to dovecot.index.cache with wrong
+ line number value. This happened if the header parsing was done multiple
+ times for the same mail. The end result being that when fetching multiple
+ headers as a stream, the headers could have been returned in the wrong
+ order. This messed up at least dsync's header hash comparisons.
+
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.h
+
+2014-09-25 00:41:15 +0300 Timo Sirainen <tss@iki.fi> (ad9403d54b)
+
+ imapc: Fixed potential crash when trying to send NOOP before mailbox was
+ fully opened.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2014-09-25 00:40:48 +0300 Timo Sirainen <tss@iki.fi> (bf684c50bc)
+
+ imapc: If connection isn't in selected state when deleting mailbox, don't
+ try to UNSELECT it.
+
+
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-list.c
+
+2014-09-24 20:01:46 +0000 Pascal Volk <user@localhost.localdomain.org> (269cd8a29a)
+
+ man: Added doveadm-fts.1.
+
+
+M .hgignore
+M doc/man/Makefile.am
+A doc/man/doveadm-fts.1.in
+M doc/man/doveadm.1.in
+
+2014-09-24 19:50:37 +0000 Pascal Volk <user@localhost.localdomain.org> (ca5b7cebad)
+
+ man: Added doveadm-acl.1.
+
+
+M .hgignore
+M doc/man/Makefile.am
+A doc/man/doveadm-acl.1.in
+M doc/man/doveadm.1.in
+
+2014-09-23 16:58:59 +0300 Timo Sirainen <tss@iki.fi> (45c763dbeb)
+
+ imap: Don't send MODSEQ in untagged FETCH reply if IMAP client didn't enable
+ CONDSTORE/QRESYNC. We should have been checking client->enabled_features,
+ not mailbox_get_enabled_features(). The former contains the features enabled
+ by the IMAP client, while the latter contains also some automatically added
+ features.
+
+
+M src/imap/imap-sync.c
+
+2014-09-22 16:08:25 +0300 Timo Sirainen <tss@iki.fi> (1cf8b6dc43)
+
+ lib-master: Increased instances file's dotlock timeout to 2 seconds. The 1
+ second would have been enough, except the current dotlocking code uses
+ second-level precision in checking timeouts, so it could end up trying the
+ lock only once.
+
+ A better fix would be to fix the dotlocking code to use millisecond-level
+ precision (internally), but since this is the only user so far where it
+ would have mattered, it's not really worth the effort (yet).
+
+M src/lib-master/master-instance.c
+
+2014-09-22 15:56:31 +0300 Phil Carmody <phil@dovecot.fi> (1f0b3ea95f)
+
+ lib: bsearch - make BINARY_NUMBER_SEARCH more widely usable This template is
+ more widely usable if we do not hard-code into it the method of accessing
+ the value being compared. For the default case we already use, this accessor
+ is just a simple array dereferencing macro.
+
+ As rewriting with the array access happens in the preprocessor, the code
+ generated is completely unchanged.
+
+ Expected future use:
+
+ : #define MY_GETTER(array, index) ((array)[(index)].index_field)
+ : #define MY_BINARY_SEARCH(data, count, value, idx_r) \
+ : BINARY_NUMERIC_SEARCH(MY_GETTER, data, count, value, idx_r);
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/bsearch-insert-pos.h
+
+2014-09-18 17:46:18 +0200 Timo Sirainen <tss@iki.fi> (02a38d8590)
+
+ lib-dict: dict-fs implements now minimal iteration support.
+
+
+M src/lib-dict/dict-fs.c
+
+2014-09-18 17:39:49 +0200 Timo Sirainen <tss@iki.fi> (8b03b93ea6)
+
+ doveadm dict iter: Use recursion flag only if -R parameter is specified.
+
+
+M src/doveadm/doveadm-dict.c
+
+2014-09-18 02:19:32 +0200 Timo Sirainen <tss@iki.fi> (29449424be)
+
+ fs-posix: When deleting a directory, automatically fallback to rmdir()ing it
+
+
+M src/lib-fs/fs-posix.c
+
+2014-09-16 23:22:59 +0300 Timo Sirainen <tss@iki.fi> (7bdd29cf24)
+
+ virtual: Using modseq-based syncing while mailbox was open didn't handle
+ expunges correctly. The expunges were handled only after EXPUNGE command was
+ given, which should have been done only for mails that no longer matched the
+ search query but still existed.
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2014-09-16 20:59:48 +0300 Timo Sirainen <tss@iki.fi> (5be5d87599)
+
+ quota: Quota recalculation didn't include INBOX in some configurations. If
+ one inbox=yes and another inbox=no namespace shared the same mail location,
+ and the inbox=no namespace was first, only it was used to list all
+ mailboxes.
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2014-09-16 20:29:04 +0300 Phil Carmody <phil@dovecot.fi> (260faead60)
+
+ lib: test-var-expand - disambiguate tests Two test cases had the same name.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-var-expand.c
+
+2014-09-16 20:29:04 +0300 Phil Carmody <phil@dovecot.fi> (c971768955)
+
+ lib: hash-format - fix leak on _init() failure path If any of the
+ analysis/parse helpers return failure, then the whole pool will leak.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/hash-format.c
+
+2014-09-16 15:43:42 +0300 Timo Sirainen <tss@iki.fi> (fbf0acc4c9)
+
+ lib-storage: SEARCH_MAILBOX* value is now also compared to to the (virtual)
+ mailbox name. This fixes for example "doveadm fetch uid mailbox virtual/all"
+
+
+M src/lib-storage/index/index-search.c
+
+2014-09-16 15:23:51 +0300 Timo Sirainen <tss@iki.fi> (263d455e91)
+
+ doveadm fts rescan: For virtual namespaces just mark the last indexed UID to
+ 0.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-api.c
+
+2014-09-16 14:32:20 +0300 Timo Sirainen <tss@iki.fi> (d06e111700)
+
+ fts: dovecot-expunges.log wasn't closed at deinit
+
+
+M src/plugins/fts/fts-expunge-log.c
+
+2014-09-16 14:03:52 +0300 Phil Carmody <phil@dovecot.fi> (b800cdab69)
+
+ lib: test-strnum - fix format size mismatch Signed-off-by: Phil Carmody
+ <phil@dovecot.fi>
+
+
+M src/lib/test-strnum.c
+
+2014-09-16 13:38:30 +0300 Phil Carmody <phil@dovecot.fi> (629e96c5e2)
+
+ lib: test-strnum - add size-oblivious str_to/parse_uintmax tests Test a
+ value of every bit-length. Also test the 10/9*MAX corner case. And due to
+ crappy helper functions, test lots of leading zeroes too!
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-strnum.c
+
+2014-09-16 13:38:30 +0300 Phil Carmody <phil@dovecot.fi> (bee4935fb1)
+
+ lib: remove uintmax tests from uint64 tests These log a warning on OSX with
+ clang.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-strnum.c
+
+2014-09-16 13:38:30 +0300 Phil Carmody <phil@dovecot.fi> (f1fab6f1b9)
+
+ lib: strnum - ensure str_to_uintmax doesn't return a value on error It was
+ clobbering the _r parameter even though the spec says it shouldn't.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/strnum.c
+
+2014-09-16 12:32:09 +0300 Timo Sirainen <tss@iki.fi> (54f559f2e6)
+
+ dsync: Moved doveadm-specific code to doveadm directory.
+
+
+M src/doveadm/Makefile.am
+R099 src/doveadm/dsync/doveadm-dsync.c src/doveadm/doveadm-dsync.c
+R100 src/doveadm/dsync/doveadm-dsync.h src/doveadm/doveadm-dsync.h
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/Makefile.am
+
+2014-09-16 12:04:07 +0300 Timo Sirainen <tss@iki.fi> (56cf7fccd4)
+
+ fs-metawrap: Fixed iteration wrapping, broken by earlier changes.
+
+
+M src/lib-fs/fs-metawrap.c
+
+2014-09-16 01:12:21 +0300 Timo Sirainen <tss@iki.fi> (a7f818f531)
+
+ Makefile: Fixed linking libdovecot-dsync
+
+
+M src/doveadm/dsync/Makefile.am
+
+2014-09-16 01:09:53 +0300 Timo Sirainen <tss@iki.fi> (c32552ea7d)
+
+ Compiler warning fix
+
+
+M src/lib-storage/mail-namespace.c
+
+2014-09-16 00:43:36 +0300 Timo Sirainen <tss@iki.fi> (f89e4933a0)
+
+ lib-fs: fs-metawrap now fully wraps fs_iter_* to fix tracking struct
+ fs.iters
+
+
+M src/lib-fs/fs-metawrap.c
+
+2014-09-16 00:21:52 +0300 Timo Sirainen <tss@iki.fi> (90804278df)
+
+ lib-storage: Added mail_namespaces_init_add/finish() to manually
+ initializing namespaces.
+
+
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-namespace.h
+
+2014-09-16 00:21:13 +0300 Timo Sirainen <tss@iki.fi> (1e40531c1d)
+
+ lib-storage: Added mail_user_dup()
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2014-09-16 00:01:33 +0300 Timo Sirainen <tss@iki.fi> (e13e798694)
+
+ lib-fs: Keep track of all fs_iters in fs.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2014-09-15 23:57:45 +0300 Timo Sirainen <tss@iki.fi> (5804ddddad)
+
+ lib-fs: Added wait_ioloop/prev_ioloop helpers to struct fs.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2014-09-15 18:04:20 +0300 Timo Sirainen <tss@iki.fi> (faeca024c7)
+
+ Install libdovecot-dsync.so library, which can be used separately.
+
+
+M Makefile.am
+M configure.ac
+M dovecot-config.in.in
+M dovecot.m4
+M src/doveadm/Makefile.am
+M src/doveadm/dsync/Makefile.am
+
+2014-09-15 18:02:02 +0300 Timo Sirainen <tss@iki.fi> (0219a05495)
+
+ dsync: Moved all doveadm-specific code to doveadm-dsync.c
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-mailbox-tree.c
+
+2014-09-15 11:19:50 +0300 Stephan Bosch <stephan@rename-it.nl> (711e8e4c5c)
+
+ lib-http: server: Fixed connection reference counting. Connection often
+ still got destroyed too early. Particularly submitting responses would
+ potentially destroy the connection, which is often unexpected. Sending
+ responses is now postponed until handled by the stream output handler, which
+ is explicitly triggered when necessary.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+
+2014-09-14 11:29:35 +0300 Timo Sirainen <tss@iki.fi> (e84429cf1f)
+
+ fs-posix: Fixed fs_iter_deinit() when opendir() had failed.
+
+
+M src/lib-fs/fs-posix.c
+
+2014-09-13 23:42:17 +0300 Timo Sirainen <tss@iki.fi> (6f6b74fef1)
+
+ lib-http server: Keep output stream referenced to avoid accessing it after
+ destroy.
+
+
+M src/lib-http/http-server-response.c
+
+2014-09-13 22:15:35 +0300 Timo Sirainen <tss@iki.fi> (98ac7027d8)
+
+ fs-metawrap: Add FS_PROPERTY_COPY_METADATA property for wrapped fs backends.
+ This is because if we simply use the parent copy the metadata gets copied as
+ well.
+
+
+M src/lib-fs/fs-metawrap.c
+
+2014-09-13 22:14:09 +0300 Timo Sirainen <tss@iki.fi> (bda58aef5d)
+
+ fs-posix: Fixed memory leak in fs_iter_deinit()
+
+
+M src/lib-fs/fs-posix.c
+
+2014-09-12 12:55:12 +0300 Timo Sirainen <tss@iki.fi> (6efdbeab16)
+
+ lib-master: Earlier config file path fix broke reusing existing config
+ socket lookups.
+
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+
+2014-09-11 18:15:04 +0300 Timo Sirainen <tss@iki.fi> (7fc0ca6c1f)
+
+ virtual: Recent optimizations had broken fast mailbox syncing. We wrongly
+ assumed that all_mails array could have been accessed using vseqs. Broken by
+ 8abf7eea2966
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2014-09-11 16:40:00 +0300 Timo Sirainen <tss@iki.fi> (9514798ef5)
+
+ lib-mail: Message decoder now runs normalizer also for unknown charsets.
+
+
+M src/lib-mail/message-decoder.c
+
+2014-09-11 16:14:24 +0300 Timo Sirainen <tss@iki.fi> (264629908d)
+
+ fts-lucene: No .. the rebuilding warning was still in the wrong place.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2014-09-11 16:12:38 +0300 Timo Sirainen <tss@iki.fi> (e1f07b96c2)
+
+ fts-lucene: Include the mailbox name also in the rebuilding warning.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2014-09-11 16:11:37 +0300 Timo Sirainen <tss@iki.fi> (bfb05d2705)
+
+ fts-lucene: Log a warning when rebuilding index because of settings changes
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2014-09-10 18:41:39 +0300 Timo Sirainen <tss@iki.fi> (f1f877d669)
+
+ man: Forgot to remove XXX prefixes from doveadm-director.1.in
+
+
+M doc/man/doveadm-director.1.in
+
+2014-09-10 16:05:32 +0300 Timo Sirainen <tss@iki.fi> (0799033d1f)
+
+ replication plugin: Actually, use empty mail_replica as "replication is
+ disabled".
+
+
+M src/plugins/replication/replication-plugin.c
+
+2014-09-10 15:54:58 +0300 Timo Sirainen <tss@iki.fi> (42882b9aa1)
+
+ replication plugin: Added replication_disabled setting.
+
+
+M src/plugins/replication/replication-plugin.c
+
+2014-09-10 14:48:58 +0300 Pascal Volk <user@localhost.localdomain.org> (5bfb64d91f)
+
+ man: doveadm-director man page updated
+
+
+M doc/man/doveadm-director.1.in
+
+2014-09-10 14:42:34 +0300 Pascal Volk <user@localhost.localdomain.org> (96e19b9caa)
+
+ man: doveadm-auth man page updated
+
+
+M doc/man/doveadm-auth.1.in
+
+2014-09-10 14:37:50 +0300 Pascal Volk <user@localhost.localdomain.org> (66ac9aee05)
+
+ man: doveadm-dump man page updated
+
+
+M doc/man/doveadm-dump.1.in
+
+2014-09-10 14:08:58 +0300 Phil Carmody <phil@dovecot.fi> (b85ff8f5b1)
+
+ lib-test: don't use 0 for old size in realloc call We have the real size,
+ use it.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+
+2014-09-10 14:08:58 +0300 Phil Carmody <phil@dovecot.fi> (8fcf84e6b7)
+
+ lib-index: test suite memory leak cleanup So that memory leak checkers can
+ be active while running the test suites, ensure that the suite itself
+ doesn't leak.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-index/test-mail-transaction-log-view.c
+
+2014-09-10 14:08:58 +0300 Phil Carmody <phil@dovecot.fi> (9f5db9cf86)
+
+ lib: test-seq-range-array - clean up array after use Removes noise when
+ memory-leak debugging during unit tests.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-seq-range-array.c
+
+2014-09-10 14:08:58 +0300 Phil Carmody <phil@dovecot.fi> (bf1683b089)
+
+ lib: test-aqueue - clean up the test queue each time round the loop Helps
+ keep noise out of memory leak debugging during unit tests.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-aqueue.c
+
+2014-09-10 14:08:58 +0300 Phil Carmody <phil@dovecot.fi> (0abffe9703)
+
+ lib: test-istream-concat - clean up our test-istreams This reduces noise
+ when memory leak debugging the unit tests.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-istream-concat.c
+
+2014-09-10 13:59:31 +0300 Timo Sirainen <tss@iki.fi> (b38866de5c)
+
+ dsync: Reset I/O timeout every time when receiving input. This could have
+ caused unwanted I/O timeouts when receiving large mails.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2014-09-09 17:26:52 -0600 Michael M Slusarz <slusarz@curecanti.org> (e540115bcf)
+
+ pop3: Optimize POP3 UIDL processing when duplicate renaming is not active.
+
+
+M src/pop3/pop3-commands.c
+
+2014-09-10 13:39:37 +0300 Stephan Bosch <stephan@rename-it.nl> (fe2b0e3de8)
+
+ lib-http: client: Implemented support for connection failure backoff.
+
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2014-09-10 13:39:37 +0300 Stephan Bosch <stephan@rename-it.nl> (9d746c6785)
+
+ lib-http: client: Added support for attempting a single IP several times.
+ Also limits the number of attempts when there are many IPs.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2014-09-10 13:39:37 +0300 Stephan Bosch <stephan@rename-it.nl> (e4322927c4)
+
+ lib-http: client: Tunnel connection failure would cause segfault. That
+ happened because it tried to retry waiting requests, which makes no sense
+ for a CONNECT tunnel.
+
+
+M src/lib-http/http-client-connection.c
+
+2014-09-10 13:39:37 +0300 Stephan Bosch <stephan@rename-it.nl> (564e117d86)
+
+ lib-http: server: Added support for authentication.
+
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.h
+
+2014-09-10 13:39:37 +0300 Stephan Bosch <stephan@rename-it.nl> (0b5bdb5ba6)
+
+ lib-http: Implemented HTTP auth (RFC 7235).
+
+
+M src/lib-http/Makefile.am
+A src/lib-http/http-auth.c
+A src/lib-http/http-auth.h
+M src/lib-http/http-parser.c
+M src/lib-http/http-parser.h
+A src/lib-http/test-http-auth.c
+
+2014-09-10 13:39:37 +0300 Stephan Bosch <stephan@rename-it.nl> (394006e60b)
+
+ lib-http: server: Added assert to connect callback which makes sure request
+ is either responded to or referenced. Earlier change added this only to
+ callback for normal requests, but CONNECT should be handled the same in this
+ respect.
+
+
+M src/lib-http/http-server-connection.c
+
+2014-09-10 13:39:37 +0300 Stephan Bosch <stephan@rename-it.nl> (22b6576f13)
+
+ lib-http: server: Fixed delayed request destruction. Destruction was
+ actually delayed indefinitely, because the delay flag was not reset.
+ Obviously, this caused a memory leak.
+
+
+M src/lib-http/http-server-connection.c
+
+2014-09-10 13:39:37 +0300 Stephan Bosch <stephan@rename-it.nl> (9f8cef4cbc)
+
+ lib-http: server: Made sure destroy callback is called only once.
+
+
+M src/lib-http/http-server-request.c
+
+2014-09-10 13:39:37 +0300 Stephan Bosch <stephan@rename-it.nl> (0998d8af97)
+
+ lib-http: server: Fixed segfault occurring in connection input handler.
+ Request handlers could close and destroy the connection early. Fixed by
+ holding a reference in the input handler.
+
+
+M src/lib-http/http-server-connection.c
+
+2014-09-10 13:39:36 +0300 Stephan Bosch <stephan@rename-it.nl> (1ec91e0450)
+
+ lib-http: server: Fixed handling of disconnection while request is being
+ handled. This would cause an assert failure.
+
+
+M src/lib-http/http-server-connection.c
+
+2014-09-09 17:09:30 +0300 Timo Sirainen <tss@iki.fi> (553f96fdbf)
+
+ lib-master: Fixed -c & -i command line parameters when config socket was
+ readable. The config socket was always being read, even if another config
+ file was attempted to be used.
+
+
+M src/lib-master/master-service-settings.c
+
+2014-09-08 18:11:31 +0300 Timo Sirainen <tss@iki.fi> (aec1d6f3cd)
+
+ pop3c: Added missing support for pop3c_ssl=starttls
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2014-09-08 13:39:25 +0300 Timo Sirainen <tss@iki.fi> (0917a1bdc9)
+
+ COPYING.LGPL: Updated FSF mailing address. Also some whitespace and line
+ wrapping changes. Used the same file as
+ http://www.gnu.org/licenses/lgpl-2.1.txt
+
+
+M COPYING.LGPL
+
+2014-09-08 10:14:42 +0300 Timo Sirainen <tss@iki.fi> (7a88e726e7)
+
+ pop3c: If base_dir isn't set, lookup pop3c_host with regular blocking DNS
+ lookup.
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2014-09-03 07:29:25 -0700 Timo Sirainen <tss@iki.fi> (d74a4126a7)
+
+ lib-storage: Compile fix to previous change The original patch was correct,
+ my copy&pasting by hand just sucked. :)
+
+
+M src/lib-storage/mail-storage-settings.c
+
+2014-09-03 06:29:52 -0700 Timo Sirainen <tss@iki.fi> (4c0e20db10)
+
+ lib-storage: Fixed off-by-one memory allocation in dynamic settings
+ allocation code. This didn't actually affect normal Dovecot builds, because
+ there were always some storages with get_setting_parser_info=NULL that added
+ the necessary padding.
+
+ Patch by Michael M Slusarz
+
+M src/lib-storage/mail-storage-settings.c
+
+2014-08-29 13:22:11 +0900 Timo Sirainen <tss@iki.fi> (ad396be1d9)
+
+ fs layout: Absolute paths as mailbox names shouldn't return index with
+ INDEX=MEMORY
+
+
+M src/lib-storage/list/mailbox-list-fs.c
+
+2014-08-29 02:14:43 +0900 Timo Sirainen <tss@iki.fi> (f90cbe597c)
+
+ lib-index, lib-storage: Fixed race conditions with deleting mailbox. Now
+ only one process can successfully finish mailbox_mark_index_deleted().
+
+
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2014-08-29 00:41:07 +0900 Timo Sirainen <tss@iki.fi> (92093e6d8b)
+
+ lib-fs: Keep a linked list of all files within fs to help debugging.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2014-08-28 23:52:46 +0900 Timo Sirainen <tss@iki.fi> (aaaa6e07cf)
+
+ Added UNLINK_EISDIR() helper macro.
+
+
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib/compat.h
+
+2014-08-28 23:50:25 +0900 Timo Sirainen <tss@iki.fi> (77d122b07c)
+
+ maildir: Handle unlink()=EPERM failure the same as EISDIR. EPERM is POSIX,
+ while EISDIR is Linux-specific.
+
+
+M src/lib-storage/index/maildir/maildir-sync-index.c
+
+2014-08-28 22:44:18 +0900 Timo Sirainen <tss@iki.fi> (f1177d2dcb)
+
+ lib-fs: Fixed metawrap_fs.copy() to work with FS_PROPERTY_COPY_METADATA
+ backends. This is done by simply copying the entire file with the metadata
+ included instead of rewriting it.
+
+
+M src/lib-fs/fs-metawrap.c
+
+2014-08-28 22:10:25 +0900 Timo Sirainen <tss@iki.fi> (9346506a9f)
+
+ Replaced dict_init() with dict_init_full() in various places.
+
+
+M src/lib-storage/index/index-attribute.c
+M src/plugins/last-login/last-login-plugin.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota.c
+
+2014-08-28 21:57:34 +0900 Timo Sirainen <tss@iki.fi> (a6a6ad107e)
+
+ lib-dict: file backend now expands ~/ paths if home_dir setting is set.
+
+
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict.h
+
+2014-08-28 21:56:41 +0900 Timo Sirainen <tss@iki.fi> (39ea571726)
+
+ lib-dict: Changed dict.init() API to take struct dict_settings and added
+ dict_init_full(). This allows giving more settings to dict in future as
+ needed. Unfortunately it also breaks the internal dict API, but there aren't
+ really any plugins widely using it, so it's not a big problem.
+
+
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-fs.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+
+2014-08-28 22:06:29 +0900 Timo Sirainen <tss@iki.fi> (4d8d947a6c)
+
+ dict: Renamed struct dict_settings to dict_server_settings.
+
+
+M src/dict/dict-settings.c
+M src/dict/dict-settings.h
+
+2014-08-27 07:53:39 +0300 Timo Sirainen <tss@iki.fi> (5308e1a2e7)
+
+ auth ldap: Compile fix to previous change.. Looks like on my local build
+ system ldap wasn't enabled..
+
+
+M src/auth/passdb-ldap.c
+
+2014-08-27 13:38:53 +0900 Timo Sirainen <tss@iki.fi> (3f647ff6ee)
+
+ auth ldap: Don't require password field to exist for passdb lookups when
+ auth_bind=yes. This should fix lmtp/doveadm proxy lookups with auth_bind=yes
+
+
+M src/auth/passdb-ldap.c
+
+2014-08-26 16:00:37 +0900 Timo Sirainen <tss@iki.fi> (42630b23d5)
+
+ lib-http: Added http_client_request_get_method()
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2014-08-26 14:50:15 +0900 Timo Sirainen <tss@iki.fi> (d5091e5319)
+
+ auth: Allow passdb credentials lookup also with auth_bind=yes Although we
+ probably can't lookup the password itself, we're also doing passdb lokups
+ for proxying and other purposes. These lookups will still work as long as
+ pass_attrs & pass_filter is specified.
+
+
+M src/auth/passdb-ldap.c
+
+2014-08-21 20:56:40 +0200 Timo Sirainen <tss@iki.fi> (cc52f19439)
+
+ doveadm exec: Show help if binary name wasn't given.
+
+
+M src/doveadm/doveadm.c
+
+2014-08-21 20:54:46 +0200 Timo Sirainen <tss@iki.fi> (0c9ba05543)
+
+ doveadm ring status: Help text was shown for wrong command.
+
+
+M src/doveadm/doveadm-director.c
+
+2014-08-21 15:52:14 +0300 Timo Sirainen <tss@iki.fi> (8d14b5fc9c)
+
+ fts-lucene: Compiling fix for earlier change.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2014-08-21 14:51:11 +0200 Timo Sirainen <tss@iki.fi> (a02d497640)
+
+ fts-lucene: Don't crash when index building fails but we were still planning
+ to optimize the index.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2014-08-21 14:49:34 +0200 Timo Sirainen <tss@iki.fi> (61435a588d)
+
+ fts-lucene: When deleting corrupted lucene-indexes/ directory, don't rmdir
+ it. This at least avoids errors with NFS when some of the files are still
+ open inside it by other processes.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2014-08-21 14:48:41 +0200 Timo Sirainen <tss@iki.fi> (4d72a99412)
+
+ fts-lucene: Automatically close index after 2 minutes of idling.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2014-08-21 14:46:47 +0200 Timo Sirainen <tss@iki.fi> (e8d5561143)
+
+ fts-lucene: Make sure Lucene indexes are always closed at deinit to avoid
+ memory leaks. At least optimize leaked memory.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2014-08-21 11:40:51 +0200 Timo Sirainen <tss@iki.fi> (ba9ec8849b)
+
+ redis: Added support for path=/unix/socket/path parameter instead of
+ host/port.
+
+
+M src/lib-dict/dict-redis.c
+
+2014-08-20 15:35:43 +0200 Timo Sirainen <tss@iki.fi> (f7b1126cec)
+
+ pop3: Fixed potential assert-crash on disconnect.
+
+
+M src/pop3/pop3-client.c
+
+2014-08-20 15:32:15 +0200 Timo Sirainen <tss@iki.fi> (ee77aba32f)
+
+ lmtp: Put back the deduplication code. Too dangerous after all to change it
+ in the middle of v2.2.x. It's also not causing that much trouble even when
+ it breaks..
+
+
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2014-08-20 14:35:27 +0200 Timo Sirainen <tss@iki.fi> (b8a6abfd2b)
+
+ auth: protocol-specific username settings weren't used for userdb lookups.
+ The username was set before the service-specific settings were looked up, so
+ global settings were always used. This affected auth_default_realm,
+ auth_username_translation and auth_username_format settings.
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-postfix-connection.c
+
+2014-08-20 14:22:28 +0300 Timo Sirainen <tss@iki.fi> (aadd92e090)
+
+ fts-lucene: If whitespace_chars was set, we may have ended up indexing some
+ garbage words. The final \0 was replaced with space, so everything beyond
+ that was also being indexed.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2014-08-20 12:47:10 +0200 Timo Sirainen <tss@iki.fi> (5c5e738bcc)
+
+ lib-dict: Hide internal ioloop from async commit callbacks. (Redis &
+ memcached fix)
+
+
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-redis.c
+
+2014-08-20 12:36:37 +0200 Timo Sirainen <tss@iki.fi> (8aa049fd90)
+
+ last-login plugin: Added ABI version check.
+
+
+M src/plugins/last-login/last-login-plugin.c
+
+2014-08-20 12:35:27 +0200 Timo Sirainen <tss@iki.fi> (477082109e)
+
+ last-login: Fixed timeout leak at user deinit.
+
+
+M src/plugins/last-login/last-login-plugin.c
+
+2014-08-20 12:07:19 +0200 Timo Sirainen <tss@iki.fi> (b6c6c4f648)
+
+ lib-storage: Added data stack frame to mail_prefetch().
+
+
+M src/lib-storage/mail.c
+
+2014-08-20 11:19:15 +0200 Timo Sirainen <tss@iki.fi> (7103d82e6e)
+
+ doveconf: local and remote net/bits addresses were printed with /bits twice.
+
+
+M src/config/doveconf.c
+
+2014-08-20 11:09:27 +0200 Timo Sirainen <tss@iki.fi> (3d4648e56d)
+
+ Several services weren't enforcing their process_limit=1 requirement.
+
+
+M src/indexer/indexer-settings.c
+M src/ipc/ipc-settings.c
+M src/replication/replicator/replicator-settings.c
+M src/stats/stats-settings.c
+
+2014-08-19 23:53:18 +0200 Timo Sirainen <tss@iki.fi> (5a9c7366ed)
+
+ lib: Added unit tests for wildcard_match()
+
+
+M src/lib/Makefile.am
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+A src/lib/test-wildcard-match.c
+
+2014-08-19 23:51:14 +0200 Timo Sirainen <tss@iki.fi> (6bde03b98a)
+
+ lib: wildcard_match() should have matched "*" wildcard against an empty ""
+ string also. This fixes global ACL "*" matching the root namespace when
+ creating new mailboxes.
+
+
+M src/lib/wildcard-match.c
+
+2014-08-18 22:39:56 +0200 Timo Sirainen <tss@iki.fi> (9ffd3c8ca8)
+
+ director: Log a warning when using "director host flush" for all hosts.
+
+
+M src/director/doveadm-connection.c
+
+2014-08-18 10:43:59 +0200 Timo Sirainen <tss@iki.fi> (935a2434cd)
+
+ istream-chain: Fixed crash caused by earlier io_add_stream() support change.
+
+
+M src/lib/istream-chain.c
+
+2014-08-15 16:00:07 +0300 Timo Sirainen <tss@iki.fi> (1bb62819cf)
+
+ lib-http server: Use io_add_istream() to wait for the payload istream. This
+ way the stream doesn't necessarily have to have a fd.
+
+
+M src/lib-http/http-server-response.c
+
+2014-08-15 15:59:17 +0300 Timo Sirainen <tss@iki.fi> (f07090a165)
+
+ lib-http: Added asserts to make sure CR or LF can't be added accidentally to
+ HTTP headers.
+
+
+M src/lib-http/http-server-response.c
+
+2014-08-15 15:22:46 +0300 Timo Sirainen <tss@iki.fi> (d295cff1b6)
+
+ istream-chain: Support using io_add_istream() for the chain stream. The
+ callback is notified whenever new streams are added to the chain.
+
+ It's currently not possible to have nonblocking istreams added to the chain
+ and the callback being called when they have new data, but it would be
+ possible to implement as well if needed at some point.
+
+M src/lib/istream-chain.c
+
+2014-08-15 15:19:24 +0300 Timo Sirainen <tss@iki.fi> (cc80e458f2)
+
+ io_add_istream(): Allow the istream to be added even if it doesn't have fd.
+
+
+M src/lib/ioloop.c
+
+2014-08-15 15:02:59 +0300 Phil Carmody <phil@dovecot.fi> (a9d6c2ebcd)
+
+ pop3: satisfy some strict parsing rules in RFC 1939 "Commands in the POP3
+ consist of a case-insensitive keyword, possibly followed by one or more
+ arguments. All commands are terminated by a CRLF pair. Keywords and
+ arguments consist of printable ASCII characters. Keywords and arguments
+ are each separated by a single SPACE character."
+
+ "A server MUST respond to an unrecognized, unimplemented, or
+ syntactically invalid command by responding with a negative status
+ indicator."
+
+ Therefore the following commands must be rejected: LIST 2600Hz LIST 99 red
+ balloons TOP 1 2 buckle-my-shoe
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/pop3/pop3-commands.c
+
+2014-08-15 15:02:59 +0300 Phil Carmody <phil@dovecot.fi> (797dc456af)
+
+ pop3: fix msgnum/size parsers The outer if()s are completely unnecessary,
+ and permit `num' to remain uninitialised. Spotted by clang's static
+ analysis.
+
+ Bug introduced in changeset: 17563:2ed2ab04b63d
+
+ Note that the lack of a parameter from a broken client is no longer treated
+ as "0". Before the bug was introduced:
+ DELE
+ -ERR There's no message 0. After this patch:
+ DELE
+ -ERR Invalid message number:
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/pop3/pop3-commands.c
+
+2014-08-15 14:48:08 +0300 Timo Sirainen <tss@iki.fi> (a69dfb7f6f)
+
+ Compiling fix for previous change..
+
+
+M src/lib-storage/mail-error.h
+
+2014-08-15 14:41:03 +0300 Timo Sirainen <tss@iki.fi> (2ed2459dbd)
+
+ Handle "out of disk space" and "out of user quota" as separate cases. "Out
+ of disk space" is a temporary error that should be logged as error and the
+ failure should be sent to user as "Internal server error".
+
+ Obsolete the use of MAIL_ERROR_NOSPACE and MAIL_ERRSTR_NO_SPACE. Use the
+ clearer MAIL_ERROR_NOQUOTA and MAIL_ERRSTR_NO_QUOTA instead.
+
+M src/doveadm/doveadm-mail.c
+M src/imap/imap-commands-util.c
+M src/lda/main.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/mail-error.c
+M src/lib-storage/mail-error.h
+M src/lib/compat.h
+M src/lmtp/commands.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/snarf/snarf-plugin.c
+M src/pop3/pop3-client.c
+
+2014-08-15 14:05:21 +0300 Timo Sirainen <tss@iki.fi> (749f6acd67)
+
+ ldap: Treat "No such object" errors to search the same as if no results were
+ returned. Trying to look up a nonexistent base returns this error.
+
+
+M src/auth/db-ldap.c
+
+2014-08-15 13:58:47 +0300 Timo Sirainen <tss@iki.fi> (e86708178d)
+
+ auth: Internal passdb failures were always failing the request even if
+ another passdb succeeded later.
+
+
+M src/auth/auth-request.c
+
+2014-08-13 13:34:22 +0300 Phil Carmody <phil@dovecot.fi> (833bed9429)
+
+ lib-http: server_request/connection - improve encapsulation It just feels a
+ bit dirty having the request mess around with the connection's internals,
+ have the connection manage its linked lists itself. No functional changes.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+
+2014-08-13 12:51:41 +0300 Timo Sirainen <tss@iki.fi> (66b9c9afe7)
+
+ virtual plugin: Optimized memory allocation. Patch by Teemu Huovila.
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2014-08-12 19:30:37 +0300 Timo Sirainen <tss@iki.fi> (33326dbee4)
+
+ Compiler warning fix
+
+
+M src/lib-storage/mail-storage.c
+
+2014-08-12 19:24:10 +0300 Timo Sirainen <tss@iki.fi> (e5536fd672)
+
+ virtual plugin: Handle physical mailbox deletion while virtual mailbox is
+ open.
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2014-08-12 19:12:04 +0300 Timo Sirainen <tss@iki.fi> (139e39b12e)
+
+ mailbox_list_index=yes: Make sure storage error doesn't change when updating
+ STATUS info.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2014-08-12 19:05:14 +0300 Timo Sirainen <tss@iki.fi> (97ae33602d)
+
+ lib-storage: Added mail_storage_last_error_push/pop()
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2014-08-12 18:48:03 +0300 Timo Sirainen <tss@iki.fi> (5948e3e120)
+
+ virtual plugin: Optimized syncing a large number of physical mailboxes.
+ Especially when the number of mails was large the old code took a lot of CPU
+ time. Based on patch by Teemu Huovila.
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2014-08-12 14:44:11 +0300 Timo Sirainen <tss@iki.fi> (80587a0446)
+
+ stats: Added num_connected_sessions for domains and IPs.
+
+
+M src/stats/client-export.c
+M src/stats/mail-domain.c
+M src/stats/mail-domain.h
+M src/stats/mail-ip.c
+M src/stats/mail-ip.h
+M src/stats/mail-session.c
+M src/stats/mail-stats.h
+M src/stats/mail-user.c
+M src/stats/mail-user.h
+
+2014-08-12 13:12:01 +0300 Timo Sirainen <tss@iki.fi> (14bd2410de)
+
+ lib-http server: Delay calling the request's destroy callback until
+ handle_request() callback is finished. This simplifies the code in the
+ handle_request() so it doesn't need to keep track of whether the response is
+ already submitted or not.
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+
+2014-08-12 12:39:46 +0300 Timo Sirainen <tss@iki.fi> (a078043bcc)
+
+ fts-lucene: If lucene-indexes dir is unexpectedly lost, rescan when expunge
+ log update fails. This mainly fixes a repeating error about failing to open
+ the expunge log. It should happen only if dovecot.index thinks that the
+ mailbox is indexed while in reality the entire lucene-indexes directory
+ doesn't exist.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2014-08-11 19:30:15 +0300 Timo Sirainen <tss@iki.fi> (9929820d58)
+
+ ostream-buffer: Allow modifying the buffer outside ostream, unless
+ o_stream_seek() is used. Now we'll just append to the end of the buffer
+ instead of forcibly trying to write at the offset where the last ostream
+ write ended.
+
+
+M src/lib/ostream-buffer.c
+
+2014-08-11 19:19:45 +0300 Timo Sirainen <tss@iki.fi> (3b4374ee8d)
+
+ istream-callback: Added i_stream_callback_get_buffer().
+
+
+M src/lib/istream-callback.c
+M src/lib/istream-callback.h
+
+2014-08-11 17:43:25 +0300 Timo Sirainen <tss@iki.fi> (605ebd4752)
+
+ lib: Added istream-callback API
+
+
+M src/lib/Makefile.am
+A src/lib/istream-callback.c
+A src/lib/istream-callback.h
+
+2014-08-11 16:08:44 +0300 Timo Sirainen <tss@iki.fi> (36ec5b36b6)
+
+ Compiler warning fix
+
+
+M src/lib/ostream-file.c
+
+2014-08-11 15:55:03 +0300 Timo Sirainen <tss@iki.fi> (bbda51eb33)
+
+ lib-http server: Comment updates
+
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server.h
+
+2014-08-11 15:54:43 +0300 Timo Sirainen <tss@iki.fi> (46631c1d90)
+
+ lib: io_stream_copy() no longer attempts to read full block sizes from
+ input. Although that may be more efficient for writing (to files), it causes
+ unnecessary work for the input stream. The writing part should also be
+ optimized anyway if the caller corks the output stream.
+
+
+M src/lib/iostream-temp.c
+M src/lib/ostream-file.c
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+
+2014-08-11 15:47:57 +0300 Timo Sirainen <tss@iki.fi> (93ed696062)
+
+ lib-http server: Added http_server_request_is_finished() This is intended
+ mainly to be used in asserts and such checks.
+
+
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server.h
+
+2014-08-11 15:46:29 +0300 Timo Sirainen <tss@iki.fi> (91a482473f)
+
+ lib-http: Call the destroy callback also when request is aborted.
+
+
+M src/lib-http/http-server-request.c
+
+2014-08-11 15:45:21 +0300 Timo Sirainen <tss@iki.fi> (50ba4fe3a8)
+
+ lib-http: Don't leak memory if HTTP client disconnects unexpectedly.
+ http_server_connection_disconnect() has several cleanup calls, which weren't
+ done because closed=TRUE was set explicitly and that skipped the cleanup.
+
+
+M src/lib-http/http-server-connection.c
+
+2014-08-11 14:18:53 +0300 Timo Sirainen <tss@iki.fi> (faa8995f1d)
+
+ lib-http server: Call request destroy callback immediately after response is
+ finished sending. Regardless of any other references to the request.
+
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server.h
+
+2014-08-11 13:32:06 +0300 Timo Sirainen <tss@iki.fi> (ace2d837c0)
+
+ lib-mail: Added comments to message-parser.h
+
+
+M src/lib-mail/message-parser.h
+
+2014-08-11 13:30:25 +0300 Timo Sirainen <tss@iki.fi> (7b61cb25a5)
+
+ lib-mail: Message parser now always returns block->data=NULL when it's not
+ supposed to be used.
+
+
+M src/lib-mail/message-parser.c
+
+2014-08-09 10:10:34 +0300 Timo Sirainen <tss@iki.fi> (4d981bcd01)
+
+ doveadm fs put: Added -h <hash> parameter to specify the file's hash. The
+ hash (in hex) is automatically detected to be either MD5 or SHA256 based on
+ its size. If the fs backend doesn't support the hash it'll fail. Otherwise
+ it'll make sure that the written file matches the given hash.
+
+
+M src/doveadm/doveadm-fs.c
+
+2014-08-08 16:27:40 +0300 Timo Sirainen <tss@iki.fi> (a693adf01b)
+
+ fts: fts_no_autofuzzy shouldn't disable fuzzying when FUZZY search parameter
+ is set.
+
+
+M src/plugins/fts/fts-storage.c
+
+2014-08-08 16:20:31 +0300 Timo Sirainen <tss@iki.fi> (117fb8c003)
+
+ fts: Added fts_no_autofuzzy setting to require exact matches for found
+ results. This is done by using the FTS search results as only filters on
+ which the regular non-FTS search is done.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-lucene/lucene-wrapper.h
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-api.h
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-storage.h
+
+2014-08-08 15:15:03 +0300 Timo Sirainen <tss@iki.fi> (212a8a2514)
+
+ doveadm search: If mailbox GUID lookup fails, print an error.
+
+
+M src/doveadm/doveadm-mail-search.c
+
+2014-08-08 14:54:46 +0300 Timo Sirainen <tss@iki.fi> (762d8af0b3)
+
+ virtual: Allow "*" to match inbox=yes namespace if there's otherwise no
+ prefix="" namespace.
+
+
+M src/plugins/virtual/virtual-config.c
+
+2014-08-08 14:54:20 +0300 Timo Sirainen <tss@iki.fi> (676a42c1de)
+
+ virtual: Make sure virtual mailbox doesn't try to access itself as a backend
+ mailbox.
+
+
+M src/plugins/virtual/virtual-config.c
+
+2014-08-08 13:46:05 +0300 Timo Sirainen <tss@iki.fi> (dac7e6a33e)
+
+ lib-storage: mailbox_get_*status(STATUS_HIGHESTMODSEQ) now enables CONDSTORE
+ feature. This makes sure that the highestmodseq is added to the mailbox list
+ index if not already there.
+
+
+M src/lib-storage/mail-storage.c
+
+2014-08-08 13:32:08 +0300 Timo Sirainen <tss@iki.fi> (074055dadb)
+
+ virtual: Make sure modseqs are always enabled for backend mailboxes.
+ mailbox_get_status() wasn't adding a missing highestmodseq otherwise to the
+ mailbox list index.
+
+
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+
+2014-08-06 16:39:27 +0300 Timo Sirainen <tss@iki.fi> (78d1160c77)
+
+ auth: passdb static assumed that missing "password" field meant empty
+ password Missing password should be an error unless nopassword is set. If an
+ empty password is wanted then "password=" can be used.
+
+
+M src/auth/passdb-static.c
+
+2014-08-05 20:23:32 +0200 Stephan Bosch <stephan@rename-it.nl> (b37e11d37f)
+
+ lib-http: server: Fixed server waiting for payload of already failed
+ request.
+
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+
+2014-08-05 17:43:31 +0200 Timo Sirainen <tss@iki.fi> (738561f5fa)
+
+ lib-http server: Require handle_request() to either send a response or
+ reference the request. This should make it more difficult to accidentally
+ forget to send a response and cause a hang.
+
+ Currently this assert-crashes, although it would have been possible to make
+ it return some internal error instead also.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server.h
+
+2014-08-05 17:37:25 +0200 Timo Sirainen <tss@iki.fi> (1e9296de32)
+
+ lib-http server: Made http_server_request_[un]ref() public. Also
+ http_server_request_unref() now returns if this was the last reference or
+ not.
+
+
+M src/lib-http/http-server-private.h
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server.h
+
+2014-08-05 16:28:15 +0200 Timo Sirainen <tss@iki.fi> (b979376151)
+
+ lib-http server: Create a new data stack frame for all the callbacks.
+
+
+M src/lib-http/http-server-connection.c
+
+2014-08-05 16:22:43 +0200 Timo Sirainen <tss@iki.fi> (85f3bd5926)
+
+ lib-http server: Added http_server_request_get_response() Also make sure
+ that only a single response can be created for a request.
+
+
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.h
+
+2014-08-05 16:09:44 +0200 Timo Sirainen <tss@iki.fi> (14c0ef17f3)
+
+ lib-http server: Removed extra "return;" that was never called.
+
+
+M src/lib-http/http-server-connection.c
+
+2014-08-05 16:07:25 +0200 Timo Sirainen <tss@iki.fi> (95e0b82fdf)
+
+ lib-http server: Removed "bool close" parameters in favor of _close()
+ functions. Most callers don't want to close the connection so it's an extra
+ parameter usually. Also it's difficult to remember what the TRUE/FALSE means
+ so it's easy to cause bugs by copy&pasting the code.
+
+ http_server_request_fail() will also now forcibly close the connection if
+ conn->input_broken is set.
+
+M src/lib-http/http-server-connection.c
+M src/lib-http/http-server-request.c
+M src/lib-http/http-server-response.c
+M src/lib-http/http-server.h
+
+2014-08-04 14:05:51 +0200 Timo Sirainen <tss@iki.fi> (877912710a)
+
+ expire plugin: Fixed crash at deinit if expire_dict initialization failed.
+
+
+M src/plugins/expire/expire-plugin.c
+
+2014-08-01 17:17:53 +0300 Timo Sirainen <tss@iki.fi> (9008daea43)
+
+ imap-urlauth: Error message typofix. Patch by Jelmer Vernooij
+
+
+M src/imap-urlauth/imap-urlauth-worker.c
+
+2014-07-31 15:58:18 +0300 Timo Sirainen <tss@iki.fi> (f53915d18c)
+
+ lib-mail: rfc822_parse_dot_atom() didn't return error if "." wasn't followed
+ by ATEXT It simply skipped over the invalid character and continued.
+
+
+M src/lib-mail/rfc822-parser.c
+
+2014-07-30 15:01:29 +0300 Phil Carmody <phil@dovecot.fi> (ee2298ffa2)
+
+ lib: test-data-stack - add some fatal tests. Extra caution is necessary as
+ data-stack is such a fundamental component. All of the brokenness that we
+ add must be undone as soon as possible, or there will be an endless loop of
+ catastrophic errors. In order to avoid that, at least try to detect some
+ issues, and abort as quickly as possible.
+
+ Alas, due to the reliance of these tests on DEBUG code, if that's not set,
+ this test is a no-op.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-data-stack.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2014-07-30 15:01:29 +0300 Phil Carmody <phil@dovecot.fi> (8bec19723b)
+
+ lib: test fatal cases for printf_format_fix Signed-off-by: Phil Carmody
+ <phil@dovecot.fi>
+
+
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+M src/lib/test-printf-format-fix.c
+
+2014-07-30 15:01:29 +0300 Phil Carmody <phil@dovecot.fi> (8b2839664b)
+
+ lib: test-lib - add a real fatal test for mempool-alloconly Crazily huge
+ memory allocation must fail.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+M src/lib/test-mempool-alloconly.c
+
+2014-07-30 15:01:29 +0300 Phil Carmody <phil@dovecot.fi> (a4e0dc5b1c)
+
+ lib-test: permit tests of fatal conditions Some functions have no mechanism
+ of reporting an error, and mustn't continue, so fatality is the only way
+ out. (E.g. memory allocation failures.)
+
+ This addition is for those situations. Semantics of failure tests are very
+ different from normal tests:
+
+ - The test function must have the following prototype:
+ enum fatal_test_state test_fatal_things(int index);
+ - The index it will be called with starts at 0, and increments each time.
+ - It must call test_start() at the start of its first call.
+ - Apart from its final call, it must call a function it expects to trap the
+ fatal error handler. If that fails to trap, it must return
+ FATAL_TEST_FAILURE
+ - After returning FATAL_TEST_FAILURE, it will continue to be called as
+ normal.
+ - When there are no more tests to perform, it must clean up, call test_end()
+ and return FATAL_TEST_FINISHED. It will not be called again.
+ - If it detects errors in this protocol, it must not i_assert(), as that
+ will
+ be treated as an expected fatal, it must return FATAL_TEST_ABORT. It will
+ then not be called again. It must not call test_end() in this case.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2014-07-29 17:27:24 +0300 Timo Sirainen <tss@iki.fi> (79ce5b0d2f)
+
+ quota: Avoid assert-crash in Maildir++ quota if backend doesn't support
+ control dirs. We'll delay looking up the control dir until we've checked
+ that the storage is Maildir.
+
+
+M src/plugins/quota/quota-maildir.c
+
+2014-07-29 14:27:49 +0300 Timo Sirainen <tss@iki.fi> (531b963539)
+
+ libressl fix: Fixed compiling with SSL compression disabled. Patch by Pascal
+ Stumpf
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/login-common/ssl-proxy-openssl.c
+
+2014-07-29 14:25:13 +0300 Timo Sirainen <tss@iki.fi> (5ea089e1bd)
+
+ libressl fix: Check for SSL_CTRL_SET_ECDH_AUTO macro instead of OpenSSL
+ version number Patch by Hanno Böck
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/login-common/ssl-proxy-openssl.c
+
+2014-07-29 13:58:10 +0300 Timo Sirainen <tss@iki.fi> (003385823e)
+
+ mbox: Fixed infinite looping and other incorrectness in istream-raw-mbox.
+ This was caused by the recent istream invalidation checks in
+ i_stream_get_data().
+
+
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+
+2014-07-29 12:47:47 +0300 Timo Sirainen <tss@iki.fi> (bf3544900d)
+
+ last-login plugin: Added missing configure and Makefile entries.
+
+
+M configure.ac
+M src/plugins/Makefile.am
+
+2014-07-28 16:50:47 +0300 Phil Carmody <phil@dovecot.fi> (c35c0f7225)
+
+ lib-http: http-server-connection - don't resume closed connections
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+
+M src/lib-http/http-server-connection.c
+
+2014-07-28 16:49:47 +0300 Phil Carmody <phil@dovecot.fi> (4de9950079)
+
+ lib-imap: imap-utf7 - only encode in-range 7-bit values 0x01-0x1F and
+ 0x7f-... must be mBASE64 encoded.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-imap/imap-utf7.c
+
+2014-07-28 16:49:47 +0300 Phil Carmody <phil@dovecot.fi> (585017cae2)
+
+ lib-imap: imap-utf7 - reject encoded simple ASCII "Modified BASE64 MUST NOT
+ be used to represent any printing US-ASCII character which can represent
+ itself."
+
+ "The character "&" (0x26) is represented by the two-octet sequence "&-""
+
+ Therefore any mBASE64 sequence containing any character between 0x20 and
+ 0x7e is invalid.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-imap/imap-utf7.c
+
+2014-07-28 16:49:47 +0300 Phil Carmody <phil@dovecot.fi> (807d831b26)
+
+ lib-imap: imap-utf7 - reject bogus characters in the mUTF7 Only 0x20..0x7e
+ are permitted, as "All other characters (octet values 0x00-0x1f and
+ 0x7f-0xff) are represented in modified BASE64, ...".
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-imap/imap-utf7.c
+
+2014-07-28 16:49:47 +0300 Phil Carmody <phil@dovecot.fi> (50052bca96)
+
+ lib-imap: test-imap-utf7 - comprehensive test suite Several MUST NOTs or
+ other standards violations were not being trapped.
+
+ test_imap_utf7_unnecessary() tests:
+ Modified BASE64 MUST NOT be used to represent any printing US-ASCII
+ character which can represent itself.
+
+ test_imap_utf7_bad_ascii() tests:
+ All other characters (octet values 0x00-0x1f and 0x7f-0xff) are
+ represented in modified BASE64, ...
+
+ test_imap_utf7_non_utf16() tests that data containing a single straggling
+ octet is trapped.
+
+ test_imap_utf7_by_example() and test_imap_utf7_ucs4_cases() are just the
+ previous test suite split into 2 smaller tests.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-imap/test-imap-utf7.c
+
+2014-07-28 16:49:47 +0300 Phil Carmody <phil@dovecot.fi> (68828bda5c)
+
+ lib-imap: test-imap-utf7 - migrate to test_assert_idx Signed-off-by: Phil
+ Carmody <phil@dovecot.fi>
+
+
+M src/lib-imap/test-imap-utf7.c
+
+2014-07-28 16:49:47 +0300 Phil Carmody <phil@dovecot.fi> (83060e2c2b)
+
+ lib: test-str-sanitize - tighten tests Check that the identical string is
+ returned in the no-change case, not just a copy.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-str-sanitize.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (0db47f171f)
+
+ lib-test: make internal helpers static These functions should only be called
+ from within test_run(), as some of the test-suite sanity checks can be
+ subvirted if these are exposed.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (c447f89850)
+
+ lib-test: quieten the random seed printfs We only need to know the seed
+ once.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (0a568c1e8a)
+
+ lib: compile time checks for buffer creation Ensure the data buffer has as
+ much space as the size parameter claims. This uses the strictest test GCC
+ provides - the smallest containing object, and returning 0 for unknown size.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/buffer.c
+M src/lib/buffer.h
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (61dd0a240d)
+
+ lib: data-stack - start sentry checks immediately after the reserved buffer
+ Our sentries are written with byte-precision, no need to round up before
+ doing the checks.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (c538e7faa7)
+
+ lib: data-stack - add DEBUG size and sentry updating to t_try_realloc
+ Without this, t_pop() will report errors.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (f9a1f7b603)
+
+ lib: test-data-stack - add realloc tests These will fail noisily with a
+ DEBUG build until the realloc/DEBUG bug is fixed.
+
+
+M src/lib/test-data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (6f8cb38591)
+
+ lib: data-stack - fix incorrect pointer comparison in t_try_realloc in DEBUG
+ builds When trying to work out if it's a valid realloc, we need to remember
+ that in DEBUG builds, we have hidden a size value (in a MEM_ALIGNED space)
+ before the pointer we return.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (50a0a88ee6)
+
+ lib: data-stack - fix realloc/lowwater bug If DEBUG is enabled, then it can
+ try to look past the low-water mark as the low-water mark wasn't moved
+ during successful reallocs. This condition is detected, and causes a panic.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (8aa1afdcdf)
+
+ lib: data-stack - t_try_realloc get alloc size right in DEBUG builds Also
+ introduce a helper variable for the common expression for readability.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (395a730fac)
+
+ lib: data-stack - helper for last alloc ends at block.data+(size-left) Less
+ to read, and less noisy.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (f9bee08065)
+
+ lib: data-stack - add vital sanity-preserving assert to t_pop If something
+ has re-ordered those two offsets, the following memset will explode.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (f0a98b359e)
+
+ lib: data-stack - pull common code out of if/else branches in t_malloc_real
+ Once the new block is set up nicely empty for use, it can be used exactly
+ like an old block that has enough space - so just merge the code paths.
+ (This changeset best viewed ignoring whitespace.)
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (8dabb70ca5)
+
+ lib: data-stack - reorder full current block code Make the "enough space"
+ and "block is full" branches in t_malloc_real have the same code structure
+ for parallelism. The 'block' variable is only needed very locally, so shrink
+ its scope, and avoid its use once it is assigned to current_block, use that
+ instead. Compacter readable expressions have been favoured at the expense of
+ longer lines (which will soon shrink).
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (e964357ce1)
+
+ lib: data-stack - helper macro for requested/allocated size Rather than
+ #if/#else/#endif around such calculations, or even having the possibility to
+ mistype such expressions, just extract the calculation into a helper macro
+ defined appropriately for the DEBUG mode.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (d9d576a2fd)
+
+ lib: data-stack - disambiguate sizes in t_pop_verify In DEBUG mode, the
+ allocated size is bigger than the requested size, so rename the variable to
+ reflect its real meaning, and move it into a tighter scope in the process.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (992a1726a4)
+
+ lib: test-data-stack - too important a library not to be thrashed hard OK,
+ it's thrashed a bit by other tests such as aqueue, str, etc., but these
+ tests attempt to probe all corner cases given detailed knowledge of the
+ limits of the block/frame implementation.
+
+ At the moment, no realloc functionality is tested, as with DEBUG builds they
+ would fail very noisily.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/Makefile.am
+A src/lib/test-data-stack.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (801d6aa65c)
+
+ lib: data-stack - simplify expressions in data_stack_last_buffer_reset Noisy
+ expression used more than once, give it a meaningful name.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (437d3c4700)
+
+ lib: data-stack - enable tighter sanity checks on stack_block allocations
+ The canary doesn't have to be NULL. That's only effective if it will be read
+ and dereferenced as a pointer. If used as an integer, it's a perfectly
+ boring one, and not likely to draw attention to itself.
+
+ Once the canary is in place, at least in debug mode, we can check it in
+ every function as a sanity check.
+
+ Make our poison stand out from other poison used elsewhere in the code.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (5517afec37)
+
+ lib: cosmetic - whitespace cleanup in allocator/memory-related code
+ Indentation used spaces. Some trailing whitespace found.
+
+ $ git diff -w
+ $
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+M src/lib/imem.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-system.c
+M src/lib/mempool.h
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (eb8d311805)
+
+ lib: add rudementary statistics gathering to data-stack debugging These
+ currently just enhance the overly-large alloc_size warning message in
+ t_malloc_real() to show what the history of allocations is. New warnings
+ look like this: Warning: Growing data stack by 32768 as 'test_run_funcs'
+ reaches 16416 bytes from 202 allocations.
+
+ Future possible directions: t_malloc_real() could be further modified to
+ identify badly-behaved regions of code that allocate lots of smaller blocks
+ as it happens
+ (which might be noisy). t_pop() could be modified to detect such code after
+ it exits its block (so just one warning per instance of misbehaviour).
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (053e605c3b)
+
+ lib: add markers to data-stack debug prints Only the DEBUG code will have
+ access to the frame's marker.
+
+
+M src/lib/data-stack.c
+
+2014-07-28 16:45:33 +0300 Phil Carmody <phil@dovecot.fi> (33b0119d4e)
+
+ lib: add identifying markers to data-stack frames Add a string parameter to
+ t_push() so that in DEBUG mode, misbehaviour inside a stack level can be
+ blamed on someone.
+
+ Default the T_BEGIN macro to automatigally use __FUNCTION__ or
+ __FILE__:__LINE__ as that identifier, therefore no clients of those macros
+ need to change.
+
+ ioloop used t_push() directly as it wanted customised diagnostic strings. To
+ preserve this friendliness, also introduce a t_push_named() which takes a
+ format string with paramters.
+
+ Apart from the unused paramter, a non-DEBUG build should see no changes.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/data-stack.c
+M src/lib/data-stack.h
+M src/lib/ioloop.c
+
+2014-07-28 16:40:25 +0300 Timo Sirainen <tss@iki.fi> (26f14cde12)
+
+ doveadm: Added dict commands to access lib-dict via command line. For
+ debugging and data dumping purposes.
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-dict.c
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+
+2014-07-28 15:14:17 +0300 Timo Sirainen <tss@iki.fi> (625042f95d)
+
+ lib-storage: Don't allow '/' for filesystem based mailbox list backends if
+ their internal separator isn't '/'. Basically this means that Maildir++
+ shouldn't be allowed to create mailboxes with '/' in the name.
+
+
+M src/lib-storage/mailbox-list.c
+
+2014-07-25 14:10:04 +0300 Timo Sirainen <tss@iki.fi> (3008b30900)
+
+ last-login plugin added. It updates user's login timestamp to configured
+ dict. Example config:
+
+ plugin {
+ last_login_dict = redis:host=127.0.0.1:port=6379
+ #last_login_key = last-login/%u # default
+ }
+
+A src/plugins/last-login/Makefile.am
+A src/plugins/last-login/last-login-plugin.c
+A src/plugins/last-login/last-login-plugin.h
+
+2014-07-25 13:35:57 +0300 Timo Sirainen <tss@iki.fi> (330096f204)
+
+ lib-storage: Set mail_user->session_id before calling mail_user_init()
+
+
+M src/lib-storage/mail-storage-service.c
+
+2014-07-21 11:00:59 +0300 Timo Sirainen <tss@iki.fi> (ee60381fec)
+
+ lib-http: Fixed linking test programs.
+
+
+M src/lib-http/Makefile.am
+
+2014-07-21 10:54:05 +0300 Stephan Bosch <stephan@rename-it.nl> (3fcb3d2d1f)
+
+ lib-http: Added initial support for server-side HTTP API.
+
+
+M TODO
+M src/lib-http/Makefile.am
+A src/lib-http/http-server-connection.c
+A src/lib-http/http-server-private.h
+A src/lib-http/http-server-request.c
+A src/lib-http/http-server-response.c
+A src/lib-http/http-server.c
+A src/lib-http/http-server.h
+
+2014-07-21 10:53:19 +0300 Timo Sirainen <tss@iki.fi> (abdb482726)
+
+ rawlog: Added -i parameter to include the remote IP address in the filename.
+
+
+M src/util/rawlog.c
+
+2014-07-11 16:49:35 +0300 Timo Sirainen <tss@iki.fi> (22228926a7)
+
+ mailbox_list_index=yes: Don't update INBOX's STATUS information to index.
+ This should reduce disk I/O
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2014-07-11 14:27:52 +0300 Timo Sirainen <tss@iki.fi> (3febd15e4f)
+
+ auth: If userdb prefetch is configured wrong, return temporary failure
+ instead of "user not known"
+
+
+M src/auth/userdb-prefetch.c
+
+2014-07-11 14:17:17 +0300 Timo Sirainen <tss@iki.fi> (31fa529029)
+
+ lib-http: Debug log now includes where HTTP requests spent their time on.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2014-07-11 12:10:02 +0300 Timo Sirainen <tss@iki.fi> (255c47a461)
+
+ lib: Added fd=-1 assert to i_close_fd() macro. This way we'll see clearly
+ where it fails, instead of just seeing assert in close_keep_errno() without
+ an easy way to see where it crashed.
+
+
+M src/lib/macros.h
+
+2014-07-11 11:14:41 +0300 Timo Sirainen <tss@iki.fi> (9097014815)
+
+ lib: ioloop-epoll didn't correctly check if there were any IO events.
+ Alternatively we could have checked for array_count(&ctx->events) >
+ ctx->deleted_count, but this code is a bit more understandable.
+
+ This change doesn't actually fix any proper bugs, it just causes the process
+ to crash instead of going to infinite wait loop.
+
+M src/lib/ioloop-epoll.c
+
+2014-07-11 00:20:41 +0300 Timo Sirainen <tss@iki.fi> (301b1524a8)
+
+ lib: file_*_lock() with flock() timeouts should have returned errno=EAGAIN
+ (Instead of EINTR.)
+
+
+M src/lib/file-lock.c
+
+2014-07-10 18:31:10 +0300 Timo Sirainen <tss@iki.fi> (a192134d1a)
+
+ lmtp: Remove <> from Delivered-To: header. This annoyingly changes Dovecot
+ behavior in the middle of v2.2.x series, but the earlier value was
+ definitely wrong.. Perhaps we still need to provide a setting for this, but
+ that's pretty annoying as well.
+
+
+M src/lmtp/commands.c
+
+2014-07-10 18:17:44 +0300 Timo Sirainen <tss@iki.fi> (2290ecac1a)
+
+ lib: Compiler warning fixes for 32bit systems
+
+
+M src/lib/test-istream-tee.c
+
+2014-07-10 15:59:53 +0300 Phil Carmody <phil@dovecot.fi> (755a39d2c1)
+
+ lib: test-istream-tee - randomise which tee stream lags behind the others
+ Just in case there's something special about the start or the end of the
+ list of children, make each file be the one that lags behind the others.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-istream-tee.c
+
+2014-07-10 15:59:53 +0300 Phil Carmody <phil@dovecot.fi> (5e821185cb)
+
+ lib: test-istream-tee - more randomisation to the tests Signed-off-by: Phil
+ Carmody <phil@dovecot.fi>
+
+
+M src/lib/test-istream-tee.c
+
+2014-07-10 15:59:53 +0300 Phil Carmody <phil@dovecot.fi> (0539ac5ef2)
+
+ lib: test-istream-tee - verify _read returns correct values after
+ _set_size() Previously, only an increase of 1 in the size was tested. This
+ ensures that 0 and numbers > 1 are also tested.
+
+ Also add _idx to the asserts, so we know where in the loop it failed.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-istream-tee.c
+
+2014-07-10 15:59:53 +0300 Phil Carmody <phil@dovecot.fi> (1d020f1c11)
+
+ lib: test-istream-concat - add simultanious limit streams back into the mix
+ Return to the previous complex nested stream-type case.
+
+ 1 time in 10, it tests the simple case of:
+
+ test_stream \ test_stream -}- concat_stream test_stream /
+ (2-11 of these)
+
+ 9 times in 10, it tests this configuration instead:
+
+ test_stream \ / limit_stream test_stream -}- concat_stream
+ {- limit_stream test_stream / \ limit_stream
+ (2-11 of these) (1-9 of these)
+
+ Since 31efe2d04793 lib: istream-concat read() returned -2 too early., all
+ tests pass every time.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-istream-concat.c
+
+2014-07-10 15:59:53 +0300 Phil Carmody <phil@dovecot.fi> (a028ac787d)
+
+ lib: test-istream-concat - test only concat, not simultanious limit streams
+ Test just concat functionality in this unit test. Simultanious access of
+ limit streams can be tested elsewhere.
+
+ Without the fix in:
+ 31efe2d04793 lib: istream-concat read() returned -2 too early. The failure
+ previously seen in test-istream-concat would be still reproducable:
+ test-istream-concat.c:84: Assert failed: size >= TEST_MAX_BUFFER_SIZE
+ istream concat random ................................................ :
+ FAILED test: random seed #1 was 1403118493
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-istream-concat.c
+
+2014-07-10 15:40:08 +0300 Timo Sirainen <tss@iki.fi> (392538eef1)
+
+ lib-fs: Added FS_PROPERTY_COPY_METADATA and fs_set_metadata() tracking.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2014-07-09 15:55:59 +0300 Timo Sirainen <tss@iki.fi> (02cc28525a)
+
+ lib-fs: Added username and session_id to struct fs directly.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2014-07-09 15:24:21 +0300 Timo Sirainen <tss@iki.fi> (11538e79ae)
+
+ lib-fs: Added fs_settings.username and .session_id
+
+
+M src/lib-fs/fs-api.h
+M src/lib-storage/mailbox-list.c
+
+2014-07-09 15:20:59 +0300 Timo Sirainen <tss@iki.fi> (bff606130f)
+
+ lib-storage: Added struct mail_user.session_id
+
+
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.h
+
+2014-07-09 10:55:27 +0300 Stephan Bosch <stephan@rename-it.nl> (abc8180415)
+
+ lib-http: Made sure that connections that are still connecting to the server
+ aren't marked as idle.
+
+
+M src/lib-http/http-client-connection.c
+
+2014-07-07 16:21:08 +0300 Timo Sirainen <tss@iki.fi> (082e82792b)
+
+ lib-index: Don't update log_file_tail_offset unnecessarily. Update it only
+ if we're already writing to transaction log anyway or if we're required to
+ update the offset because mail_index_sync_commit() has increased it past
+ non-external transactions (this is especially important with mdbox map
+ index).
+
+
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log.h
+M src/lib-index/test-mail-transaction-log-append.c
+
+2014-07-07 13:24:22 +0300 Timo Sirainen <tss@iki.fi> (a09ff38dc2)
+
+ lib-storage: Minor code cleanup to istream-mail. eof=TRUE shouldn't be
+ possible with ret=-2, so this just makes it clearer what the code's
+ intention is.
+
+
+M src/lib-storage/index/istream-mail.c
+
+2014-07-07 13:15:33 +0300 Timo Sirainen <tss@iki.fi> (66dc739bb6)
+
+ lib: i_stream_read_copy_from_parent() needs to update access counter also
+ when returning -2 This finishes the 467a4d19f873 fix.
+
+
+M src/lib/istream.c
+
+2014-07-06 19:08:59 +0300 Timo Sirainen <tss@iki.fi> (d979c1179d)
+
+ virtual: Fixed assert-crashes where trying to open an already opened backend
+ mailbox.
+
+
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-storage.c
+
+2014-07-04 15:33:12 +0300 Timo Sirainen <tss@iki.fi> (50332744d5)
+
+ lib: istream-tee wasn't returning data correctly always. This fixes an
+ assert-crash in istream-tee.c. (Hopefully it was always assert-crashing
+ instead of returning corrupted data.)
+
+
+M src/lib/istream-tee.c
+
+2014-07-04 14:48:44 +0300 Phil Carmody <phil@dovecot.fi> (e9baf4071a)
+
+ lib: failures - cosmetic write_full cleanup Error message should have a
+ trailing newline. Use the POSIX macro for stderr's file number, rather than
+ its numeric value.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/failures.c
+
+2014-07-04 14:18:25 +0300 Phil Carmody <phil@dovecot.fi> (f34e5fbfc0)
+
+ config: parser - trivial error message typo Signed-off-by: Phil Carmody
+ <phil@dovecot.fi>
+
+
+M src/config/config-parser.c
+
+2014-07-04 14:17:54 +0300 Timo Sirainen <tss@iki.fi> (0c7087c650)
+
+ lmtp: Small code cleanup
+
+
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2014-07-04 14:16:16 +0300 Timo Sirainen <tss@iki.fi> (adde698a44)
+
+ imap: If FETCH fails because mail has already been expunged, don't log an
+ error.
+
+
+M src/imap/imap-fetch-body.c
+
+2014-07-04 14:15:41 +0300 Timo Sirainen <tss@iki.fi> (eed20b28dd)
+
+ lib-storage: Bodystructure parsing flags weren't updated correctly on error
+ conditions. This fixes an assert-crash sometimes when mail parsing failed.
+
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+
+2014-07-04 14:14:21 +0300 Timo Sirainen <tss@iki.fi> (bc15c6934f)
+
+ lib-storage: istream-mail updates mail->expunged if it notices ENOENT from
+ parent stream.
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/istream-mail.c
+
+2014-07-04 14:01:53 +0300 Timo Sirainen <tss@iki.fi> (d052dcfff0)
+
+ lib-storage: Log mail istream read failures in one place. Also handle ENOENT
+ errors by checking if the mail has already been expunged, and if so don't
+ log an error, just return "mail is already expunged" error to client.
+
+
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2014-07-04 13:16:59 +0300 Timo Sirainen <tss@iki.fi> (b3f4c31f15)
+
+ When creating istream-error, give an error string whenever possible.
+
+
+M src/lib-fs/fs-posix.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib/iostream-temp.c
+
+2014-07-04 13:16:01 +0300 Timo Sirainen <tss@iki.fi> (3a06d97ce8)
+
+ lib-storage: If mail body reading failed, the error message may have
+ contained only minimal errno string. Even though the istream could have had
+ a much better internal error message. So show it.
+
+
+M src/lib-storage/index/index-mail.c
+
+2014-07-04 11:48:27 +0300 Timo Sirainen <tss@iki.fi> (62ff6002b1)
+
+ lib-dict: Removed NFS flushing from dict-file backend.
+
+
+M src/lib-dict/dict-file.c
+
+2014-07-03 22:24:05 +0300 Timo Sirainen <tss@iki.fi> (99e11aeca2)
+
+ mbox: If GUID lookup fails because mbox_min_index_size skipped indexes, say
+ so in error message.
+
+
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2014-07-03 22:17:49 +0300 Timo Sirainen <tss@iki.fi> (fa96f616b3)
+
+ acl: Global ACLs now support "patterns with spaces inside quotes"
+
+
+M src/plugins/acl/acl-global-file.c
+
+2014-07-03 22:16:48 +0300 Timo Sirainen <tss@iki.fi> (8d834fd101)
+
+ acl: Oops, ignore_acls check was reversed.
+
+
+M src/plugins/acl/acl-mailbox.c
+
+2014-07-03 21:55:31 +0300 Timo Sirainen <tss@iki.fi> (b045cb4df9)
+
+ lib-compression: Compression ostreams may have caused parent ostream to use
+ too much memory.
+
+
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-lzma.c
+M src/lib-compression/ostream-zlib.c
+
+2014-07-03 21:54:52 +0300 Timo Sirainen <tss@iki.fi> (d691782ae9)
+
+ lib: Added o_stream_flush_parent_if_needed() for wrapper ostreams.
+
+
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+
+2014-07-03 20:42:08 +0300 Timo Sirainen <tss@iki.fi> (7d6d78822f)
+
+ acl: Create struct acl_mailbox also for shared root namespace mailboxes.
+ This fixes crashes where imap_acl code attempts to access ACLs for
+ nonexistent mailboxes inside shared root namespace. Alternatively the
+ imap_acl plugin could have checked the nonexistence of ACLs but this is
+ probably easier and more guaranteed to work.
+
+
+M src/plugins/acl/acl-mailbox.c
+
+2014-07-03 20:28:16 +0300 Timo Sirainen <tss@iki.fi> (c61164c50f)
+
+ lmtp: Removed code that attempts to deduplicate mail files by copying them
+ between user mailboxes. This sometimes started failing if the mail that was
+ being used for copying was deleted by the user. There's no good way for lmtp
+ code to fix that situation.
+
+ If deduplication is needed, it could be implemented in a more generic way
+ inside mailbox_copy() where after initial copy it would store the
+ destination struct mail to src_mail->last_copy_dest_mail. If another mail is
+ copied, the last_copy_dest_mail could be attempted to be used for the
+ copying and if that doesn't work it would fallback to regular copying. This
+ should probably be attempted only for lda/lmtp processes as it would just
+ cause extra overhead for others.
+
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2014-07-03 19:34:57 +0300 Timo Sirainen <tss@iki.fi> (7103db837f)
+
+ Compile fix for old systems without SSL_OP_NO_COMPRESSION
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/login-common/ssl-proxy-openssl.c
+
+2014-07-03 19:27:45 +0300 Timo Sirainen <tss@iki.fi> (761078be42)
+
+ fts-lucene: Delay initialization to fix assert-crash with mbox
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2014-07-03 19:17:16 +0300 Phil Carmody <phil@dovecot.fi> (9864489d14)
+
+ openssl: optionally disable TLS compression Make ssl compression optional,
+ but enabled by default. Other ssl options might be tweakable in the future,
+ so have a single ssl_options string, and explode it into individual flags.
+ (Compare postfix configuration.) Based on an idea by Andreas Schulze
+ <sca@andreasschulze.de>
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+M src/lib-master/master-service-ssl.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-ssl.h
+M src/login-common/ssl-proxy-openssl.c
+
+2014-07-03 19:12:02 +0300 Timo Sirainen <tss@iki.fi> (14b551180c)
+
+ lib-storage: Added mail_namespace_is_shared_user_root() and used it where
+ useful. Most importantly this should fix a crash in ACL plugin where
+ type=shared namespace was used without any kind of per-user prefix/location
+ (i.e. it probably should have been a type=public namespace instead).
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-namespace.h
+M src/plugins/acl/acl-mailbox.c
+
+2014-07-03 19:10:33 +0300 Timo Sirainen <tss@iki.fi> (e66e79eaec)
+
+ acl: Compile fix caused by previous change
+
+
+M src/plugins/acl/acl-shared-storage.c
+
+2014-07-03 19:03:59 +0300 Timo Sirainen <tss@iki.fi> (1a5573ebc3)
+
+ lib-storage: Move "shared" storage name to mail-storage-private.h where it
+ can be used.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/index/shared/shared-storage.h
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-storage-private.h
+
+2014-07-03 19:00:46 +0300 Timo Sirainen <tss@iki.fi> (5b8dcdcffd)
+
+ lib-storage: Minor parsing fix to namespace types: Use strcmp() instead of
+ strncmp().
+
+
+M src/lib-storage/mail-namespace.c
+
+2014-07-03 17:44:32 +0300 Timo Sirainen <tss@iki.fi> (212e9e43a7)
+
+ virtual: Never keep more than specified number of physical mailboxes open.
+ This should make virtual mailboxes work for users who have a a ton of
+ mailboxes with a ton of mails. Earlier code would likely have failed either
+ with "Too many open files" or crashed with "Out of memory".
+
+ You can change the max number of open mailboxes with:
+
+ plugin {
+ virtual_max_open_mailboxes = 64
+ }
+
+ The default is 64.
+
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+
+2014-07-03 17:40:37 +0300 Timo Sirainen <tss@iki.fi> (0bd15afe9c)
+
+ lib-index: Fixed error handling in mail_index_open()
+
+
+M src/lib-index/mail-index.c
+
+2014-07-03 17:29:58 +0300 Timo Sirainen <tss@iki.fi> (0cfdf8ba03)
+
+ lib-index: Index cache could have kept too many indexes open. If a lot of
+ indexes were allocated and then later on they were opened and closed, the
+ alloc-cache simply kept all the indexes open even after they should have
+ been closed.
+
+
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-alloc-cache.h
+M src/lib-index/mail-index.c
+
+2014-07-03 16:07:09 +0300 Timo Sirainen <tss@iki.fi> (1139a1f610)
+
+ lib: DLLIST*_REMOVE*() no longer breaks the linked list if we try to remove
+ item that doesn't exist there. Hopefully there wasn't any code that actually
+ did this, but it's safer this way anyway. Perhaps it could be even made to
+ assert-crash if it happens.
+
+
+M src/lib/llist.h
+M src/lib/test-llist.c
+
+2014-07-03 15:26:32 +0300 Timo Sirainen <tss@iki.fi> (7ebb549522)
+
+ lib-storage: mailbox_get_metadata() now opens the mailbox only if it's
+ necessary.
+
+
+M src/lib-storage/index/index-status.c
+
+2014-07-03 14:54:43 +0300 Timo Sirainen <tss@iki.fi> (15b5076a23)
+
+ virtual: Recent flags dropping wasn't working as intended. In the old code
+ '+' meant that \Recent flags were dropped also when the virtual mailbox was
+ EXAMINEd. SELECTing a mailbox always dropped \Recent flags regardless of the
+ '+' flag.
+
+ What should have happened (and does in new code) is that the \Recent flags
+ are dropped only on SELECT and only if '+' flag is set.
+
+M src/plugins/virtual/virtual-storage.c
+
+2014-07-03 14:37:08 +0300 Timo Sirainen <tss@iki.fi> (9afa8aff5b)
+
+ fts: If we detect corrupted fts expunge log, unlink it. This avoids the same
+ error repeating forever.
+
+
+M src/plugins/fts/fts-expunge-log.c
+
+2014-07-03 12:44:50 +0300 Phil Carmody <phil@dovecot.fi> (289ce1246b)
+
+ lib-imap: test-imap-url - cosmetic whitespace cleanup Only whitespace
+ changes. All trailing space removed, reindented: $ grep '[[:space:]]$'
+ src/lib-imap/test-imap-url.c $ git diff -w $
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-imap/test-imap-url.c
+
+2014-07-03 12:42:11 +0300 Phil Carmody <phil@dovecot.fi> (e87b25495e)
+
+ lib-imap: test-imap-url - quieten successful sub-tests Every sub-component
+ of a URL doesn't need its own successful log, so use the only-print-on-error
+ test_out_quiet() function instead. All failures are just as explicit as
+ before.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-imap/test-imap-url.c
+
+2014-07-03 12:42:11 +0300 Phil Carmody <phil@dovecot.fi> (00a34f8888)
+
+ lib-test: test-common - add test_out_quiet() to reduce verbosity Like
+ test_out() but only prints anything if success is false. This makes it quite
+ much like test_assert(), except that it doesn't print the code fragment, it
+ prints a custom string. However, it still counts as a test in the total
+ count, unlike test_assert*()s.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2014-07-03 12:42:11 +0300 Phil Carmody <phil@dovecot.fi> (53630790d8)
+
+ lib-imap: test_imap_url didn't compare port numbers It only compare them
+ when they were unset, and defaulting both to 0.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-imap/test-imap-url.c
+
+2014-07-03 11:37:07 +0300 Timo Sirainen <tss@iki.fi> (1774ab4b71)
+
+ quota: Quota count tracking still was still incorrect in over-quota
+ conditions.
+
+
+M src/plugins/quota/quota-util.c
+M src/plugins/quota/test-quota-util.c
+
+2014-07-02 23:41:10 +0300 Timo Sirainen <tss@iki.fi> (00cc12d660)
+
+ lib-index: Recent idx->seq change in strmap forgot to initialize
+ uid_lookup_seq in one place.
+
+
+M src/lib-index/mail-index-strmap.c
+
+2014-07-02 20:53:46 +0300 Timo Sirainen <tss@iki.fi> (c35e049bf1)
+
+ test-quota-util: Link to quota-util.lo instead of .o Hopefully fixes
+ dependency tracking to work correctly?
+
+
+M src/plugins/quota/Makefile.am
+
+2014-07-02 20:36:49 +0300 Timo Sirainen <tss@iki.fi> (de02255bbe)
+
+ quota: Fixed quota_transaction_is_over() to handle "user is already over
+ quota" case. If size=0 we didn't return failure. This change also fixes
+ various potential integer overflows in the check. Added unit test for the
+ function.
+
+
+M src/plugins/quota/Makefile.am
+M src/plugins/quota/quota-util.c
+A src/plugins/quota/test-quota-util.c
+
+2014-07-02 20:34:43 +0300 Timo Sirainen <tss@iki.fi> (b863b7e3fc)
+
+ quota: Moved some functions to quota-util.c
+
+
+M src/plugins/quota/Makefile.am
+M src/plugins/quota/quota-private.h
+A src/plugins/quota/quota-util.c
+M src/plugins/quota/quota.c
+
+2014-07-02 20:13:35 +0300 Timo Sirainen <tss@iki.fi> (cbc01fc844)
+
+ lib: Added UINT64_SUM_OVERFLOWS() Maybe the unit tests are kind of
+ unnecessary since the macro is so simple, but at least it's now a well
+ tested simple macro :)
+
+
+M src/lib/bits.h
+M src/lib/test-bits.c
+
+2014-07-02 18:21:24 +0300 Phil Carmody <phil@dovecot.fi> (8ce201908d)
+
+ pop3: pop3-commands - harden integer parsers against integer overflow In
+ get_msgnum(), the invalid input "4772185884" (2^32*10/9) would be parsed as
+ being valid.
+
+ In get_size(), the invalid input "204963823041217240178" (2^64*10/9) would
+ be parsed as being valid.
+
+ We have helpers now, so use them.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/pop3/pop3-commands.c
+
+2014-07-02 18:21:24 +0300 Phil Carmody <phil@dovecot.fi> (7943dd081e)
+
+ lib: strnum - add permissive str_parse_uint() helper Signed-off-by: Phil
+ Carmody <phil@dovecot.fi>
+
+
+M src/lib/strnum.c
+M src/lib/strnum.h
+
+2014-07-02 18:21:24 +0300 Phil Carmody <phil@dovecot.fi> (0e70271616)
+
+ lib: uri-util - hardern uri_parse_dec_octet() against overflow Invalid input
+ 284 (2^8*10/9) is incorrectly parsed as valid. 28 * 10 + 4 = 284 == 28 (mod
+ 2^8), so the wrap detection fails.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/uri-util.c
+
+2014-07-02 18:21:24 +0300 Phil Carmody <phil@dovecot.fi> (bf3dbfd29e)
+
+ lib-http: test-http-url - add some tricky invalid numeric hostname URLs Try
+ to get the numeric octet parser to fail. The RFCs specify that we should
+ fall back onto parsing them as domain names instead, and hence the
+ unexpected legitimacy of out-of-range numbers.
+
+ NOTE: This causes make check to report the following error: http url valid
+ [11]: http_url_parse(http://127.0.0.284/this/also/reverts/to/DNS) : ok
+ test-http-url.c:328: Assert failed: urlp->have_host_ip == urlt->have_host_ip
+ http url valid [11] .................................................. :
+ FAILED
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-http/test-http-url.c
+
+2014-07-02 18:21:24 +0300 Phil Carmody <phil@dovecot.fi> (601eea4261)
+
+ lib: uri-util - harden uri_parse_port against overflow The invalid input
+ 72817 (2^16*10/9) is parsed as a valid value. 7281 * 10 + 7 = 72817 == 7281
+ (mod 2^16), so the prev check fails.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/uri-util.c
+
+2014-07-02 18:21:24 +0300 Phil Carmody <phil@dovecot.fi> (ffb2949c6c)
+
+ lib-http: test-http-url - make port number test cases harder Exploit common
+ parser weakeneses - out by one, and overflow detection failure.
+
+ NOTE: causes make check to fail with the following error: http url invalid
+ [13]: parse http://example.com:72817/index.html ..... : FAILED http url
+ invalid [13] ................................................ : FAILED
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-http/test-http-url.c
+
+2014-07-02 18:21:24 +0300 Phil Carmody <phil@dovecot.fi> (94e6665b1c)
+
+ imap: harden read_uoff_t() against overflow Invalid strings like
+ "20496382304121724029" (2^64*10/9) can be parsed as valid. Use the new
+ helper.
+
+ Change in error behaviour - previously overflows, if they were detected,
+ caused *p to point to the digit causing the overflow. Now it's undefined.
+ Current clients don't care about this difference, they just bail.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/imap/imap-fetch-body.c
+
+2014-07-02 18:21:24 +0300 Phil Carmody <phil@dovecot.fi> (dbebc3b55a)
+
+ lib: strnum - add a permissive uoff_t parser Functions like these are so
+ cookie-cutter, we may as well use a macro. Note that signed helpers, if they
+ ever appear, will need more care.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/strnum.c
+M src/lib/strnum.h
+
+2014-07-02 18:21:24 +0300 Phil Carmody <phil@dovecot.fi> (47ca7a853a)
+
+ lib: test-strnum - tests for the new partial-string parser We can simplify
+ the main tests by always testing whether an appended non-digit causes
+ parsing to fail at the same time that we test it doesn't fail with the new
+ more permissive helpers.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-strnum.c
+
+2014-07-02 18:21:24 +0300 Phil Carmody <phil@dovecot.fi> (0d73aae8da)
+
+ lib: strnum - add permissive partial-string integer parser Not all strings
+ we want to parse are already strtok'ed into separate pieces. Therefore add
+ helpers which will read the integer, and return a pointer past the parsed
+ integer.
+
+ The previous helpers can be considered a special case which just follows up
+ with a check that the '\0' has been reached.
+
+ Showing a preference for const pointers generally, this does not try to
+ mimic the non-const interface of strto{l,ul,ll,ull}().
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/strnum.c
+M src/lib/strnum.h
+
+2014-07-02 18:21:24 +0300 Phil Carmody <phil@dovecot.fi> (662b2a7ec4)
+
+ lib-imap: number parsing simplification and hardenning The invalid string
+ "4772185884" (2^32*10/9) will be misparsed as being valid. In uint32_t's,
+ 477218588 * 10 + 4 = 477218588 Many large ranges have this issue,
+ 477218588x-858993459x, 954437176x-...
+
+ We have helper functions - use them.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-imap/imap-url.c
+
+2014-07-02 18:21:24 +0300 Phil Carmody <phil@dovecot.fi> (bfdca13a8b)
+
+ lib: strnum - harden str_to_uintmax against overflows The invalid number
+ "20496382304121724020" (2^64*10/9) will be parsed as valid.
+ 2049638230412172402 * 10 does not noticably wrap, it becomes
+ 2049638230412172404
+
+ Do not perform operations which might wrap, and then try to detect the
+ issue, just compare with the known fixed bounds before doing the
+ multiplication.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/strnum.c
+
+2014-07-02 18:21:24 +0300 Phil Carmody <phil@dovecot.fi> (42826d96c8)
+
+ lib: test-lib - add unit tests for str_to_*() helpers This doesn't test all
+ the helpers, but ensures both signed and unsigned are tested, as are 32-bit
+ and 64-bit cases. All the other helpers fall back onto using one of those
+ cases. Unless uintmax_t is larger than 64 bits, in which case this needs a
+ revisit.
+
+ NOTE: This causes the following make check errors: test-strnum.c:35:
+ Assert(#7) failed: ret == u64tests[i].ret test-strnum.c:35: Assert(#10)
+ failed: ret == u64tests[i].ret test-strnum.c:37: Assert(#10) failed: val ==
+ u64tests[i].val str_to_uint64
+ ........................................................ : FAILED
+
+ Corresponding to test cases:
+ [7] = INVALID(18446744073709551616), This does not wrap-past-0 (become
+ smaller) on multiply, but wraps-past-0 on addition.
+ [10]= INVALID(20496382304121724020), This wraps-past-n (becomes larger) on
+ multiply.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/Makefile.am
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+A src/lib/test-strnum.c
+
+2014-07-02 18:21:23 +0300 Phil Carmody <phil@dovecot.fi> (552a9b01e9)
+
+ lib: test-var-expand - use test_assert_idx() inside loops It helps narrow
+ down which test has failed.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-var-expand.c
+
+2014-07-02 00:10:16 +0300 Stephan Bosch <stephan@rename-it.nl> (6ee9ce5ed9)
+
+ lib-http: Updated comments to RFC7230/RFC7231.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-date.c
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-parser.c
+M src/lib-http/http-parser.h
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/http-url.c
+
+2014-07-01 23:24:08 +0300 Stephan Bosch <stephan@rename-it.nl> (aefccddf68)
+
+ lib-http: Fixed bug in parsing of quoted string with escape sequences.
+
+
+M src/lib-http/http-parser.c
+
+2014-07-01 16:04:20 +0300 Timo Sirainen <tss@iki.fi> (e3734a6606)
+
+ doveadm fs delete: Added -n to usage text.
+
+
+M src/doveadm/doveadm-fs.c
+
+2014-07-01 00:10:21 +0300 Timo Sirainen <tss@iki.fi> (b2a3fbfe1b)
+
+ lib-http: Added http_client_request_get_target() This can be useful in error
+ message logging without having to duplicate the string.
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2014-06-30 17:25:02 +0300 Timo Sirainen <tss@iki.fi> (c6e0d6a555)
+
+ fts-tika: Hiden "Unsupported Media Type" errors. Log HTTP status code on
+ errors.
+
+
+M src/plugins/fts/fts-parser-tika.c
+
+2014-06-30 16:41:32 +0300 Timo Sirainen <tss@iki.fi> (a666438d72)
+
+ fts-tika: Fixed crash if Tika returned 200 reply without payload.
+
+
+M src/plugins/fts/fts-parser-tika.c
+
+2014-06-30 14:35:32 +0300 Timo Sirainen <tss@iki.fi> (62dbc0f29b)
+
+ lib-storage: Shrink "mailbox is being deleted" timeout from 5 mins to 30
+ secs. Even 30s may be too much since normally a few seconds would be enough,
+ but keep it high enough just in case.
+
+
+M src/lib-storage/mail-storage.c
+
+2014-06-30 14:34:00 +0300 Timo Sirainen <tss@iki.fi> (b67f674f59)
+
+ lib-storage: When deleting mailbox, finish the expunges before marking
+ mailbox deleted. This decreases the amount of time the mailbox is visible
+ but not accessible.
+
+
+M src/lib-storage/index/index-storage.c
+
+2014-06-30 14:31:47 +0300 Timo Sirainen <tss@iki.fi> (a3de33a82d)
+
+ lib-storage: mailbox_delete() now handled "mailbox is being deleted"
+ explicitly. Earlier we just treated it as \NoSelect mailbox and failed
+ later.
+
+
+M src/lib-storage/mail-storage.c
+
+2014-06-30 14:30:43 +0300 Timo Sirainen <tss@iki.fi> (fae21eb25f)
+
+ lib-storage: Added index_storage_mailbox_delete_pre/post(). This avoids
+ reimplementing the whole index_storage_mailbox_delete() for storage backends
+ that need to do more work in the middle.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+
+2014-06-30 14:29:26 +0300 Timo Sirainen <tss@iki.fi> (e63b559252)
+
+ imap: If we disconnect client because mailbox is inconsistent, send the
+ error message before BYE.
+
+
+M src/imap/imap-commands-util.c
+
+2014-06-30 14:28:31 +0300 Timo Sirainen <tss@iki.fi> (4e1f733fa6)
+
+ imap: Don't disconnect due to inconsistent mailbox unless the mailbox is the
+ selected mailbox.
+
+
+M src/imap/imap-commands-util.c
+
+2014-06-27 17:39:52 +0300 Stephan Bosch <stephan@rename-it.nl> (62aa68310d)
+
+ imap-url: Fixed handling of ipath-empty syntax (basically empty relative
+ URLs). This also normalizes Mailbox/ to Mailbox. Initial indication reported
+ by Coverity.
+
+
+M src/lib-imap/imap-url.c
+M src/lib-imap/test-imap-url.c
+M src/lib/uri-util.c
+
+2014-06-27 17:37:56 +0300 Timo Sirainen <tss@iki.fi> (8bb7d8563b)
+
+ auth: Added assert to make sure sysconf() returns what we expect. userdb nss
+ shouldn't even be used though. So this is mainly to silence Coverity.
+
+
+M src/auth/userdb-nss.c
+
+2014-06-27 16:29:18 +0300 Timo Sirainen <tss@iki.fi> (a095363e41)
+
+ lib: istream-concat read() returned -2 too early.
+
+
+M src/lib/istream-concat.c
+
+2014-06-27 16:20:25 +0300 Phil Carmody <phil@dovecot.fi> (fc7474aac3)
+
+ lib: rand - force reseeding with known seed from environment Use
+ DOVECOT_SRAND=12345 as an environmental variable to force seeding to that
+ number.
+
+ The logic behind the logging is that the subsequent calls will almost
+ certainly be from random_fill_weak() which expects to have been seeded from
+ a CSPRNG - not a constant! Having this environmental variable set in a
+ production system that expects CSPRNG seeding should be flagging
+ diagnostics.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/rand.c
+
+2014-06-27 16:17:50 +0300 Phil Carmody <phil@dovecot.fi> (dd8a8566de)
+
+ lib: remove unwanted srand()s from unit tests We'll get better coverage
+ without them.
+
+ Note: this change causes the following test case failure occasionally:
+ test-istream-concat.c:88: Assert failed: size >= TEST_MAX_BUFFER_SIZE
+ istream concat random ................................................ :
+ FAILED test: random seed #1 was 1403027537
+
+ (The seed may vary, obviously.)
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-buffer.c
+M src/lib/test-istream-concat.c
+
+2014-06-27 16:17:07 +0300 Phil Carmody <phil@dovecot.fi> (a2818f9ffa)
+
+ lib-test: use the new srand() tracking helpers to aid debugging We can only
+ be sure we know the entirity of the stream of numbers returned by rand if
+ rand_set_seed has been called precisely once, as after that we can't be sure
+ when it was called a 2nd or further time. However, at least we can know that
+ that has happened. (Likewise, any calls to srand() will disturb the flow.)
+
+ Most unit test cases should be simple enough that there should be only one
+ seeding.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+
+2014-06-27 16:16:16 +0300 Phil Carmody <phil@dovecot.fi> (02da7bcc45)
+
+ lib: use new srand() wrapper in lib Of course, multiple seeding calls make
+ it harder to know exactly what numbers have been generated. But this is
+ better than nothing.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/lib.c
+M src/lib/randgen.c
+
+2014-06-27 16:15:24 +0300 Phil Carmody <phil@dovecot.fi> (1b139ee4de)
+
+ lib: add rand helper library Initially, just wrap srand() so that we can
+ find out what the last-used seed was. In situations where srand() is called
+ only once (via this helper) this lets us reproduce exactly the same stream
+ of random data again in order to reproduce rare crashes.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/Makefile.am
+M src/lib/lib.h
+A src/lib/rand.c
+A src/lib/rand.h
+
+2014-06-27 16:13:37 +0300 Phil Carmody <phil@dovecot.fi> (5a3ed55cda)
+
+ lib: two quite literally random little cleanups file-dotlock.c does not use
+ randgen.h, remove the #include test-buffer.c random() has been used rather
+ than rand()
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/file-dotlock.c
+M src/lib/test-buffer.c
+
+2014-06-27 16:13:09 +0300 Phil Carmody <phil@dovecot.fi> (1dcf22e98b)
+
+ lib: make printf_format_fix safer against shadowed %m behaviour If there's a
+ %m followed by a %n or %m, then the %n or %m won't be seen. For %m, that's
+ mostly harmless, but for %n it's potentially kaboom.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/printf-format-fix.c
+
+2014-06-27 16:12:40 +0300 Phil Carmody <phil@dovecot.fi> (1d940afbc0)
+
+ lib: test printf_format_fix() Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+
+M src/lib/Makefile.am
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+A src/lib/test-printf-format-fix.c
+
+2014-06-27 16:11:40 +0300 Phil Carmody <phil@dovecot.fi> (95be1d8991)
+
+ lib: test-istream-concat - early abort test loop on failure No point in
+ continuing past the first failure.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-istream-concat.c
+
+2014-06-27 16:10:27 +0300 Phil Carmody <phil@dovecot.fi> (dad57bb15d)
+
+ lib-test: Enable looped tests to abort early on first failure Give them the
+ ability to query the current failure state.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2014-06-27 14:23:46 +0300 Timo Sirainen <tss@iki.fi> (75e2c45e2e)
+
+ lmtp: Reduce corking so we get command replies more quickly even if they are
+ pipelined. This may help avoid some LMTP client timeouts.
+
+
+M src/lmtp/client.c
+M src/lmtp/commands.c
+
+2014-06-27 14:06:56 +0300 Timo Sirainen <tss@iki.fi> (39cfd16e16)
+
+ lmtp proxy: Make sure DATA stream size doesn't change unexpectedly.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2014-06-27 14:06:08 +0300 Timo Sirainen <tss@iki.fi> (9320cc2479)
+
+ lib-lda: If DATA input stream read fails, return error instead of truncating
+ the mail.
+
+
+M src/lib-lda/lmtp-client.c
+
+2014-06-26 20:48:13 +0300 Timo Sirainen <tss@iki.fi> (f8e6e85ab5)
+
+ lib: Moved rawlog dir stat()s to iostream_rawlog_create() internally. This
+ is required to allow TCP rawlogs to actually work.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib/iostream-rawlog.c
+
+2014-06-26 20:46:21 +0300 Timo Sirainen <tss@iki.fi> (f9b6b5e9c4)
+
+ lib: iostream-rawlog now supports TCP target with "tcp:host:port" as the
+ path. We'll use blocking sockets, so a slow rawlog server causes performance
+ problems also for Dovecot while it's waiting on rawlog writes.
+
+
+M src/lib/iostream-rawlog.c
+
+2014-06-26 17:50:57 +0300 Timo Sirainen <tss@iki.fi> (463d6c3552)
+
+ lib-storage: BODYSTRUCTURE parsing failures weren't treated correctly. We
+ still assumed that the parsing succeeded and assert-crashed later or maybe
+ returned invalid results. (This could have happened only if there was a
+ problem reading the mail stream.)
+
+
+M src/lib-storage/index/index-mail.c
+
+2014-06-26 17:27:31 +0300 Timo Sirainen <tss@iki.fi> (faca9429a6)
+
+ dsync: Fixed infinite looping on error condition.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-06-26 17:27:22 +0300 Timo Sirainen <tss@iki.fi> (bcc25e5a1f)
+
+ dbox: mail_get_special() may have returned MAIL_FETCH_POP3_ORDER allocated
+ from data stack. Although this seems to have worked for now, it shouldn't
+ have been done.
+
+
+M src/lib-storage/index/dbox-common/dbox-mail.c
+
+2014-06-25 16:16:02 +0300 Timo Sirainen <tss@iki.fi> (89221f7f6c)
+
+ lib-test: Fixed "Trying to allocate 0 bytes" assert-crash caused by recent
+ test-istream changes.
+
+
+M src/lib-test/test-common.c
+
+2014-06-20 12:18:32 +0300 Timo Sirainen <tss@iki.fi> (87ddb4d993)
+
+ lib: fd_recv() no longer checks for msghdr.msg_controllen It doesn't work at
+ least in OpenBSD and Tru64, and apparently it shouldn't really be needed
+ anyway, so don't bother with it. We'll still keep checking the cmsghdr since
+ that appears to work everywhere now.
+
+
+M src/lib/fdpass.c
+
+2014-06-19 17:16:24 +0300 Timo Sirainen <tss@iki.fi> (11f743d846)
+
+ mbox: istream-tee wasn't being used as expected with the new changes,
+ causing crashes/hangs. After wondering about this for a while I decided this
+ was the only fully reliable way of doing this. Although it would have been
+ possible to change the istream-tee code to support this:
+
+ child1 and child2 are tee-istream children:
+ - i_stream_read(child1)
+ - i_stream_read(child2)
+ - i_stream_get_data(child1)
+
+ Because reading from the parent istream-tee updates all of its childrens'
+ buffer, there's no big problem (other than access_counter currently messing
+ up). But if one of the children weren't a direct child of tee-istream, but
+ there was a wrapper istream, the wrapper's buffer wouldn't have been updated
+ by the istream-tee read. So rather than spending time figuring out to fix
+ the access_counter it's probably better to have it clearly fail as the use
+ case can't be fully safe anyway.
+
+M src/lib-storage/index/mbox/mbox-save.c
+
+2014-06-19 15:50:40 +0300 Timo Sirainen <tss@iki.fi> (a07bc6007e)
+
+ lmtp: Create all proxy DATA streams before reading from them. I'm not sure
+ if this actually fixes anything or not, but it's still safer to do it this
+ way.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2014-06-19 15:15:24 +0300 Timo Sirainen <tss@iki.fi> (c6b6ac7819)
+
+ lib: i_stream_read_copy_from_parent() now directly updates the access
+ counter This fixes a bug in istream-mail where it called i_stream_get_data()
+ after it and reset the stream's skip/pos.
+
+
+M src/lib/istream.c
+
+2014-06-19 14:58:26 +0300 Timo Sirainen <tss@iki.fi> (4106a25399)
+
+ lib: i_stream_get_data() should also reset eof=FALSE if it truncates the
+ output.
+
+
+M src/lib/istream.c
+M src/lib/istream.h
+
+2014-06-19 14:34:54 +0300 Timo Sirainen <tss@iki.fi> (5dcdc153e1)
+
+ lib-mail: Fixed istream-dot unit test to work with the istream-test changes.
+
+
+M src/lib-mail/test-istream-dot.c
+
+2014-06-19 14:02:56 +0300 Timo Sirainen <tss@iki.fi> (aaa5d94933)
+
+ Compiler warning fix
+
+
+M src/lib/istream.c
+
+2014-06-19 13:52:36 +0300 Timo Sirainen <tss@iki.fi> (f5982bb5b0)
+
+ lib: If two istreams share one parent, i_stream_get_data() may have returned
+ corrupted data to another. This happened only for istreams that used
+ parent's buffer directly instead of having their own buffer. For now at
+ least we've solved this by truncating the other stream's buffer so it needs
+ to be read again. Hopefully this is good enough.
+
+ Added also unit test to check this functionality.
+
+M src/lib/Makefile.am
+M src/lib/istream.c
+A src/lib/test-istream.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2014-06-19 12:38:11 +0300 Timo Sirainen <tss@iki.fi> (ce8daf893a)
+
+ lib-test: Improved test-istream to catch more bugs
+
+
+M src/lib-test/test-common.c
+
+2014-06-19 12:32:45 +0300 Timo Sirainen <tss@iki.fi> (098319673e)
+
+ lib: Fixed read buffer overflow in istream-base64-decoder error handling
+
+
+M src/lib/istream-base64-decoder.c
+
+2014-06-19 12:31:55 +0300 Timo Sirainen <tss@iki.fi> (b1b8ac3b3c)
+
+ lib: Fixed potential read buffer overflow in JSON parser.
+
+
+M src/lib/json-parser.c
+
+2014-06-16 19:52:11 +0300 Timo Sirainen <tss@iki.fi> (c51644e9e0)
+
+ login proxy: Added login_source_ips setting. The setting contains a list of
+ IPs/hosts. The setting may be prefixed with "?" character to indicate that
+ only those IPs should be used that exist in the current server (allowing the
+ same config to be shared by multiple servers).
+
+ The IPs are used round robin as the source IP address when proxy creates TCP
+ connections. This becomes useful when there are a ton of connections from
+ the proxy to the same destination IP, because TCP ports run out after ~64k
+ connections.
+
+M src/login-common/client-common-auth.c
+M src/login-common/login-common.h
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+M src/login-common/main.c
+
+2014-06-16 19:21:36 +0300 Timo Sirainen <tss@iki.fi> (d694a52bce)
+
+ login proxy: If passdb returns "source_ip" extra field, use it for outgoing
+ connections.
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+
+2014-06-16 18:01:58 +0300 Timo Sirainen <tss@iki.fi> (17654607d6)
+
+ lib: Use __attribute__((returns_nonnull)) for the common memory/string
+ functions. Also added a couple of missing ATTR_MALLOCs.
+
+
+M src/lib/data-stack.h
+M src/lib/imem.h
+M src/lib/macros.h
+M src/lib/mempool.h
+M src/lib/strfuncs.h
+
+2014-06-16 17:40:51 +0300 Timo Sirainen <tss@iki.fi> (3b364681ab)
+
+ lib: Changed mempool.h to use inline functions instead of macros. This way
+ we can also mark p_malloc() with ATTR_MALLOC.
+
+
+M src/lib/mempool.h
+
+2014-06-16 16:27:12 +0300 Timo Sirainen <tss@iki.fi> (ffcf7f97c7)
+
+ doveadm who: Don't crash if server happens to send broken input (second
+ try). Found by Coverity
+
+
+M src/doveadm/doveadm-who.c
+
+2014-06-16 16:26:09 +0300 Timo Sirainen <tss@iki.fi> (fcb584b14c)
+
+ doveadm dump: Avoid crashes with corrupted log files
+
+
+M src/doveadm/doveadm-dump-log.c
+
+2014-06-16 15:47:12 +0300 Timo Sirainen <tss@iki.fi> (bb33d479fd)
+
+ doveadm dump log: Fixed potential crash when log header size was corrupted.
+
+
+M src/doveadm/doveadm-dump-log.c
+
+2014-06-16 15:42:39 +0300 Timo Sirainen <tss@iki.fi> (b36b8c984b)
+
+ Added (void) prefix for ignoring return values we don't care about.
+ Hopefully this quiets down Coverity warnings also of them?
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/login-common/ssl-proxy-openssl.c
+
+2014-06-16 15:41:52 +0300 Timo Sirainen <tss@iki.fi> (cee99a130b)
+
+ Check for syscall errors that are quite unlikely to happen. Flagged by
+ Coverity.
+
+
+M src/doveadm/doveadm-dump-log.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/master/main.c
+M src/util/maildirlock.c
+
+2014-06-16 15:35:07 +0300 Timo Sirainen <tss@iki.fi> (de1ba3e655)
+
+ xml2text: Check for read()/write() failures and exit if they fail.
+
+
+M src/plugins/fts/xml2text.c
+
+2014-06-16 13:12:40 +0300 Timo Sirainen <tss@iki.fi> (d579412381)
+
+ lmtp: Proxying now logs successful and failed deliveries after DATA.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2014-06-16 13:03:31 +0300 Timo Sirainen <tss@iki.fi> (5b946df482)
+
+ lmtp: Removed some unnecessary code
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2014-06-15 11:03:32 +0300 Timo Sirainen <tss@iki.fi> (b43bbd3922)
+
+ auth: Fixed wrong assert added by recent commit.
+
+
+M src/auth/auth-request.c
+
+2014-06-14 11:58:57 +0300 Phil Carmody <phil@dovecot.fi> (c1dbcb6086)
+
+ trivial variable-non-use fixes Flagged by coverity. In one, as we're
+ printing an error message, we can actually put the string to use, which
+ might aid debugging. In the other, the variable can just be killed.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2014-06-13 16:12:27 +0300 Phil Carmody <phil@dovecot.fi> (6e4f7451b3)
+
+ fts-lucene: Fix SnowballAnalyzer constructors Coverity found the
+ uninitialised pointers in the latter constructor (which is never used - kill
+ it?). In comparing the other constructor, the lack of strdup() jumped out at
+ me.
+
+ In fixing them both I migrated them to actual C++ initialisers, rather than
+ dumb assignments to uninitialised members. Also migrated to dovecot's i_*
+ functions. Also fixed indentation for the 3 functions touched.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/plugins/fts-lucene/Snowball.cc
+
+2014-06-13 15:14:44 +0300 Timo Sirainen <tss@iki.fi> (fd05c47210)
+
+ Added several asserts to make sure duplicates aren't inserted into hash
+ table. The previous commit hopefully fixed the problem causing auth and
+ login processes to sometimes die with "key not found from hash" error, but
+ if not maybe one of these will catch it.
+
+
+M src/lib-auth/auth-server-connection.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-login-auth.c
+M src/lib-settings/settings-parser.c
+M src/login-common/ssl-proxy-openssl.c
+
+2014-06-13 15:13:26 +0300 Timo Sirainen <tss@iki.fi> (788a914ed0)
+
+ lib-master: Fixed caching settings where both local_name and local_ip was
+ specified. Since cache_find() didn't use local_ip for a lookup when
+ local_name existed, cache_add() shouldn't add both of them either, otherwise
+ it could be inserting duplicate values to the cache hash and cause crashes.
+
+
+M src/lib-master/master-service-settings-cache.c
+
+2014-06-13 11:35:40 +0300 Timo Sirainen <tss@iki.fi> (f6d79884d1)
+
+ Make sure we don't shift signed integers left by 24. They should be
+ unsigned.
+
+
+M src/lib-index/mailbox-log.c
+M src/lib/hmac-cram-md5.c
+
+2014-06-13 11:21:07 +0300 Timo Sirainen <tss@iki.fi> (54c4c55a72)
+
+ dbox: Fixed potential infinite looping when scanning a broken dbox file.
+
+
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+
+2014-06-13 10:25:22 +0300 Timo Sirainen <tss@iki.fi> (d65adb971c)
+
+ auth: Fixed handling userdb_userdb_import passdb extra field. Looks like
+ some hg merging went wrong. Found by Coverity
+
+
+M src/auth/auth-request.c
+
+2014-06-13 10:22:49 +0300 Timo Sirainen <tss@iki.fi> (59bc0bc0c0)
+
+ lib-http: Removed unnecessary for loop. Found by Coverity
+
+
+M src/lib-http/http-transfer-chunked.c
+
+2014-06-13 03:09:26 +0300 Timo Sirainen <tss@iki.fi> (a59b10304c)
+
+ dbox: Added asserts to dbox file fixing to make sure it doesn't go to
+ infinite loop. There apparently is a bug in here that will trigger this
+ assert.
+
+
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+
+2014-06-13 02:54:21 +0300 Timo Sirainen <tss@iki.fi> (5952b84453)
+
+ imap, pop3: Remove the client from clients-list at the very end of the
+ destroy function. Especially with imap code the process title could have
+ been refreshed too early.
+
+
+M src/imap/imap-client.c
+M src/pop3/pop3-client.c
+
+2014-06-13 02:34:19 +0300 Timo Sirainen <tss@iki.fi> (0abbd167fe)
+
+ Compiler warning fix
+
+
+M src/lib/ioloop-notify-inotify.c
+
+2014-06-13 02:19:15 +0300 Timo Sirainen <tss@iki.fi> (bace943c67)
+
+ Use the new [io]_stream_create_fd_*autoclose() functions wherever possible.
+
+
+M src/auth/mech-winbind.c
+M src/auth/userdb-passwd-file.c
+M src/config/config-parser.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-replicator.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm-zlib.c
+M src/lib-compression/test-compression.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-lda/smtp-client.c
+M src/lib-master/master-instance.c
+M src/lib-master/mountpoint-list.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/list/subscription-file.c
+M src/lib/iostream-temp.c
+M src/lib/istream-seekable.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/zlib/zlib-plugin.c
+M src/replication/replicator/replicator-queue.c
+M src/ssl-params/main.c
+M src/util/rawlog.c
+
+2014-06-13 02:18:53 +0300 Timo Sirainen <tss@iki.fi> (43834f87bf)
+
+ lib: Added [io]_stream_create_fd_*autoclose() These make it clearer that the
+ fd parameter will be closed automatically when the stream is closed.
+
+ Eventually (in v2.3) we'll want to get rid of the autoclose boolean
+ parameter in [io]_stream_create_fd().
+
+M src/lib/istream-file.c
+M src/lib/istream.h
+M src/lib/ostream-file.c
+M src/lib/ostream.h
+
+2014-06-13 02:04:12 +0300 Timo Sirainen <tss@iki.fi> (bd16363ff3)
+
+ doveadm stats top: Fixed double-close()ing stats connection
+
+
+M src/doveadm/doveadm-stats.c
+
+2014-06-13 02:01:55 +0300 Timo Sirainen <tss@iki.fi> (fb2fb0e5c1)
+
+ director-test: Fixed double-close() on admin connection deinit
+
+
+M src/director/director-test.c
+
+2014-06-13 01:57:04 +0300 Timo Sirainen <tss@iki.fi> (48325adac1)
+
+ Added various asserts to try to silence Coverity false positives.
+
+
+M src/auth/auth-request.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-settings/settings.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib/connection.c
+M src/lib/ioloop-notify-inotify.c
+M src/master/main.c
+
+2014-06-13 01:52:13 +0300 Timo Sirainen <tss@iki.fi> (86b29828b3)
+
+ lib-mail: message_parser_parse_next_block() now fully clears block_r to be
+ safe case. I'm not away of this hitting any bugs, but better to be safe.
+
+
+M src/lib-mail/message-parser.c
+
+2014-06-13 01:35:13 +0300 Timo Sirainen <tss@iki.fi> (b383c91121)
+
+ Added "fall through" comments to switch statements where break is
+ intentionally missing. This should make Coverity quiet about these..
+
+
+M src/doveadm/doveadm-dump-index.c
+M src/lib-http/http-request-parser.c
+M src/lib/iso8601-date.c
+
+2014-06-13 01:30:14 +0300 Timo Sirainen <tss@iki.fi> (f8c53b7522)
+
+ lib-storage: Fixed parsing corrupted mailbox list index header. Duplicate
+ IDs should have caused an error instead of being silently ignored. Found by
+ Coverity
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2014-06-13 01:26:14 +0300 Timo Sirainen <tss@iki.fi> (2d72e84929)
+
+ imap-urlauth: Fatal failure error handling wasn't done correctly. Found by
+ Coverity
+
+
+M src/imap-urlauth/imap-urlauth-worker.c
+
+2014-06-13 01:22:23 +0300 Timo Sirainen <tss@iki.fi> (ca321ff5b5)
+
+ replication plugin: Synchronous notification timeout error wasn't logged as
+ intended. Found by Coverity
+
+
+M src/plugins/replication/replication-plugin.c
+
+2014-06-13 01:20:25 +0300 Timo Sirainen <tss@iki.fi> (d19412e30b)
+
+ lib-otp: OTP_MAX_WORD_LEN wasn't actually enforced, any word lengths could
+ have been used. Doesn't look like this could have caused any real problems.
+ Found by Coverity
+
+
+M src/lib-otp/otp-parse.c
+
+2014-06-13 01:11:24 +0300 Timo Sirainen <tss@iki.fi> (739f4f284b)
+
+ fts: Improved doveadm fts dump for corrupted expunge log Although we may
+ still be trying to allocate up to 2 GB of memory, but at least no more than
+ that now. Found by Coverity
+
+
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+
+2014-06-13 01:02:48 +0300 Timo Sirainen <tss@iki.fi> (6b5b3d9d0a)
+
+ lib: Fixed
+ file_dotlock_replace(flags=DOTLOCK_REPLACE_FLAG_VERIFY_OWNER|DOTLOCK_REPLACE_FLAG_DONT_CLOSE_FD)
+ The verification check failed because fd was already set to -1 by that time.
+ Found by Coverity
+
+
+M src/lib/file-dotlock.c
+
+2014-06-13 00:57:06 +0300 Timo Sirainen <tss@iki.fi> (456f3c79aa)
+
+ director: Fixed crash if master_user_separator is set, but we didn't do a
+ proxy lookup. Found by Coverity
+
+
+M src/director/login-connection.c
+
+2014-06-13 00:51:44 +0300 Timo Sirainen <tss@iki.fi> (2d2d7c4d04)
+
+ imapc: Avoid crashing if server happens to send invalid resp-text-codes. If
+ [KEY VALUE] is missing the VALUE, just set it to "" instead of NULL. Found
+ by Coverity
+
+
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2014-06-13 00:46:34 +0300 Timo Sirainen <tss@iki.fi> (0b9392b670)
+
+ fts: Minor code cleanup: Don't increment NULL pointer.
+
+
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+
+2014-06-13 00:45:43 +0300 Timo Sirainen <tss@iki.fi> (7be1a5530f)
+
+ Removed pointless NULL checks. Found by Coverity
+
+
+M src/director/director.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/lib-index/mail-index.c
+M src/plugins/acl/doveadm-acl.c
+
+2014-06-13 00:30:27 +0300 Timo Sirainen <tss@iki.fi> (48b28b9185)
+
+ auth: Invalid userdb passwd-file and userdb templates may have caused
+ crashes. Using just "key" parameter instead of "key=value" usually worked,
+ but for some keys the code assumed that there was a value and it
+ dereferenced NULL. We'll solve this by just using value="" instead of
+ value=NULL. Found by Coverity
+
+
+M src/auth/auth-request.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-template.c
+
+2014-06-13 00:15:47 +0300 Timo Sirainen <tss@iki.fi> (29a826288c)
+
+ auth: passdb/userdb dict settings file parsing didn't handle errors
+ correctly. Found by Coverity
+
+
+M src/auth/db-dict.c
+
+2014-06-13 00:09:23 +0300 Timo Sirainen <tss@iki.fi> (bed2cec1eb)
+
+ lib: Changed net_geterror() to return errno instead of -1 if getsockopt()
+ fails. None of the callers were actually checking for the -1 error value but
+ instead just passing it to strerror(). Since this error should just about
+ never happen it's better to just return a usable return value than try to
+ remember to handle errors that can't normally even happen. Found by Coverity
+
+
+M src/lib/net.c
+
+2014-06-13 00:05:16 +0300 Timo Sirainen <tss@iki.fi> (bdb5cc2563)
+
+ doveadm sis deduplicate: Error handling fix if open() fails. Found by
+ Coverity.
+
+
+M src/doveadm/doveadm-sis.c
+
+2014-06-13 00:03:11 +0300 Timo Sirainen <tss@iki.fi> (8f80d2d1ab)
+
+ lib: Added (void) prefixes to some setsockopt() calls which we don't care if
+ they fail.
+
+
+M src/lib/net.c
+
+2014-06-13 00:00:31 +0300 Timo Sirainen <tss@iki.fi> (0c8f8dcbe0)
+
+ dsync: Fixed potential crash when debug logging was enabled. Found by
+ Coverity.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+
+2014-06-12 23:51:28 +0300 Timo Sirainen <tss@iki.fi> (956af71022)
+
+ mbox: X-Delivery-ID: and X-IMAP: headers weren't dropped from incoming
+ mails. Because of a missing comma.. Found by Coverity.
+
+
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2014-06-12 23:47:55 +0300 Timo Sirainen <tss@iki.fi> (c03f712279)
+
+ doveadm who: Don't crash if server happens to send broken input. Found by
+ Coverity.
+
+
+M src/doveadm/doveadm-who.c
+
+2014-06-12 23:16:40 +0300 Timo Sirainen <tss@iki.fi> (7042d92445)
+
+ configure: Don't actually run the test to see if inotify works. It's
+ definitely no longer needed in modern Linux systems and the test itself can
+ also unintentionally fail sometimes.
+
+
+M configure.ac
+
+2014-06-12 12:51:34 +0300 Timo Sirainen <tss@iki.fi> (c04da04cc3)
+
+ lib: Changed hash_table_remove() "key not found" panic to be in a macro
+ itself. This makes it much easier to find out where such crashes are coming
+ from. Since this breaks the ABI in such a many places the ABI version number
+ was increased immediately..
+
+
+M configure.ac
+M src/lib/hash.c
+M src/lib/hash.h
+
+2014-06-10 17:49:45 +0200 Phil Carmody <phil@dovecot.fi> (147dbf5e74)
+
+ lib: test-bits - fix nearest_power for 32-bit size_t The test blindly went
+ up to b=63, and the function correctly asserted.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/test-bits.c
+
+2014-06-10 16:40:46 +0200 Timo Sirainen <tss@iki.fi> (552487e70a)
+
+ rawlog: Buffer writing to rawlog files to improve performance.
+
+
+M src/util/rawlog.c
+
+2014-06-09 23:08:18 +0300 Timo Sirainen <tss@iki.fi> (53895e4366)
+
+ lib-fs: Fixed crash in fs-sis if hard linking failed. (For example because
+ there were too many hard links.) Pointed out by Pavel Stano
+
+
+M src/lib-fs/fs-sis.c
+
+2014-06-09 23:02:52 +0300 Phil Carmody <phil@dovecot.fi> (a6050e85df)
+
+ lib: fix numpack overflow checking As on broken input, bits may grow without
+ limit, so << bits becomes Undefined Behaviour. Add a simple check to the
+ while loop to prevent this.
+
+ Also, the (presumably) final byte adds something to the bit length, so
+ include that in the tally. If we didn't get to a final byte due to the above
+ while() condition, then this extra addition does no harm
+
+ Now we can precisely check for overflow conditions. Note that 64 bits is
+ perfectly OK, only 65+ is an overflow.
+
+ Note - no longer moving *p if there was a decode error.
+
+ Expand the test suite to check for overflow cases. Also checked for
+ short-input cases too, while I was there.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/numpack.c
+M src/lib/test-numpack.c
+
+2014-06-09 23:02:52 +0300 Phil Carmody <phil@dovecot.fi> (9fe0778049)
+
+ lib: unit tests for lib/bits Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+
+M src/lib/Makefile.am
+A src/lib/test-bits.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2014-06-09 23:02:52 +0300 Phil Carmody <phil@dovecot.fi> (aebf030c0d)
+
+ lib-test: test_assert helper for loops If you're repeatedly testing the same
+ expression in a loop, it's good to know where you are in the loop. Add an
+ additional parameter for these cases.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-test/test-common.c
+M src/lib-test/test-common.h
+
+2014-06-09 23:02:52 +0300 Phil Carmody <phil@dovecot.fi> (3637a2ad3b)
+
+ lib: bit twiddles bits_requiredXX() gives the number of bits required to
+ store an unsigned integer. Here, XX is 8, 16, 32, 64, reperesenting the size
+ of the operand. It belongs in the same file as nearest_power(), which makes
+ most sense in a separate bit twiddles file. Universal enough to stay in
+ lib.h by inclusion.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/Makefile.am
+A src/lib/bits.c
+A src/lib/bits.h
+M src/lib/lib.c
+M src/lib/lib.h
+
+2014-06-09 22:59:59 +0300 Phil Carmody <phil@dovecot.fi> (7df0ae570d)
+
+ lib: Fix MEM_ALIGN to cope with huge allocations Attempting to allocate
+ 2^32+1 bytes will look like it succeeds, as MEM_ALIGN will set alloc_size =
+ 8. The caller will then think it's got 4 gig to play with.
+
+ e.g. t_malloc0 will wipe vast areas of memory before segfaulting, which
+ might include useful information we'd like in a corefile.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/macros.h
+
+2014-06-09 22:53:16 +0300 Timo Sirainen <tss@iki.fi> (4f8f6d6975)
+
+ lib-index: modseq -> {log file, offset} lookup often ignored
+ dovecot.index.log.2 This caused the code to think that the modseq was too
+ old and fall back into slower sync.
+
+ So this change should fix the dsync "Modseq .. nom longer in transaction
+ log" warnings as well as improve IMAP QRESYNC efficiency.
+
+M src/lib-index/mail-index-modseq.c
+
+2014-06-09 18:15:51 +0300 Timo Sirainen <tss@iki.fi> (44af44edbf)
+
+ lib: Added some kind of a unit test for hash table. Just try out some
+ insert+deletes randomly. Mainly I wrote this to check if there is some
+ obvious problem, but looks like not.
+
+
+M src/lib/Makefile.am
+A src/lib/test-hash.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2014-06-09 15:11:50 +0300 Timo Sirainen <tss@iki.fi> (31df48d66a)
+
+ lib-ssl-iostream: Implement get_used_size() method. Previously we were
+ always returning that we didn't have anything buffered, which could have
+ caused huge memory usage (or malloc failures) with its users (e.g. dsync).
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2014-06-09 13:41:59 +0300 Timo Sirainen <tss@iki.fi> (a117008f03)
+
+ login-common: Fixed potential crash at client disconnect. Broken by recent
+ change
+
+
+M src/login-common/client-common.c
+
+2014-06-09 12:14:42 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (2529a04d5b)
+
+ login-common: Fixed infinite loop in ssl proxy flushing.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2014-06-09 12:12:58 +0300 Timo Sirainen <tss@iki.fi> (d065c1e182)
+
+ login proxy: Fixed connection hanging due to wrong ostream cork pairing
+
+
+M src/login-common/login-proxy.c
+
+2014-06-05 13:43:11 +0300 Timo Sirainen <tss@iki.fi> (b09c165ba2)
+
+ lib-storage: Mailbox list index updating didn't check properly if modseq
+ tracking is enabled. mail_index_modseq_enable() can be enabled (e.g. by
+ virtual plugin) without enabling MAILBOX_FEATURE_CONDSTORE.
+
+ (Actually the MAILBOX_FEATURE_* probably should be removed from lib-storage
+ entirely. They're too much of an IMAP feature.)
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2014-06-05 13:38:36 +0300 Timo Sirainen <tss@iki.fi> (83b777d8b6)
+
+ maildir: Mailbox list index refreshing shouldn't check cur/new dirs with
+ maildir_very_dirty_syncs=yes The recent mailbox_list_index_very_dirty_syncs
+ change broke this. Just because maildir_very_dirty_syncs=yes, it doesn't
+ mean that mailbox_list_index_very_dirty_syncs=yes also.
+
+
+M src/lib-storage/index/maildir/maildir-sync-index.c
+
+2014-06-05 11:30:19 +0300 Timo Sirainen <tss@iki.fi> (0270e64c5b)
+
+ *-login: Flush SSL output when logging out. The BYE and LOGOUT replies
+ weren't being sent when they were sent from imap-login process (before
+ logging in).
+
+
+M src/login-common/client-common.c
+M src/login-common/ssl-proxy-openssl.c
+
+2014-06-04 00:35:27 +0300 Timo Sirainen <tss@iki.fi> (d4b03b1b22)
+
+ doveadm fs delete: When doing recursive deletion, delete also the
+ directories if needed.
+
+
+M src/doveadm/doveadm-fs.c
+
+2014-06-03 23:52:39 +0300 Timo Sirainen <tss@iki.fi> (0218e28d1b)
+
+ dsync: Fixed renaming duplicate mailbox GUIDs. We were trying to use only
+ the last part of the hierarchical name instead of the full name.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+
+2014-06-02 23:58:26 +0300 Timo Sirainen <tss@iki.fi> (6e952586d9)
+
+ lib-ssl-iostream: Use SSL_MODE_RELEASE_BUFFERS if it exists to reduce memory
+ usage.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2014-06-02 14:50:34 +0300 Phil Carmody <phil@dovecot.fi> (030e247340)
+
+ mail-index: make uid_lookup_idx hold a sequence number, not a 0-based C
+ array index Rename it to _seq, and make it hold values 1.. rather than 0.. .
+ Several uses of the value are simplified by this change, and none are made
+ more confusing, so I think it helps improve maintainability of the code.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/mail-index-strmap.c
+
+2014-06-02 14:50:34 +0300 Phil Carmody <phil@dovecot.fi> (7604ee75aa)
+
+ mail-index: use _REC_AT_SEQ not _MAP_IDX in view_sync_get_log_lost_changes
+ Shifting i and j up by one to use in the new macro means we don't need the
+ +1's in the calls to view_sync_apply_lost_changes and
+ mail_index_map_lookup_keywords. Rename them as seq variables too.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/mail-index-view-sync.c
+
+2014-06-02 14:50:34 +0300 Phil Carmody <phil@dovecot.fi> (c308d70af9)
+
+ mail-index: use _REC_AT_SEQ not _MAP_IDX in backward loops [seq-1 .. 0]
+ becomes [seq .. 1]
+
+ Don't pre-decrement, and terminate before you process seq=0.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/mail-index-view.c
+
+2014-06-02 14:50:34 +0300 Phil Carmody <phil@dovecot.fi> (be8c8479f9)
+
+ mail-index: use _REC_AT_SEQ not _MAP_IDX in loops from [seq1..seq2]
+ [seq1-1..seq2) becomes [seq1..seq2]
+
+ Don't decrement before starting, and include the upper bound.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+
+2014-06-02 14:50:34 +0300 Phil Carmody <phil@dovecot.fi> (2f16d2e0b4)
+
+ mail-index: use _REC_AT_SEQ not _MAP_IDX in loops over every record Just
+ change the loop bounds from [0..count) to [1..count], and make the loop
+ variale explicitly a seq.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-update.c
+
+2014-06-02 14:50:34 +0300 Phil Carmody <phil@dovecot.fi> (1df526903e)
+
+ mail-index: trivial robomatic migration from _MAP_IDX to new helper All
+ users which have a '-1' in their MAIL_INDEX_MAP_IDX have been changed to the
+ new mail_index_rec_at_seq() helper using this sed script:
+
+ $ sed -ie 's/MAIL_INDEX_MAP_IDX(\([^,]*[^)]*[^ ]\) \?-
+ \?1)/MAIL_INDEX_REC_AT_SEQ(\1)/' src/lib-index/*.[ch]
+
+ No other users have been changed.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index-view.c
+
+2014-06-02 14:50:34 +0300 Phil Carmody <phil@dovecot.fi> (f5e06b955a)
+
+ mail-index: new helper macro with more user-friendly semantics As the record
+ ids range from 1..records_count, but the data is stored as if in a C-style
+ 0-based array, current clients of MAIL_INDEX_MAP_IDX() must subtract 1 from
+ the index themselved.
+
+ New MAIL_INDEX_REC_AT_SEQ() macro does the subtraction for you, it gives you
+ (the address of) the record from a seq number.
+
+ Uglified users of the former will be migrated to the latter.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/mail-index-private.h
+
+2014-06-02 14:50:34 +0300 Phil Carmody <phil@dovecot.fi> (53e0e6889b)
+
+ mail-index: optimise memmoves in expunge, only move each region once Rather
+ than shifting things back and back and back with potentially O(N^2) (more
+ precisely O(count*rec_count')) work factor, move each slice of memory only
+ once, directly where we want it to end up (O(rec_count') work factor).
+
+ Based on draft patch by Timo Sirainen.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/mail-index-sync-update.c
+
+2014-06-02 14:50:34 +0300 Phil Carmody <phil@dovecot.fi> (4e6629cb5d)
+
+ mail-index: trivial paranoia check in expunge loop We will later be moving
+ the zone between the current seqs and the (end of the) previous seqs - this
+ check ensures that the range is indeed monotonic, and thus that zone is
+ positive in size. It can be zero right at the start, if the first seqs is
+ (1,...)
+
+ Based on draft patch by Timo Sirainen.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/mail-index-sync-update.c
+
+2014-06-02 14:50:34 +0300 Phil Carmody <phil@dovecot.fi> (aba9cc9bf9)
+
+ mail-index: Preparatory HACK - reverse the loop order in the expunge This is
+ the final step before the actual optimisation of the memmoves.
+
+ HACK, as it it de-optimises the moves so as much as possible gets moved as
+ many times as possible. It clears the path for a later patch which optimises
+ them far better.
+
+ Based on draft patch by Timo Sirainen.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/mail-index-sync-update.c
+
+2014-06-02 14:50:34 +0300 Phil Carmody <phil@dovecot.fi> (070df93a30)
+
+ mail-index: hoist initialisation of mail index map out of expunge loop Based
+ on draft patch by Timo Sirainen.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/mail-index-sync-update.c
+
+2014-06-02 14:50:34 +0300 Phil Carmody <phil@dovecot.fi> (89b7d6ce92)
+
+ mail-index: explicitly inline contents of sync_expunge() To later optimise
+ the memmoves, we will need to be aware of previous seqs. It's easier to just
+ have the guts inlined, so too much state doesn't need to be passed around.
+
+ For review, this change is best viewed with a whitespace-insensitive diff,
+ to verify that the new contents of the loop are identical to the contents of
+ the now-absorbed function.
+
+ Based on draft patch by Timo Sirainen.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/mail-index-sync-update.c
+
+2014-06-02 14:50:34 +0300 Phil Carmody <phil@dovecot.fi> (74896b89e1)
+
+ mail-index: call all expunge handlers first Firstly, the init checking only
+ needs to be done once. More importantly, moving this preparatory stage into
+ its own per-seqs loop means there's less to juggle when we optimise the
+ memmoving loop in subequent patches.
+
+ Based on draft patch by Timo Sirainen.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/mail-index-sync-update.c
+
+2014-06-02 14:50:34 +0300 Phil Carmody <phil@dovecot.fi> (b32de04eb7)
+
+ mail-index: move expunge handler init into helper function Preparatory for
+ later optimisation patches where the call to this will be lifted out of the
+ expunge(seq1,seq2) inner function and done once for the whole range of seqs
+ in one go.
+
+ Based on draft patch by Timo Sirainen.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-index/mail-index-sync-update.c
+
+2014-06-02 04:16:08 +0300 Timo Sirainen <tss@iki.fi> (36e091dc73)
+
+ director: If we detect that a user is being proxied to multiple backends,
+ disconnect wrong connections. Especially IMAP connections can otherwise stay
+ alive for a long time and cause problems.
+
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+M src/login-common/login-proxy.c
+
+2014-06-02 04:00:19 +0300 Timo Sirainen <tss@iki.fi> (550d2fe097)
+
+ doveadm director kick command added. The kick gets sent to all the proxies
+ within the director ring.
+
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+M src/doveadm/doveadm-director.c
+
+2014-05-28 18:17:52 +0300 Timo Sirainen <tss@iki.fi> (b8864211b8)
+
+ lib-index: Fixed somewhat random assert-crashes during extension resizes.
+
+
+M src/lib-index/mail-index-transaction-export.c
+
+2014-05-28 15:53:58 +0300 Timo Sirainen <tss@iki.fi> (dfdd228ab2)
+
+ lib-index: Optimize removing large number of expunges.
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2014-05-28 04:20:58 +0300 Timo Sirainen <tss@iki.fi> (884228e549)
+
+ lib-storage: "Message has no NUL characters" flag was being set wrong to
+ cache file. Only the first MIME part was checked for its existence.
+
+ When this flag was wrong, IMAP FETCH may have returned NUL characters
+ instead of converting them to 0x80 character. This apparently caused Outlook
+ to hang.
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2014-05-27 23:11:07 +0300 Timo Sirainen <tss@iki.fi> (ffcd975744)
+
+ Compiler warning fix
+
+
+M src/stats/main.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (9d47b3d53a)
+
+ auth: checkpassword callback callback type bike-shedding This change doesn't
+ change the compiler's (gcc) view on the correctness of the code. It moves
+ sparse's attention of where the potential issues are though. Sparse used to
+ complain about dodgy function pointer conversions on both the way out
+ (passing the callback function pointer), and on the way in (entering the
+ callback). Making the callback not lie about what it receives gets rid of
+ the way in warnings, but adds warnings as we pass the new function pointer
+ out. However, it already complains about that call anyway. So it complains
+ about 6 things in 3 functions rather than 6 things in 6 functions.
+
+ Of dubious worth, but it at least reduces the number of lines you need to
+ inspect to verify correctness.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/auth/passdb-checkpassword.c
+M src/auth/userdb-checkpassword.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (fbb631ceeb)
+
+ imap: exit imap_fetch_binary_init() identically on all failures This changes
+ the behaviour, as -1 is TRUE as a boolean.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/imap/imap-fetch-body.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (bbd5d73166)
+
+ imap: use human-readable helper macro in remote_ip_is_usable More readable,
+ but helpfully shuts up sparse which complained about some constants being
+ long.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/imap/cmd-idle.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (ed7b5bc903)
+
+ imap: cmd_getmetadata_stream_continue returns bool, not int The behaviour is
+ unchanged, but we shouldn't pretend that -1 is different from TRUE in a
+ boolean context. Its only caller only cares about whether it's 0 or not.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/imap/cmd-getmetadata.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (71e32f990a)
+
+ indexer: fix indexer_queue_cancel_all behaviour -1 is TRUE. Presumably -1
+ was intended to be passed to the callbacks via
+ indexer_queue_request_status_int(), not 100.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/indexer/indexer-queue.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (6094fe2df0)
+
+ auth: master-connection - bail on malformed list If master is not
+ communicating to us in a syntax we understand, just ask for it to be
+ unplugged. This changes the behaviour in this error case.
+
+ Previously, we returned -1, which is TRUE when converted to a boolean, and
+ thus this changes the error semantics, and may be horribly wrong. However,
+ the i_error()s in auth_master_input_line follow the same pattern.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/auth/auth-master-connection.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (cc363c8f58)
+
+ auth: set_credentials callback being passed an enum, not a bool This changes
+ the behaviour, as the error case is now mapped onto FALSE. All non-zero
+ values of course get squashed into true. Found by sparse.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/auth/auth-request.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (8e018b1e83)
+
+ lib-otp: cast to the correct type of function pointer sparse complains about
+ the result of the F() cast being the wrong type for the initialisation,
+ which is true. So just cast to the right type in the first place.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-otp/otp-hash.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (42149f4862)
+
+ imap: fix missing-command check It's impossible for the command's pointer to
+ be NULL at this point. Previously, the command_find() would have returned
+ NULL, but this check presumably short-circuits that search in the trivial
+ case, so has some real use.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/imap/imap-client.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (dc78180b54)
+
+ lib-imap: API change - add const to imap_url *base parameter We do not
+ change what's there, therefore we can promise to not change what is there.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-url.h
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (36f63d7d49)
+
+ auth: sparse static cleanup, and some const cleanup All the consts that are
+ added to pointers represent deep const semantics. There are other shallow
+ consts that I've not added, as sometimes it's better to not be const than
+ have something you rely on change when you think it won't.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/auth/auth.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (c2d398246d)
+
+ various - 'static' sparse cleanup Signed-off-by: Phil Carmody
+ <phil@dovecot.fi>
+
+
+M src/anvil/anvil-connection.c
+M src/config/config-connection.c
+M src/indexer/indexer-client.c
+M src/pop3-login/client-authenticate.c
+M src/ssl-params/main.c
+M src/stats/mail-stats.c
+M src/stats/main.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (5a09d089b6)
+
+ lib-mail: tests - trivial sparse cleanups One static const, and one more
+ obviously not-an-int integer.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-mail/test-message-date.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (e9c433c5b8)
+
+ lib-imap: tests - trivial static and const sparse cleanups Signed-off-by:
+ Phil Carmody <phil@dovecot.fi>
+
+
+M src/lib-imap/test-imap-url.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (ba592dc74a)
+
+ lib-http: trivial sparse cleanups - statics and explicit NULLs
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+
+M src/lib-http/test-http-date.c
+M src/lib-http/test-http-header-parser.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-response-parser.c
+M src/lib-http/test-http-server.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (ba5c8b0ae7)
+
+ various - trivial NULL-related sparse cleanups These zero-alikes are all
+ pointers, so should explicitly be NULL.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/config/sysinfo-get.c
+M src/director/user-directory.c
+M src/doveadm/doveadm-mail.c
+M src/imap/imap-sync.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-sql/driver-sqlite.c
+M src/util/script-login.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (da7f1a07f5)
+
+ treewide - mass cleanup of 0 used to end a settings list This also includes
+ a change to the perl script which generates the all-settings.c file.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/anvil/anvil-settings.c
+M src/auth/auth-settings.c
+M src/config/config-settings.c
+M src/config/settings-get.pl
+M src/dict/dict-settings.c
+M src/director/director-settings.c
+M src/dns/dns-client-settings.c
+M src/doveadm/doveadm-settings.c
+M src/imap-login/imap-login-settings.c
+M src/imap-urlauth/imap-urlauth-login-settings.c
+M src/imap-urlauth/imap-urlauth-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap/imap-settings.c
+M src/indexer/indexer-settings.c
+M src/indexer/indexer-worker-settings.c
+M src/ipc/ipc-settings.c
+M src/lmtp/lmtp-settings.c
+M src/log/log-settings.c
+M src/pop3-login/pop3-login-settings.c
+M src/pop3/pop3-settings.c
+M src/replication/aggregator/aggregator-settings.c
+M src/replication/replicator/replicator-settings.c
+M src/ssl-params/ssl-params-settings.c
+M src/stats/stats-settings.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (fa4da02c28)
+
+ lib: pair VA_COPY with va_end A va_copy creates a initialised va_list, as if
+ a va_start had been done on it. Therefore, pedantically, a va_end should
+ also be done on it. On most platforms this is a no-op, and for those where
+ it isn't, the pairing is important.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib/str.c
+M src/lib/strfuncs.c
+M src/master/main.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (9432f88be7)
+
+ fts: parser-html - parser can fail on attributes='with values in single
+ quotes' If that value were to contain an odd number of double quotes, then
+ the HTML_STATE_TAG_(D)QUOTED state would be entered and not exited.
+
+ The two quoting types behave basically the same, so just add two new cases
+ and duplicate the state transition code.
+
+M src/plugins/fts/fts-parser-html.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (c6fea6c517)
+
+ fts: parser-html - parse_tag_name returns wrong value for comments This
+ function returns 1 more than the number of additional characters to be
+ swallowed up by the state transition.
+
+
+M src/plugins/fts/fts-parser-html.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (aef3f281e9)
+
+ fts: parser-html - parse_tag_name really does return an integer not a bool
+ It seems to return 1 more than the number of additional characters (after
+ '<') are swallowed up by the state change, not a bool. This would imply that
+ '3' is wrong.
+
+
+M src/plugins/fts/fts-parser-html.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (915bb1572a)
+
+ lib-storage: functions returning bool actually return ints Their return
+ values are compared as if they are at least tri-state (-ve, 0, +ve), so
+ really aren't bools at all.
+
+ Note - this should cause the code to change in behaviour, and thus might
+ introduce regressions as previously all non-zeroes would have been mapped to
+ 1.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-storage/index/mbox/mbox-mail.c
+
+2014-05-27 21:17:34 +0300 Phil Carmody <phil@dovecot.fi> (a9a3687619)
+
+ lib-storage: context's dotlock_last_stale really is bool It's only ever read
+ as if it's a bool, so it really is a bool. Fix a write treating it as an
+ int.
+
+ Signed-off-by: Phil Carmody <phil@dovecot.fi>
+
+M src/lib-storage/index/mbox/mbox-lock.c
+
+2014-05-27 17:01:15 +0300 Stephan Bosch <stephan@rename-it.nl> (d3d941cc89)
+
+ lib-http: Fixed assertion failure in http_client_request_send_payload()
+ caused by inappropriate retry attempt.
+
+
+M src/lib-http/http-client-request.c
+
+2014-05-26 04:26:01 +0300 Timo Sirainen <tss@iki.fi> (3bbc5038bb)
+
+ virtual: Crashfix: Don't deinitialize search args that haven't been
+ initialized.
+
+
+M src/plugins/virtual/virtual-storage.c
+
+2014-05-26 04:05:34 +0300 Timo Sirainen <tss@iki.fi> (5b59856b8e)
+
+ lib-storage: Avoid refreshing mailbox list index too often.
+
+
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2014-05-26 03:58:16 +0300 Timo Sirainen <tss@iki.fi> (64c615dc2a)
+
+ lib-storage: Optimize mailbox_exists() with mailbox_list_index=yes We can
+ return the existence from the index itself to avoid stat()s.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2014-05-21 18:12:05 -0700 Timo Sirainen <tss@iki.fi> (53cc097d3f)
+
+ lib-storage: Added mailbox_list_index_very_dirty_syncs setting. This setting
+ assumes that the mailbox list index is up to date and uses it without
+ stat()ing backend mailbox files/dirs. (As a possible future TODO it might be
+ useful to still do the stat()ing, but only rarely.)
+
+
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/mbox/mbox-sync-list-index.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2014-05-21 06:28:36 -0700 Timo Sirainen <tss@iki.fi> (b36a03e5ad)
+
+ imap: If we're waiting for client to read data, show in process title how
+ many bytes are buffered.
+
+
+M src/imap/imap-client.c
+M src/imap/main.c
+
+2014-05-21 06:21:16 -0700 Timo Sirainen <tss@iki.fi> (10ff47d5d6)
+
+ lib: Added o_stream_is_corked().
+
+
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2014-05-15 23:41:55 +0300 Timo Sirainen <tss@iki.fi> (aac7ed9f78)
+
+ lib-imap: Use case-insensitive comparisons everywhere for imap_id_send
+ setting parsing. "os" and "os-version" were case-sensitive while others were
+ not. Patch by Apple.
+
+
+M src/lib-imap/imap-id.c
+
+2014-05-15 13:26:40 +0300 Timo Sirainen <tss@iki.fi> (7ab62198bf)
+
+ virtual: If backend mailbox hasn't changed, we still need to build its
+ uidmap.
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2014-05-14 12:46:25 +0300 Timo Sirainen <tss@iki.fi> (bd7fe09b7e)
+
+ imap: Fixed enabling METADATA if imap_capability string was explicitly set
+
+
+M src/imap/imap-client.c
+
+2014-05-14 12:28:17 +0300 Timo Sirainen <tss@iki.fi> (5e9e9f07ba)
+
+ lib-fs: Make sure we don't leak data stack.
+
+
+M src/lib-fs/fs-api.c
+
+2014-05-13 15:46:01 +0200 Timo Sirainen <tss@iki.fi> (917f7f4f7f)
+
+ lib-storage: Don't leak memory if mailbox_save_set_flags() is used multiple
+ times for keywords. This affected only some external plugins.
+
+
+M src/lib-storage/mail-storage.c
+
+2014-05-12 13:21:28 +0300 Timo Sirainen <tss@iki.fi> (70058d29cf)
+
+ dsync: If incremental sync fails because of desync, log the reason why
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/dsync/dsync-transaction-log-scan.h
+
+2014-05-12 12:51:50 +0300 Timo Sirainen <tss@iki.fi> (9f240e2ce9)
+
+ dsync: mailbox_metadata.cache_fields must be copied to permanent memory. Any
+ other call to mailbox_get_metadata() would have cleared the memory.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+
+2014-05-12 12:18:46 +0300 Timo Sirainen <tss@iki.fi> (82038c5b86)
+
+ acl: Empty negative rights list should be the same as NULL negative rights
+ list. There may be other places where this should be fixed, but this at
+ least fixes errors with dsync where "-user" entry without any rights was
+ attempted to be synced in dovecot-acl (although such entry shouldn't really
+ have existed in the first place).
+
+
+M src/plugins/acl/acl-api.c
+
+2014-05-11 22:52:30 +0300 Timo Sirainen <tss@iki.fi> (948a14de71)
+
+ lib-mail: Compiler warning fix
+
+
+M src/lib-mail/message-header-encode.c
+
+2014-05-11 22:33:21 +0300 Timo Sirainen <tss@iki.fi> (4a723b1e71)
+
+ Added signature for changeset c55c660d6e9d
+
+
+M .hgsigs
+
+2014-05-11 22:33:08 +0300 Timo Sirainen <tss@iki.fi> (37e437f4ec)
+
+ Added tag 2.2.13 for changeset c55c660d6e9d
+
+
+M .hgtags
+
+2014-05-11 22:33:08 +0300 Timo Sirainen <tss@iki.fi> (dc95c51f74)
+
+ Released v2.2.13.
+
+
+M NEWS
+M configure.ac
+
+2014-05-11 22:32:19 +0300 Timo Sirainen <tss@iki.fi> (2d310b66c9)
+
+ lib-mail: test-message-header-decoder unit test fixed
+
+
+M src/lib-mail/test-message-header-decode.c
+
+2014-05-11 22:31:54 +0300 Timo Sirainen <tss@iki.fi> (e701ffed37)
+
+ lib-mail: Fix to previous message_header_encode() commit
+
+
+M src/lib-mail/message-header-encode.c
+
+2014-05-11 22:19:15 +0300 Timo Sirainen <tss@iki.fi> (ff2619b17b)
+
+ doveadm penalty: Fixed using -a parameter
+
+
+M src/doveadm/doveadm-penalty.c
+
+2014-05-11 22:15:08 +0300 Timo Sirainen <tss@iki.fi> (a7dcd5b93e)
+
+ lib-mail: message_header_encode() now preserves folding whitespace This
+ function could still use some cleaning up, but good enough for now..
+
+ Also it should try to minimize the encoded words, not necessarily encoding
+ everything between the first and the last words that have to be encoded.
+
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-encode.h
+M src/lib-mail/test-message-header-encode.c
+
+2014-05-11 21:08:51 +0300 Timo Sirainen <tss@iki.fi> (5b6e0b6569)
+
+ lib-mail: message_header_encode_[bq]() now explicitly takes the first line
+ length parameter. So this change partially reverts the previous change,
+ because message_header_encode() was actually internally relying on this
+ behavior. The explicit parameter makes it clearer.
+
+
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-encode.h
+M src/lib-mail/test-message-header-encode.c
+
+2014-05-11 18:28:03 +0300 Timo Sirainen <tss@iki.fi> (63007f6d2a)
+
+ lib-mail: message_header_encode() no longer tries to lookup the first line's
+ length from output string. This function is used only by Pigeonhole, which
+ only uses it for empty output strings, so it's not useful there. Also that
+ behavior is somewhat unexpected and confusing.
+
+
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-encode.h
+
+2014-05-08 18:07:30 +0300 Timo Sirainen <tss@iki.fi> (2be0260dec)
+
+ Added signature for changeset 791ec610422c
+
+
+M .hgsigs
+
+2014-05-08 18:07:23 +0300 Timo Sirainen <tss@iki.fi> (afde22a2fa)
+
+ Added tag 2.2.13.rc1 for changeset 791ec610422c
+
+
+M .hgtags
+
+2014-05-08 18:07:23 +0300 Timo Sirainen <tss@iki.fi> (c4d59dcd70)
+
+ Released v2.2.13.rc1.
+
+
+M Makefile.am
+M NEWS
+M configure.ac
+
+2014-05-08 15:53:27 +0300 Phil Carmody <phil@dovecot.fi> (8d35582f25)
+
+ treewide - use of explicit NULL in pointer comparisons rather than 0-alikes
+
+ Found by sparse.
+
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/lib-imap/imap-url.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/mail-search-build.c
+
+2014-05-08 17:01:26 +0300 Phil Carmody <phil@dovecot.fi> (aac02871f0)
+
+ lib-storage: maildir - don't use a bool to store a char
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2014-05-08 15:56:25 +0300 Phil Carmody <phil@dovecot.fi> (b49aa341d2)
+
+ lib-storage: pop3c - fix invalid blank password check
+
+ The pointer will never be NULL, as it's initialised pointing to an empty
+ string, and can only be overridden by setting it to another string. So the
+ test always failed. Instead, check the 1st character of the password.
+
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2014-05-08 17:02:19 +0300 Timo Sirainen <tss@iki.fi> (7da0a157db)
+
+ lib-storage: Removed unnecessary code. mailbox_dir_name is never NULL, and
+ when it's empty it can be handled exactly the same as when it's non-empty.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2014-05-08 15:11:26 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (0161576073)
+
+ Removed unnecessary #includes.
+
+
+M src/lda/main.c
+M src/lib-lda/smtp-client.h
+
+2014-05-08 14:57:56 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (99399f061d)
+
+ run-tests.sh: Add support for reading valgrind suppressions if they exist.
+
+
+M run-test.sh
+
+2014-05-08 14:34:39 +0300 Timo Sirainen <tss@iki.fi> (07c2fc4093)
+
+ lib: fd_read() didn't check the msg.msg_controllen size correctly
+
+
+M src/lib/fdpass.c
+
+2014-05-06 12:44:38 +0300 Phil Carmody <phil@dovecot.fi> (ff0dc0d91d)
+
+ lib: cosmetic - rename parameters so that .h and .c files match
+
+ These functions were flagging sparse warnings, but those warnings are
+ trivially (robotically) dismissable if the parameters are identically named
+ in the two contexts. Opted for whichever name seemed to be more meaningful
+ or sensible. e.g. char** became p rather than s, as it's a pointer more than
+ a string.
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+
+2014-05-08 11:20:36 +0300 Phil Carmody <phil@dovecot.fi> (f71ebf27d4)
+
+ lib: wildcard-match - use NULL not 0 for pointers
+
+ Flagged by sparse.
+
+M src/lib/wildcard-match.c
+
+2014-05-07 16:52:22 +0300 Phil Carmody <phil@dovecot.fi> (df831edaa3)
+
+ lib: a couple of trivial sparse cleanups
+
+ The #include isn't needed on modern linux, as the macros are already defined
+ The compiler seems to silently ignore redefinitions in system header files,
+ so didn't throw a warning, but probably should have, as redefinitions can
+ lead to insanity.
+
+ The cast just makes it explicit that we're changing the prototype.
+
+M src/lib/file-set-size.c
+M src/lib/istream.c
+
+2014-05-08 14:11:46 +0300 Timo Sirainen <tss@iki.fi> (274c54ac76)
+
+ lib-storage: Make struct fail_storage/mailbox/mail_vfuncs properly extern.
+ These could be useful when implementing some new dummy storage backends.
+
+
+M src/lib-storage/fail-mail-storage.c
+M src/lib-storage/fail-mail-storage.h
+M src/lib-storage/fail-mail.c
+
+2014-05-06 18:10:55 +0300 Phil Carmody <phil@dovecot.fi> (0b3e92b604)
+
+ treewide sparse cleanup - make single-unit-only data static
+
+ Helps keep the global namespace clean. Not all the things suggested by
+ sparse have been moved. All DOVECOT_ABI_VERSION strings, and anything
+ replicated in all-settings.c by src/config/settings-get.pl has been left
+ untouched. Some of the latter could be moved, but the script would need to
+ be modified to replicate the 'static' (it outputs 'extern').
+
+M src/lib-index/mail-index-strmap.c
+M src/lib-lda/mail-send.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib/child-wait.c
+M src/lib/hash-method.c
+M src/login-common/client-common.c
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+M src/plugins/fts/fts-parser-html.c
+M src/plugins/fts/fts-parser.c
+
+2014-05-08 13:45:37 +0300 Timo Sirainen <tss@iki.fi> (64e75f0c95)
+
+ lib-storage: Code cleanups and potential crashfix. Usually in
+ blocks_count_lines() the full_input stream reading doesn't return eof=true
+ in the last read but only on the next. If this had changed for some reason
+ the code would have crashed in the assert checks.
+
+
+M src/lib-storage/index/index-mail-binary.c
+
+2014-05-08 13:27:43 +0300 Timo Sirainen <tss@iki.fi> (543879eef7)
+
+ fts-tika: Removed lib-http kludgy workaround, which is no longer needed.
+
+
+M src/plugins/fts/fts-parser-tika.c
+
+2014-05-08 12:39:10 +0300 Timo Sirainen <tss@iki.fi> (d8fc51fca3)
+
+ Make static analyzer happier
+
+
+M src/lib-mail/test-message-part.c
+
+2014-05-08 11:29:34 +0300 Timo Sirainen <tss@iki.fi> (258fd0e4b4)
+
+ Fixed compiling when building without SSL support.
+
+
+M src/login-common/ssl-proxy.c
+
+2014-05-08 10:21:56 +0300 Timo Sirainen <tss@iki.fi> (497803a92b)
+
+ run-test.sh: Valgrind version check was broken for v3.10+, removed it
+ entirely. RHEL 5.9 has valgrind v3.5 already, so there shouldn't really be
+ any important OSes using old valgrind that we need to support.
+
+
+M run-test.sh
+
+2014-05-07 23:32:28 +0300 Timo Sirainen <tss@iki.fi> (ea918d503a)
+
+ dsync: Make static analyzer happier (hopefully)
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-05-07 23:26:57 +0300 Timo Sirainen <tss@iki.fi> (0d238cec9a)
+
+ lib-mail: Added asserts to make static analyzer happier
+
+
+M src/lib-mail/message-parser.c
+
+2014-05-07 23:25:50 +0300 Timo Sirainen <tss@iki.fi> (1b6228f23f)
+
+ Fixed compiling on systems without MAP_ANONYMOUS For example OSX.
+
+
+M src/lib/test-hash-method.c
+
+2014-05-07 23:22:13 +0300 Timo Sirainen <tss@iki.fi> (a8672a757f)
+
+ auth: Minor code cleanup
+
+
+M src/auth/mech-rpa.c
+
+2014-05-07 20:24:05 +0300 Timo Sirainen <tss@iki.fi> (55bfe6c008)
+
+ auth: LDAP errors may have crashed the auth process.
+
+
+M src/auth/db-ldap.c
+
+2014-05-07 20:21:02 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (ac4f179bd6)
+
+ lib-index: Fixed detecting broken strmap index file (thread index).
+
+
+M src/lib-index/mail-index-strmap.c
+
+2014-05-07 20:18:39 +0300 Teemu Huovila <teemu.huovila@dovecot.fi> (8208398b7f)
+
+ pop3: Remove dead assignment detected by scan-build.
+
+
+M src/pop3/pop3-commands.c
+
+2014-05-07 20:14:32 +0300 Timo Sirainen <tss@iki.fi> (42b6ab2c6c)
+
+ doveadm: table formatter printed header unaligned if it had hidden titles.
+ This was broken by the previous table formatter change.
+
+
+M src/doveadm/doveadm-print-table.c
+
+2014-05-07 19:47:12 +0300 Timo Sirainen <tss@iki.fi> (7e428afa35)
+
+ lib-imap: IMAP parser didn't parse atoms correctly that started with '~'
+ character. literal8 begins only after "~{", not immediately after "~" which
+ is a valid ATOM-CHAR.
+
+
+M src/lib-imap/imap-parser.c
+
+2014-05-07 18:39:23 +0300 Phil Carmody <phil@dovecot.fi> (c9c20b2808)
+
+ lib: fix md4/md5 buffer read overrun
+
+ uint_fast32_t may be 64 bits and read too many bytes at the end of the
+ buffer. This didn't actually break anything as long as there was 32 bits of
+ readable memory past the buffer.
+
+M src/lib/md4.c
+M src/lib/md5.c
+
+2014-05-07 19:34:42 +0300 Timo Sirainen <tss@iki.fi> (acc72c40c5)
+
+ fts-lucene: Don't mix definite + maybe queries for now, since it returns
+ broken results.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2014-05-07 17:26:21 +0300 Timo Sirainen <tss@iki.fi> (6da2d4faed)
+
+ *-login: SSL connections didn't get closed when the client got destroyed.
+
+
+M src/login-common/client-common.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.h
+
+2014-05-07 17:12:19 +0300 Timo Sirainen <tss@iki.fi> (3b65d5b306)
+
+ acl: Global ACL file used only the first matching rights line, not merging
+ all the matches.
+
+
+M src/plugins/acl/acl-global-file.c
+
+2014-05-07 16:41:34 +0300 Timo Sirainen <tss@iki.fi> (0737a4fe0b)
+
+ lib-storage: Fixed assert-crash when looking up private flags for a mail
+ being saved.
+
+
+M src/lib-storage/index/index-mail.c
+
+2014-05-07 16:36:54 +0300 Timo Sirainen <tss@iki.fi> (48d8312488)
+
+ mdbox: Fixed race condition when creating a new mailbox and another process
+ getting its GUID.
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+
+2014-05-07 13:02:29 +0300 Timo Sirainen <tss@iki.fi> (b0114f9348)
+
+ liblib: Added unit test for hash methods to make sure they don't do read
+ access beyond buffer. This currently fails for MD4 and MD5, so they need to
+ be fixed/replaced..
+
+
+M src/lib/Makefile.am
+A src/lib/test-hash-method.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2014-05-07 13:01:17 +0300 Timo Sirainen <tss@iki.fi> (443fd76b8d)
+
+ lib-compression: Added some unit testing for lib-compression. Not perfect in
+ any way, but at least tests if things are completely broken.
+
+
+M src/lib-compression/Makefile.am
+A src/lib-compression/test-compression.c
+
+2014-05-07 12:27:36 +0300 Timo Sirainen <tss@iki.fi> (e01414d097)
+
+ lib-compression: gz compression didn't handle multiple flushes correctly.
+
+
+M src/lib-compression/ostream-zlib.c
+
+2014-05-07 12:26:58 +0300 Timo Sirainen <tss@iki.fi> (f6a21dbf70)
+
+ lib-compression: istream-lz4 shouldn't crash when closing the stream
+ multiple times.
+
+
+M src/lib-compression/istream-lz4.c
+
+2014-05-07 12:26:38 +0300 Timo Sirainen <tss@iki.fi> (38ec64f181)
+
+ lib-compression: Fixed LZMA compression. The code now looks more like the
+ doc/examples/01_compress_easy.c distributed with xz-utils. Most importantly
+ this changes LZMA_OK to be allowed as a result for lzma_code(zs,
+ LZMA_FINISH).
+
+
+M src/lib-compression/ostream-lzma.c
+
+2014-05-06 15:34:00 +0300 Timo Sirainen <tss@iki.fi> (d97801ee5f)
+
+ pop3: Fixed assert-crash with some settings when there are 0 mails.
+
+
+M src/pop3/pop3-commands.c
+
+2014-05-05 18:37:16 +0300 Timo Sirainen <tss@iki.fi> (d8d50edd0f)
+
+ mkdir_parents(): Handle mkdir() EEXIST errors that may happen during race
+ conditions. We don't care about EEXIST errors that happen when trying to
+ mkdir() parent directories, only if it happens when mkdir()ing the last
+ directory.
+
+
+M src/lib/mkdir-parents.c
+
+2014-05-05 16:24:53 +0300 Timo Sirainen <tss@iki.fi> (3d14f452f6)
+
+ auth: If authentication fails, never send back "nologin" field. This only
+ causes confusion.
+
+
+M src/auth/auth-request-handler.c
+
+2014-05-05 16:02:48 +0300 Timo Sirainen <tss@iki.fi> (edd3573b24)
+
+ message_header_decode_utf8() wasn't used correctly with NULL instead of
+ FALSE parameter.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+M src/lib-storage/index/index-sort.c
+
+2014-05-05 16:01:58 +0300 Timo Sirainen <tss@iki.fi> (66f9709e0c)
+
+ lib-storage: mail_get_headers_utf8() now replaces NULs with spaces. Perhaps
+ there should also be another API function which actually allows returning
+ strings with NULs in them.
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2014-05-05 16:00:52 +0300 Timo Sirainen <tss@iki.fi> (b5ad250aea)
+
+ doveadm mail fetch: Use mail_get_headers_utf8() when fetching hdr.*.utf8
+ This doesn't really matter but may allow minor optimizations later.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2014-05-05 15:39:58 +0300 Timo Sirainen <tss@iki.fi> (a5f1628ad9)
+
+ lib-mail: Added message_header_encode_data() to support encoding also NUL
+ characters.
+
+
+M src/lib-mail/Makefile.am
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-encode.h
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-encode.c
+
+2014-05-05 15:05:20 +0300 Timo Sirainen <tss@iki.fi> (513928e1d3)
+
+ liblib: Added str_append_data(), which is simply a wrapper to
+ buffer_append() This is intended for appending data that may contain NUL
+ characters that are wanted to be added to the string.
+
+
+M src/lib/str.c
+M src/lib/str.h
+
+2014-05-05 15:09:27 +0300 Phil Carmody <phil@dovecot.fi> (36f614569b)
+
+ lib: quell sparse "warning: Using plain integer as NULL pointer"
+
+ The first element of the structure is a pointer, make that explicit.
+
+M src/lib/array-decl.h
+
+2014-05-05 14:57:13 +0300 Timo Sirainen <tss@iki.fi> (fb69cdfbcb)
+
+ lib-mail: message_header_encode() needs to encode control characters as
+ well.
+
+
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/test-message-header-encode.c
+
+2014-05-05 14:28:33 +0300 Timo Sirainen <tss@iki.fi> (fc5f51f1c2)
+
+ auth: Added %{orig_user}, %{orig_username} and %{orig_domain} variables
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2014-05-05 14:18:31 +0300 Timo Sirainen <tss@iki.fi> (7da99e97d6)
+
+ imap: Brought back the original SEARCH PARTIAL code with the minor fix that
+ it actually needed. The new code in v2.2.11 was completely wrong. The code
+ in previous commit was broken with SORT. The original code was correct
+ otherwise, except it couldn't handle partial1 pointing past the valid range.
+
+
+M src/imap/imap-search.c
+
+2014-05-05 14:02:58 +0300 Timo Sirainen <tss@iki.fi> (e0bca7e18f)
+
+ imap: Fixed SEARCH PARTIAL to work correctly with UIDs and with SORT
+ results.
+
+
+M src/imap/imap-search.c
+
+2014-05-05 14:02:16 +0300 Timo Sirainen <tss@iki.fi> (199566f5a1)
+
+ Added seq_range_array_remove_nth()
+
+
+M src/lib/seq-range-array.c
+M src/lib/seq-range-array.h
+M src/lib/test-seq-range-array.c
+
+2014-05-02 19:31:49 +0300 Timo Sirainen <tss@iki.fi> (464e82904c)
+
+ dsync: If we notice that incremental sync won't work, don't continue doing
+ it.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+
+2014-05-02 15:43:30 +0300 Timo Sirainen <tss@iki.fi> (27712ff41a)
+
+ imap: Allow longer ID command parameters without disconnecting the client.
+
+
+M src/imap-login/client.c
+M src/imap-login/client.h
+M src/lib-imap/imap-id.c
+M src/lib-imap/imap-id.h
+M src/lib-master/master-auth.h
+
+2014-05-02 13:48:36 +0300 Timo Sirainen <tss@iki.fi> (9559586a78)
+
+ maildir: Maildir S=size fixing now works also with zlib etc. plugins that
+ modify the files.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2014-05-02 13:36:00 +0300 Timo Sirainen <tss@iki.fi> (fe0d192453)
+
+ maildir: Returning mail's received/saved date or refcount was sometimes
+ broken with zlib plugin. If the value wasn't already cached and the same
+ transaction also accessed the message body, i_stream_stat() was used, which
+ ended up to i_stream_seekable_stat() due to caching the file, which didn't
+ again fstat() the actual maildir file but just used some internal values.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2014-05-02 13:21:18 +0300 Timo Sirainen <tss@iki.fi> (61114b4718)
+
+ kqueue: Changed all i_fatal() calls to i_panic()s to make debugging them
+ possible.
+
+
+M src/lib/ioloop-kqueue.c
+
+2014-05-02 12:11:54 +0300 Timo Sirainen <tss@iki.fi> (c5bf07c133)
+
+ lib-index: Fixed crash when header fields count was too high in cache file.
+
+
+M src/lib-index/mail-cache-fields.c
+
+2014-05-02 11:58:52 +0300 Timo Sirainen <tss@iki.fi> (15bfe73fb3)
+
+ lib-storage: mailbox_settings_find() now takes namespace parameter instead
+ of user. This fixes an infinite (until stack gets full) loop with shared
+ mailboxes: mail_namespace_find() -> mailbox_list_get_storage() ->
+ mailbox_settings_find() -> mail_namespace_find() -> ...
+
+
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mailbox-list.c
+
+2014-05-02 11:40:05 +0300 Timo Sirainen <tss@iki.fi> (bddb1ba6c9)
+
+ auth: Fixed userdb extra fields handling in passdb failure. userdb prefetch
+ -flag wasn't correctly set, causing the prefetch userdb in some situations
+ incorrectly either to be called or not be called.
+
+ This also fixes a crash when using userdb static and multiple passdbs. The
+ userdb_reply was set to NULL, which caused a crash later.
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2014-05-02 11:12:58 +0300 Timo Sirainen <tss@iki.fi> (be48f0e569)
+
+ imap: Make sure we don't return empty "* n FETCH ()" reply, which violates
+ RFC 3501 ABNF. It happened only during error conditions, and it would be a
+ bit too much trouble to try to remove the reply entirely, so just append the
+ message UID there.
+
+
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+
+2014-05-02 11:06:27 +0300 Timo Sirainen <tss@iki.fi> (6165a82cdc)
+
+ imap: If FETCH BINARY fails because of invalid MIME part data, return
+ [UNKNOWN-CTE] error.
+
+
+M src/imap/cmd-fetch.c
+M src/imap/imap-fetch-body.c
+
+2014-05-02 10:40:12 +0300 Timo Sirainen <tss@iki.fi> (2a5d68cfbf)
+
+ example-config: Removed mail_nfs_* settings, since they shouldn't be used
+ anyway.
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2014-05-02 10:35:05 +0300 Timo Sirainen <tss@iki.fi> (5d2c8976dc)
+
+ lib-storage: Mailbox list indexes didn't use mail_fsync setting.
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2014-05-02 09:29:05 +0300 Timo Sirainen <tss@iki.fi> (a406615fbc)
+
+ virtual: Fixed assert-crash when doing changes to backend mailbox via the
+ virtual mailbox. Caused by the recent lazy mailbox opening changes.
+
+
+M src/plugins/virtual/virtual-sync.c
+
+2014-04-30 18:46:55 +0300 Timo Sirainen <tss@iki.fi> (9456a4a3e7)
+
+ lib-storage: mail_never_cache_fields=* means now to disable all caching.
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage-private.h
+
+2014-04-30 17:37:43 +0300 Timo Sirainen <tss@iki.fi> (ceac44e756)
+
+ lib-storage: Partially reverted the mail.get_real_mail() API change for
+ backwards compatibility. I hadn't realized Pigeonhole was also using it. (I
+ thought it was using only the mail_get_real_mail() public API.) This fixes
+ Pigeonhole v0.4.2 to work again.
+
+
+M src/lib-storage/fail-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail.c
+M src/plugins/virtual/virtual-mail.c
+
+2014-04-30 06:08:46 +0300 Timo Sirainen <tss@iki.fi> (8bc87e22fe)
+
+ dsync: saved-date doesn't need to be looked up until mail body is being
+ read. This should improve the performance when the saved-date isn't already
+ cached or otherwise quickly accessible.
+
+ This change also makes dsync slightly incompatible with earlier versions.
+ When using dsync with an earlier version the saved-dates aren't synced. It
+ would be too much trouble to try to preserve full backwards compatibility,
+ especially because saved-date doesn't matter so much and isn't even visible
+ to IMAP clients.
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-04-30 06:03:56 +0300 Timo Sirainen <tss@iki.fi> (9f09d0832d)
+
+ maildir: Make sure the filename contains S=size and W=size even if GUID
+ doesn't.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2014-04-29 16:44:58 +0300 Timo Sirainen <tss@iki.fi> (5192589b0f)
+
+ maildir: Make sure we don't replace correct mail sizes with broken ones when
+ preserving GUID.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2014-04-29 16:14:14 +0300 Timo Sirainen <tss@iki.fi> (108340ffac)
+
+ lib-mail: test-istream-attachment updated
+
+
+M src/lib-mail/test-istream-attachment.c
+
+2014-04-29 16:15:09 +0300 Timo Sirainen <tss@iki.fi> (dce10c2f67)
+
+ lib-mail: istream-attachment-extractor didn't correctly handle increasing
+ base64 line length. Based on patch by Pavel Stano
+
+
+M src/lib-mail/istream-attachment-extractor.c
+
+2014-04-29 16:03:17 +0300 Timo Sirainen <tss@iki.fi> (ba8c3c767d)
+
+ lib-mail: istream-attachment-extractor handled mixed LFs vs CRLFs correctly.
+ Unless all the lines have the same newlines, the attachment can't be
+ recreated back exactly the same.
+
+
+M src/lib-mail/istream-attachment-extractor.c
+
+2014-04-29 13:57:44 +0300 Timo Sirainen <tss@iki.fi> (a7c8901e0d)
+
+ lib-mail: Added more tests to test-istream-dot.
+
+
+M src/lib-mail/test-istream-dot.c
+
+2014-04-29 13:35:06 +0300 Timo Sirainen <tss@iki.fi> (ba8ff75a14)
+
+ lib-storage: Fixed crash if mailbox_save_cancel() was called in
+ save_finish()/copy() method.
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2014-04-29 13:10:28 +0300 Timo Sirainen <tss@iki.fi> (b9ec0443d7)
+
+ lib-index: Small code cleanup
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2014-04-29 12:35:05 +0300 Timo Sirainen <tss@iki.fi> (a0261d4fe4)
+
+ istream-lf: Cleanup & performance improvement. memchr() is faster than
+ lopping through the data ourself.
+
+
+M src/lib/istream-crlf.c
+
+2014-04-29 00:53:01 +0300 Timo Sirainen <tss@iki.fi> (fd4eaea7f7)
+
+ dsync: Yet another fix to working with old versions.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2014-04-29 00:50:08 +0300 Timo Sirainen <tss@iki.fi> (b8cf3beb93)
+
+ lib-lda: More smtp-client.h API changes to support multiple destination
+ addresses.
+
+
+M src/lib-lda/mail-send.c
+M src/lib-lda/smtp-client.c
+M src/lib-lda/smtp-client.h
+
+2014-04-29 00:48:54 +0300 Timo Sirainen <tss@iki.fi> (816fa4d6c2)
+
+ dsync: Fixed new dsync versions to work again with older versions.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2014-04-28 20:14:03 +0300 Timo Sirainen <tss@iki.fi> (40440c0fee)
+
+ dsync: If incremental dsync finds that its state is stale, retry (later)
+ with full sync. This works only when the master itself notices such changes
+ locally. Remote changes aren't noticed, because the master doesn't send the
+ state to remote dsync and the master is also the one that decides which
+ mailboxes are synced. The fix to this probably means sending the state
+ string to remote dsync and have it check if the state is still valid (=
+ protocol change).
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+
+2014-04-28 20:10:56 +0300 Timo Sirainen <tss@iki.fi> (7d315281ae)
+
+ dsync: Include messages_count in the mailbox states. This allows detecting
+ that stateful dsync can't be done when message count is suddenly wrong.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+M src/doveadm/dsync/dsync-mailbox-state.c
+M src/doveadm/dsync/dsync-mailbox-state.h
+
+2014-04-28 19:12:01 +0300 Timo Sirainen <tss@iki.fi> (089acbfed9)
+
+ dsync: Finished previous change to actually compile
+
+
+M src/doveadm/dsync/dsync-brain-private.h
+
+2014-04-28 18:34:27 +0300 Timo Sirainen <tss@iki.fi> (f59c16625d)
+
+ doveadm replicator add <user mask> command added. This allows quickly adding
+ users from userdb that don't exist in replicator. For example "doveadm
+ replicator add '*'" adds all the new users from userdb.
+
+ This isn't really necessary though. Users will be automatically added as
+ soon as their mailboxes change in some way and replicator gets notified
+ about them.
+
+M src/doveadm/doveadm-replicator.c
+M src/replication/replicator/Makefile.am
+M src/replication/replicator/doveadm-connection.c
+A src/replication/replicator/replicator-queue-auth.c
+M src/replication/replicator/replicator-queue.h
+M src/replication/replicator/replicator.c
+
+2014-04-28 18:24:04 +0300 Timo Sirainen <tss@iki.fi> (466d1b7778)
+
+ dsync: If dsync was started via doveadm-server, show the remote client's IP
+ address in ps output.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+
+2014-04-27 19:05:38 +0300 Stephan Bosch <stephan@rename-it.nl> (b36e026fb1)
+
+ lib-http: http-client: Prevented http_client_request_continue_payload() from
+ segfaulting when the callback sets the request pointer to NULL.
+
+
+M src/lib-http/http-client-request.c
+
+2014-04-27 19:05:35 +0300 Stephan Bosch <stephan@rename-it.nl> (0d5c9a80e9)
+
+ lib-http: http-client: Forgot to switch dns-client io_loop in
+ http_client_request_continue_payload() in ealier change (6c3bd941e153).
+
+
+M src/lib-http/http-client-request.c
+
+2014-04-26 22:40:14 +0300 Stephan Bosch <stephan@rename-it.nl> (880230bc28)
+
+ lib-http: Fixed problem with connections idling indefinitely. Forgot to
+ check for idle connections when request finished after waiting for payload
+ to be read by application.
+
+
+M src/lib-http/http-client-connection.c
+
+2014-04-25 19:01:09 +0300 Timo Sirainen <tss@iki.fi> (ea2c9ff030)
+
+ lib-http: Better error handling fix for payload read/write failures
+
+
+M src/lib-http/http-client-request.c
+
+2014-04-25 18:55:31 +0300 Timo Sirainen <tss@iki.fi> (5777eef991)
+
+ lib-http: Failed payload read/write error was handled wrongly as "stream
+ input size changed".
+
+
+M src/lib-http/http-client-request.c
+
+2014-04-25 18:03:36 +0300 Timo Sirainen <tss@iki.fi> (d5e839aea2)
+
+ iostream-temp: Improved stream naming.
+
+
+M src/lib/iostream-temp.c
+
+2014-04-25 17:29:18 +0300 Timo Sirainen <tss@iki.fi> (cd8a262bdd)
+
+ Compiler warning fixes
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-04-25 17:28:39 +0300 Timo Sirainen <tss@iki.fi> (e475db821b)
+
+ dsync: Added more debug output
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain.c
+
+2014-04-25 16:35:51 +0300 Timo Sirainen <tss@iki.fi> (eac7ab8d37)
+
+ doveadm dump: Added support for mobox extensions in dovecot.index.
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2014-04-25 16:18:09 +0300 Timo Sirainen <tss@iki.fi> (290ef51558)
+
+ lib-lda: Use the new smtp_client_init(), not _open()
+
+
+M src/lib-lda/mail-send.c
+
+2014-04-25 16:15:20 +0300 Timo Sirainen <tss@iki.fi> (829b29f8b9)
+
+ lib-lda: When non-RCPT/DATA command fails permanently, translate it
+ internally to temporary failure. We shouldn't be answering permanent
+ failures to RCPT/DATA command when the failure really had nothing to do with
+ the recipient/content itself. Most likely it's just some server
+ misconfiguration, which should be treated as temporary error.
+
+
+M src/lib-lda/lmtp-client.c
+
+2014-04-25 15:57:03 +0300 Timo Sirainen <tss@iki.fi> (b78d055f9d)
+
+ lib-lda: mail_send_rejection() logs permanent rejections now with info
+ level. There's no need to log an error when return-path is invalid.
+
+
+M src/lib-lda/mail-send.c
+
+2014-04-25 15:54:49 +0300 Timo Sirainen <tss@iki.fi> (d9424f3791)
+
+ lib-lda: Added new smtp_client_init/deinit() APIs The new API allows better
+ error handling.
+
+
+M src/lib-lda/smtp-client.c
+M src/lib-lda/smtp-client.h
+
+2014-04-25 15:52:37 +0300 Timo Sirainen <tss@iki.fi> (2262531bc5)
+
+ safe_memset(size=0) triggered read access to data[0], possibly crashing.
+
+
+M src/lib/safe-memset.c
+
+2014-04-25 15:46:20 +0300 Timo Sirainen <tss@iki.fi> (b7540564b9)
+
+ lib-http: Added more information to "stream input size changed" error
+
+
+M src/lib-http/http-client-request.c
+
+2014-04-25 15:31:08 +0300 Timo Sirainen <tss@iki.fi> (3a61b68f1b)
+
+ lib-lda: Removed unused mail_send_forward()
+
+
+M src/lib-lda/mail-send.c
+M src/lib-lda/mail-send.h
+
+2014-04-25 10:49:45 +0300 Timo Sirainen <tss@iki.fi> (66f7fc500f)
+
+ dsync: If a parent \Noselect gets autocreated, don't fail later when trying
+ to re-create it.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+
+2014-04-24 18:18:42 +0300 Timo Sirainen <tss@iki.fi> (3ef4aca8ca)
+
+ dsync: Fixed high data stack memory usage
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-04-24 13:49:25 +0300 Timo Sirainen <tss@iki.fi> (f20e7fbdc9)
+
+ i_stream_read_next_line(): Set also errno=ENOBUFS on too large line. Some
+ callers assume that errno is set to same as istream->stream_errno
+
+
+M src/lib/istream.c
+
+2014-04-23 23:26:49 +0300 Timo Sirainen <tss@iki.fi> (ab779efe68)
+
+ director: Fixed handling weak users when there were exactly 2 director
+ servers in the ring.
+
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director.c
+M src/director/director.h
+
+2014-04-23 22:33:48 +0300 Timo Sirainen <tss@iki.fi> (e256ae453e)
+
+ doveadm director map -u: Don't connect to director socket, it's not needed.
+
+
+M src/doveadm/doveadm-director.c
+
+2014-04-23 22:30:28 +0300 Timo Sirainen <tss@iki.fi> (3957200d94)
+
+ doveadm director map: Added -h and -u parameters to quickly map between
+ username and hash.
+
+
+M src/doveadm/doveadm-director.c
+
+2014-04-23 22:15:28 +0300 Timo Sirainen <tss@iki.fi> (cac19595c3)
+
+ doveadm director map: Show also the username hash.
+
+
+M src/doveadm/doveadm-director.c
+
+2014-04-23 22:13:08 +0300 Timo Sirainen <tss@iki.fi> (6d568a2a55)
+
+ director: When logging about request timeout, log also the username hash.
+
+
+M src/director/director-request.c
+
+2014-04-23 20:55:04 +0300 Timo Sirainen <tss@iki.fi> (f57e4c0f28)
+
+ doveadm replicator replicate: Added -f parameter to force a full sync for
+ user.
+
+
+M src/doveadm/doveadm-replicator.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/replicator-brain.c
+M src/replication/replicator/replicator-queue.h
+
+2014-04-23 20:53:55 +0300 Timo Sirainen <tss@iki.fi> (cb9d0f3078)
+
+ doveadm replicator replicate: -p parameter wasn't working correctly. We were
+ just replicating the "-p" as the username.
+
+
+M src/doveadm/doveadm-replicator.c
+
+2014-04-23 19:21:40 +0300 Timo Sirainen <tss@iki.fi> (5b59eecbc2)
+
+ dsync: Added assert
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2014-04-23 19:20:23 +0300 Timo Sirainen <tss@iki.fi> (dc4f9e0398)
+
+ dsync: When initializing via doveadm-server, change the iostream buffer
+ sizes to unlimited.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2014-04-23 19:19:24 +0300 Timo Sirainen <tss@iki.fi> (556f95092c)
+
+ Added o_stream_get_max_buffer_size()
+
+
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2014-04-23 16:45:10 +0300 Timo Sirainen <tss@iki.fi> (a385399497)
+
+ virtual: Fixed assert-crash in IDLE caused by earlier changes. This change
+ negates all the improvements of the earlier changes when IDLE is used. This
+ could be fixed by using mailbox-list-notify.h API.
+
+
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+
+2014-04-23 16:31:36 +0300 Timo Sirainen <tss@iki.fi> (3e1d94509f)
+
+ virtual: Delay initializing search args until the mailbox is actually
+ opened. Fixes assert-crash caused by recent changes when virtual mailbox
+ search args contained e.g. keywords.
+
+
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+
+2014-04-22 13:15:21 +0300 Timo Sirainen <tss@iki.fi> (b13a8e19e0)
+
+ safe_memset() wasn't safe with modern compilers anymore. Another try based
+ on David Jacobson's code in
+ https://www.mail-archive.com/openssl-dev@openssl.org/msg34134.html :
+
+ """ Since vs points to a volatile, the load in the while clause actually has
+ to be done. That forces the compiler to actually store c into at least the
+ byte that is tested, in practice byte zero. But the fact that the index is
+ volatile zero, and since it is volatile it could spontaneously change to
+ anything, the compiler has to store c into all bytes.
+
+ The key observation is that while you can't pass a volatile to memset (you
+ get a warning and the volatile gets stripped away), you can use a volatile
+ in a test that could go the wrong way if the memset were elided.
+ """
+
+M src/lib/safe-memset.c
+
+2014-04-19 11:23:18 +0200 Stephan Bosch <stephan@rename-it.nl> (67e0afe62b)
+
+ connection: Added support for creating a stream from input/output stream
+ pair.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2014-04-19 11:21:47 +0200 Timo Sirainen <tss@iki.fi> (856ae2ad98)
+
+ lib-http: Fixed resource leaks in http_client_wait() occurring a dns_client
+ is used. If all DNS lookups finished before the end of the wait cycle, the
+ dns_client would not be switched back to the original ioloop.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client.c
+M src/lib-http/test-http-client.c
+
+2014-04-19 11:21:19 +0200 Timo Sirainen <tss@iki.fi> (994a2b017b)
+
+ lib-dns: Added dns_client_switch_ioloop().
+
+
+M src/lib-dns/dns-lookup.c
+M src/lib-dns/dns-lookup.h
+
+2014-04-19 11:07:45 +0200 Timo Sirainen <tss@iki.fi> (7cb40f2232)
+
+ ioloop: Fixed segfault crash in io_loop_call_pending(). When a callback
+ called io_set_pending(), the io_loop_call_pending() loop crossed the end of
+ the ioloop->io_files list.
+
+ Based on patch by Stephan Bosch
+
+M src/lib/ioloop.c
+
+2014-04-17 16:42:02 +0200 Timo Sirainen <tss@iki.fi> (57b523eeb9)
+
+ fts-lucene: Added mime_parts parameter to index MIME parts as separate
+ documents. This is in preparation for being able to actually read such
+ information and show it to clients via some new IMAP extension.
+
+ Also it might be better to index some MIME parts together to avoid wasting
+ disk space, but for now this is all or nothing. For example anything that is
+ "message body" could probably be indexed without the part number at all.
+
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/fts-lucene-plugin.h
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-lucene/lucene-wrapper.h
+
+2014-04-17 16:35:05 +0200 Timo Sirainen <tss@iki.fi> (ad39515382)
+
+ fts-lucene: Fixed "doveadm dump" crash when built with stemmer
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2014-04-17 16:18:02 +0200 Timo Sirainen <tss@iki.fi> (3e7c452d73)
+
+ lib-mail: Compile fix for last change..
+
+
+M src/lib-mail/message-part.c
+
+2014-04-17 16:12:00 +0200 Timo Sirainen <tss@iki.fi> (69111aa5f9)
+
+ fts: Added message_part to fts_backend_build_key. This allows FTS backends
+ to index MIME parts separately from each others.
+
+
+M src/plugins/fts/fts-api.h
+M src/plugins/fts/fts-build-mail.c
+
+2014-04-17 16:09:52 +0200 Timo Sirainen <tss@iki.fi> (6b8d5b8d02)
+
+ lib-mail: Added support for struct message_part <-> index number
+ translations.
+
+
+M src/lib-mail/Makefile.am
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part-serialize.c
+A src/lib-mail/message-part.c
+M src/lib-mail/message-part.h
+A src/lib-mail/test-message-part.c
+
+2014-04-17 16:04:13 +0200 Timo Sirainen <tss@iki.fi> (f684e87d4e)
+
+ lib-mail: Moved struct message_part to a separate message-part.h
+
+
+M src/lib-mail/Makefile.am
+M src/lib-mail/message-parser.h
+A src/lib-mail/message-part.h
+
+2014-04-17 14:24:18 +0200 Timo Sirainen <tss@iki.fi> (544a727de8)
+
+ auth: If passdb/userdb has a name, use it for the log prefix instead of the
+ driver name.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+M src/auth/auth.c
+
+2014-04-17 14:21:55 +0200 Timo Sirainen <tss@iki.fi> (6135260095)
+
+ auth: Use special AUTH_SUBSYS_DB/MECH parameters as auth_request_log*()
+ subsystem. This avoids hardcoded strings all over the place and also allows
+ assigning the correct passdb/userdb name for log messages generated by
+ generic passdb/userdb code, which doesn't know exactly where it was called
+ from.
+
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/db-checkpassword.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-apop.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-dovecot-token.c
+M src/auth/mech-external.c
+M src/auth/mech-gssapi.c
+M src/auth/mech-login.c
+M src/auth/mech-ntlm.c
+M src/auth/mech-otp.c
+M src/auth/mech-plain.c
+M src/auth/mech-rpa.c
+M src/auth/mech-scram-sha1.c
+M src/auth/mech-skey.c
+M src/auth/mech-winbind.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-checkpassword.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-imap.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-pam.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sia.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-nss.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-prefetch.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb-vpopmail.c
+M src/auth/userdb.c
+
+2014-04-17 12:26:46 +0200 Timo Sirainen <tss@iki.fi> (214fc90c61)
+
+ imapc: Fixed fetching specific headers without imapc_features=fetch-headers
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2014-04-17 10:29:10 +0200 Timo Sirainen <tss@iki.fi> (ce87b647a0)
+
+ fts: Added fts-parser support for Tika It can be enabled by setting:
+
+ plugin {
+ fts_tika = http://localhost:9998/tika/
+ }
+
+M src/plugins/fts/Makefile.am
+A src/plugins/fts/fts-parser-tika.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-parser.h
+
+2014-04-17 10:27:43 +0200 Timo Sirainen <tss@iki.fi> (4682f86ba3)
+
+ fts: Never put text/plain contents through fts-parsers.
+
+
+M src/plugins/fts/fts-parser.c
+
+2014-04-17 10:26:11 +0200 Timo Sirainen <tss@iki.fi> (3ad57148af)
+
+ fts: Added unload() method to fts-parsers to allow them to cleanup before
+ plugin unload.
+
+
+M src/plugins/fts/fts-parser-html.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-parser.h
+M src/plugins/fts/fts-plugin.c
+
+2014-04-17 10:17:09 +0200 Timo Sirainen <tss@iki.fi> (a0613a630a)
+
+ lib-http: http_client_request_finish_payload() no longer waits for the
+ entire result payload. The caller can now read it instead, or just discard
+ it by not reading it.
+
+
+M src/lib-http/http-client-request.c
+
+2014-04-17 09:45:55 +0200 Timo Sirainen <tss@iki.fi> (f8e6a1246e)
+
+ fts: Free fts-parser on failures.
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2014-04-16 18:19:57 +0200 Timo Sirainen <tss@iki.fi> (c61a85ec5d)
+
+ doveadm replicator dsync-status: Show replication type as "-" for
+ non-working dsyncs.
+
+
+M src/replication/replicator/doveadm-connection.c
+
+2014-04-16 16:05:12 +0200 Timo Sirainen <tss@iki.fi> (0dfacbe4cb)
+
+ maildir: Added maildir_empty_new setting to avoid keeping mails in new/
+ directory. This is useful for example when using an external MDA that calls
+ "doveadm index" and the user hasn't opened the mailbox for a long time.
+
+ Also this removes the delay that user may see when opening a rarely accessed
+ mailbox, which renames a ton of files to cur/ while the user is waiting.
+
+M doc/example-config/conf.d/10-mail.conf
+M src/lib-storage/index/maildir/maildir-settings.c
+M src/lib-storage/index/maildir/maildir-settings.h
+M src/lib-storage/index/maildir/maildir-sync.c
+
+2014-04-16 15:44:46 +0200 Timo Sirainen <tss@iki.fi> (b20018e457)
+
+ fts-solr: Removed unnecessary code
+
+
+M src/plugins/fts-solr/solr-connection.c
+
+2014-04-16 10:40:28 +0200 Timo Sirainen <tss@iki.fi> (8af300dd69)
+
+ replicator: Improve logging import/export errors.
+
+
+M src/replication/replicator/replicator-queue.c
+
+2014-04-16 00:13:42 +0200 Timo Sirainen <tss@iki.fi> (d48fcf2c08)
+
+ fts-lucene: Fix to previous change. We allocated way too little memory.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2014-04-16 00:04:29 +0200 Timo Sirainen <tss@iki.fi> (4c0aff96fc)
+
+ lib-storage: Further changes to mailbox_alloc_guid() caching. We'll now
+ cache the GUIDs forever and force invalidation after mailbox rename or when
+ mailbox GUIDs have been updated. This is what dsync needs, especially for
+ good performance, and currently there aren't any other users for this API.
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-list-private.h
+
+2014-04-15 23:44:54 +0200 Timo Sirainen <tss@iki.fi> (d6499957ea)
+
+ lib-storage: mailbox_alloc_guid() shouldn't refresh GUID cache on every
+ nonexistent GUID. Refresh it only if we know it has had some changes (made
+ by our process) or timestamp has changed. This should handle the cases that
+ are currently important (=single dsync run).
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-list-private.h
+
+2014-04-15 23:41:50 +0200 Timo Sirainen <tss@iki.fi> (debafc38f9)
+
+ dsync: Fix to previous commit to actually compile..
+
+
+M src/doveadm/dsync/dsync-brain.c
+
+2014-04-15 23:23:37 +0200 Timo Sirainen <tss@iki.fi> (a4667f4238)
+
+ replicator: Fixed crash caused by "doveadm replicator dsync-status" in some
+ situations.
+
+
+M src/replication/replicator/doveadm-connection.c
+
+2014-04-15 23:02:11 +0200 Timo Sirainen <tss@iki.fi> (f038c71a96)
+
+ dsync: Fixed giving -n "" followed by other -n parameters.
+
+
+M src/doveadm/dsync/dsync-brain.c
+
+2014-04-15 22:28:26 +0200 Timo Sirainen <tss@iki.fi> (37e5638ddf)
+
+ fts-lucene: Don't allocate large amounts of memory from stack. This probably
+ only happened for huge header values.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2014-04-15 18:24:31 +0200 Timo Sirainen <tss@iki.fi> (2e08b126fd)
+
+ replicator: Added "doveadm replicator dsync-status" command.
+
+
+M src/doveadm/doveadm-replicator.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/doveadm-connection.h
+M src/replication/replicator/dsync-client.c
+M src/replication/replicator/dsync-client.h
+M src/replication/replicator/replicator-brain.c
+M src/replication/replicator/replicator-brain.h
+M src/replication/replicator/replicator.c
+
+2014-04-15 17:42:31 +0200 Timo Sirainen <tss@iki.fi> (079951cc72)
+
+ dsync: If remote command fails, show the full command in the error message.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2014-04-15 17:33:12 +0200 Timo Sirainen <tss@iki.fi> (46d352bb5b)
+
+ doveadm-server: Using any command line parameters caused crashes due to
+ missing getopt() reset.
+
+
+M src/doveadm/client-connection.c
+
+2014-04-15 17:20:02 +0200 Timo Sirainen <tss@iki.fi> (18a41cbd38)
+
+ virtual: Delay opening the backend mailboxes until it's really necessary.
+ This should improve the performance a lot with mailbox_list_index=yes when
+ opening virtual mailboxes whose backend mailboxes are mostly unchanged.
+
+
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+
+2014-04-15 17:08:34 +0200 Timo Sirainen <tss@iki.fi> (d8615e0bec)
+
+ Replaced mail_get_real_mail() callers with mail_get_backend_mail()
+
+
+M src/imap/imap-fetch.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2014-04-15 17:06:57 +0200 Timo Sirainen <tss@iki.fi> (541b251a99)
+
+ lib-storage: Replaced mail_get_real_mail() with mail_get_backend_mail() that
+ can fail. For now the mail_get_real_mail() can still be used for backwards
+ compatibility.
+
+
+M src/lib-storage/fail-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+M src/plugins/virtual/virtual-mail.c
+
+2014-04-15 16:37:26 +0200 Timo Sirainen <tss@iki.fi> (9e6bc7ee1f)
+
+ Removed unused code.
+
+
+M src/lib/primes.c
+
+2014-04-15 15:21:37 +0200 Timo Sirainen <tss@iki.fi> (aaf162d4ed)
+
+ lib-storage: Don't open mailbox on mailbox_get_status() if we have no status
+ items left to get.
+
+
+M src/lib-storage/index/index-status.c
+
+2014-04-15 15:13:28 +0200 Timo Sirainen <tss@iki.fi> (faad8eaec7)
+
+ lib-storage: Avoid rebuilding the whole mailbox list index when one mailbox
+ changes.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2014-04-09 23:19:29 +0300 Timo Sirainen <tss@iki.fi> (92878b8975)
+
+ lazy_expunge: If setting is empty, disable the plugin. Instead of assuming
+ that we want to use prefix="" as the lazy_expunge namespace, which is highly
+ unlikely anyone will ever want to do.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2014-04-09 23:17:09 +0300 Timo Sirainen <tss@iki.fi> (a3036257fc)
+
+ lazy_expunge: If lazy-expunge mailbox open/create fails, show the mailbox
+ name in error message.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2014-04-09 18:14:33 +0300 Timo Sirainen <tss@iki.fi> (1240586a6e)
+
+ doveadm backup: Another attempt at fixing assert-crashes when deleting
+ mailboxes. Only two-way syncs really care about the mailbox deletion logs
+ which set existence=DELETED. So actually the log reading could be skipped
+ entirely for doveadm backup to speed things up.
+
+ In any case the code currently relies that after
+ sync_tree_sort_and_delete_mailboxes() the tree no longer has nodes with
+ existence=DELETED and mailbox_guid!=0, because that assert-crashes in
+ sync_create_mailboxes(). The assert() could probably simply be changed into
+ an if(), but might as well keep the code as it was originally intended and
+ not have the sync/backup behave more differently than needed.
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2014-04-09 17:05:12 +0300 Timo Sirainen <tss@iki.fi> (b9de28ca5a)
+
+ maildir: If GUID can't be preserved in filename due to size change, set it
+ in dovecot-uidlist This fixes problems with dsync when zlib is used and
+ filenames/GUIDs don't contain (correct) S=sizes.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2014-04-08 17:07:31 +0200 Timo Sirainen <tss@iki.fi> (93ae7fcd39)
+
+ liblib: Fixed crash using str_c() in different stack frame with str_new(0)
+ allocated string.
+
+
+M src/lib/str.c
+M src/lib/test-str.c
+
+2014-04-08 08:49:53 +0200 Timo Sirainen <tss@iki.fi> (a14a28af03)
+
+ Compiler warning fix
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2014-04-08 00:20:57 +0300 Timo Sirainen <tss@iki.fi> (4885489269)
+
+ doveadm backup: Fix to handling mailbox deletions.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2014-04-08 00:09:03 +0300 Timo Sirainen <tss@iki.fi> (a1fff89417)
+
+ liblib: Added unit test for t_strsplit(data="")
+
+
+M src/lib/strfuncs.h
+M src/lib/test-strfuncs.c
+
+2014-04-08 00:08:21 +0300 Timo Sirainen <tss@iki.fi> (e569900bba)
+
+ dsync: Fixed using -n "" parameter
+
+
+M src/doveadm/dsync/dsync-brain.c
+
+2014-04-04 01:23:29 +0300 Timo Sirainen <tss@iki.fi> (6d9ce72cef)
+
+ maildir: If istream_opened is set by a plugin, don't try to fix S=size by
+ renaming. Although this could be fixed in a nicer way by actually
+ calculating the correct S=size and using that for renaming.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2014-04-04 01:03:17 +0300 Timo Sirainen <tss@iki.fi> (911d873c03)
+
+ lib-imap-storage: Don't waste effort getting mail's physical size if it
+ can't be done quickly.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2014-04-04 00:53:34 +0300 Timo Sirainen <tss@iki.fi> (a30fd271b0)
+
+ lib-imap-storage: Reverted previous change. It broke FETCH BODY
+ [n.HEADER.FIELDS ..]
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2014-04-04 00:30:11 +0300 Timo Sirainen <tss@iki.fi> (d6691198d1)
+
+ lib-imap-storage: Minor code cleanup
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2014-04-04 00:14:42 +0300 Timo Sirainen <tss@iki.fi> (7e6522921c)
+
+ maildir: If istream_opened hook is set, don't return stat()ed file size as
+ physical size. That's pretty much always wrong. The hook is set with e.g.
+ zlib and mail-filter and similar plugins that modify the mail stream.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2014-04-04 00:13:35 +0300 Timo Sirainen <tss@iki.fi> (e9a182196c)
+
+ lib-storage: When trying to get body size quickly, make sure we don't end up
+ reading the mail body.
+
+
+M src/lib-storage/index/index-mail.c
+
+2014-04-03 23:38:17 +0300 Timo Sirainen <tss@iki.fi> (522925f6e9)
+
+ maildir: Fixed auto-creating INBOX that was missing tmp/ directory (but not
+ cur/)
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2014-04-03 19:59:30 +0300 Timo Sirainen <tss@iki.fi> (37703e8d00)
+
+ Use io_add_istream() wherever possible. This shouldn't fix anything, but
+ might make some functionality easier to implement in future.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/imap/cmd-append.c
+M src/imap/cmd-idle.c
+M src/imap/imap-client.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+M src/lib-http/test-http-client.c
+M src/pop3/pop3-client.c
+
+2014-04-03 19:56:47 +0300 Timo Sirainen <tss@iki.fi> (9937dfc157)
+
+ lib-http: Wrap response payload istream into a istream-timeout.
+
+
+M src/lib-http/http-client-connection.c
+M src/plugins/fts-solr/solr-connection.c
+
+2014-04-03 19:54:27 +0300 Timo Sirainen <tss@iki.fi> (87da941c0b)
+
+ lib-ssl-iostream: Make sure I/O input event is triggered after ostream-ssl
+ has read some data to buffer.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/istream-openssl.c
+
+2014-04-03 19:53:13 +0300 Timo Sirainen <tss@iki.fi> (854b4074ac)
+
+ Added istream-timeout, which triggers I/O event and fails with ETIMEDOUT
+ after the timeout.
+
+
+M src/lib/Makefile.am
+A src/lib/istream-timeout.c
+A src/lib/istream-timeout.h
+
+2014-04-03 19:51:52 +0300 Timo Sirainen <tss@iki.fi> (4c096615cb)
+
+ Added io_add_istream() and related functionality for combining the
+ ioloop/istream. The idea here is that it's possible to implement
+ asynchronous istreams when there isn't a file descriptor that can be used to
+ reliably receive updates.
+
+
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+M src/lib/istream-private.h
+M src/lib/istream.c
+M src/lib/istream.h
+
+2014-04-03 19:47:49 +0300 Timo Sirainen <tss@iki.fi> (f922ecaf76)
+
+ ioloop: Added io_set_pending()
+
+
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-kqueue.c
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-private.h
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2014-04-03 18:21:39 +0300 Timo Sirainen <tss@iki.fi> (22c646fc87)
+
+ dsync: Don't assert-crash if we have the same mailbox name in conflicting
+ namespaces.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2014-04-03 14:41:25 +0300 Timo Sirainen <tss@iki.fi> (710129a6c8)
+
+ DEBUG: Make sure errno isn't changed by vsnprintf()/malloc()/free()
+ implementations. They shouldn't, so this should only be a sanity check when
+ running with devel-checks. Various parts in the code rely on errno not being
+ changed by *_strdup_printf() calls.
+
+
+M src/lib/data-stack.c
+M src/lib/mempool-system.c
+M src/lib/strfuncs.c
+
+2014-04-03 12:54:18 +0300 Timo Sirainen <tss@iki.fi> (a2738cdb6d)
+
+ i_stream_read(): If stream_errno is set, fail immediately. Previously the
+ stream_errno was reset to 0, but this required the istream implementation to
+ correctly set the stream_errno back, which wasn't often done.
+
+
+M src/lib/istream.c
+
+2014-04-03 12:50:43 +0300 Timo Sirainen <tss@iki.fi> (3866190250)
+
+ lib-ssl-iostream: Error handling fix. Don't set last_error="(null)" when the
+ connection was simply disconnected.
+
+
+M src/lib-ssl-iostream/istream-openssl.c
+
+2014-03-29 22:45:16 +0200 Timo Sirainen <tss@iki.fi> (91c58af8e9)
+
+ fts-sorl: Skip returned duplicate results. Similar to bugfix d63b209737be in
+ fts-lucene.
+
+ This caused assert-crash at least when searching from virtual mailbox
+ because the score array was larger than the actual number of results.
+
+M src/plugins/fts-solr/solr-connection.c
+
+2014-03-28 15:59:48 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (ba67225379)
+
+ pop3: Fixed off-by-one bug in the sequence number fix of d20059f7d3a1.
+
+
+M src/pop3/pop3-commands.c
+
+2014-03-28 15:31:06 +0200 Timo Sirainen <tss@iki.fi> (bf2760c13f)
+
+ lib-fs: posix backend now names the istreams with the file's path.
+
+
+M src/lib-fs/fs-posix.c
+
+2014-03-28 15:29:53 +0200 Timo Sirainen <tss@iki.fi> (c449e0b084)
+
+ lib-fs: ostream-metawrap shouldn't count metadata header as part of the
+ stream offsets.
+
+
+M src/lib-fs/ostream-metawrap.c
+
+2014-03-27 16:00:49 +0100 Timo Sirainen <tss@iki.fi> (ec13aa1185)
+
+ lib-fs: ostream-metawrap didn't update the output stream's offset
+
+
+M src/lib-fs/ostream-metawrap.c
+
+2014-03-27 14:57:44 +0100 Timo Sirainen <tss@iki.fi> (890217a922)
+
+ dovecot.m4: Minor message improvement.
+
+
+M dovecot.m4
+
+2014-03-27 15:39:33 +0200 Timo Sirainen <tss@iki.fi> (d0f9c91ed9)
+
+ lib-fs: Fixes to posix backend's FS_OPEN_MODE_CREATE_UNIQUE_128 handling.
+
+
+M src/lib-fs/fs-posix.c
+
+2014-03-27 14:37:10 +0100 Timo Sirainen <tss@iki.fi> (fae30913b5)
+
+ mdbox: Don't hoard file descriptors when saving mails that are larger than
+ mdbox_rotate_size.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2014-03-27 13:25:12 +0100 Timo Sirainen <tss@iki.fi> (bb4045cb95)
+
+ dsync: Optimization for a large number of mails with the same GUID. Still
+ not ideal, but better than before.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2014-03-27 10:02:08 +0100 Timo Sirainen <tss@iki.fi> (e1550f6a31)
+
+ doveadm director move/map: Use director_username_hash setting for
+ calculating hashes.
+
+
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+
+2014-03-26 16:17:34 +0100 Timo Sirainen <tss@iki.fi> (028a1c8de5)
+
+ lib-http: Fixed a hang Patch by Stephan Bosch
+
+
+M src/lib-http/http-client-queue.c
+
+2014-03-26 14:41:05 +0100 Timo Sirainen <tss@iki.fi> (ee3c2fb2eb)
+
+ lib-http: Added debug logging.
+
+
+M src/lib-http/http-client-queue.c
+
+2014-03-25 19:59:24 +0200 Timo Sirainen <tss@iki.fi> (d487aa8858)
+
+ dsync: Support multiple -n parameters.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+
+2014-03-24 19:07:03 +0100 Timo Sirainen <tss@iki.fi> (e160527429)
+
+ dsync: Fixed matching namespace for the namespace prefix itself.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2014-03-21 17:52:50 +0200 Timo Sirainen <tss@iki.fi> (7586eb9be4)
+
+ imapc: Cache LIST replies for a while to be able to immediately ask for
+ mailbox flags/existence. Besides giving better performance, this will fix
+ bugs in some servers where LISTing a single mailbox doesn't necessarily
+ return it. (In this case a mailbox named "in" wasn't returned, but I think
+ Dovecot has had bugs related to this also.)
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2014-03-20 17:07:32 +0200 Timo Sirainen <tss@iki.fi> (07c8b1b48e)
+
+ dsync: Avoid unnecessary data stack memory usage.
+
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2014-03-20 17:00:31 +0200 Timo Sirainen <tss@iki.fi> (fda7b3649d)
+
+ imapc: Avoid hanging when running into server problems.
+ imapc_mail_fetch_flush() caused imail->fetch_count to drop to 0, but
+ imapc_mailbox_run() still started imapc_client_run() which was doing
+ nothing.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2014-03-20 16:15:24 +0200 Timo Sirainen <tss@iki.fi> (b7a672661c)
+
+ imapc: Fixed crash when FETCH command immediately failed due to connection
+ error.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2014-03-19 15:42:42 +0200 Timo Sirainen <tss@iki.fi> (65c7451e48)
+
+ passdb-imap: Fixed reference counting.
+
+
+M src/auth/passdb-imap.c
+
+2014-03-19 09:45:15 +0200 Timo Sirainen <tss@iki.fi> (eb2091a2de)
+
+ lib-dns: Fixed handling failed DNS lookups.
+
+
+M src/lib-dns/dns-lookup.c
+
+2014-03-18 16:49:10 +0200 Timo Sirainen <tss@iki.fi> (f567e9ad51)
+
+ maildir: Fixed looking up physical size for a mail while it's being saved.
+ Based on patch by Teemu Huovila.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-storage.h
+
+2014-03-18 14:39:15 +0200 Timo Sirainen <tss@iki.fi> (30fe81ba51)
+
+ auth: Added login_user extra field to change the username in master passdb.
+
+
+M src/auth/auth-request.c
+
+2014-03-17 16:57:36 +0200 Timo Sirainen <tss@iki.fi> (1bc529e36d)
+
+ test-var-expand: Added more unit tests for %variable offsets/lengths.
+
+
+M src/lib/test-var-expand.c
+
+2014-03-17 16:57:21 +0200 Timo Sirainen <tss@iki.fi> (6eb191b58b)
+
+ liblib: Added negative %variable lengths to count backwards from the end of
+ the value. For example %0.-2 for "12345" returns "123". Patch by Norbert
+ Weinhold / Open-Xchange.
+
+
+M src/lib/var-expand.c
+
+2014-03-12 14:09:14 +0200 Timo Sirainen <tss@iki.fi> (65af923048)
+
+ auth: Don't disconnect auth-worker during long-running user iterations.
+
+
+M src/auth/auth-worker-server.c
+
+2014-03-12 12:26:09 +0200 Timo Sirainen <tss@iki.fi> (d6bffcdf18)
+
+ auth worker: Log a warning if master disconnects us while handling a long
+ request.
+
+
+M src/auth/auth-worker-client.c
+
+2014-03-12 12:19:09 +0200 Timo Sirainen <tss@iki.fi> (c0757c70cf)
+
+ auth worker: Log a warning if master disconnects us while handling a long
+ request.
+
+
+M src/auth/auth-worker-client.c
+
+2014-03-12 11:53:49 +0200 Timo Sirainen <tss@iki.fi> (f08c6da58d)
+
+ auth: If auth-worker lookup times out, log a bit more details about it.
+
+
+M src/auth/auth-worker-server.c
+M src/auth/auth-worker-server.h
+M src/auth/passdb-blocking.c
+M src/auth/userdb-blocking.c
+
+2014-03-11 13:26:33 +0200 Timo Sirainen <tss@iki.fi> (49c848ccaa)
+
+ fts-lucene: Skip returned duplicate results. This caused assert-crash at
+ least when searching from virtual mailbox because the score array was larger
+ than the actual number of results.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2014-03-11 00:39:27 +0200 Timo Sirainen <tss@iki.fi> (8776322310)
+
+ mdbox: Added mdbox_purge_preserve_alt setting to keep the file within alt
+ storage during purge. Perhaps it would be better for this setting to be the
+ default in v2.3 and maybe be removed entirely? Not a good idea to change
+ during v2.2.x anyway, so for now this is a setting.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.h
+
+2014-03-04 17:11:49 +0200 Timo Sirainen <tss@iki.fi> (28099d04bb)
+
+ lib-storage: Fixed assert-crash in mailbox rename with layout=index
+
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2014-02-24 12:30:51 -0600 Timo Sirainen <tss@iki.fi> (6f59bc9b3d)
+
+ lib-storage: Fixed support for list=no prefix="" listing. This behavior
+ works with e.g. Outlook where it's allowed to CREATE and LIST the
+ Sent/Trash/etc mailboxes to root level, even though the primary namespace
+ has a prefix.
+
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2014-02-24 11:29:52 -0600 Timo Sirainen <tss@iki.fi> (432f2b63d3)
+
+ imap: Return SPECIAL-USE flags for LSUB command.
+
+
+M src/imap/cmd-list.c
+
+2014-02-19 14:54:16 -0800 Timo Sirainen <tss@iki.fi> (7cc2591b01)
+
+ auth: Don't crash if passdb passwd-file is used without any userdbs.
+
+
+M src/auth/db-passwd-file.c
+
+2014-02-15 10:41:29 +0900 Timo Sirainen <tss@iki.fi> (5794def630)
+
+ lib-index: Minor code cleanup The previous calculation was correct also
+ though.
+
+
+M src/lib-index/mail-cache-fields.c
+
+2014-02-13 23:36:14 +0200 Timo Sirainen <tss@iki.fi> (1d099cf310)
+
+ Added signature for changeset 8e4433702920
+
+
+M .hgsigs
+
+2014-02-13 23:36:09 +0200 Timo Sirainen <tss@iki.fi> (fc1dcbfe30)
+
+ Added tag 2.2.12 for changeset 8e4433702920
+
+
+M .hgtags
+
+2014-02-13 23:36:03 +0200 Timo Sirainen <tss@iki.fi> (c98761ca2f)
+
+ Released v2.2.12.
+
+
+M NEWS
+M configure.ac
+
+2014-02-13 05:33:13 +0200 Teemu Huovila <teemu.huovila@dovecot.fi> (905320d3d4)
+
+ pop3: Access sequence numbers correctly.
+
+
+M src/pop3/pop3-commands.c
+
+2014-02-12 00:51:17 +0200 Timo Sirainen <tss@iki.fi> (d5e2885810)
+
+ Added signature for changeset 6b96eb75ded2
+
+
+M .hgsigs
+
+2014-02-12 00:51:10 +0200 Timo Sirainen <tss@iki.fi> (d693a428b1)
+
+ Added tag 2.2.11 for changeset 6b96eb75ded2
+
+
+M .hgtags
+
+2014-02-12 00:51:10 +0200 Timo Sirainen <tss@iki.fi> (bd387922b1)
+
+ Released v2.2.11.
+
+
+M NEWS
+M configure.ac
+
+2014-02-12 07:14:58 +0900 Timo Sirainen <tss@iki.fi> (f87daf83d4)
+
+ acl: Recent changes caused global ACL filenames to be looked up with real
+ mailbox names, not vnames.
+
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2014-02-07 15:53:54 -0500 Timo Sirainen <tss@iki.fi> (3190f12fb9)
+
+ auth: Allow auth_verbose_passwords=yes as an alias for "plain".
+
+
+M src/auth/auth-settings.c
+
+2014-02-07 15:53:32 -0500 Timo Sirainen <tss@iki.fi> (a5bcc9f96b)
+
+ auth: Fixed crash/NULL error if auth_verbose_passwords had an invalid value.
+
+
+M src/auth/auth-settings.c
+
+2014-02-07 15:44:10 -0500 Timo Sirainen <tss@iki.fi> (29ba468188)
+
+ lib-http: Fixed test-http-url not to crash with some libcs Those that crash
+ when %s attempts to print NULL.
+
+
+M src/lib-http/test-http-url.c
+
+2014-02-07 15:36:15 -0500 Timo Sirainen <tss@iki.fi> (22e74047a6)
+
+ acl: Fixed assert-crash when using the new global ACL file.
+
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2014-02-07 15:03:33 -0500 Timo Sirainen <tss@iki.fi> (d4867dab63)
+
+ pop3: Use POP3 order sorting only when directly listing UIDLs. "Message
+ ordering changed unexpectedly" errors can be completely avoided by using
+ either pop3_lock_session=yes or adding %u to pop3_logout_format.
+
+
+M src/pop3/pop3-commands.c
+
+2014-02-07 14:24:44 -0500 Timo Sirainen <tss@iki.fi> (58f5b4641f)
+
+ doveadm fetch: Added pop3.order field.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2014-02-07 17:17:25 +0200 Timo Sirainen <tss@iki.fi> (2c73831847)
+
+ doveadm user: Don't crash if multiple mask parameters are given with at
+ least one wildcard.
+
+
+M src/doveadm/doveadm-auth.c
+
+2014-02-05 11:57:35 -0500 Timo Sirainen <tss@iki.fi> (c9c7624c38)
+
+ Copyright updated to 2014 in two more places
+
+
+M src/doveadm/doveadm-mail-batch.c
+M src/lib/test-str.c
+
+2014-02-04 18:17:35 -0500 Teemu Huovila <teemu.huovila@dovecot.fi> (efd203f312)
+
+ lib-compression: Add assert for LZ4_compress return value. Make certain we
+ detect if compressed data overflows the allocated space.
+
+
+M src/lib-compression/ostream-lz4.c
+
+2014-02-04 16:23:22 -0500 Timo Sirainen <tss@iki.fi> (a8c5a86d18)
+
+ Updated copyright notices to include year 2014.
+
+
+M src/anvil/anvil-connection.c
+M src/anvil/anvil-settings.c
+M src/anvil/connect-limit.c
+M src/anvil/main.c
+M src/anvil/penalty.c
+M src/anvil/test-penalty.c
+M src/auth/auth-cache.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-fields.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-penalty.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-token.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/auth.c
+M src/auth/db-checkpassword.c
+M src/auth/db-dict-cache-key.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/auth/db-sql.c
+M src/auth/main.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-dovecot-token.c
+M src/auth/mech-external.c
+M src/auth/mech-plain.c
+M src/auth/mech.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-checkpassword.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-imap.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb-template.c
+M src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme.c
+M src/auth/test-auth-cache.c
+M src/auth/test-db-dict.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-checkpassword.c
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-nss.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-prefetch.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb-template.c
+M src/auth/userdb-vpopmail.c
+M src/auth/userdb.c
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/config-request.c
+M src/config/config-settings.c
+M src/config/doveconf.c
+M src/config/main.c
+M src/config/old-set-parser.c
+M src/config/sysinfo-get.c
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/dict/dict-settings.c
+M src/dict/main.c
+M src/director/auth-connection.c
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director-request.c
+M src/director/director-settings.c
+M src/director/director-test.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/mail-host.c
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+M src/dns/dns-client-settings.c
+M src/dns/dns-client.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/doveadm-dump-thread.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-fs.c
+M src/doveadm/doveadm-instance.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-deduplicate.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-flags.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/doveadm-master.c
+M src/doveadm/doveadm-mount.c
+M src/doveadm/doveadm-mutf7.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-print-flow.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/doveadm-print-tab.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-proxy.c
+M src/doveadm/doveadm-pw.c
+M src/doveadm/doveadm-replicator.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-sis.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm-zlib.c
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-deserializer.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-state.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox.c
+M src/doveadm/dsync/dsync-serializer.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+M src/doveadm/main.c
+M src/doveadm/server-connection.c
+M src/imap-login/client-authenticate.c
+M src/imap-login/client.c
+M src/imap-login/imap-login-settings.c
+M src/imap-login/imap-proxy.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-login-settings.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/imap-urlauth/imap-urlauth-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/cmd-append.c
+M src/imap/cmd-cancelupdate.c
+M src/imap/cmd-capability.c
+M src/imap/cmd-check.c
+M src/imap/cmd-close.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-enable.c
+M src/imap/cmd-examine.c
+M src/imap/cmd-expunge.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-genurlauth.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-id.c
+M src/imap/cmd-idle.c
+M src/imap/cmd-list.c
+M src/imap/cmd-logout.c
+M src/imap/cmd-lsub.c
+M src/imap/cmd-namespace.c
+M src/imap/cmd-noop.c
+M src/imap/cmd-notify.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-resetkey.c
+M src/imap/cmd-search.c
+M src/imap/cmd-select.c
+M src/imap/cmd-setmetadata.c
+M src/imap/cmd-sort.c
+M src/imap/cmd-status.c
+M src/imap/cmd-store.c
+M src/imap/cmd-subscribe.c
+M src/imap/cmd-thread.c
+M src/imap/cmd-unselect.c
+M src/imap/cmd-unsubscribe.c
+M src/imap/cmd-urlfetch.c
+M src/imap/cmd-x-cancel.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands.c
+M src/imap/imap-expunge.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-list.c
+M src/imap/imap-metadata.c
+M src/imap/imap-notify.c
+M src/imap/imap-search-args.c
+M src/imap/imap-search.c
+M src/imap/imap-settings.c
+M src/imap/imap-status.c
+M src/imap/imap-sync.c
+M src/imap/mail-storage-callbacks.c
+M src/imap/main.c
+M src/indexer/indexer-client.c
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-settings.c
+M src/indexer/indexer-worker-settings.c
+M src/indexer/indexer-worker.c
+M src/indexer/indexer.c
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-pool.c
+M src/ipc/client.c
+M src/ipc/ipc-connection.c
+M src/ipc/ipc-group.c
+M src/ipc/ipc-settings.c
+M src/ipc/main.c
+M src/lda/main.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/charset-utf8.c
+M src/lib-compression/compression.c
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-lzma.c
+M src/lib-compression/ostream-zlib.c
+M src/lib-dict/dict-cdb.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-fs.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-register.c
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict-transaction-memory.c
+M src/lib-dict/dict.c
+M src/lib-dict/test-dict.c
+M src/lib-dns/dns-lookup.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/istream-fs-file.c
+M src/lib-fs/istream-metawrap.c
+M src/lib-fs/ostream-cmp.c
+M src/lib-fs/ostream-metawrap.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-date.c
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-header.c
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-parser.c
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/http-url.c
+M src/lib-http/test-http-client.c
+M src/lib-http/test-http-date.c
+M src/lib-http/test-http-header-parser.c
+M src/lib-http/test-http-request-parser.c
+M src/lib-http/test-http-response-parser.c
+M src/lib-http/test-http-server.c
+M src/lib-http/test-http-transfer.c
+M src/lib-http/test-http-url.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-msgmap.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap-urlauth/imap-urlauth.c
+M src/lib-imap/imap-arg.c
+M src/lib-imap/imap-base-subject.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-id.c
+M src/lib-imap/imap-match.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-seqset.c
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-utf7.c
+M src/lib-imap/imap-util.c
+M src/lib-imap/test-imap-bodystructure.c
+M src/lib-imap/test-imap-match.c
+M src/lib-imap/test-imap-parser.c
+M src/lib-imap/test-imap-quote.c
+M src/lib-imap/test-imap-url.c
+M src/lib-imap/test-imap-utf7.c
+M src/lib-imap/test-imap-util.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-dummy-view.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-util.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mailbox-log.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-index/test-mail-transaction-log-view.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/lda-settings.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-send.c
+M src/lib-lda/smtp-client.c
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/istream-nonuls.c
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/mail-user-hash.c
+M src/lib-mail/mbox-from.c
+M src/lib-mail/message-address.c
+M src/lib-mail/message-binary-part.c
+M src/lib-mail/message-date.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-id.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part-serialize.c
+M src/lib-mail/message-search.c
+M src/lib-mail/message-size.c
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-mail/test-istream-binary-converter.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-mail/test-mbox-from.c
+M src/lib-mail/test-message-address.c
+M src/lib-mail/test-message-date.c
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-encode.c
+M src/lib-mail/test-message-header-parser.c
+M src/lib-mail/test-message-id.c
+M src/lib-mail/test-message-parser.c
+M src/lib-mail/test-quoted-printable.c
+M src/lib-mail/test-rfc2231-parser.c
+M src/lib-master/anvil-client.c
+M src/lib-master/ipc-client.c
+M src/lib-master/ipc-server.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl.c
+M src/lib-master/master-service.c
+M src/lib-master/mountpoint-list.c
+M src/lib-master/syslog-util.c
+M src/lib-sasl/dsasl-client.c
+M src/lib-sasl/mech-login.c
+M src/lib-sasl/mech-plain.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-db-cache.c
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl-params.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib-storage/fail-mail-storage.c
+M src/lib-storage/fail-mail.c
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-deleted-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mailbox-check.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-search-result.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync-search.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread-links.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/istream-mail.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-filename.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-settings.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-md5-all.c
+M src/lib-storage/index/mbox/mbox-md5-apop3d.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-settings.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync-list-index.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync-update.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/raw/raw-sync.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-notify-tree.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-error.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-parser-cmdline.c
+M src/lib-storage/mail-search-parser-imap.c
+M src/lib-storage/mail-search-parser.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search-register.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-thread.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-header.c
+M src/lib-storage/mailbox-keywords.c
+M src/lib-storage/mailbox-list-notify.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-search-result.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib-storage/test-mailbox-get.c
+M src/lib-test/test-common.c
+M src/lib/abspath.c
+M src/lib/aqueue.c
+M src/lib/array.c
+M src/lib/askpass.c
+M src/lib/backtrace-string.c
+M src/lib/base64.c
+M src/lib/bsearch-insert-pos.c
+M src/lib/buffer.c
+M src/lib/child-wait.c
+M src/lib/compat.c
+M src/lib/connection.c
+M src/lib/crc32.c
+M src/lib/data-stack.c
+M src/lib/eacces-error.c
+M src/lib/env-util.c
+M src/lib/execv-const.c
+M src/lib/failures.c
+M src/lib/fd-close-on-exec.c
+M src/lib/fd-set-nonblock.c
+M src/lib/fdatasync-path.c
+M src/lib/fdpass.c
+M src/lib/file-cache.c
+M src/lib/file-copy.c
+M src/lib/file-dotlock.c
+M src/lib/file-lock.c
+M src/lib/file-set-size.c
+M src/lib/guid.c
+M src/lib/hash-format.c
+M src/lib/hash-method.c
+M src/lib/hash.c
+M src/lib/hash2.c
+M src/lib/hex-binary.c
+M src/lib/hex-dec.c
+M src/lib/home-expand.c
+M src/lib/hostpid.c
+M src/lib/imem.c
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-notify-dn.c
+M src/lib/ioloop-notify-fd.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-none.c
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+M src/lib/iostream-rawlog.c
+M src/lib/iostream-temp.c
+M src/lib/iostream.c
+M src/lib/ipwd.c
+M src/lib/iso8601-date.c
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-data.c
+M src/lib/istream-file.c
+M src/lib/istream-hash.c
+M src/lib/istream-jsonstr.c
+M src/lib/istream-limit.c
+M src/lib/istream-mmap.c
+M src/lib/istream-rawlog.c
+M src/lib/istream-seekable.c
+M src/lib/istream-sized.c
+M src/lib/istream-tee.c
+M src/lib/istream.c
+M src/lib/json-parser.c
+M src/lib/lib-signals.c
+M src/lib/lib.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-system.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/mempool.c
+M src/lib/mkdir-parents.c
+M src/lib/mmap-anon.c
+M src/lib/mmap-util.c
+M src/lib/module-dir.c
+M src/lib/mountpoint.c
+M src/lib/net.c
+M src/lib/nfs-workarounds.c
+M src/lib/numpack.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-file.c
+M src/lib/ostream-hash.c
+M src/lib/ostream-rawlog.c
+M src/lib/ostream.c
+M src/lib/primes.c
+M src/lib/printf-format-fix.c
+M src/lib/priorityq.c
+M src/lib/process-title.c
+M src/lib/randgen.c
+M src/lib/read-full.c
+M src/lib/restrict-access.c
+M src/lib/restrict-process-size.c
+M src/lib/safe-memset.c
+M src/lib/safe-mkdir.c
+M src/lib/safe-mkstemp.c
+M src/lib/sendfile-util.c
+M src/lib/seq-range-array.c
+M src/lib/str-find.c
+M src/lib/str-sanitize.c
+M src/lib/str.c
+M src/lib/strescape.c
+M src/lib/strfuncs.c
+M src/lib/strnum.c
+M src/lib/test-aqueue.c
+M src/lib/test-array.c
+M src/lib/test-base64.c
+M src/lib/test-bsearch-insert-pos.c
+M src/lib/test-buffer.c
+M src/lib/test-crc32.c
+M src/lib/test-hash-format.c
+M src/lib/test-hex-binary.c
+M src/lib/test-iso8601-date.c
+M src/lib/test-istream-base64-decoder.c
+M src/lib/test-istream-base64-encoder.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-crlf.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-istream-tee.c
+M src/lib/test-json-parser.c
+M src/lib/test-lib.c
+M src/lib/test-llist.c
+M src/lib/test-mempool-alloconly.c
+M src/lib/test-network.c
+M src/lib/test-numpack.c
+M src/lib/test-ostream-file.c
+M src/lib/test-primes.c
+M src/lib/test-priorityq.c
+M src/lib/test-seq-range-array.c
+M src/lib/test-str-find.c
+M src/lib/test-str-sanitize.c
+M src/lib/test-strescape.c
+M src/lib/test-strfuncs.c
+M src/lib/test-time-util.c
+M src/lib/test-unichar.c
+M src/lib/test-utc-mktime.c
+M src/lib/test-var-expand.c
+M src/lib/time-util.c
+M src/lib/unichar.c
+M src/lib/unix-socket-create.c
+M src/lib/unlink-directory.c
+M src/lib/unlink-old-files.c
+M src/lib/uri-util.c
+M src/lib/utc-mktime.c
+M src/lib/utc-offset.c
+M src/lib/var-expand.c
+M src/lib/write-full.c
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/main.c
+M src/log/doveadm-connection.c
+M src/log/log-connection.c
+M src/log/log-error-buffer.c
+M src/log/log-settings.c
+M src/log/main.c
+M src/login-common/access-lookup.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/main.c
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.c
+M src/master/capabilities-posix.c
+M src/master/dup2-array.c
+M src/master/main.c
+M src/master/master-settings.c
+M src/master/service-anvil.c
+M src/master/service-listen.c
+M src/master/service-log.c
+M src/master/service-monitor.c
+M src/master/service-process-notify.c
+M src/master/service-process.c
+M src/master/service.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-plugin.c
+M src/plugins/acl/acl-shared-storage.c
+M src/plugins/acl/acl-storage.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/expire/expire-set.c
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/fts-squat-plugin.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+M src/plugins/fts/doveadm-fts.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-parser-html.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-search-serialize.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/xml2text.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-stats/imap-stats-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/listescape/listescape-plugin.c
+M src/plugins/mail-filter/istream-ext-filter.c
+M src/plugins/mail-filter/mail-filter-plugin.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+M src/plugins/mail-log/mail-log-plugin.c
+M src/plugins/mailbox-alias/mailbox-alias-plugin.c
+M src/plugins/notify/notify-plugin.c
+M src/plugins/notify/notify-storage.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-plugin.c
+M src/plugins/quota/quota-status.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/replication/replication-plugin.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/stats/stats-connection.c
+M src/plugins/stats/stats-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-plugin.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/virtual/virtual-transaction.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client.c
+M src/pop3-login/pop3-login-settings.c
+M src/pop3-login/pop3-proxy.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-settings.c
+M src/replication/aggregator/aggregator-settings.c
+M src/replication/aggregator/aggregator.c
+M src/replication/aggregator/notify-connection.c
+M src/replication/aggregator/replicator-connection.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/dsync-client.c
+M src/replication/replicator/notify-connection.c
+M src/replication/replicator/replicator-brain.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-settings.c
+M src/replication/replicator/replicator.c
+M src/ssl-params/main.c
+M src/ssl-params/ssl-params-openssl.c
+M src/ssl-params/ssl-params-settings.c
+M src/ssl-params/ssl-params.c
+M src/stats/client-export.c
+M src/stats/client.c
+M src/stats/global-memory.c
+M src/stats/mail-command.c
+M src/stats/mail-domain.c
+M src/stats/mail-ip.c
+M src/stats/mail-server-connection.c
+M src/stats/mail-session.c
+M src/stats/mail-stats.c
+M src/stats/mail-user.c
+M src/stats/main.c
+M src/stats/stats-settings.c
+M src/util/gdbhelper.c
+M src/util/maildirlock.c
+M src/util/rawlog.c
+M src/util/script-login.c
+M src/util/script.c
+M src/util/tcpwrap-settings.c
+M src/util/tcpwrap.c
+
+2014-02-03 12:42:13 -0500 Timo Sirainen <tss@iki.fi> (2b70e45cd5)
+
+ imap: SEARCH/SORT PARTIAL reponses may have been too large.
+
+
+M src/imap/imap-search.c
+
+2014-02-03 12:04:19 -0500 Timo Sirainen <tss@iki.fi> (f38430b146)
+
+ imapc: Fixed assert-crash when listing INBOX and imapc_list_prefix was set.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2014-02-03 11:50:49 -0500 Timo Sirainen <tss@iki.fi> (aea7f72aa9)
+
+ doveadm backup: Fixed assert-crash when syncing mailbox deletion.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2014-02-03 11:50:10 -0500 Timo Sirainen <tss@iki.fi> (bf43cf378f)
+
+ dsync: Added extra asserts
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2014-02-03 11:38:40 -0500 Timo Sirainen <tss@iki.fi> (32142dc3b1)
+
+ test-istream-concat unit test improved. Still pretty ugly to test with
+ randomness, but at least it caught the bug in v2.1.
+
+
+M src/lib/test-istream-concat.c
+
+2014-02-03 10:53:59 -0500 Timo Sirainen <tss@iki.fi> (2200adee45)
+
+ pop3-migration: If UIDLs can't be set, fail unless
+ pop3_migration_ignore_missing_uidls=yes.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2014-02-03 10:49:03 -0500 Timo Sirainen <tss@iki.fi> (8c3872c26b)
+
+ pop3-migration: Convert NULs to 0x80 chars in header when hashing. This
+ should help at least with Dovecot and I think also with UW-IMAP/POP3.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2014-02-03 10:47:31 -0500 Timo Sirainen <tss@iki.fi> (31fd39a3a3)
+
+ pop3-migration: Work around IMAP/POP3 server bugs which truncate the header
+ too early.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2014-01-31 02:12:30 +0100 Timo Sirainen <tss@iki.fi> (dc27f5f23e)
+
+ doveadm auth cache flush: Fixed broken default auth-master path. Broken by
+ c41700c4a9bb. Patch by Chris Moules.
+
+
+M src/doveadm/doveadm-auth.c
+
+2014-01-30 22:03:40 +0100 Timo Sirainen <tss@iki.fi> (e3d57448ca)
+
+ net_transmit() may have wrongly returned EPIPE error. If errno was EPIPE
+ before net_transmit() was called and sendto() didn't change it, we still
+ returned error.
+
+ Also removed the unlikely() call which isn't all that unlikely for
+ non-blocking code.
+
+M src/lib/net.c
+
+2014-01-30 03:38:57 +0100 Teemu Huovila <teemu.huovila@dovecot.fi> (664966885c)
+
+ lib-compression: Fixed LZ4 maximum output buffer size
+
+
+M src/lib-compression/ostream-lz4.c
+
+2014-01-27 16:35:46 +0200 Timo Sirainen <tss@iki.fi> (4c158400b0)
+
+ acl plugin: Added an alternative global ACL file that can contain mailbox
+ patterns. Instead of pointing the global ACL path to a directory use a file
+ instead. The file format is "<mailbox pattern> <normal ACL line>". Most
+ importantly this can be used to specify default ACLs for namespaces.
+
+ The mailbox pattern uses "*" and "?" wildcards currently. I'm not sure if I
+ should still change them to IMAP "*" and "%" wildcards. That would make the
+ behavior more complex ("%" depends on hierarchy separator), slightly slower
+ and quota code is already also using the */? wildcards..
+
+M src/plugins/acl/Makefile.am
+M src/plugins/acl/acl-api-private.h
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-api.h
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend-vfile.h
+A src/plugins/acl/acl-global-file.c
+A src/plugins/acl/acl-global-file.h
+
+2014-01-27 14:25:03 +0200 Timo Sirainen <tss@iki.fi> (131b0d222a)
+
+ lib-compression: Assert-crashfix to handling EOF in LZ4 compression
+
+
+M src/lib-compression/istream-lz4.c
+
+2014-01-17 17:36:29 -0500 Timo Sirainen <tss@iki.fi> (71966291d5)
+
+ acl: Minor macro naming cleanup
+
+
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend-vfile.h
+
+2014-01-17 17:33:47 -0500 Timo Sirainen <tss@iki.fi> (086c52e4bc)
+
+ acl: Moved acl_rights array from vfile-specific code to generic struct
+ acl_object.
+
+
+M src/plugins/acl/acl-api-private.h
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-backend-vfile-update.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend-vfile.h
+
+2014-01-17 16:23:49 -0500 Timo Sirainen <tss@iki.fi> (15f43b172d)
+
+ acl: More code cleanups.
+
+
+M src/plugins/acl/acl-api-private.h
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-backend-vfile-update.c
+M src/plugins/acl/acl-backend-vfile.c
+
+2014-01-17 16:10:56 -0500 Timo Sirainen <tss@iki.fi> (cc287b822b)
+
+ acl: Code cleanup by moving around the code and renaming functions.
+
+
+M src/plugins/acl/Makefile.am
+M src/plugins/acl/acl-api-private.h
+M src/plugins/acl/acl-api.c
+A src/plugins/acl/acl-backend-vfile-update.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend-vfile.h
+
+2014-01-15 16:44:04 -0500 Timo Sirainen <tss@iki.fi> (6b35ba7470)
+
+ liblib: Added str_unescape_next()
+
+
+M src/lib/strescape.c
+M src/lib/strescape.h
+M src/lib/test-strescape.c
+
+2014-01-15 15:57:50 -0500 Timo Sirainen <tss@iki.fi> (77bd459e2d)
+
+ stats plugin: Fixed updating clock_time
+
+
+M src/plugins/stats/stats-plugin.c
+
+2014-01-15 15:54:14 -0500 Timo Sirainen <tss@iki.fi> (12af04ac6f)
+
+ stats: Also export the clock_time to doveadm.
+
+
+M src/stats/client-export.c
+
+2014-01-15 15:50:38 -0500 Timo Sirainen <tss@iki.fi> (60131617da)
+
+ stats: Track clock time as well as user/sys CPU time.
+
+
+M src/plugins/stats/stats-plugin.c
+M src/plugins/stats/stats-plugin.h
+M src/stats/mail-stats.c
+M src/stats/mail-stats.h
+
+2014-01-15 22:11:22 +0200 Timo Sirainen <tss@iki.fi> (ef4d0eafab)
+
+ lib-index: Keep track of views and transactions in linked lists. This makes
+ debugging easier.
+
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-view-private.h
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index.c
+
+2014-01-15 15:07:50 -0500 Timo Sirainen <tss@iki.fi> (c3ad163c5d)
+
+ imap-proxy: Fixed resetting proxy state after failed login.
+
+
+M src/imap-login/imap-proxy.c
+
+2014-01-15 15:03:22 -0500 Timo Sirainen <tss@iki.fi> (41783dcf1b)
+
+ imap-proxy: Recent changes caused CAPABILITY repeating with pipelining
+ disabled.
+
+
+M src/imap-login/client.h
+M src/imap-login/imap-proxy.c
+
+2014-01-15 03:49:42 +0200 Timo Sirainen <tss@iki.fi> (463d5291a5)
+
+ Makefile: Added missing iostream-lz4.h
+
+
+M src/lib-compression/Makefile.am
+
+2014-01-15 00:57:59 +0200 Timo Sirainen <tss@iki.fi> (a49d1c2ca3)
+
+ lib-compression: Added initial support for LZ4 There's no standard file
+ format for LZ4, so we created our own. The code has had only minimal testing
+ currently, so there may be bugs.
+
+
+M configure.ac
+M src/lib-compression/Makefile.am
+M src/lib-compression/compression.c
+A src/lib-compression/iostream-lz4.h
+A src/lib-compression/istream-lz4.c
+M src/lib-compression/istream-zlib.h
+A src/lib-compression/ostream-lz4.c
+M src/lib-compression/ostream-zlib.h
+
+2014-01-15 00:28:35 +0200 Timo Sirainen <tss@iki.fi> (84740b03d3)
+
+ lib-http: Added http_client_request_remove_header()
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2014-01-15 00:28:20 +0200 Timo Sirainen <tss@iki.fi> (4928761852)
+
+ lib-http: Allow calling http_client_request_add_header() when retrying
+ requests.
+
+
+M src/lib-http/http-client-request.c
+
+2014-01-14 03:33:35 +0200 Timo Sirainen <tss@iki.fi> (dd620bc368)
+
+ *-login: Fix to previous commit: Default auth_user to original_user
+
+
+M src/login-common/client-common.c
+
+2014-01-14 03:24:47 +0200 Timo Sirainen <tss@iki.fi> (2f90189c6e)
+
+ auth, login, mail: Added %{auth_user}, %{auth_username} and %{auth_domain}
+ They expand to the SASL authentication ID. So if master user login is done,
+ it expands to the master user. If username changes during authentication, it
+ expands to the original username. Otherwise %{user} and %{auth_user} are
+ equal.
+
+
+M src/auth/auth-request-handler.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2014-01-14 02:43:09 +0200 Timo Sirainen <tss@iki.fi> (0693f78ec6)
+
+ auth: Send original_user to auth client also when there aren't any extra
+ fields.
+
+
+M src/auth/auth-request-handler.c
+
+2014-01-13 15:58:13 -0500 Timo Sirainen <tss@iki.fi> (7756f8eeef)
+
+ dbox: Removed unused code.
+
+
+M src/lib-storage/index/dbox-common/dbox-file.h
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+
+2014-01-13 22:44:34 +0200 Timo Sirainen <tss@iki.fi> (fb176cdc12)
+
+ iostream-temp: Support o_stream_pwrite()
+
+
+M src/lib/iostream-temp.c
+
+2014-01-13 20:57:12 +0200 Timo Sirainen <tss@iki.fi> (244d1dd1a5)
+
+ doveadm fs delete: Fixed non-recursive deletion broken by previous commit
+
+
+M src/doveadm/doveadm-fs.c
+
+2014-01-10 15:00:39 -0500 Stephan Bosch <stephan@rename-it.nl> (b4d90cf5b7)
+
+ http: Improved HTTP header parser state machine and error messages.
+
+
+M src/lib-http/http-header-parser.c
+
+2014-01-10 15:00:28 -0500 Stephan Bosch <stephan@rename-it.nl> (e0cf44fb80)
+
+ lib-http: Added option to the header parser to make it lenient towards
+ illegal characters in header field content. The offending characters are
+ then skipped without error. This is required for the http client as a
+ workaround for bugs in certain HTTP servers. This behavior is explicitly not
+ enabled for the http-request-parser as used by our own HTTP server
+ implementation.
+
+
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-header-parser.h
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-message-parser.h
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/test-http-header-parser.c
+M src/lib-http/test-http-response-parser.c
+
+2014-01-10 21:59:15 +0200 Timo Sirainen <tss@iki.fi> (e479250007)
+
+ lib-master: Added unit test for master_service_settings_cache_read()
+
+
+M src/lib-master/Makefile.am
+A src/lib-master/test-master-service-settings-cache.c
+
+2014-01-10 13:00:39 -0500 Timo Sirainen <tss@iki.fi> (3bc9d91f98)
+
+ imap proxy: Avoid duplicate CAPABILITY reply when backend is Dovecot. This
+ happened if the client sent a CAPABILITY command to the proxy.
+
+
+M src/imap-login/imap-proxy.c
+
+2014-01-10 00:19:19 +0200 Timo Sirainen <tss@iki.fi> (c58f467620)
+
+ doveadm fs delete: Added -n parameter to asynchronously delete multiple
+ files at once.
+
+
+M src/doveadm/doveadm-fs.c
+
+2014-01-08 11:24:36 -0500 Timo Sirainen <tss@iki.fi> (d93b1c6a89)
+
+ lib-storage: Implemented get_metadata() for fail-mailbox. This fixes a crash
+ when a nonexistent mailbox was allocated and accessed (via LAYOUT=index).
+
+
+M src/lib-storage/fail-mailbox.c
+
+2014-01-07 14:33:29 -0500 Timo Sirainen <tss@iki.fi> (737d994fb6)
+
+ imap proxy: Set proxy_state correctly also with proxy_nopipelining.
+
+
+M src/imap-login/imap-proxy.c
+
+2013-12-23 15:30:31 +0200 Timo Sirainen <tss@iki.fi> (ab281fc992)
+
+ imap proxy: Added proxy_nopipelining passdb setting to work around other
+ servers' bugs.
+
+
+M src/imap-login/imap-proxy.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+
+2013-12-20 19:59:22 +0200 Timo Sirainen <tss@iki.fi> (cc4bac5d31)
+
+ mdbox: When purging writes new data, flush them to disk before locking the
+ map index.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+
+2013-12-20 04:57:25 +0200 Timo Sirainen <tss@iki.fi> (18b13ba3b5)
+
+ Added signature for changeset 614bd6600011
+
+
+M .hgsigs
+
+2013-12-20 04:57:19 +0200 Timo Sirainen <tss@iki.fi> (4cfd0f6bef)
+
+ Added tag 2.2.10 for changeset 614bd6600011
+
+
+M .hgtags
+
+2013-12-20 04:57:19 +0200 Timo Sirainen <tss@iki.fi> (16af02ab08)
+
+ Released v2.2.10.
+
+
+M NEWS
+M configure.ac
+
+2013-12-20 04:25:17 +0200 Timo Sirainen <tss@iki.fi> (9abf4d9d5e)
+
+ Compiler warning fix. Older libmysqlclient uses const char * as the arg.
+
+
+M src/lib-sql/driver-mysql.c
+
+2013-12-20 04:23:04 +0200 Timo Sirainen <tss@iki.fi> (e5dca7edde)
+
+ imap-quota: SETQUOTA supports now also user@domain:quotaroot name.
+
+
+M src/plugins/imap-quota/imap-quota-plugin.c
+
+2013-12-20 01:06:02 +0200 Timo Sirainen <tss@iki.fi> (a5c1051a84)
+
+ imap: GETMETADATA should return nonexistent entries also with NIL values.
+
+
+M src/imap/cmd-getmetadata.c
+
+2013-12-19 23:54:28 +0200 Timo Sirainen <tss@iki.fi> (4f93b5ab69)
+
+ auth: If LDAP server returns LDAP_OPERATIONS_ERROR, reconnect. Apparently
+ the server somehow lost the bind.
+
+
+M src/auth/db-ldap.c
+
+2013-12-19 23:43:54 +0200 Timo Sirainen <tss@iki.fi> (e66cd209fc)
+
+ quota-status: Allow mail to go over quota up to quota_grace.
+
+
+M src/plugins/quota/quota-status.c
+M src/plugins/quota/quota.c
+
+2013-12-19 23:09:45 +0200 Timo Sirainen <tss@iki.fi> (08b0192ede)
+
+ imap: Minor comment update: Horde uses wildcards, not Kolab.
+
+
+M src/imap/cmd-getmetadata.c
+
+2013-12-19 23:08:03 +0200 Timo Sirainen <tss@iki.fi> (b6709d9c41)
+
+ imap: Allow wildcards in GETMETADATA mailbox-name. RFC 5464 doesn't specify
+ this, but its earlier draft did, and Kolab uses it.
+
+
+M src/imap/cmd-getmetadata.c
+
+2013-12-19 23:07:15 +0200 Timo Sirainen <tss@iki.fi> (77b4e72824)
+
+ imap: GETMETADATA wasn't working correctly if options parameter wasn't
+ specified.
+
+
+M src/imap/cmd-getmetadata.c
+
+2013-12-19 23:04:55 +0200 Timo Sirainen <tss@iki.fi> (8855b8b570)
+
+ imap: SETMETADATA shouldn't assert-crash when entry name is invalid
+
+
+M src/imap/cmd-setmetadata.c
+
+2013-12-19 21:37:28 +0200 Timo Sirainen <tss@iki.fi> (0ff8b7fd6b)
+
+ imap: If any FETCH/STORE tries to access modseqs when NOMODSEQ was returned,
+ return BAD.
+
+
+M src/imap/cmd-fetch.c
+M src/imap/cmd-store.c
+M src/imap/imap-fetch.c
+
+2013-12-19 21:31:57 +0200 Timo Sirainen <tss@iki.fi> (167da1aee2)
+
+ imap: Ignore QRESYNC parameters for SELECT when returning NOMODSEQ.
+
+
+M src/imap/cmd-select.c
+
+2013-12-19 21:25:43 +0200 Timo Sirainen <tss@iki.fi> (b866325bc5)
+
+ fs-sis: Memory leak fix.
+
+
+M src/lib-fs/fs-sis.c
+
+2013-12-19 21:25:28 +0200 Timo Sirainen <tss@iki.fi> (5cdb246858)
+
+ pop3c: Memory leak fixes
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2013-12-19 21:25:08 +0200 Timo Sirainen <tss@iki.fi> (59714981ae)
+
+ imap: if mailbox has non-permanent modseqs, never send
+ HIGHESTMODSEQ/MODSEQs.
+
+
+M src/imap/cmd-select.c
+M src/imap/imap-client.h
+M src/imap/imap-sync.c
+
+2013-12-19 21:21:39 +0200 Timo Sirainen <tss@iki.fi> (792afd1686)
+
+ Compiler warning fix.
+
+
+M src/imap/cmd-getmetadata.c
+
+2013-12-19 04:18:30 +0200 Timo Sirainen <tss@iki.fi> (050acc3755)
+
+ pop3c: If POP3 server doesn't support UIDLs, don't advertise GUID support.
+
+
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2013-12-19 04:05:52 +0200 Timo Sirainen <tss@iki.fi> (5f4e547bb8)
+
+ pop3c: Added pop3c_quick_received_date setting. With this enabled dsync no
+ longer requires calling TOP for each message to get the metadata.
+
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/index/pop3c/pop3c-settings.h
+
+2013-12-19 04:01:58 +0200 Timo Sirainen <tss@iki.fi> (e130bb802c)
+
+ pop3c: Use UIDLs as GUIDs.
+
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2013-12-17 21:33:32 +0200 Timo Sirainen <tss@iki.fi> (f9b1266bab)
+
+ mail-filter: If filter returns 0 bytes, treat it as EIO error.
+
+
+M src/plugins/mail-filter/istream-ext-filter.c
+M src/plugins/mail-filter/ostream-ext-filter.c
+
+2013-12-14 14:40:13 +0200 Timo Sirainen <tss@iki.fi> (1c0462c156)
+
+ Compiler warning fix
+
+
+M src/lib-master/master-auth.c
+
+2013-12-13 13:44:32 +0200 Timo Sirainen <tss@iki.fi> (e153e1205b)
+
+ ldap: Added blocking=yes setting to use auth-workers.
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+M src/auth/passdb-ldap.c
+M src/auth/userdb-ldap.c
+
+2013-12-12 18:21:49 +0200 Timo Sirainen <tss@iki.fi> (f9ee758af8)
+
+ lib-master: Show better error message when process_limit is reached.
+
+
+M src/lib-master/master-auth.c
+
+2013-12-12 18:08:25 +0200 Timo Sirainen <tss@iki.fi> (bb5464b822)
+
+ auth: Previous userdb changes caused userdb prefetch to be used always.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/userdb-prefetch.c
+
+2013-12-12 17:59:28 +0200 Timo Sirainen <tss@iki.fi> (74fb6b5a15)
+
+ auth: Don't crash when userdb hasn't been specified at all.
+
+
+M src/auth/auth-settings.c
+M src/auth/auth.c
+
+2013-12-12 16:37:37 +0200 Timo Sirainen <tss@iki.fi> (62c05ba029)
+
+ lzma: Reading until EOF without seeing LZMA_STREAM_END isn't an error.
+
+
+M src/lib-compression/istream-lzma.c
+
+2013-12-11 19:39:12 +0200 Timo Sirainen <tss@iki.fi> (639079ed0f)
+
+ login-*: Make sure "need to write more" flag doesn't get stuck during
+ handshake. This should prevent busy-looping in SSL_accept(). (Second attempt
+ at doing this, first one was in e95479f439aa.)
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2013-12-11 18:39:36 +0200 Timo Sirainen <tss@iki.fi> (14b495a09d)
+
+ auth: Use refcounting for LDAPMessage to make sure it always gets freed
+ correctly. This may fix some memory leaks in some (error?) cases.
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+
+2013-12-11 18:39:08 +0200 Timo Sirainen <tss@iki.fi> (550d748ff2)
+
+ auth: ldap with auth_bind=yes leaked memory Existing LDAP search request
+ can't just be converted into bind request before the search request is
+ freed. So just create a new request.
+
+
+M src/auth/passdb-ldap.c
+
+2013-12-09 18:41:30 +0200 Timo Sirainen <tss@iki.fi> (bac5d8ce24)
+
+ master: Include used protocols in the "starting up" log message.
+
+
+M src/master/main.c
+
+2013-12-09 15:42:20 +0200 Timo Sirainen <tss@iki.fi> (9ff8e48276)
+
+ quota: Fix to previous wildcard change
+
+
+M src/plugins/quota/quota.c
+
+2013-12-09 00:02:58 +0200 Timo Sirainen <tss@iki.fi> (09d0ffb0dd)
+
+ mysql: Added ssl_verify_server_cert=no|yes parameter. To make sure we don't
+ break existing installations, default to "no". For v2.3 it should default to
+ "yes".
+
+ Patch by Gareth Palmer
+
+M configure.ac
+M doc/example-config/dovecot-sql.conf.ext
+M src/lib-sql/driver-mysql.c
+
+2013-12-08 23:41:33 +0200 Timo Sirainen <tss@iki.fi> (35df1d3e03)
+
+ lib-http: Don't try to automatically retry requests whose payload was
+ already lost. Patch by Stephan Bosch.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+
+2013-12-08 23:26:40 +0200 Timo Sirainen <tss@iki.fi> (0c572d4565)
+
+ stats: Workaround opening /proc/self/io in processes that have only
+ temporarily dropped root privileges.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2013-12-08 23:04:18 +0200 Timo Sirainen <tss@iki.fi> (81e4bda7d4)
+
+ quota: Allow mailbox names in quota_rules to contain "*" and "?" wildcards.
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2013-12-08 22:30:10 +0200 Timo Sirainen <tss@iki.fi> (ed4caf5f1a)
+
+ fts: Fixed crash with some search queries in empty mailbox.
+
+
+M src/plugins/fts/fts-search.c
+
+2013-12-08 22:21:40 +0200 Timo Sirainen <tss@iki.fi> (7fc91e2799)
+
+ master: Finished the previous DEBUG_OUTOFMEM -> CORE_OUTOFMEM and CORE_ERROR
+ change.
+
+
+M src/master/master-settings.c
+M src/master/service-process.c
+
+2013-12-08 22:20:12 +0200 Timo Sirainen <tss@iki.fi> (e173d24c0b)
+
+ Renamed DEBUG_OUTOFMEM environment to CORE_OUTOFMEM. Added CORE_ERROR to
+ dump core on the first error.
+
+
+M src/lib/failures.c
+
+2013-12-08 21:26:29 +0200 Timo Sirainen <tss@iki.fi> (2521fd0986)
+
+ quota: Added support for SETQUOTA IMAP command. The configuration is done
+ via quota_set setting. Currently only dict backend is supported. For
+ example:
+
+ plugin {
+ quota_set = dict:file:/var/lib/dovecot/quota/%u
+ } The SETQUOTA command is available only for the "admin" user (userdb lookup
+ must return admin=y).
+
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2013-12-08 21:24:10 +0200 Timo Sirainen <tss@iki.fi> (c6e8f89741)
+
+ imap-quota: Admin user can (again) use GETQUOTA for other users' quota
+ roots.
+
+
+M src/plugins/imap-quota/imap-quota-plugin.c
+
+2013-12-08 21:22:38 +0200 Timo Sirainen <tss@iki.fi> (5a9912dcad)
+
+ lib-storage: Added mail_user->admin flag. The previous admin-flag used to
+ mix up "admin user" and "admin tool", while this new purpose only means
+ "admin user".
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.h
+
+2013-12-08 21:13:22 +0200 Timo Sirainen <tss@iki.fi> (9686ada806)
+
+ lib-dict: Added "fs" wrapper dict backend, which uses lib-fs. Each dict key
+ is a separate file where the file's contents are the dict value.
+
+
+M src/lib-dict/Makefile.am
+A src/lib-dict/dict-fs.c
+M src/lib-dict/dict-private.h
+A src/lib-dict/dict-register.c
+M src/lib-dict/dict.c
+
+2013-12-08 20:48:03 +0200 Timo Sirainen <tss@iki.fi> (cd75c360f2)
+
+ auth: Added userdb result_success/failure/tempfail and skip settings,
+ similar to passdb's.
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+M src/auth/auth-worker-client.c
+M src/auth/auth.c
+M src/auth/auth.h
+M src/auth/userdb-blocking.c
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-nss.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb-vpopmail.c
+
+2013-12-08 19:02:12 +0200 Timo Sirainen <tss@iki.fi> (fb55257f54)
+
+ lib-storage: Don't crash in mailbox_is_inconsistent() if mailbox hasn't been
+ opened.
+
+
+M src/lib-storage/index/index-storage.c
+
+2013-12-08 19:00:31 +0200 Timo Sirainen <tss@iki.fi> (79042f8c2e)
+
+ auth: passdb/userdb dict rewrite to support more complex configuration. See
+ the new doc/example-config/dovecot-dict-auth.conf.ext for explanation how it
+ works. The old configuration format will also stay functional.
+
+
+M doc/example-config/dovecot-dict-auth.conf.ext
+M src/auth/Makefile.am
+A src/auth/db-dict-cache-key.c
+M src/auth/db-dict.c
+M src/auth/db-dict.h
+M src/auth/passdb-dict.c
+A src/auth/test-db-dict.c
+M src/auth/userdb-dict.c
+
+2013-12-03 21:31:59 +0200 Timo Sirainen <tss@iki.fi> (5e22b513cd)
+
+ lib-imap: imap_envelope_parse() added extra "," after address group. This
+ function wasn't actually used by Dovecot anywhere anymore. Patch by Potapov
+ Sergey.
+
+
+M src/lib-imap/imap-envelope.c
+
+2013-12-03 17:29:38 +0200 Timo Sirainen <tss@iki.fi> (08837f59c1)
+
+ imap: If SELECT fails with "mailbox is inconsistent", disconnect client.
+ (Plus related cleanups.) The inconsistency can also be used to indicate that
+ something is badly wrong and nothing useful can be done before client
+ reconnects.
+
+
+M src/imap/cmd-append.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-expunge.c
+M src/imap/cmd-getmetadata.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-resetkey.c
+M src/imap/cmd-select.c
+M src/imap/cmd-setmetadata.c
+M src/imap/cmd-store.c
+M src/imap/cmd-subscribe.c
+M src/imap/cmd-thread.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands-util.h
+M src/imap/imap-search.c
+
+2013-12-03 17:17:03 +0200 Timo Sirainen <tss@iki.fi> (a0cfe97ae4)
+
+ lib-http: Removed assert Time can't be relied on exactly.
+
+
+M src/lib-http/http-client-queue.c
+
+2013-12-03 01:33:18 +0200 Timo Sirainen <tss@iki.fi> (a646dafca8)
+
+ imap: Don't send [NOMODSEQ] on SELECT/EXAMINE reply when condstore hasn't
+ been enabled yet. This is definitely the better behavior and was also
+ clearly intended by the CONDSTORE RFC, although with some mixed language.
+
+
+M src/imap/cmd-select.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/mail-storage.h
+
+2013-12-02 18:47:52 +0200 Timo Sirainen <tss@iki.fi> (5769639baa)
+
+ pop3: Handle UIDL failures by disconnecting the client instead of killing
+ the whole process.
+
+
+M src/pop3/pop3-commands.c
+
+2013-11-26 21:10:23 +0100 Timo Sirainen <tss@iki.fi> (7b6bca43c9)
+
+ replicator: Give a better error message with path when replicator.db is
+ corrupted.
+
+
+M src/replication/replicator/replicator-queue.c
+
+2013-11-25 01:24:35 +0200 Timo Sirainen <tss@iki.fi> (42afa2a761)
+
+ Added signature for changeset 2852a7c55fc7
+
+
+M .hgsigs
+
+2013-11-25 01:24:32 +0200 Timo Sirainen <tss@iki.fi> (308457ee65)
+
+ Added tag 2.2.9 for changeset 2852a7c55fc7
+
+
+M .hgtags
+
+2013-11-25 01:24:32 +0200 Timo Sirainen <tss@iki.fi> (c552ee5266)
+
+ Released v2.2.9.
+
+
+M NEWS
+M configure.ac
+
+2013-11-25 00:46:40 +0200 Timo Sirainen <tss@iki.fi> (5ce940d276)
+
+ Makefile: Added missing \
+
+
+M src/plugins/mail-filter/Makefile.am
+
+2013-11-25 00:44:21 +0200 Timo Sirainen <tss@iki.fi> (24fb580bdc)
+
+ Makefile: Added missing header files
+
+
+M src/plugins/mail-filter/Makefile.am
+
+2013-11-24 23:02:13 +0200 Timo Sirainen <tss@iki.fi> (12983e9d3b)
+
+ lib-compression: Added support for liblzma (xz) Annoyingly this is mainly
+ copy&pasted [io]stream-bzlib, but I'm not sure if it's worth the effort to
+ try to create common functions for them.
+
+
+M configure.ac
+M src/lib-compression/Makefile.am
+M src/lib-compression/compression.c
+A src/lib-compression/istream-lzma.c
+M src/lib-compression/istream-zlib.h
+A src/lib-compression/ostream-lzma.c
+M src/lib-compression/ostream-zlib.h
+
+2013-11-24 20:19:48 +0000 Pascal Volk <user@localhost.localdomain.org> (23a0a2f0db)
+
+ man: doveadm-mailbox.1: Added -g's description for mailbox create.
+
+
+M doc/man/doveadm-mailbox.1.in
+
+2013-11-24 21:41:06 +0200 Timo Sirainen <tss@iki.fi> (bd8b391d7d)
+
+ Fixed sscanf() error handling. Patch by Jann Horn.
+
+
+M src/lib-dns/dns-lookup.c
+M src/lib-settings/settings.c
+
+2013-11-24 19:58:45 +0000 Pascal Volk <user@localhost.localdomain.org> (f56b8ae298)
+
+ man: doveadm-log.1: Added description for option -s.
+
+
+M doc/man/doveadm-log.1.in
+
+2013-11-24 18:29:55 +0000 Pascal Volk <user@localhost.localdomain.org> (3c61da0e13)
+
+ man: doveadm-import.1: Added description for option -s.
+
+
+M doc/man/doveadm-import.1.in
+
+2013-11-24 18:02:40 +0000 Pascal Volk <user@localhost.localdomain.org> (d6043f1494)
+
+ man: doveadm-expunge.1: Added option -d also to section synopsis.
+
+
+M doc/man/doveadm-expunge.1.in
+
+2013-11-24 20:41:42 +0200 Timo Sirainen <tss@iki.fi> (263df40da7)
+
+ Data stack has now an extra NULL pointer padding before its actual data
+ starts. This is just an extra safety measure against buffer overflows. Patch
+ by Jann Horn.
+
+
+M src/lib/data-stack.c
+
+2013-11-24 20:27:27 +0200 Timo Sirainen <tss@iki.fi> (2b81994170)
+
+ auth: Fixed (non-exploitable) buffer overflow in DIGEST-MD5 data parsing.
+ Found by Jann Horn.
+
+
+M src/auth/mech-digest-md5.c
+
+2013-11-23 23:22:09 +0000 Pascal Volk <user@localhost.localdomain.org> (9a6262e087)
+
+ man: doveadm-move.1: Fixed syntax errors, escaped some dashes.
+
+
+M doc/man/doveadm-move.1.in
+
+2013-11-23 19:35:09 +0000 Pascal Volk <user@localhost.localdomain.org> (ac3614a25b)
+
+ man: doveadm-index.1: Added description for options -n and -q.
+
+
+M doc/man/doveadm-index.1.in
+
+2013-11-23 21:18:30 +0200 Timo Sirainen <tss@iki.fi> (3415e311f9)
+
+ fts: Renamed fts_autoindex_on_save to fts_autoindex
+
+
+M src/plugins/fts/fts-storage.c
+
+2013-11-23 21:13:26 +0200 Timo Sirainen <tss@iki.fi> (deab624f18)
+
+ replicator: Memory leak fix for previous commit
+
+
+M src/replication/replicator/dsync-client.c
+
+2013-11-23 21:12:39 +0200 Timo Sirainen <tss@iki.fi> (36757b426f)
+
+ replicator: Added replication_dsync_parameters setting to pass "doveadm
+ sync" parameters. -f and -s parameters are added automatically when needed.
+
+
+M src/replication/replicator/dsync-client.c
+M src/replication/replicator/dsync-client.h
+M src/replication/replicator/replicator-brain.c
+M src/replication/replicator/replicator-settings.c
+M src/replication/replicator/replicator-settings.h
+
+2013-11-23 18:24:24 +0000 Pascal Volk <user@localhost.localdomain.org> (b9bf63553a)
+
+ man: doveadm-move.1: Added description for 'user source_user'.
+
+
+M doc/man/doveadm-move.1.in
+
+2013-11-23 19:28:48 +0200 Timo Sirainen <tss@iki.fi> (735259c24e)
+
+ fts: Added plugin { fts_autoindex_on_save } setting. When enabled and a mail
+ is saved/copied, the indexer process is requested to index the changed
+ mailbox.
+
+ fts_autoindex_max_recent_msgs setting can also be used to skip indexing
+ mailboxes that have too many \Recent messages (implying that the mailbox is
+ never actually accessed). This corresponds to doveadm index -n parameter.
+
+M src/plugins/fts/fts-storage.c
+
+2013-11-23 16:28:04 +0000 Pascal Volk <user@localhost.localdomain.org> (3c9e500107)
+
+ man: doveadm-user.1: Added description for the -u option.
+
+
+M doc/man/doveadm-user.1.in
+
+2013-11-23 18:35:08 +0200 Timo Sirainen <tss@iki.fi> (30f128cc66)
+
+ lib-dns: If existing dns connection dies in write(), retry connect once.
+
+
+M src/lib-dns/dns-lookup.c
+
+2013-11-23 12:19:49 +0200 Timo Sirainen <tss@iki.fi> (19db4c57fd)
+
+ lib-http: Compiler warning fix
+
+
+M src/lib-http/http-client-request.c
+
+2013-11-23 00:38:41 +0200 Timo Sirainen <tss@iki.fi> (b7c7a04bc5)
+
+ lib-storage: Non-crashing way of avoiding fs lookups for storages without
+ mail root.
+
+
+M src/lib-storage/mailbox-list.c
+
+2013-11-23 00:00:43 +0200 Timo Sirainen <tss@iki.fi> (267923f5b6)
+
+ lib-http: Fixed request hang on connect() timeout.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-11-22 23:52:37 +0200 Timo Sirainen <tss@iki.fi> (758d8b46f9)
+
+ lib-storage: Don't do filesystem permission lookups if storage has no
+ mailbox root dir.
+
+
+M src/lib-storage/mailbox-list.c
+
+2013-11-22 23:31:36 +0200 Timo Sirainen <tss@iki.fi> (7eff21e3e8)
+
+ dns: Don't idle-disconnect clients It's the job for the clients.
+
+
+M src/dns/dns-client.c
+
+2013-11-22 23:15:07 +0200 Timo Sirainen <tss@iki.fi> (0564370000)
+
+ lib-dns: Fixed handling write() failure to dns-lookup server process.
+
+
+M src/lib-dns/dns-lookup.c
+
+2013-11-22 22:12:08 +0200 Stephan Bosch <stephan@rename-it.nl> (93cc87bb22)
+
+ http: Implemented delayed requests scheduling. Requests can now be
+ (re)submitted with a delay. The request is not sent until the delay time
+ expires. This facilitates handling the Retry-After header in responses. This
+ can either be performed automatically if the indicated delay is not too long
+ or explicitly by the code using lib-http.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2013-11-22 22:08:44 +0200 Stephan Bosch <stephan@rename-it.nl> (7af70f7646)
+
+ http: Preparse Retry-After header if response status is 503 or 3xx.
+
+
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-response.h
+
+2013-11-22 22:08:20 +0200 Stephan Bosch <stephan@rename-it.nl> (129596c936)
+
+ http-client: Improved handing of delayed request errors. Originally each
+ request would have its own zero timeout, but now only one timeout is put in
+ the host object.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2013-11-22 22:07:41 +0200 Stephan Bosch <stephan@rename-it.nl> (de96afeeaa)
+
+ http-client: Changed struct http_client_host_port into a struct
+ http_client_queue object. Peer and request objects now reference the queue
+ object directly rather than the host object. This way, there is no need to
+ find the matching host:port in the host anymore. This makes the queueing
+ structure more intuitive and more efficient. This is a first step towards
+ support for connecting to HTTP services through unix sockets or directing
+ requests at specific hosts (so not from the URL). This patch also fixes a
+ potential timeout leak (to_connect) in http_client_host_port (now
+ http_client_queue) and makes sure it is moved during switch_ioloop().
+ Finally it updates the structure comment at the top of http-client.c.
+
+
+M src/lib-http/Makefile.am
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+A src/lib-http/http-client-queue.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+
+2013-11-22 22:05:52 +0200 Timo Sirainen <tss@iki.fi> (b367011da1)
+
+ iostream-rawlog: Timestamp prefix is now optional.
+
+
+M src/lib/iostream-rawlog-private.h
+M src/lib/iostream-rawlog.c
+
+2013-11-22 19:39:13 +0200 Timo Sirainen <tss@iki.fi> (49d54c7c5d)
+
+ Added mail-filter plugin.
+
+
+M configure.ac
+M src/plugins/Makefile.am
+A src/plugins/mail-filter/Makefile.am
+A src/plugins/mail-filter/istream-ext-filter.c
+A src/plugins/mail-filter/istream-ext-filter.h
+A src/plugins/mail-filter/mail-filter-plugin.c
+A src/plugins/mail-filter/mail-filter-plugin.h
+A src/plugins/mail-filter/ostream-ext-filter.c
+A src/plugins/mail-filter/ostream-ext-filter.h
+
+2013-11-22 19:32:06 +0200 Timo Sirainen <tss@iki.fi> (02076e0665)
+
+ doveadm acl debug: Improved output
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2013-11-22 13:47:36 +0200 Timo Sirainen <tss@iki.fi> (9a48c2243f)
+
+ ostream: Don't mark the stream closed too early after all. Use another flag
+ instead to avoid losing the last data written to the stream before closing.
+
+
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+
+2013-11-21 23:02:33 +0200 Timo Sirainen <tss@iki.fi> (c905571984)
+
+ lib-storage: Improved EACCES error messages for some stat() calls
+
+
+M src/lib-storage/mailbox-list.c
+
+2013-11-20 23:29:13 +0200 Timo Sirainen <tss@iki.fi> (a601cdf615)
+
+ doveadm: Added "fs metadata" command
+
+
+M src/doveadm/doveadm-fs.c
+
+2013-11-20 22:20:06 +0200 Timo Sirainen <tss@iki.fi> (8601cb6daf)
+
+ dsync: Fix to 128bit GUID syncing
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-11-20 21:25:19 +0200 Timo Sirainen <tss@iki.fi> (cce2c665bb)
+
+ dsync: have_only_guid128 was never actually being set.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+
+2013-11-20 15:07:26 +0200 Timo Sirainen <tss@iki.fi> (d8a7046624)
+
+ lib-storage: mail_get_headers*() returned only the first header from cache.
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2013-11-20 14:50:53 +0200 Timo Sirainen <tss@iki.fi> (e3411c4960)
+
+ lib-storage: mail_get_*header*() still didn't handle cached values
+ correctly. If header ends with ":", the ":" shouldn't be returned as part of
+ the value.
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2013-11-20 14:38:55 +0200 Timo Sirainen <tss@iki.fi> (d48ab23601)
+
+ lib-storage: mail_get_*header*() were unnecessarily looking up the headers
+ twice.
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2013-11-20 14:37:44 +0200 Timo Sirainen <tss@iki.fi> (2188b93767)
+
+ lib-storage: mail_get_*header*() didn't remove leading whitespace for
+ headers from cache. But it was removed when the headers were found by
+ parsing the full header.
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2013-11-19 23:18:11 +0200 Timo Sirainen <tss@iki.fi> (2651a7e21a)
+
+ Added signature for changeset 095a777edc26
+
+
+M .hgsigs
+
+2013-11-19 23:18:01 +0200 Timo Sirainen <tss@iki.fi> (75e6aeabbc)
+
+ Added tag 2.2.8 for changeset 095a777edc26
+
+
+M .hgtags
+
+2013-11-19 23:18:01 +0200 Timo Sirainen <tss@iki.fi> (4d66e427c4)
+
+ Released v2.2.8.
+
+
+M NEWS
+M configure.ac
+
+2013-11-19 23:17:07 +0200 Timo Sirainen <tss@iki.fi> (92bb5db335)
+
+ auth: Fixed potential crash.
+
+
+M src/auth/auth-request-handler.c
+
+2013-11-19 17:21:21 +0200 Timo Sirainen <tss@iki.fi> (0cb546628b)
+
+ lmtp: Make sure output is flushed before disconnection.
+
+
+M src/lmtp/client.c
+
+2013-11-19 16:13:12 +0200 Timo Sirainen <tss@iki.fi> (58840b6cfc)
+
+ lib-storage: Error handling fix for layout=index when mailbox creation
+ fails.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2013-11-18 16:26:31 +0200 Timo Sirainen <tss@iki.fi> (a92681ceea)
+
+ doveadm user: Fixed now printing with a non-default formatter
+
+
+M src/doveadm/doveadm-auth.c
+
+2013-11-18 16:23:42 +0200 Timo Sirainen <tss@iki.fi> (5fb679bef4)
+
+ doveadm user: Fixed printing multiple users
+
+
+M src/doveadm/doveadm-auth.c
+
+2013-11-18 16:18:53 +0200 Timo Sirainen <tss@iki.fi> (4a0d2f71a1)
+
+ doveadm auth/user: Fixes to auth_socket_path handling. doveadm user (without
+ -u parameter) was ignoring "-a" parameter entirely. Others weren't using
+ auth_socket_path setting.
+
+
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+
+2013-11-18 16:15:38 +0200 Timo Sirainen <tss@iki.fi> (50b9773beb)
+
+ lib-storage: Added mail_storage_service_set_auth_conn()
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2013-11-18 15:46:46 +0200 Timo Sirainen <tss@iki.fi> (f887b3f602)
+
+ doveadm user: Fixed looking up multiple users when they had different UIDs
+
+
+M src/doveadm/doveadm-auth.c
+
+2013-11-17 16:58:20 +0000 Pascal Volk <user@localhost.localdomain.org> (1fc71c05ba)
+
+ man: Added doveadm-batch.1.
+
+
+M .hgignore
+M doc/man/Makefile.am
+A doc/man/doveadm-batch.1.in
+M doc/man/doveadm.1.in
+
+2013-11-17 17:59:05 +0200 Timo Sirainen <tss@iki.fi> (d1e843e77f)
+
+ dsync: Support syncing storages with 128bit GUIDs <-> string GUIDs.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+M src/doveadm/dsync/dsync-mailbox.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2013-11-17 17:15:42 +0200 Timo Sirainen <tss@iki.fi> (b9da8d5ea3)
+
+ lib-storage: Fixed memory leak in mail_add_temp_wanted_fields()
+
+
+M src/lib-storage/index/index-mail.c
+
+2013-11-17 16:59:33 +0200 Timo Sirainen <tss@iki.fi> (1a878b9d2a)
+
+ imapc: Merge identical FETCH commands together (only updating UID range)
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mail.h
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2013-11-17 16:58:42 +0200 Timo Sirainen <tss@iki.fi> (c954cd9d07)
+
+ dsync: Tell search that we want to fetch mail streams so prefetching works.
+
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2013-11-17 16:11:31 +0200 Timo Sirainen <tss@iki.fi> (95de57450a)
+
+ dsync: Set wanted_fields/headers for the whole search request when possible.
+
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2013-11-17 15:13:58 +0200 Timo Sirainen <tss@iki.fi> (c12ee3424b)
+
+ imapc: Avoid sending unnecessary IDLEs that are immediately aborted.
+
+
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-client.c
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2013-11-17 15:03:31 +0200 Timo Sirainen <tss@iki.fi> (d29abd3b86)
+
+ lib-imap-client: Don't reset timeout while waiting for IDLE DONE reply.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2013-11-17 14:04:22 +0200 Timo Sirainen <tss@iki.fi> (2bcc41a000)
+
+ lib-imap-client: Make sure command timeout is used also for IDLE DONE.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2013-11-17 01:04:50 +0200 Timo Sirainen <tss@iki.fi> (888e0f4be6)
+
+ Added io_loop_add/remove_switch_callback() to call a callback when ioloop is
+ changed.
+
+
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2013-11-17 01:01:50 +0200 Timo Sirainen <tss@iki.fi> (e5327a8ef2)
+
+ lib-imap-client: Don't send NOOP if we're still waiting for a command reply.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2013-11-17 00:59:39 +0200 Timo Sirainen <tss@iki.fi> (cbc5a26b22)
+
+ lib-imap-client: Make sure command timeout is always set.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2013-11-17 00:41:23 +0200 Timo Sirainen <tss@iki.fi> (d81b80bac9)
+
+ imapc: Fixes to imapc_feature fetch-headers
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2013-11-16 21:58:31 +0200 Timo Sirainen <tss@iki.fi> (7f5ddd0423)
+
+ lib-index: Recent change broke cache transactions for more than 1 mail.
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2013-11-16 21:20:31 +0200 Timo Sirainen <tss@iki.fi> (35f3b7e05a)
+
+ Use io_loop_set_current() instead of directly setting it.
+
+
+M src/doveadm/client-connection.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib/ioloop.c
+
+2013-11-16 21:17:56 +0200 Timo Sirainen <tss@iki.fi> (f97c983e7a)
+
+ dsync: Give hints to lib-storage about what fields we're going to fetch.
+
+
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2013-11-16 20:10:27 +0200 Timo Sirainen <tss@iki.fi> (d02af9610c)
+
+ imapc: When sending FETCH, always request also missing wanted_fields. This
+ avoids sending multiple FETCH commands when prefetch hadn't already fetched
+ everything.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2013-11-16 20:09:19 +0200 Timo Sirainen <tss@iki.fi> (bf611d4325)
+
+ imapc: Avoid FETCH INTERNALDATE for getting save_date when we already know
+ received_date.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2013-11-16 20:06:34 +0200 Timo Sirainen <tss@iki.fi> (ffb886eb9c)
+
+ imapc: Don't send FETCHes for data that is already in cache.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mail.h
+
+2013-11-16 19:41:07 +0200 Timo Sirainen <tss@iki.fi> (0f641fb49b)
+
+ imapc: Crashfix for previous change
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2013-11-16 19:36:40 +0200 Timo Sirainen <tss@iki.fi> (b8eb60a9ba)
+
+ imapc: Added imapc_feature fetch-header. It uses FETCH
+ BODY.PEEK[HEADER.FIELDS (...)] whenever possible instead of fetching the
+ entire header.
+
+
+M TODO
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mail.h
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+
+2013-11-16 19:35:10 +0200 Timo Sirainen <tss@iki.fi> (0d29e73260)
+
+ lib-storage: API comment update
+
+
+M src/lib-storage/mail-storage.h
+
+2013-11-16 19:34:57 +0200 Timo Sirainen <tss@iki.fi> (91496fd60a)
+
+ lib-index: Support a small in-memory cache even with INDEX=MEMORY
+
+
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-transaction.c
+
+2013-11-16 19:20:10 +0200 Timo Sirainen <tss@iki.fi> (127f99adeb)
+
+ lib-index: mail_cache_lookup*() can now finds also the latest
+ mail_cache_add()ed data.
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2013-11-16 17:46:10 +0200 Timo Sirainen <tss@iki.fi> (83e7db71cc)
+
+ auth: Don't crash if passwd-file is used for authentication but it has no
+ passwords.
+
+
+M src/auth/passdb-passwd-file.c
+
+2013-11-16 14:06:32 +0000 Pascal Volk <user@localhost.localdomain.org> (bc5edefef5)
+
+ man: Added description for command `doveadm copy`.
+
+
+M doc/man/Makefile.am
+A doc/man/doveadm-copy.1
+M doc/man/doveadm-move.1.in
+M doc/man/doveadm.1.in
+
+2013-11-08 17:48:54 +0200 Timo Sirainen <tss@iki.fi> (fffb5431af)
+
+ mail_attachment_*: Fixed "stream doesn't support seeking backwards" panic
+ Caused by recent changes.
+
+
+M src/lib-storage/index/index-attachment.c
+
+2013-11-08 17:44:25 +0200 Timo Sirainen <tss@iki.fi> (e52982751b)
+
+ lib-fs: Don't crash if istream-fs-file is closed without never being read.
+
+
+M src/lib-fs/istream-fs-file.c
+
+2013-11-08 16:40:13 +0100 Timo Sirainen <tss@iki.fi> (0e94016c18)
+
+ mdbox_deleted: Index was synced with wrong flags.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-deleted-storage.c
+
+2013-11-08 16:39:52 +0100 Timo Sirainen <tss@iki.fi> (08a4f9396a)
+
+ lib-storage: Give name to attachments-connector istream.
+
+
+M src/lib-storage/index/index-attachment.c
+
+2013-11-08 16:12:32 +0100 Timo Sirainen <tss@iki.fi> (b8545883e3)
+
+ zlib: Give a name to zlib istreams
+
+
+M src/plugins/zlib/zlib-plugin.c
+
+2013-11-08 14:44:57 +0100 Timo Sirainen <tss@iki.fi> (2df92c5bbd)
+
+ doveadm mailbox create: Added back -s parameter that was recently
+ accidentally removed.
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+
+2013-11-06 23:00:58 +0200 Timo Sirainen <tss@iki.fi> (52de839a82)
+
+ lib-storage: Moved more of dbox attachments code to generic code.
+
+
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/dbox-common/dbox-attachment.h
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-attachment.h
+
+2013-11-06 21:10:22 +0200 Timo Sirainen <tss@iki.fi> (14900b2af6)
+
+ dbox: Use lib-fs API also for reading the attachments.
+
+
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+
+2013-11-06 21:08:42 +0200 Timo Sirainen <tss@iki.fi> (9393445a6d)
+
+ lib-storage: Added mailbox_list_init_fs() to easily initialize fs. Use it
+ for dbox's attachment_fs.
+
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+
+2013-11-06 21:06:15 +0200 Timo Sirainen <tss@iki.fi> (5f55903479)
+
+ lib-fs: Added istream-fs-file to lazily read from fs_file.
+
+
+M src/lib-fs/Makefile.am
+A src/lib-fs/istream-fs-file.c
+A src/lib-fs/istream-fs-file.h
+
+2013-11-06 21:05:51 +0200 Timo Sirainen <tss@iki.fi> (5f3151744f)
+
+ istream: Added i_stream_init_parent() to lazily initialize the parent
+ stream.
+
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2013-11-06 19:03:10 +0200 Timo Sirainen <tss@iki.fi> (dde71564d3)
+
+ lib-http: Use [io]_stream_get_error() instead of just errno strings.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+M src/lib-http/test-http-client.c
+
+2013-11-06 17:13:53 +0200 Timo Sirainen <tss@iki.fi> (0afe75cd8e)
+
+ dsync: Use i_stream_get_error() instead of just errno in stream error
+ messages.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-11-06 16:33:37 +0200 Timo Sirainen <tss@iki.fi> (5a5f8327d4)
+
+ replicator: Database should be exported (not imported!) every 15 mins.
+
+
+M src/replication/replicator/replicator.c
+
+2013-11-06 15:30:15 +0200 Timo Sirainen <tss@iki.fi> (d6d4d8beed)
+
+ mdbox: Fixed race condition when mailbox GUID was looked up before mailbox
+ create was finished.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+
+2013-11-06 13:00:13 +0200 Timo Sirainen <tss@iki.fi> (8594bb90f0)
+
+ lib-imap-storage: Fixed leaking istream on error conditions. Caught by
+ Tomasz Potęga
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2013-11-06 12:53:58 +0200 Timo Sirainen <tss@iki.fi> (7d85bf560c)
+
+ imap: Fixed potential crash if client disconnected during APPEND.
+
+
+M src/imap/cmd-append.c
+
+2013-11-05 20:11:11 +0200 Timo Sirainen <tss@iki.fi> (17c2990950)
+
+ lib-mail: Fixed infinite loop in message-parser if message ends with
+ --boundary+CR Thanks to Tomasz Potega for finding this.
+
+
+M src/lib-mail/message-parser.c
+
+2013-11-05 13:12:25 +0200 Timo Sirainen <tss@iki.fi> (12b4dbf933)
+
+ lib-storage: Added FULLDIRNAME=name to mail_location. The difference to
+ DIRNAME is that the name is used also for index and control directories.
+
+
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2013-11-04 09:47:17 +0200 Timo Sirainen <tss@iki.fi> (a4bb33323c)
+
+ ssl-params: Compiler warning fix when building without OpenSSL
+
+
+M src/ssl-params/ssl-params.c
+
+2013-11-03 23:27:15 +0200 Timo Sirainen <tss@iki.fi> (59e26ff34b)
+
+ ostream: Mark stream closed before handling its callback to avoid infinite
+ loops. The callback could call o_stream_copy_error_from_parent(), which in
+ turn would try to close the same ostream again.
+
+
+M src/lib/ostream.c
+
+2013-11-03 22:04:53 +0200 Timo Sirainen <tss@iki.fi> (b5b10e2ffa)
+
+ Added signature for changeset b5b118701aa8
+
+
+M .hgsigs
+
+2013-11-03 22:04:50 +0200 Timo Sirainen <tss@iki.fi> (1942cd7a96)
+
+ Added tag 2.2.7 for changeset b5b118701aa8
+
+
+M .hgtags
+
+2013-11-03 22:04:50 +0200 Timo Sirainen <tss@iki.fi> (2cb0477b47)
+
+ Released v2.2.7.
+
+
+M NEWS
+M configure.ac
+
+2013-11-03 21:48:24 +0200 Timo Sirainen <tss@iki.fi> (d34f3ccf92)
+
+ Make static analyzer happier
+
+
+M src/lib-http/test-http-response-parser.c
+
+2013-11-03 21:47:46 +0200 Timo Sirainen <tss@iki.fi> (b7dabf89bf)
+
+ Make static analyzer happier.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2013-11-03 21:45:37 +0200 Timo Sirainen <tss@iki.fi> (a355fad576)
+
+ auth-worker: Potential crashfix at deinit
+
+
+M src/auth/auth-worker-client.c
+
+2013-11-03 21:44:06 +0200 Timo Sirainen <tss@iki.fi> (56ffe7c935)
+
+ auth: Crashfix to "doveadm auth cache flush" when auth cache was disabled
+
+
+M src/auth/auth-master-connection.c
+
+2013-11-03 21:42:47 +0200 Timo Sirainen <tss@iki.fi> (4981c1da73)
+
+ auth: Potential crashfix
+
+
+M src/auth/auth-request-handler.c
+
+2013-11-03 20:56:25 +0200 Timo Sirainen <tss@iki.fi> (4178954020)
+
+ Call lib_atexit() callbacks before destroying the lib-master ioloop.
+
+
+M src/lib-master/master-service.c
+M src/lib/lib.c
+M src/lib/lib.h
+
+2013-11-03 01:12:24 +0200 Timo Sirainen <tss@iki.fi> (333b1f356e)
+
+ lib-imap: imap_arg_get_atom() should also treat NIL as valid atom.
+
+
+M src/lib-imap/imap-arg.c
+
+2013-11-02 22:57:27 +0200 Timo Sirainen <tss@iki.fi> (2ec1157efd)
+
+ lib-storage: Fixed parsing NILs in search parameters.
+
+
+M src/lib-storage/mail-search-parser-imap.c
+
+2013-11-02 22:42:32 +0200 Timo Sirainen <tss@iki.fi> (1dc33c503c)
+
+ lib-imap: Fixed NIL astring to not lose its case-sensitivity.
+
+
+M src/lib-imap/imap-arg.c
+M src/lib-imap/imap-parser.c
+
+2013-11-02 22:32:23 +0200 Timo Sirainen <tss@iki.fi> (1e430b62d5)
+
+ lib-imap: When writing "NIL" as astring, write it always as a "quoted".
+
+
+M src/lib-imap/imap-quote.c
+
+2013-11-02 22:31:14 +0200 Timo Sirainen <tss@iki.fi> (954bbe7f86)
+
+ imap: Fixed GETMETADATA NIL to treat it as "NIL"
+
+
+M src/imap/cmd-getmetadata.c
+
+2013-11-02 22:30:42 +0200 Timo Sirainen <tss@iki.fi> (c4699302bd)
+
+ lib-imap: NIL as astring is the same as "NIL" This is a bit klugdy but works
+ as long as all callers use imap_arg_get_astring() instead of trying to
+ handle it themselves.
+
+
+M src/lib-imap/imap-arg.c
+M src/lib-imap/imap-arg.h
+
+2013-11-02 21:29:39 +0200 Timo Sirainen <tss@iki.fi> (02c75e04c6)
+
+ imap: Added initial support for METADATA extension. For now this is enabled
+ only when imap_metadata=yes setting is used. The setting will go away once
+ the feature is complete. Also mail_attribute_dict must be set.
+
+ TODO:
+ - Metadata doesn't work for public namespaces. There should probably be a
+ mail_attribute_public_dict setting for that.
+ - There isn't any kind of quota or other limits
+ - After ENABLE METADATA start sending untagged METADATA entries to clients
+ - /shared/admin should probably return postmaster_address URL
+ - Check if we handle ACLs correctly
+ - RFC says that it SHOULD be possible to set METADATA entries to \NoSelect
+ mailboxes. We probably will never allow this though.
+
+M src/imap/Makefile.am
+A src/imap/cmd-getmetadata.c
+A src/imap/cmd-setmetadata.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands.c
+M src/imap/imap-commands.h
+A src/imap/imap-metadata.c
+A src/imap/imap-metadata.h
+M src/imap/imap-settings.c
+M src/imap/imap-settings.h
+
+2013-11-02 20:09:28 +0200 Timo Sirainen <tss@iki.fi> (d0c9d4332d)
+
+ lib-imap: Added IMAP_PARSE_FLAG_STOP_AT_LIST for stopping after '('
+
+
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-parser.h
+
+2013-11-02 20:05:08 +0200 Timo Sirainen <tss@iki.fi> (f7464ce41e)
+
+ lib-imap: IMAP protocol parser was parsing NIL case-sensitively. Luckily no
+ commands currently actually use NILs.
+
+
+M src/lib-imap/imap-parser.c
+
+2013-11-02 15:30:47 +0200 Timo Sirainen <tss@iki.fi> (0e6fcf80a0)
+
+ ssl-params: Don't fail completely if 512 bit DH parameters generation fails.
+
+
+M src/ssl-params/ssl-params-openssl.c
+
+2013-11-02 15:27:28 +0200 Timo Sirainen <tss@iki.fi> (923e40fa9a)
+
+ ssl-params: Added ssl_dh_parameters_length & removed
+ ssl_parameters_regenerate setting. ssl_parameters_regenerate was based on
+ some text from GNUTLS documentation a long time ago, but there's really not
+ much point in doing it.
+
+ Ideally we should also support "openssl dhparam" input files, but for now
+ there's the ssl_dh_parameters_length setting that can be used to specify the
+ wanted DH parameters length. If the current ssl-parameters.dat has a
+ different length, it's regenerated.
+
+ We should probably at some point support also built-in DH parameters which
+ are returned while the ssl-params runs.
+
+M doc/example-config/conf.d/10-ssl.conf
+M src/login-common/ssl-proxy-openssl.c
+M src/ssl-params/ssl-params-openssl.c
+M src/ssl-params/ssl-params-settings.c
+M src/ssl-params/ssl-params-settings.h
+M src/ssl-params/ssl-params.c
+M src/ssl-params/ssl-params.h
+
+2013-11-02 15:18:15 +0200 Timo Sirainen <tss@iki.fi> (e5dab0fd44)
+
+ ssl-params: Fixed closing listener fds for regeneration process.
+
+
+M src/ssl-params/ssl-params.c
+
+2013-11-02 14:19:23 +0200 Timo Sirainen <tss@iki.fi> (3e7a6badb0)
+
+ dsync: Don't track too new changes from transaction log. This mattered only
+ during race conditions while there were changes being done to the mailbox
+ during syncing.
+
+
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+
+2013-11-02 13:52:30 +0200 Timo Sirainen <tss@iki.fi> (e3ea9f8db1)
+
+ auth: Added %{session_pid} variable for userdb lookups in login requests.
+ session_pid is now always sent to auth process. A new request_auth_token
+ parameter was added to specify if auth_token should be returned or not.
+
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/lib-master/master-login-auth.c
+
+2013-11-02 13:34:17 +0200 Timo Sirainen <tss@iki.fi> (b63284468d)
+
+ maildir: If filename begins with ':', rename it immediately instead of
+ causing errors.
+
+
+M src/lib-storage/index/maildir/maildir-sync.c
+
+2013-11-02 13:14:16 +0200 Timo Sirainen <tss@iki.fi> (c3e771be4a)
+
+ mbox: Added assert to try to catch corruption.
+
+
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2013-11-02 12:46:08 +0200 Timo Sirainen <tss@iki.fi> (580ba11d9d)
+
+ auth: passdb shadow supports now lookup_credentials() API
+
+
+M src/auth/passdb-shadow.c
+
+2013-11-02 12:42:55 +0200 Timo Sirainen <tss@iki.fi> (04f792b9b1)
+
+ auth: Return a reason string if PASS lookup fails because passdbs don't
+ support it.
+
+
+M src/auth/auth-master-connection.c
+
+2013-11-02 12:37:10 +0200 Timo Sirainen <tss@iki.fi> (1e8cc7b5e0)
+
+ auth: passdb passwd supports now lookup_credentials() API It's not very
+ useful, but at least it allows the lookup itself to succeed.
+
+
+M src/auth/passdb-passwd.c
+
+2013-11-02 12:25:09 +0200 Timo Sirainen <tss@iki.fi> (9ac3627c62)
+
+ mdbox: When mail's refcount is too high, don't prevent shrinking the
+ refcount.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2013-11-02 12:14:17 +0200 Timo Sirainen <tss@iki.fi> (d0388a42d5)
+
+ doveadm import: Fixed translating different source and dest hierarchy
+ separators in mailbox names.
+
+
+M src/doveadm/doveadm-mail-import.c
+
+2013-11-01 16:44:25 +0200 Timo Sirainen <tss@iki.fi> (c7db4d0d3c)
+
+ lib-storage: If hook is forced, don't bother checking if it's in user's
+ mail_plugins.
+
+
+M src/lib-storage/mail-storage-hooks.c
+
+2013-11-01 16:43:53 +0200 Timo Sirainen <tss@iki.fi> (56a22540bd)
+
+ lib-storage: Hooks weren't called exactly in the order they were intended.
+ The comparison didn't skip the paths, so the "lib" prefix skipping didn't
+ work.
+
+
+M src/lib-storage/mail-storage-hooks.c
+
+2013-10-30 12:11:54 +0200 Timo Sirainen <tss@iki.fi> (4e88d2b9eb)
+
+ module-dir: Allow plugins to have deinit() function without init() function
+
+
+M src/lib/module-dir.c
+
+2013-10-29 21:16:05 +0200 Timo Sirainen <tss@iki.fi> (daaf3908ad)
+
+ Compiling fix for old GCC
+
+
+M src/lib-http/test-http-server.c
+
+2013-10-29 21:11:10 +0200 Timo Sirainen <tss@iki.fi> (3fe2850e38)
+
+ lib-storage: Allow storage name to contain '_'
+
+
+M src/lib-storage/mail-storage.c
+
+2013-10-29 21:10:33 +0200 Timo Sirainen <tss@iki.fi> (ed9535bb5d)
+
+ configure: Added mdbox_deleted storage.
+
+
+M configure.ac
+
+2013-10-29 21:08:07 +0200 Timo Sirainen <tss@iki.fi> (b90c23a986)
+
+ mdbox: Added "mdbox_deleted" storage, which can be used to access messages
+ with refcount=0 For example: doveadm import mdbox_deleted:~/mdbox "" mailbox
+ inbox subject oops
+
+
+M src/lib-storage/index/dbox-multi/Makefile.am
+A src/lib-storage/index/dbox-multi/mdbox-deleted-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-map.h
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.h
+
+2013-10-29 21:07:28 +0200 Timo Sirainen <tss@iki.fi> (561049f25e)
+
+ lib-index: Don't mix index struct caching for in-memory vs. disk indexes.
+
+
+M src/lib-index/mail-index-alloc-cache.c
+
+2013-10-29 20:26:33 +0200 Timo Sirainen <tss@iki.fi> (1edfe8b0da)
+
+ mbox: Added extra assert
+
+
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+
+2013-10-29 19:42:14 +0200 Timo Sirainen <tss@iki.fi> (b5d2b15b76)
+
+ imapc: Added a Courier-workaround for not returning UIDNEXT on SELECT.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2013-10-29 18:59:20 +0200 Timo Sirainen <tss@iki.fi> (8536cd46be)
+
+ virtual: If virtual mailbox has no config file, assume it's just
+ nonexistent. Most importantly if the virtual namespace root doesn't have the
+ config, it should fail with MAIL_ERROR_NOTFOUND rather than
+ MAIL_ERROR_NOTPOSSIBLE.
+
+
+M src/plugins/virtual/virtual-config.c
+
+2013-10-29 17:32:42 +0200 Timo Sirainen <tss@iki.fi> (a952a4444e)
+
+ lib-http: Added http_url_escape_path()
+
+
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+
+2013-10-28 11:50:40 +0200 Timo Sirainen <tss@iki.fi> (e67a891ef1)
+
+ doveadm-server: Minor error message improvement.
+
+
+M src/doveadm/client-connection.c
+
+2013-10-28 11:50:14 +0200 Timo Sirainen <tss@iki.fi> (678376deaa)
+
+ doveadm-server: ioloop change caused assert-crashes if outgoing data was
+ buffered at the end.
+
+
+M src/doveadm/client-connection.c
+
+2013-10-26 19:11:34 +0300 Timo Sirainen <tss@iki.fi> (e0e2c938d7)
+
+ auth: Refuse to run checkpassword script insecurely by default
+
+
+M src/auth/checkpassword-reply.c
+M src/auth/db-checkpassword.c
+
+2013-10-26 18:59:52 +0300 Timo Sirainen <tss@iki.fi> (c215ca02d4)
+
+ fts-solr: Fixed support for multiple Solr hosts when same process handles
+ multiple users. E.g. indexer-worker was always using only the first user's
+ Solr host.
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/fts-solr-plugin.h
+M src/plugins/fts-solr/solr-connection.c
+
+2013-10-26 18:59:03 +0300 Timo Sirainen <tss@iki.fi> (81558ac5d0)
+
+ lib-http: Recent DNS change caused lib-http to access uninitialized memory.
+
+
+M src/lib-http/http-client-host.c
+
+2013-10-26 18:31:16 +0300 Timo Sirainen <tss@iki.fi> (75f28ef07d)
+
+ dsync: Fixed crashes at deinit when -r rawlog parameter was used.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-10-26 18:07:45 +0300 Timo Sirainen <tss@iki.fi> (f6f302e49e)
+
+ auth: Fixed crash with auth_verbose_passwords!=no and non-plaintext auth
+
+
+M src/auth/auth-request.c
+
+2013-10-26 18:06:26 +0300 Timo Sirainen <tss@iki.fi> (a3e719eb9c)
+
+ auth: Fixed assert-crash with auth_verbose_passwords!=no and 32bit systems.
+ t_strndup() assert-crashed with size=UINT_MAX parameter.
+
+
+M src/auth/auth-request.c
+
+2013-10-24 16:21:10 +0300 Timo Sirainen <tss@iki.fi> (280503e88a)
+
+ *-login: Send the auth reply back corked.
+
+
+M src/login-common/client-common-auth.c
+
+2013-10-24 16:08:23 +0300 Timo Sirainen <tss@iki.fi> (e911b23f3e)
+
+ login proxy: Use corking when writing data.
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+
+2013-10-24 14:59:03 +0300 Timo Sirainen <tss@iki.fi> (d31c77e637)
+
+ auth: Cache master user logins also.
+
+
+M src/auth/auth-cache.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/passdb-cache.c
+
+2013-10-24 11:25:41 +0300 Timo Sirainen <tss@iki.fi> (bada94029b)
+
+ doveadm mailbox create: Added -g <guid> parameter to create mailbox with
+ specific GUID.
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+
+2013-10-23 16:51:55 +0300 Timo Sirainen <tss@iki.fi> (c10d7b092e)
+
+ doveadm copy: Don't require the extra mailbox+extra parameter checks as
+ expunge/move requires. Perhaps they wouldn't be necessary even with move.
+
+
+M src/doveadm/doveadm-mail-copymove.c
+
+2013-10-23 16:50:57 +0300 Timo Sirainen <tss@iki.fi> (50d16f6fef)
+
+ doveadm expunge: Improved the error hint message about using something else
+ besides MAILBOX.
+
+
+M src/doveadm/doveadm-mail-expunge.c
+
+2013-10-23 16:33:43 +0300 Timo Sirainen <tss@iki.fi> (e7a3ba6a43)
+
+ lib-master: Fix to previous commit. It broke doveadm-server's "does client
+ need authentication?" check.
+
+
+M src/lib-master/master-service.c
+
+2013-10-23 16:23:23 +0300 Timo Sirainen <tss@iki.fi> (6de8a4d76c)
+
+ stats: Hide warnings about old autocreated sessions having gotten lost.
+
+
+M src/stats/mail-session.c
+
+2013-10-23 16:10:30 +0300 Timo Sirainen <tss@iki.fi> (9217d2426b)
+
+ lib-master: If service_count=1, close the listener before starting to handle
+ the connection. This way if the connection handling takes a long time and
+ the service doesn't notice that master dies, it can keep running without
+ keeping the listener fds open and preventing a restart.
+
+
+M src/lib-master/master-service.c
+
+2013-10-23 15:36:02 +0300 Timo Sirainen <tss@iki.fi> (7195a14c21)
+
+ replication plugin: Hide write(fifo) EPIPE errors, which just mean a server
+ restart.
+
+
+M src/plugins/replication/replication-plugin.c
+
+2013-10-23 15:26:35 +0300 Timo Sirainen <tss@iki.fi> (6ac32bfcdc)
+
+ dict-redis: Don't crash if we get disconnected during an open transaction.
+
+
+M src/lib-dict/dict-redis.c
+
+2013-10-23 15:16:52 +0300 Timo Sirainen <tss@iki.fi> (c3f05842d1)
+
+ dict-redis: Don't crash when receiving invalid input instead of expected
+ $size.
+
+
+M src/lib-dict/dict-redis.c
+
+2013-10-23 14:59:57 +0300 Timo Sirainen <tss@iki.fi> (b91b14dfb4)
+
+ doveadm-server: Fixed hangs caused by previous commit
+
+
+M src/doveadm/doveadm-mail-server.c
+
+2013-10-23 14:35:07 +0300 Timo Sirainen <tss@iki.fi> (ecc0cf8395)
+
+ io_loop_run() now assert-crashes if it's attempted to be used recursively
+ for the same ioloop.
+
+
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+
+2013-10-23 14:34:35 +0300 Timo Sirainen <tss@iki.fi> (06c303e21a)
+
+ doveadm-server: Don't call io_loop_run() recursively for the same ioloop.
+ This breaks things more or less badly, especially ioloop-kqueue really
+ didn't like it.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail-server.c
+
+2013-10-23 11:47:10 +0300 Timo Sirainen <tss@iki.fi> (a3ed53b37b)
+
+ lib-auth: auth_master_cache_flush() always waited for timeout before
+ finishing.
+
+
+M src/lib-auth/auth-master.c
+
+2013-10-23 11:40:26 +0300 Timo Sirainen <tss@iki.fi> (f205e13863)
+
+ auth: Don't crash with "doveadm auth cache flush" when cache is disabled.
+
+
+M src/auth/auth-master-connection.c
+
+2013-10-23 11:38:07 +0300 Timo Sirainen <tss@iki.fi> (1d00bd0bf4)
+
+ ioloop-kqueue: Added extra assert.
+
+
+M src/lib/ioloop-kqueue.c
+
+2013-10-22 19:12:38 +0300 Timo Sirainen <tss@iki.fi> (28715adb0a)
+
+ lib-dns: Fixed busy looping when dns-client disconnected.
+
+
+M src/lib-dns/dns-lookup.c
+
+2013-10-22 15:36:07 +0300 Timo Sirainen <tss@iki.fi> (4f825be38f)
+
+ lib-fs: Added dns_client to fs_settings.
+
+
+M src/lib-fs/fs-api.h
+
+2013-10-22 15:35:27 +0300 Timo Sirainen <tss@iki.fi> (7944646fad)
+
+ lib-http: Support DNS lookups via the new dns-client API.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2013-10-22 15:34:55 +0300 Timo Sirainen <tss@iki.fi> (ba54c71214)
+
+ lib-dns: Added alternative API for doing longer connections to dns-client
+ process.
+
+
+M src/lib-dns/dns-lookup.c
+M src/lib-dns/dns-lookup.h
+
+2013-10-21 21:38:17 +0300 Timo Sirainen <tss@iki.fi> (be2bc5677a)
+
+ doveadm backup: If -D parameter is given, log the reason why mailbox gets
+ deleted.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+
+2013-10-21 20:47:53 +0300 Timo Sirainen <tss@iki.fi> (ec0dffdfba)
+
+ imap: COPY allows transaction commit now to fail with "some messages were
+ expunged".
+
+
+M src/imap/cmd-copy.c
+
+2013-10-16 20:16:45 +0300 Timo Sirainen <tss@iki.fi> (66bc85d333)
+
+ imap: Don't assert-crash on FETCH BODY[MIME] (return BAD instead)
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2013-10-12 11:11:04 +0300 Stephan Bosch <stephan@rename-it.nl> (e47c2f17d8)
+
+ lib-http: http-client: Added support for tunneling SSL conntections through
+ proxy.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2013-10-12 11:05:08 +0300 Stephan Bosch <stephan@rename-it.nl> (a62fe4b300)
+
+ lib-http: Added support for creating CONNECT tunnels through HTTP.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-response-parser.h
+M src/lib-http/http-response.h
+
+2013-10-12 11:00:15 +0300 Stephan Bosch <stephan@rename-it.nl> (4219de12b2)
+
+ lib-http: http-client: Implemented proxy support.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2013-10-12 10:58:04 +0300 Stephan Bosch <stephan@rename-it.nl> (d82ad7143c)
+
+ lib-http: Implemented functions for cloning and copying HTTP URLs and for
+ constructing partial URLs.
+
+
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+
+2013-10-12 10:57:05 +0300 Stephan Bosch <stephan@rename-it.nl> (50d1446e71)
+
+ lib-http: http-client: Added request error code for broken payload input
+ stream. This error is triggered when reading from the provided payload input
+ stream fails while sending the request. Previously this would yield the same
+ error code as for a failure to write to the connection output.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2013-10-12 10:55:38 +0300 Stephan Bosch <stephan@rename-it.nl> (ad03049781)
+
+ lib-http: Added support for disabling automatic redirects.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2013-10-12 10:54:50 +0300 Stephan Bosch <stephan@rename-it.nl> (6c6915f4d7)
+
+ lib-http: http-client: Made requests release payload input stream as early
+ as possible. This prevents deadlock conditions when used for the HTTP proxy.
+
+
+M src/lib-http/http-client-request.c
+
+2013-10-12 10:54:10 +0300 Stephan Bosch <stephan@rename-it.nl> (0252ab930e)
+
+ lib-http: http-client: When client request is retried based on a response
+ received from server, return full response to caller if retry is not
+ possible. Before, it would construct a dummy-response that basically retains
+ only the status and reason elements. This is currently only relevant for the
+ way a 417 Expectation Failed response from the server is handled.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2013-10-12 10:53:16 +0300 Stephan Bosch <stephan@rename-it.nl> (c9779bb27b)
+
+ lib-http: http-client: Made dummy response for returning internal errors
+ more complete by filling in the version number and a proper date.
+
+
+M src/lib-http/http-response.c
+M src/lib-http/http-response.h
+
+2013-10-12 10:52:35 +0300 Stephan Bosch <stephan@rename-it.nl> (1faa520084)
+
+ lib-http: Added more tests for the http_request_parser.
+
+
+M src/lib-http/test-http-request-parser.c
+
+2013-10-11 21:36:21 +0300 Timo Sirainen <tss@iki.fi> (1b75b342ec)
+
+ lib-dns: Close dns-client fd before calling callback. Just in case the
+ callback is slow and keeps the fd unnecessarily long open.
+
+
+M src/lib-dns/dns-lookup.c
+
+2013-10-11 20:03:06 +0300 Timo Sirainen <tss@iki.fi> (6db058ebd3)
+
+ lib-lda: lmtp_client_connect_tcp() shouldn't immediately call callbacks if
+ dns lookup fails.
+
+
+M src/lib-lda/lmtp-client.c
+
+2013-10-11 19:27:39 +0300 Timo Sirainen <tss@iki.fi> (b6540ed0dc)
+
+ imap: Improved "EOF while appending" disconnect log message.
+
+
+M src/imap/cmd-append.c
+
+2013-10-11 19:17:10 +0300 Timo Sirainen <tss@iki.fi> (2d2ebe91d5)
+
+ liblib: If parent ostream closes itself on error, close our ostream as well.
+ This avoids a situation where ostream is basically unusable with
+ last_failed_errno set, but it's not marked as closed. The current code often
+ checks ostream->closed but doesn't check last_failed_errno. ostream-file
+ also autocloses the stream, but filter ostreams without this patch don't
+ autoclose, so this caused problems with e.g. IMAP COMPRESSION extension
+ where the zlib-ostream didn't get marked as closed, although the problem was
+ only logging "BUG: Unknown internal error" instead of "Disconnected" as the
+ client's disconnect reason.
+
+
+M src/lib/ostream.c
+
+2013-10-11 18:54:36 +0300 Timo Sirainen <tss@iki.fi> (ca31fc1a8e)
+
+ LAYOUT=index: Fixed race condition during mailbox creation.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2013-10-11 12:31:48 +0300 Timo Sirainen <tss@iki.fi> (e1cf5b2efd)
+
+ lib-storage: If search finds a match to a cached header, don't open the body
+ stream.
+
+
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-search.c
+
+2013-10-11 12:22:56 +0300 Timo Sirainen <tss@iki.fi> (3f41cfaa69)
+
+ lib-storage: Header+body searches might not have searched the body in some
+ cases. Only the header was requested for the search stream, which with imapc
+ and pop3c could have caused the body not to be in the stream, although it
+ usually was because of the "fetch body" hint.
+
+
+M src/lib-storage/index/index-search.c
+
+2013-10-10 20:50:10 +0300 Timo Sirainen <tss@iki.fi> (28482afc81)
+
+ master: host.domain lookups weren't cached, they were done at the worst
+ possible time. This fixes "net_connect_unix(imap) failed: Resource
+ temporarily unavailable" and various other issues where processes weren't
+ being created fast enough if the host.domain lookup was slow (e.g. done via
+ external DNS).
+
+
+M src/master/service-process.c
+
+2013-10-08 16:48:04 +0300 Timo Sirainen <tss@iki.fi> (4addfd2637)
+
+ auth: Added ability to truncate values logged by auth_verbose_passwords.
+
+
+M doc/example-config/conf.d/10-logging.conf
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+
+2013-10-08 10:04:55 +0300 Timo Sirainen <tss@iki.fi> (b99130e4cf)
+
+ lib-http: Added setting for User-Agent header.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2013-10-06 13:21:15 +0300 Timo Sirainen <tss@iki.fi> (34de49959c)
+
+ lib-http: Fixed linking with some compilers Inline functions in
+ http-header.h still required linking http-header.lo with e.g. Sun Studio
+
+
+M src/lib-http/Makefile.am
+
+2013-10-05 13:29:26 +0300 Timo Sirainen <tss@iki.fi> (60fe2f162e)
+
+ lib-fs: Added FS_OPEN_FLAG_ASYNC_NOQUEUE
+
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2013-10-03 14:56:23 +0300 Timo Sirainen <tss@iki.fi> (0a1ef4d0a5)
+
+ dsync: Added missing alarm(0) This didn't really cause any problems normally
+ since the process was usually just about to die anyway.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-10-03 11:34:48 +0300 Timo Sirainen <tss@iki.fi> (077ab44706)
+
+ If DEBUG_OUTOFMEM environment is set, abort() on "out of memory" errors.
+
+
+M src/lib/failures.c
+M src/master/master-settings.c
+M src/master/service-process.c
+
+2013-10-03 11:20:09 +0300 Timo Sirainen <tss@iki.fi> (5973d496b1)
+
+ dsync: Removed periodic commits while importing. The problem is that the
+ current algorithm doesn't handle it correctly. If there already are some
+ mails that exist locally, or remote has duplicate mails, the messages may
+ not be saved in the UID order, and if there's a commit between such wrong
+ ordering, the UIDs get renumbered.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-10-02 11:48:31 +0300 Timo Sirainen <tss@iki.fi> (5f9293676b)
+
+ mailbox_list_index: Fixed assert-crash sometimes when deleting a mailbox.
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2013-09-30 15:28:04 +0300 Timo Sirainen <tss@iki.fi> (ca096c557f)
+
+ doveadm fs delete: Added -R parameter for recursive deletion.
+
+
+M src/doveadm/doveadm-fs.c
+
+2013-09-30 09:04:43 +0300 Timo Sirainen <tss@iki.fi> (a31d634ec3)
+
+ lib-storage: Fail with an error instead of crash with namespace
+ prefix=inbox/
+
+
+M src/lib-storage/mail-storage.c
+
+2013-09-26 05:51:43 +0200 Timo Sirainen <tss@iki.fi> (f2767c736d)
+
+ Panic if io_remove() fails with EBADF. It's a bug that shouldn't really be
+ ignored. Panicing will give a debuggable core dump.
+
+
+M src/lib/ioloop-epoll.c
+
+2013-09-26 04:55:59 +0200 Timo Sirainen <tss@iki.fi> (fe145bd9fb)
+
+ lib-http: 32bit system fix.
+
+
+M src/lib-http/http-header-parser.c
+
+2013-09-25 10:06:19 +0300 Timo Sirainen <tss@iki.fi> (4036973f88)
+
+ Added signature for changeset 1de9a494cb25
+
+
+M .hgsigs
+
+2013-09-25 10:06:08 +0300 Timo Sirainen <tss@iki.fi> (dd4eafd393)
+
+ Added tag 2.2.6 for changeset 1de9a494cb25
+
+
+M .hgtags
+
+2013-09-25 10:06:08 +0300 Timo Sirainen <tss@iki.fi> (ca287f3b01)
+
+ Released v2.2.6.
+
+
+M NEWS
+M TODO
+M configure.ac
+
+2013-09-23 04:25:16 +0300 Timo Sirainen <tss@iki.fi> (5d4c793b4e)
+
+ master: Added reuse_port setting to inet_listeners, which enables
+ SO_REUSEPORT if available. After forking a new service process, a new
+ listener socket is created for each such inet_listener. Linux v3.9+ added
+ SO_REUSEPORT feature, which should distribute clients more uniformly to the
+ processes. I'm not sure if this makes any difference in BSDs.
+
+ At least in Linux v3.9 there was still a bug that if the number of listening
+ processes changed, some TCP handshakes might not finish. I don't see if this
+ has already been fixed, so this is probably safe to use only for services
+ whose process count doesn't change (e.g. process_min_avail is set high
+ enough).
+
+M src/imap-login/imap-login-settings.c
+M src/lib-master/service-settings.h
+M src/master/master-settings.c
+M src/master/service-listen.c
+M src/master/service-listen.h
+M src/master/service-process.c
+M src/master/service.h
+M src/pop3-login/pop3-login-settings.c
+
+2013-09-23 04:06:08 +0300 Timo Sirainen <tss@iki.fi> (b270c58fc2)
+
+ lib: Added net_listen_full() with a flag to set SO_REUSEPORT on the socket
+ if available.
+
+
+M src/lib/net.c
+M src/lib/net.h
+
+2013-09-22 07:43:31 +0300 Timo Sirainen <tss@iki.fi> (d15b2fc29c)
+
+ imapc: Don't crash if imapc_password is missing.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2013-09-22 07:40:01 +0300 Timo Sirainen <tss@iki.fi> (435a5772f5)
+
+ maildir: Autocreate missing cur/ new/ tmp/ directories only with Maildir++
+ and imapdir. \Noselect mailboxes aren't possible with those layouts, but
+ with other layouts they are and they shouldn't get automatically created
+ just by selecting them.
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2013-09-22 07:24:26 +0300 Timo Sirainen <tss@iki.fi> (835f2fce04)
+
+ i_getpw*(): Added OpenBSD workaround.
+
+
+M src/lib/ipwd.c
+
+2013-09-22 07:20:12 +0300 Timo Sirainen <tss@iki.fi> (08997487a0)
+
+ istream-attachment-connector: Add base64 parameters to stream name for error
+ messages.
+
+
+M src/lib-mail/istream-attachment-connector.c
+
+2013-09-22 07:19:39 +0300 Timo Sirainen <tss@iki.fi> (825111a4e5)
+
+ istream-sized: Fail read() also when the stream is larger than it should
+ have been.
+
+
+M src/lib/istream-sized.c
+
+2013-09-22 06:30:47 +0300 Timo Sirainen <tss@iki.fi> (fb100955a1)
+
+ mbox: Fixed assert-crash due to wrong transaction_count handling. This
+ happened only when messages had been expunged by another session just before
+ saving a new message.
+
+
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/mail-storage.c
+
+2013-09-22 04:41:50 +0300 Timo Sirainen <tss@iki.fi> (6516e7c2cf)
+
+ lib-fs: Improved fs_write_*() error messages.
+
+
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+
+2013-09-22 04:40:02 +0300 Timo Sirainen <tss@iki.fi> (9ba3ecf529)
+
+ lib-storage: Improve error message logging when attachment writing fails
+
+
+M src/lib-storage/index/index-attachment.c
+
+2013-09-22 04:39:35 +0300 Timo Sirainen <tss@iki.fi> (f4735bf7ec)
+
+ lib: Added [io]_stream_create_error_str()
+
+
+M src/lib/iostream-private.h
+M src/lib/iostream.c
+M src/lib/istream.c
+M src/lib/istream.h
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2013-09-22 04:24:29 +0300 Timo Sirainen <tss@iki.fi> (904ca86f5d)
+
+ ostream-errno: last_failed_errno wasn't set, causing problems with some
+ functions.
+
+
+M src/lib/ostream.c
+
+2013-09-22 04:14:23 +0300 Timo Sirainen <tss@iki.fi> (0482d891a6)
+
+ Fixes and improvements to istream-attachment-extractor error handling. If an
+ attachment saving failed, the mail was still saved to disk, just without the
+ attachments.
+
+
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-attachment-extractor.h
+M src/lib-mail/test-istream-attachment.c
+M src/lib-storage/index/index-attachment.c
+
+2013-09-22 03:40:14 +0300 Timo Sirainen <tss@iki.fi> (49b3aba194)
+
+ acl: Hide non-listable mailboxes from a shared subscriptions file.
+
+
+M src/plugins/acl/acl-mailbox-list.c
+
+2013-09-22 03:17:12 +0300 Timo Sirainen <tss@iki.fi> (10666ea72a)
+
+ example-config: Fixed login_log_format comment.
+
+
+M doc/example-config/conf.d/10-logging.conf
+
+2013-09-22 02:44:21 +0300 Timo Sirainen <tss@iki.fi> (780f1d9a6a)
+
+ auth: If auth_verbose_passwords is set, log the password also for unknown
+ users.
+
+
+M src/auth/auth-request.c
+
+2013-09-22 02:32:05 +0300 Timo Sirainen <tss@iki.fi> (ed3c4faf5d)
+
+ auth: Use a common auth_request_log_unknown_user() for logging "unknown
+ user" entries.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/db-passwd-file.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-pam.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sql.c
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-nss.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-vpopmail.c
+
+2013-09-22 02:24:05 +0300 Timo Sirainen <tss@iki.fi> (731238b42d)
+
+ net_listen_unix(): If path is too long, return EOVERFLOW instead of EINVAL.
+
+
+M src/lib/net.c
+
+2013-09-22 02:23:30 +0300 Timo Sirainen <tss@iki.fi> (72e0939f9e)
+
+ If EOVERFLOW errno isn't defined by system, fallback to ERANGE instead of
+ EINVAL. ERANGE is used by other functions as well, such as getpwnam_r().
+
+
+M src/lib/compat.h
+
+2013-09-22 02:20:09 +0300 Timo Sirainen <tss@iki.fi> (f974134f49)
+
+ Added ssl_prefer_server_ciphers setting.
+
+
+M doc/example-config/conf.d/10-ssl.conf
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl-settings.h
+M src/lib-master/master-service-ssl.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+M src/login-common/ssl-proxy-openssl.c
+
+2013-09-22 02:07:16 +0300 Timo Sirainen <tss@iki.fi> (fad2e085db)
+
+ mbox: Fixed mailbox_list_index=yes to work with non-Dovecot mbox changes.
+
+
+M src/lib-storage/index/mbox/Makefile.am
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-storage.h
+A src/lib-storage/index/mbox/mbox-sync-list-index.c
+M src/lib-storage/index/mbox/mbox-sync-private.h
+
+2013-09-22 01:40:11 +0300 Timo Sirainen <tss@iki.fi> (c7eb1ffb7c)
+
+ *-login: Added %{orig_user}, %{orig_username} and %{orig_domain} variables.
+ The original username is what the client sent to server before any
+ translations.
+
+
+M src/auth/auth-request-handler.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2013-09-22 01:09:32 +0300 Timo Sirainen <tss@iki.fi> (d0ff92b81b)
+
+ dsync: Added -P parameter to do a purge for the remote storage after
+ syncing.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-09-21 23:33:42 +0300 Timo Sirainen <tss@iki.fi> (6f970b9a0d)
+
+ lib-storage: Fixed listescape when escape_char was the same as namespace
+ separator.
+
+
+M src/lib-storage/mailbox-list.c
+
+2013-09-21 05:28:45 +0300 Timo Sirainen <tss@iki.fi> (a471e03f0b)
+
+ imap: Send * OK [CLOSED] always before tagged SELECT reply.
+
+
+M src/imap/cmd-select.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands-util.h
+
+2013-09-21 05:05:22 +0300 Timo Sirainen <tss@iki.fi> (d2ca20a479)
+
+ lib-storage: Don't create a settings cache for initial global settings read.
+ This fixes at least doveadm -A so that it doesn't connect to config process
+ for each user.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2013-09-21 05:03:03 +0300 Timo Sirainen <tss@iki.fi> (5afc76d021)
+
+ auth: Fixed user iteration hang due to earlier stream corking changes. Also
+ fixed process title updating for auth-worker process during LIST.
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-worker-client.c
+
+2013-09-21 04:48:52 +0300 Timo Sirainen <tss@iki.fi> (e262b92fc5)
+
+ lib-auth: Fixed infinite looping if user listing failed because auth process
+ disconnected.
+
+
+M src/lib-auth/auth-master.c
+
+2013-09-21 04:02:51 +0300 Timo Sirainen <tss@iki.fi> (bdb454d515)
+
+ lib-auth: Recent cleanup commit was actually cleaning up too much.
+
+
+M src/lib-auth/auth-master.c
+
+2013-09-21 03:49:22 +0300 Timo Sirainen <tss@iki.fi> (16cd2c1b48)
+
+ doveadm sync: When -1 parameter is used, ignore missing mailboxes in source.
+ Previously the syncs finished with "Mailbox changes caused a desync." and
+ exit code 2. This was especially common when the destination server had new
+ autocreated mailboxes and user logged in after the first dsync.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+
+2013-09-21 03:40:46 +0300 Timo Sirainen <tss@iki.fi> (311cbd9b1c)
+
+ dsync: Added more consistency when debug logging about changes during sync.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-09-21 03:29:09 +0300 Timo Sirainen <tss@iki.fi> (31d32d39dd)
+
+ dsync: Added some more debug logging.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-09-21 02:55:27 +0300 Timo Sirainen <tss@iki.fi> (4f2fa2e5f5)
+
+ imapc: Don't log unnecessary errors at deinit about aborted hiearchy
+ separator lookup. The lookup is done asynchronously at startup. It doesn't
+ matter if we never get around to finishing it.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2013-09-20 10:45:22 +0300 Timo Sirainen <tss@iki.fi> (dfbd56c81c)
+
+ director: Detect lost director restarts and reset last_sync_seq.
+
+
+M src/director/director-connection.c
+
+2013-09-20 10:35:34 +0300 Timo Sirainen <tss@iki.fi> (88cb1595bf)
+
+ director: Make sure director restart notifications go to everyone in the
+ ring.
+
+
+M src/director/director-connection.c
+
+2013-09-20 10:12:24 +0300 Timo Sirainen <tss@iki.fi> (84304cae9f)
+
+ director: Directors weren't always marked as restarted when they were.
+
+
+M src/director/director-connection.c
+
+2013-09-20 10:11:45 +0300 Timo Sirainen <tss@iki.fi> (9d2575d99e)
+
+ director: Fix & improvement to debug logging.
+
+
+M src/director/director-connection.c
+
+2013-09-20 10:00:48 +0300 Timo Sirainen <tss@iki.fi> (7e656f6f50)
+
+ director: Added more debug logging.
+
+
+M src/director/director-connection.c
+
+2013-09-20 09:46:31 +0300 Timo Sirainen <tss@iki.fi> (44875c83e0)
+
+ director: Don't assert-crash if PASS lookup fails.
+
+
+M src/director/login-connection.c
+
+2013-09-20 04:27:29 +0300 Timo Sirainen <tss@iki.fi> (754943e33a)
+
+ dsync: Don't log "Mailbox changes caused a desync" warning when running via
+ doveadm-server.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-09-20 04:20:22 +0300 Timo Sirainen <tss@iki.fi> (586ad46d25)
+
+ ssl-params: Long-running ssl-params process shouldn't cause Dovecot restart
+ to fail.
+
+
+M src/ssl-params/ssl-params.c
+
+2013-09-20 04:01:10 +0300 Timo Sirainen <tss@iki.fi> (3136f1b7b8)
+
+ lib-ssl-iostream: Give better error message if CA settings are missing.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2013-09-20 03:54:31 +0300 Timo Sirainen <tss@iki.fi> (f605df8a4c)
+
+ dbox: Fixed "UIDVALIDITY=0" error race condition. If session 1 had mkdir()ed
+ but not yet created the initial index, while session 2 attempted to open the
+ mailbox, it would create an empty index and log the error.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.h
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2013-09-20 03:41:51 +0300 Timo Sirainen <tss@iki.fi> (1f0da9f374)
+
+ master: Make sure new processes aren't created after stop signal is
+ received.
+
+
+M src/master/main.c
+
+2013-09-20 02:38:53 +0300 Timo Sirainen <tss@iki.fi> (fc22ecbb03)
+
+ mbox: Handle correctly if MAIL_FETCH_HEADER_MD5 lookup fails because mail is
+ already expunged.
+
+
+M src/lib-storage/index/mbox/mbox-mail.c
+
+2013-09-20 02:28:45 +0300 Timo Sirainen <tss@iki.fi> (d5b366506a)
+
+ lib-auth: Don't leave stale pointers to stack lying around in memory.
+
+
+M src/lib-auth/auth-master.c
+
+2013-09-20 00:59:36 +0300 Timo Sirainen <tss@iki.fi> (3eb142b996)
+
+ ioloop-kqueue: Added assert
+
+
+M src/lib/ioloop-kqueue.c
+
+2013-09-20 00:22:15 +0300 Timo Sirainen <tss@iki.fi> (6a67bcb469)
+
+ imap: If FETCH fails, log the stream's error string instead of errno.
+
+
+M src/imap/cmd-append.c
+M src/imap/cmd-urlfetch.c
+M src/imap/imap-fetch-body.c
+
+2013-09-20 00:20:19 +0300 Timo Sirainen <tss@iki.fi> (2c42748505)
+
+ istream-chain/concat/seekable: When child stream fails, copy its error to
+ ourself.
+
+
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-seekable.c
+
+2013-09-20 00:14:11 +0300 Timo Sirainen <tss@iki.fi> (9f131c8b6d)
+
+ istream-file: Assert-crash if read() fails with EBADF. Something's already
+ wrong at that point and it may not be safe to continue. Also crashing makes
+ it easier to debug such situation.
+
+
+M src/lib/istream-file.c
+
+2013-09-20 00:12:45 +0300 Timo Sirainen <tss@iki.fi> (1c6f6f5bef)
+
+ iostreams: Set stream error string when it provides extra information.
+
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-zlib.c
+M src/lib-fs/istream-metawrap.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib-storage/index/istream-mail.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-concat.c
+M src/lib/istream-file.c
+M src/lib/istream-hash.c
+M src/lib/istream-jsonstr.c
+M src/lib/istream-mmap.c
+M src/lib/istream-sized.c
+M src/lib/ostream-file.c
+
+2013-09-20 00:00:49 +0300 Timo Sirainen <tss@iki.fi> (862ec874f9)
+
+ iostream: Added ability to set/get error strings for streams.
+
+
+M src/lib/iostream-private.h
+M src/lib/iostream.c
+M src/lib/istream.c
+M src/lib/istream.h
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2013-09-19 22:44:20 +0300 Timo Sirainen <tss@iki.fi> (cf4a4a35ac)
+
+ doveadm: Added "auth lookup" command to do a passdb lookup.
+
+
+M src/doveadm/doveadm-auth.c
+
+2013-09-19 22:43:45 +0300 Timo Sirainen <tss@iki.fi> (1479a685cd)
+
+ auth: Fixed non-auth passdb lookup when password had ".<encoding>" suffix.
+
+
+M src/auth/passdb.c
+
+2013-09-19 22:20:56 +0300 Timo Sirainen <tss@iki.fi> (9a7f22e2c1)
+
+ imapc: Abort pending commands before any deinitialization to avoid crashes.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2013-09-18 23:24:30 +0300 Stephan Bosch <stephan@rename-it.nl> (10962368c3)
+
+ lib-http: Created tests for http_request_parser.
+
+
+M src/lib-http/Makefile.am
+A src/lib-http/test-http-request-parser.c
+
+2013-09-18 23:24:22 +0300 Stephan Bosch <stephan@rename-it.nl> (ded5763b4e)
+
+ uri-util: Improved authority 'host' parse error.
+
+
+M src/lib/uri-util.c
+
+2013-09-18 23:24:11 +0300 Stephan Bosch <stephan@rename-it.nl> (1490e4e923)
+
+ lib-http: http-url: Fixed return of proper error message in case of a
+ failure to parse request target Host header. Assigned the error to the
+ parser object rather than returning it directly.
+
+
+M src/lib-http/http-url.c
+
+2013-09-18 23:24:02 +0300 Stephan Bosch <stephan@rename-it.nl> (e74d62011e)
+
+ lib-http: Fixed handling of limits=NULL parameter for
+ http_request_parser_init. Got messed up in patch queue.
+
+
+M src/lib-http/http-request-parser.c
+
+2013-09-18 00:00:05 +0300 Timo Sirainen <tss@iki.fi> (329c2181e6)
+
+ dsync: Don't attempt to access mailbox contents with -g "" or -m ""
+ parameter.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+
+2013-09-17 23:32:57 +0300 Timo Sirainen <tss@iki.fi> (3a37fbef94)
+
+ lib-storage: Added a separate prefix for server metadata that aren't deleted
+ with INBOX.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage.h
+
+2013-09-17 23:12:03 +0300 Timo Sirainen <tss@iki.fi> (ec047a9c54)
+
+ dsync: Improved debug/error logging for changes during sync.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-09-17 21:57:48 +0300 Stephan Bosch <stephan@rename-it.nl> (1e653c7406)
+
+ lib-http: Added (non-default) support for parsing user:pasword from HTTP
+ URL.
+
+
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+M src/lib-http/test-http-url.c
+
+2013-09-17 21:57:14 +0300 Stephan Bosch <stephan@rename-it.nl> (4c8646ca7a)
+
+ lib-imap: imap-url: Forgot to check for the presence of ':' in userinfo,
+ which is not allowed.
+
+
+M src/lib-imap/imap-url.c
+M src/lib-imap/test-imap-url.c
+
+2013-09-16 10:05:24 +0300 Timo Sirainen <tss@iki.fi> (47f00ff24a)
+
+ imap: Fixed/improved error logging for FETCH
+
+
+M src/imap/imap-fetch-body.c
+
+2013-09-17 02:40:17 +0300 Stephan Bosch <stephan@rename-it.nl> (87c121a4c0)
+
+ lib-http: http-client: Allow overriding all implicitly generated special
+ headers. Which are: Connection, Content-Length, Date, Expect, Host, and
+ Transfer-Encoding.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2013-09-16 13:17:52 +0300 Timo Sirainen <tss@iki.fi> (3ec5378aad)
+
+ Fixed uri_parse_slashslash_authority() to skip over "//".
+
+
+M src/lib/uri-util.c
+
+2013-09-16 01:02:03 +0300 Stephan Bosch <stephan@rename-it.nl> (2e6f9d35d7)
+
+ lib-http: http-client: Fixed segfault caused by earlier improvement of
+ connection output locking. Segfault was triggered when an aborted request
+ received a response.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-09-15 03:56:47 +0300 Stephan Bosch <stephan@rename-it.nl> (2ccb0bce34)
+
+ lib-http: http-client: Implemented explicit HTTP/1.0 support.
+
+
+M src/lib-http/http-client-request.c
+
+2013-09-15 03:56:25 +0300 Stephan Bosch <stephan@rename-it.nl> (81498cffac)
+
+ lib-http: Added support for handling HTTP/1.0 messages explicitly. This
+ means that default connection persistence semantics are inverted for
+ HTTP/1.0 and keep-alive Connection option is recognized.
+
+
+M src/lib-http/http-message-parser.c
+
+2013-09-15 03:55:57 +0300 Stephan Bosch <stephan@rename-it.nl> (22b47ecd1e)
+
+ lib-http: Added support for parsing Expect: header (currently only accepts
+ `100-continue').
+
+
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request-parser.h
+M src/lib-http/http-request.h
+
+2013-09-15 03:55:11 +0300 Stephan Bosch <stephan@rename-it.nl> (b8a1b8eb4f)
+
+ lib-http: http-request-parser: Added function to test whether payload from
+ previous request is still being parsed. This is needed in the server
+ implementation to check whether a request is completely read.
+
+
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request-parser.h
+
+2013-09-15 03:54:04 +0300 Stephan Bosch <stephan@rename-it.nl> (fa4d00f73d)
+
+ lib-http: Implemented limits on request method and target length.
+
+
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request-parser.h
+M src/lib-http/http-request.h
+M src/lib-http/test-http-server.c
+
+2013-09-15 03:52:01 +0300 Stephan Bosch <stephan@rename-it.nl> (1175415b88)
+
+ lib-http: Added support for enforcing a payload limit for incoming HTTP
+ messages.
+
+
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-message-parser.h
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/http-transfer.h
+M src/lib-http/test-http-transfer.c
+
+2013-09-15 03:50:08 +0300 Stephan Bosch <stephan@rename-it.nl> (208dcaf623)
+
+ lib-http: Adjusted message and request parsers to return an error code.
+
+
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-message-parser.h
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request-parser.h
+M src/lib-http/http-response-parser.c
+M src/lib-http/test-http-server.c
+
+2013-09-15 03:47:54 +0300 Stephan Bosch <stephan@rename-it.nl> (abd1c1f3b7)
+
+ lib-http: Adjusted request parser to pre-parse the request target and host
+ header into a proper target url.
+
+
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request.h
+M src/lib-http/test-http-server.c
+
+2013-09-15 03:47:29 +0300 Stephan Bosch <stephan@rename-it.nl> (e641c9f656)
+
+ lib-http: Added support for parsing request target URLs.
+
+
+M src/lib-http/http-request.h
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+
+2013-09-15 03:46:25 +0300 Stephan Bosch <stephan@rename-it.nl> (101e78ae4d)
+
+ lib-http: Improved display of invalid characters in parse error messages.
+
+
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-response-parser.c
+
+2013-09-15 03:46:12 +0300 Stephan Bosch <stephan@rename-it.nl> (feba5e502b)
+
+ lib-http: Implemented limits on overall HTTP header size, size of individual
+ header fields and the number of fields in the header.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-header-parser.h
+M src/lib-http/http-header.h
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-message-parser.h
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request-parser.h
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-response-parser.h
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/test-http-header-parser.c
+M src/lib-http/test-http-response-parser.c
+M src/lib-http/test-http-server.c
+
+2013-09-15 03:44:42 +0300 Stephan Bosch <stephan@rename-it.nl> (e8f1e510df)
+
+ lib-http: Unified http-request.h and http-response.h headers. Renamed struct
+ http_response_header to struct http_header_field, encapsulated the array in
+ struct http_header and put it all in http-header.h/c Added inline utility
+ functions for header querying and getting response/request payload size.
+
+
+M src/lib-http/Makefile.am
+M src/lib-http/http-client-request.c
+A src/lib-http/http-header.c
+A src/lib-http/http-header.h
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-message-parser.h
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request-parser.h
+A src/lib-http/http-request.c
+A src/lib-http/http-request.h
+M src/lib-http/http-response-parser.c
+A src/lib-http/http-response.c
+M src/lib-http/http-response.h
+
+2013-09-15 03:39:45 +0300 Stephan Bosch <stephan@rename-it.nl> (9e7bf91667)
+
+ lib-http: Improved message header and body parsing for better RFC
+ compliance. Added pre-parsed transfer-encoding and connection header content
+ (array) to parsed message struct. Fixed message body handling for when both
+ transfer-encoding and content-length headers are missing. Now duplicates of
+ unique important message headers yield an error.
+
+
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-message-parser.h
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request-parser.h
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-response.h
+M src/lib-http/http-transfer.h
+
+2013-09-15 03:37:59 +0300 Stephan Bosch <stephan@rename-it.nl> (233a96794f)
+
+ lib-http: Added support for parsing HTTP word syntax, which includes
+ quoted-string.
+
+
+M src/lib-http/http-parser.c
+M src/lib-http/http-parser.h
+
+2013-09-15 03:36:44 +0300 Stephan Bosch <stephan@rename-it.nl> (6dad0888fc)
+
+ lib-http: Adjusted message parser to accept pool from caller.
+
+
+M src/lib-http/http-message-parser.c
+M src/lib-http/http-message-parser.h
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request-parser.h
+M src/lib-http/http-response-parser.c
+M src/lib-http/test-http-server.c
+
+2013-09-15 03:36:18 +0300 Stephan Bosch <stephan@rename-it.nl> (6a90041707)
+
+ lib-http: Adjusted response and request parsers to accept a request/response
+ object to fill with data, rather than have it return one.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-request-parser.c
+M src/lib-http/http-request-parser.h
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-response-parser.h
+M src/lib-http/test-http-response-parser.c
+M src/lib-http/test-http-server.c
+
+2013-09-15 03:35:04 +0300 Stephan Bosch <stephan@rename-it.nl> (a4e186e3ef)
+
+ lib-http: Added support for asynchronous payload for requests. This means
+ that the payload stream passed to the request can be a non-blocking socket
+ stream from some other connection (e.g. proxy client connection).
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2013-09-15 03:34:06 +0300 Stephan Bosch <stephan@rename-it.nl> (df70bf8c99)
+
+ uri-util: Added support for parsing bare authority URI component (for use in
+ HTTP).
+
+
+M src/lib-http/http-url.c
+M src/lib-imap/imap-url.c
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2013-09-15 03:33:44 +0300 Stephan Bosch <stephan@rename-it.nl> (6d573191be)
+
+ lib-http: http-client: Requests now automatically generate a Date header.
+ The used date value is normally the submission time of the request, but it
+ can be set explicitly.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2013-09-15 03:33:04 +0300 Stephan Bosch <stephan@rename-it.nl> (930a232304)
+
+ lib-http: Fixed client connection and peer log labels to show proper IPv6
+ peers. The labels did not put IPv6 addresses in square brackets.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2013-09-15 03:32:11 +0300 Stephan Bosch <stephan@rename-it.nl> (3fe9224397)
+
+ lib-http: Removed useless prev,next fields from struct http_client_request.
+
+
+M src/lib-http/http-client-private.h
+
+2013-09-15 03:31:51 +0300 Stephan Bosch <stephan@rename-it.nl> (188297bee5)
+
+ lib-http: Fixed handling of non-standard CRLF at end of request.
+
+
+M src/lib-http/http-request-parser.c
+
+2013-09-15 03:31:28 +0300 Stephan Bosch <stephan@rename-it.nl> (fc94140acb)
+
+ lib-http: http-client: Fixed request scheduling and connection management.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2013-09-15 03:29:03 +0300 Stephan Bosch <stephan@rename-it.nl> (2742107481)
+
+ lib-http: http-client: Fixed leak of ostream when request was resubmitted
+ upon 417 response regarding 100-continue. This would only occur when the
+ server refuses Expect: 100-continue with a 417 response. The payload_output
+ stream would be overwritten without being freed first.
+
+
+M src/lib-http/http-client-request.c
+
+2013-09-15 03:28:21 +0300 Stephan Bosch <stephan@rename-it.nl> (fde2e392f3)
+
+ lib-http: http-client: Connection was using wrong request index in
+ request_wait_list to continue sending outgoing payload.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-09-15 03:27:31 +0300 Stephan Bosch <stephan@rename-it.nl> (858a13d064)
+
+ lib-http: http-client: Fixed pipelining when payload synchronizatio
+ (100-continue) is used. Forgot to lock the connection output, which meant
+ that new requests would enqueued for the connection while waiting for 100
+ Continue. This would cause an assert failure.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-request.c
+
+2013-09-14 00:26:58 +0300 Timo Sirainen <tss@iki.fi> (b4a7dbfb42)
+
+ Comment update.
+
+
+M src/lib/connection.h
+
+2013-09-14 00:26:45 +0300 Timo Sirainen <tss@iki.fi> (b6ecc96ac8)
+
+ lib-fs: If backend doesn't implement exists(), emulate it with stat().
+
+
+M src/lib-fs/fs-api.c
+
+2013-09-12 03:52:01 +0300 Timo Sirainen <tss@iki.fi> (7bf0bc5028)
+
+ doveadm: Don't refer to old doveadm_proxy_port setting name in error
+ message.
+
+
+M src/doveadm/doveadm-mail-server.c
+
+2013-09-12 02:58:51 +0300 Timo Sirainen <tss@iki.fi> (202a34580f)
+
+ istream-hash: Data was hashed multiple times in some situations
+
+
+M src/lib/istream-hash.c
+
+2013-09-12 02:33:01 +0300 Timo Sirainen <tss@iki.fi> (66d84e6f0a)
+
+ istream: Improved "stream not seekable" panic message.
+
+
+M src/lib/istream.c
+
+2013-09-12 02:32:47 +0300 Timo Sirainen <tss@iki.fi> (cbb79ea1b1)
+
+ istream-hash: Allow seeking, but only after reading the hash.
+
+
+M src/lib/istream-hash.c
+
+2013-09-12 01:38:54 +0300 Timo Sirainen <tss@iki.fi> (6523f54d15)
+
+ auth: auth-client socket should be owned by $default_internal_user It's
+ mostly the same as auth-login, which is also owned by it.
+
+
+M src/auth/auth-settings.c
+
+2013-09-10 04:11:03 +0300 Timo Sirainen <tss@iki.fi> (9c45f33d0e)
+
+ lib-fs: Added support for asynchronous fs iteration.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2013-09-10 00:27:12 +0300 Timo Sirainen <tss@iki.fi> (67a163f3a0)
+
+ lib-fs: Added support for giving a hash of the written data to be verified
+ by storage.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2013-09-09 04:34:58 +0300 Timo Sirainen <tss@iki.fi> (3157f61431)
+
+ liblib: Added istream-hash, similar to ostream-hash.
+
+
+M src/lib/Makefile.am
+A src/lib/istream-hash.c
+A src/lib/istream-hash.h
+
+2013-09-09 04:34:45 +0300 Timo Sirainen <tss@iki.fi> (61f018f5b4)
+
+ Minor code cleanup.
+
+
+M src/lib/ostream-hash.h
+
+2013-09-08 19:20:39 +0300 Timo Sirainen <tss@iki.fi> (d8361cc857)
+
+ hmac: Fixed crashes on CPUs that don't allow unaligned memory access.
+
+
+M src/lib/hmac-cram-md5.c
+M src/lib/hmac.c
+M src/lib/hmac.h
+
+2013-09-06 18:30:54 +0300 Timo Sirainen <tss@iki.fi> (1c1ded8e94)
+
+ auth: Removed unnecessary NULL check.
+
+
+M src/auth/auth-request.c
+
+2013-09-06 18:28:59 +0300 Timo Sirainen <tss@iki.fi> (8236d57101)
+
+ imapc: Don't crash if server sends EXISTS while mailbox isn't selected.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2013-09-06 18:26:48 +0300 Timo Sirainen <tss@iki.fi> (de3466de0d)
+
+ fts-lucene: Fixed crash in doveadm dumping lucene index.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2013-09-06 02:39:56 +0300 Timo Sirainen <tss@iki.fi> (72e15c62aa)
+
+ Avoid doing side effects in assert.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2013-09-06 02:39:16 +0300 Timo Sirainen <tss@iki.fi> (ee24825264)
+
+ lib-index: Minor fix to regenerating missing transaction log parts.
+
+
+M src/lib-index/mail-index-view-sync.c
+
+2013-09-05 21:06:50 +0300 Timo Sirainen <tss@iki.fi> (16a92d0c84)
+
+ lib-lda: Fixed passing through error message when mailbox couldn't be
+ opened.
+
+
+M src/lib-lda/mail-deliver.c
+
+2013-09-04 22:43:47 +0300 Timo Sirainen <tss@iki.fi> (5e93930ec6)
+
+ And removed accidentally committed nbsp.
+
+
+M src/lib-storage/mailbox-uidvalidity.c
+
+2013-09-04 22:41:42 +0300 Timo Sirainen <tss@iki.fi> (af8b1248fe)
+
+ Fixed file descriptor leaks in rather unimportant places. Found by Coverity
+ scan.
+
+
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/doveadm-dump-thread.c
+M src/lib-master/master-service-settings.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib/unix-socket-create.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/zlib/zlib-plugin.c
+M src/ssl-params/ssl-params.c
+
+2013-09-04 22:16:02 +0300 Timo Sirainen <tss@iki.fi> (76959d3d6f)
+
+ lib-index: Fixed modseq updates when modseq was over 32bits long
+
+
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-transaction-log-file.c
+
+2013-09-04 22:13:01 +0300 Timo Sirainen <tss@iki.fi> (93dbad4bfd)
+
+ i_close_fd() didn't handle errors correctly with gcc.
+
+
+M src/lib/macros.h
+
+2013-09-04 21:23:33 +0300 Timo Sirainen <tss@iki.fi> (2a325b952f)
+
+ Fixed off-by-one buffer overflows (practically non-exploitable). Found by
+ Coverity scan.
+
+
+M src/doveadm/doveadm-master.c
+M src/master/main.c
+
+2013-09-02 17:44:39 +0300 Timo Sirainen <tss@iki.fi> (0de730a46c)
+
+ master: Fix to previous pre-forking change.
+
+
+M src/master/service-monitor.c
+
+2013-09-02 17:37:47 +0300 Timo Sirainen <tss@iki.fi> (e7a4c77db3)
+
+ master: Pre-fork processes only while master doesn't have more important
+ things to do.
+
+
+M src/master/service-monitor.c
+M src/master/service-process.c
+M src/master/service.h
+
+2013-09-02 17:06:49 +0300 Timo Sirainen <tss@iki.fi> (b52230a264)
+
+ lib-master: If net_connect_unix() fails with EAGAIN, point to a wiki link
+ for reasons.
+
+
+M src/lib-master/master-auth.c
+M src/lib-master/master-login.c
+
+2013-08-29 16:42:55 +0300 Timo Sirainen <tss@iki.fi> (6bcbea70fc)
+
+ lib-ssl-iostream: Don't assert-crash if stream buffer gets full.
+
+
+M src/lib-ssl-iostream/istream-openssl.c
+
+2013-08-29 00:57:13 +0300 Timo Sirainen <tss@iki.fi> (8cadc80b21)
+
+ lib-storage: Auto-create dovecot-uidvalidity's missing parent directory
+
+
+M src/lib-storage/mailbox-uidvalidity.c
+
+2013-08-29 00:53:30 +0300 Timo Sirainen <tss@iki.fi> (30a5cfac4d)
+
+ Fixed compiling with old gcc.
+
+
+M src/log/log-error-buffer.c
+
+2013-08-27 04:06:43 +0300 Timo Sirainen <tss@iki.fi> (dacb7917d9)
+
+ dbox: When fixing a broken file, try harder to find only valid
+ message/metadata positions. The previous method sometime broke with
+ compressed mail content, because the magic blocks were so short.
+
+
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.h
+
+2013-08-21 23:30:07 +0300 Timo Sirainen <tss@iki.fi> (ce28adabf2)
+
+ director: Reset last-seen-sync-sequence after remote director restarts.
+
+
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director-host.h
+
+2013-08-21 20:03:13 +0300 Timo Sirainen <tss@iki.fi> (2f1853d150)
+
+ lib-storage: When doing a fast sync, refresh index to see if it had any
+ changes. I'm pretty sure this used to be done earlier, but probably some
+ optimizations dropped it at some point.
+
+
+M src/lib-storage/index/index-sync.c
+
+2013-08-21 19:40:54 +0300 Timo Sirainen <tss@iki.fi> (96581b0553)
+
+ imap: Fixed potential assert crash in APPEND.
+
+
+M src/imap/cmd-append.c
+
+2013-08-17 15:01:25 +0000 Pascal Volk <user@localhost.localdomain.org> (d6eb3cf3b4)
+
+ man: doveadm-pw.1: Option -p can also be used with -t.
+
+
+M doc/man/doveadm-pw.1.in
+
+2013-08-15 20:25:12 +0300 Timo Sirainen <tss@iki.fi> (fe30a45e56)
+
+ director: Previous change caused legitimate SYNC resends to be ignored.
+
+
+M src/director/director-connection.c
+
+2013-08-13 21:02:04 +0300 Timo Sirainen <tss@iki.fi> (32efae185f)
+
+ lmtp: Make it clear that the lda_settings is unexpanded in struct client.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2013-08-13 20:59:39 +0300 Timo Sirainen <tss@iki.fi> (7a4ba2c608)
+
+ Minor change to prevent invalid code changes.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2013-08-13 20:58:56 +0300 Timo Sirainen <tss@iki.fi> (4612f64419)
+
+ lib-lda: Default postmaster_address wasn't being set. This broke after it
+ was set to allow %variables.
+
+
+M src/lib-lda/lda-settings.c
+
+2013-08-13 20:57:41 +0300 Timo Sirainen <tss@iki.fi> (c9b225d28d)
+
+ lib-lda: Don't alow %variables for hostname setting after all. I was
+ thinking maybe %d could be used there, but with LMTP the hostname is used
+ already in the greeting message before any RCPT TO is even done.
+
+
+M src/lib-lda/lda-settings.c
+
+2013-08-12 19:02:07 +0300 Timo Sirainen <tss@iki.fi> (f2bb07096e)
+
+ auth: Added %{domain_first} and %{domain_last} variables. They are both
+ equal to %d normally, but differ when there are multiple '@' characters in
+ the domain.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2013-08-12 17:24:05 +0300 Timo Sirainen <tss@iki.fi> (f24202d1a3)
+
+ lib-storage: If dovecot.index.thread corruption is noticed, delete the file.
+
+
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-strmap.h
+M src/lib-storage/index/index-thread.c
+
+2013-08-12 15:44:51 +0300 Timo Sirainen <tss@iki.fi> (d50ebf52e5)
+
+ lib-lda: submission_host, sendmail_path and hostname settings can now
+ contain %variables
+
+
+M src/lib-lda/lda-settings.c
+
+2013-08-12 15:44:39 +0300 Timo Sirainen <tss@iki.fi> (4a510b3ca2)
+
+ lib-lda: sendmail_path setting can contain parameters now.
+
+
+M src/lib-lda/smtp-client.c
+
+2013-08-11 22:54:32 +0300 Timo Sirainen <tss@iki.fi> (72b3eaf5ed)
+
+ lib-storage: Improved error message in threading code's lost message-id.
+
+
+M src/lib-storage/index/index-thread.c
+
+2013-08-10 16:31:27 +0300 Timo Sirainen <tss@iki.fi> (7ec4907a59)
+
+ lib-http: Removed more code duplication
+
+
+M src/lib-http/http-client-request.c
+
+2013-08-10 15:00:36 +0300 Timo Sirainen <tss@iki.fi> (8608ffb77a)
+
+ lib-http: Removed duplicated code
+
+
+M src/lib-http/http-client-request.c
+
+2013-08-08 22:37:35 +0300 Timo Sirainen <tss@iki.fi> (39622d42aa)
+
+ lmtp: Don't write extra ([]) to Received: line for mails via UNIX socket.
+
+
+M src/lmtp/commands.c
+
+2013-08-07 19:47:17 +0300 Timo Sirainen <tss@iki.fi> (a23cb9e675)
+
+ imap: Fixed memory leak on APPEND error conditions.
+
+
+M src/imap/cmd-append.c
+
+2013-08-07 19:40:16 +0300 Timo Sirainen <tss@iki.fi> (36ce71e1c9)
+
+ dsync: We didn't send the new protocol version in handshake. This caused
+ problems when syncing mailbox formats that didn't support saving GUIDs.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-08-07 19:26:29 +0300 Timo Sirainen <tss@iki.fi> (e04e2ca2a5)
+
+ dsync: Avoid assert-crash after an error.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-08-07 18:00:32 +0300 Timo Sirainen <tss@iki.fi> (385fd14a05)
+
+ ssl: Fixed compiling with older OpenSSL libraries.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/login-common/ssl-proxy-openssl.c
+
+2013-08-07 17:20:10 +0300 Timo Sirainen <tss@iki.fi> (61b0eeb704)
+
+ Compiler warning fixes.
+
+
+M src/director/director-connection.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/login-common/ssl-proxy-openssl.c
+
+2013-08-07 16:09:29 +0300 Timo Sirainen <tss@iki.fi> (9b61a6db87)
+
+ quota: Improved init() failure error logging.
+
+
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2013-08-06 18:44:37 +0000 Pascal Volk <user@localhost.localdomain.org> (dc6a2a935b)
+
+ master: Added --hostdomain to the help message.
+
+
+M src/master/main.c
+
+2013-08-06 18:35:02 +0000 Pascal Volk <user@localhost.localdomain.org> (3813074b3f)
+
+ man: dovecot.1: Added description of option --hostdomain.
+
+
+M doc/man/dovecot.1.in
+
+2013-08-06 18:28:31 +0300 Timo Sirainen <tss@iki.fi> (98bdd7c244)
+
+ doveadm: If server connection gets disconnected, log the reason.
+
+
+M src/doveadm/server-connection.c
+
+2013-08-06 17:16:58 +0300 Timo Sirainen <tss@iki.fi> (cf91aa1a3b)
+
+ dsync: Stream disconnection error message improvement
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-08-06 17:06:50 +0300 Timo Sirainen <tss@iki.fi> (ecd14e4323)
+
+ doveadm-server: Error message logging improvements.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail-server.c
+
+2013-08-06 16:54:33 +0300 Timo Sirainen <tss@iki.fi> (1d082a46e1)
+
+ doveadm-server: Include client's IP address in logs.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2013-08-06 16:32:03 +0300 Timo Sirainen <tss@iki.fi> (1f61b0a75f)
+
+ dsync: Don't leak iostreams when running via doveadm-server
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-08-06 16:28:08 +0300 Timo Sirainen <tss@iki.fi> (f5fa1c506e)
+
+ dsync: Memory leak fix at deinit.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-08-06 16:07:50 +0300 Timo Sirainen <tss@iki.fi> (b4f4552697)
+
+ lib-ssl-iostream: Deinitialization fixes.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2013-08-06 15:11:14 +0300 Timo Sirainen <tss@iki.fi> (956b8eea7a)
+
+ doveadm: If we get disconnected from server, log the reason.
+
+
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/server-connection.c
+M src/doveadm/server-connection.h
+
+2013-08-06 14:53:23 +0300 Timo Sirainen <tss@iki.fi> (91a58087aa)
+
+ net_ip2addr() changed to return "" instead of NULL on failure. Pretty much
+ everything in the code assumed that it would never fail, which it normally
+ doesn't except if the ip_addr was created for UNIX sockets.
+
+
+M src/auth/auth-request.c
+M src/auth/passdb-pam.c
+M src/auth/passdb-vpopmail.c
+M src/lib/net.c
+M src/lib/net.h
+M src/lib/uri-util.c
+M src/lmtp/client.c
+M src/login-common/main.c
+
+2013-08-06 14:46:36 +0300 Timo Sirainen <tss@iki.fi> (fb28d085f3)
+
+ dsync: After reading remote hostname, use it for the log messages instead of
+ IP.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-08-06 14:36:25 +0300 Timo Sirainen <tss@iki.fi> (c6c08650b0)
+
+ master: Added --hostdomain setting to show the current hostdomain.
+
+
+M src/master/main.c
+
+2013-08-06 14:25:49 +0300 Timo Sirainen <tss@iki.fi> (02ab29a23e)
+
+ dsync: Name remote connections better.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-08-06 12:48:15 +0300 Timo Sirainen <tss@iki.fi> (e7d75716b5)
+
+ replicator: Fixed assert-crash if dsync server disconnected.
+
+
+M src/replication/replicator/dsync-client.c
+
+2013-08-05 22:22:51 +0300 Timo Sirainen <tss@iki.fi> (1e0df4f191)
+
+ Added signature for changeset 71f0696749ab
+
+
+M .hgsigs
+
+2013-08-05 22:22:47 +0300 Timo Sirainen <tss@iki.fi> (c50e67fe8a)
+
+ Added tag 2.2.5 for changeset 71f0696749ab
+
+
+M .hgtags
+
+2013-08-05 22:22:47 +0300 Timo Sirainen <tss@iki.fi> (29b63e9d9b)
+
+ Released v2.2.5.
+
+
+M NEWS
+M configure.ac
+
+2013-08-05 22:21:29 +0300 Timo Sirainen <tss@iki.fi> (430d256a62)
+
+ Make static analyzer happier.
+
+
+M src/director/user-directory.c
+M src/lib-http/test-http-response-parser.c
+
+2013-08-05 22:16:02 +0300 Timo Sirainen <tss@iki.fi> (49621bf0ef)
+
+ lib-storage: Use a separate auth-userdb connection for iterating through
+ users. This is required because the auth-userdb connection is also wanted in
+ the middle of the iteration to do USER lookups.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2013-08-05 22:15:08 +0300 Timo Sirainen <tss@iki.fi> (769dea751e)
+
+ lib-auth: Previous changes didn't set the current ioloop correctly, causing
+ problems.
+
+
+M src/lib-auth/auth-master.c
+
+2013-08-05 22:13:28 +0300 Timo Sirainen <tss@iki.fi> (57434d8add)
+
+ doveadm: Minor memory leak fixes at deinit.
+
+
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+
+2013-08-05 21:47:11 +0300 Timo Sirainen <tss@iki.fi> (3d422a9830)
+
+ lib-auth: auth_master_user_list_*() shouldn't create ioloop if it already
+ exists.
+
+
+M src/lib-auth/auth-master.c
+
+2013-08-05 20:45:42 +0300 Timo Sirainen <tss@iki.fi> (f600530d7a)
+
+ maildir: mailbox_create() was returning 1 instead of 0 on success. This
+ broke acl plugin's check to copy the ACLs to the newly created mailbox.
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2013-08-05 20:33:01 +0300 Timo Sirainen <tss@iki.fi> (c8ef5fc9c4)
+
+ dns: Use EAI_NONAME, not EAI_ADDRFAMILY to indicate "no addresses".
+
+
+M src/dns/dns-client.c
+M src/lib/net.h
+
+2013-08-05 20:27:09 +0300 Timo Sirainen <tss@iki.fi> (a97a3ce5d8)
+
+ mbox: Don't use file_set_size() to grow mbox file size. posix_fallocate()
+ apparently grows file size in 4kB blocks in GFS2 causing extra NULs to be
+ written. The mbox file rarely needs to grow so much that there's any point
+ in using any optimizations for it.
+
+ Besides, this was the last place where file_set_size() was used. If no
+ further use can be found for it, it could be removed entirely.
+
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2013-08-05 20:12:10 +0300 Timo Sirainen <tss@iki.fi> (0c26faa13d)
+
+ lib-auth: Another crashfix to auth_master_user_list_*()
+
+
+M src/lib-auth/auth-master.c
+
+2013-08-05 15:52:52 +0000 Pascal Volk <user@localhost.localdomain.org> (cae843989b)
+
+ man: Added doveadm-exec.1.
+
+
+M .hgignore
+M doc/man/Makefile.am
+A doc/man/doveadm-exec.1.in
+M doc/man/doveadm.1.in
+M doc/man/sed.sh
+
+2013-08-05 17:38:13 +0300 Timo Sirainen <tss@iki.fi> (1e9ea952b2)
+
+ lib-storage: Fixed listing INBOX's children with LAYOUT=fs and non-mbox
+ format.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2013-08-05 16:59:21 +0300 Timo Sirainen <tss@iki.fi> (68e8c4ace2)
+
+ net_gethosterror(): Never return NULL.
+
+
+M src/lib/net.c
+
+2013-08-05 16:58:01 +0300 Timo Sirainen <tss@iki.fi> (ebbb3d4af5)
+
+ lib-dns, dns: Don't use IPv4-only error codes
+
+
+M src/dns/dns-client.c
+M src/lib-dns/dns-lookup.c
+M src/lib/net.h
+
+2013-08-05 14:06:23 +0300 Timo Sirainen <tss@iki.fi> (23079bf0a6)
+
+ lib-index: Replaced assert-crash with "index corrupted" error.
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2013-08-05 13:46:37 +0300 Timo Sirainen <tss@iki.fi> (5efcaaace9)
+
+ lib-index: Silently ignore next_uid shrinking without treating them as
+ errors.
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2013-08-04 20:33:05 +0300 Timo Sirainen <tss@iki.fi> (069def4dc3)
+
+ lib-http: Fixed redirect request target encoding and NULL target. Patch by
+ Stephan Bosch.
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+
+2013-08-04 18:34:43 +0300 Timo Sirainen <tss@iki.fi> (fd1317a618)
+
+ imap: Various APPEND/CATENATE error handling bugfixes. Found using Apple's
+ catenate.pl test script.
+
+
+M src/imap/cmd-append.c
+
+2013-08-04 14:03:54 +0300 Timo Sirainen <tss@iki.fi> (9a449fb205)
+
+ lib-http: Ignore trailing whitespace in headers. Patch by Stephan Bosch.
+
+
+M src/lib-http/http-header-parser.c
+M src/lib-http/test-http-header-parser.c
+
+2013-08-04 12:16:09 +0300 Timo Sirainen <tss@iki.fi> (cddbeddaef)
+
+ lib-http: Don't crash when receiving 304 or a redirect without Location:
+ header. Patch by Stephan Bosch
+
+
+M src/lib-http/http-client-connection.c
+
+2013-08-03 21:33:25 +0300 Timo Sirainen <tss@iki.fi> (690ed6aab5)
+
+ man: Fixed doveadm-deduplicate.1 Patch by Pascal Volk
+
+
+M doc/man/doveadm-deduplicate.1.in
+
+2013-08-03 15:26:58 +0300 Timo Sirainen <tss@iki.fi> (2f45711505)
+
+ Makefile: Fixed previous commit.
+
+
+M doc/man/Makefile.am
+
+2013-08-02 19:03:32 +0000 Pascal Volk <user@localhost.localdomain.org> (0610b6dfbd)
+
+ man: Added doveadm-deduplicate.1 and doveadm-flags.1.
+
+
+M .hgignore
+M doc/man/Makefile.am
+A doc/man/doveadm-deduplicate.1.in
+A doc/man/doveadm-flags.1.in
+M doc/man/doveadm.1.in
+
+2013-08-02 16:20:08 +0300 Timo Sirainen <tss@iki.fi> (209335fbc1)
+
+ doveadm flags: Fixed help text for subcommands.
+
+
+M src/doveadm/doveadm-mail-flags.c
+
+2013-08-02 15:19:22 +0300 Timo Sirainen <tss@iki.fi> (d28a4f3578)
+
+ quota-status: Added quota_status_toolarge message for mails larger than
+ user's quota limit. Based on patch by Ulrich Zehl
+
+
+M src/plugins/quota/quota-status.c
+
+2013-08-02 15:14:39 +0300 Timo Sirainen <tss@iki.fi> (cf0184bf14)
+
+ quota-status: Removed extra newlines from default quota_status_overquota
+ message. Patch by Ulrich Zehl
+
+
+M src/plugins/quota/quota-status.c
+
+2013-08-01 15:35:35 +0300 Timo Sirainen <tss@iki.fi> (af4cf95402)
+
+ ssl: Log SSL "close notify" alerts as debug messages, not warnings. They are
+ clean shutdown messages after all.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/login-common/ssl-proxy-openssl.c
+
+2013-08-01 15:00:59 +0300 Timo Sirainen <tss@iki.fi> (9a30df5ac8)
+
+ quota: Don't log errors about missing namespaces for autocreated shared
+ mail_users.
+
+
+M src/plugins/quota/quota-storage.c
+
+2013-08-01 14:23:33 +0300 Timo Sirainen <tss@iki.fi> (20dca965f4)
+
+ lib-storage: Improved seteuid() error messages a bit.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2013-08-01 14:18:24 +0300 Timo Sirainen <tss@iki.fi> (49fd8c950e)
+
+ lib-storage: If settings can't be read because of permission denied, restart
+ process.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2013-08-01 14:18:00 +0300 Timo Sirainen <tss@iki.fi> (cfa178a42c)
+
+ lib-master: Added master_service_settings_output.permission_denied error
+ flag.
+
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+
+2013-08-01 13:51:57 +0300 Timo Sirainen <tss@iki.fi> (1f73636296)
+
+ lib-master: If config socket closes, retry connecting to it automatically.
+
+
+M src/lib-master/master-service-settings.c
+
+2013-08-01 13:42:51 +0300 Timo Sirainen <tss@iki.fi> (b7b9d4be2a)
+
+ lib-master: If MASTER_SERVICE_FLAG_KEEP_CONFIG_OPEN is set, open the config
+ socket before dropping privileges.
+
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2013-08-01 13:31:25 +0300 Timo Sirainen <tss@iki.fi> (1cb065514f)
+
+ lib-storage: Ignore MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP if service user
+ isn't root.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2013-07-30 13:26:40 +0300 Timo Sirainen <tss@iki.fi> (c5acac1fd4)
+
+ quota-status: Keep the config connection open.
+
+
+M src/plugins/quota/quota-status.c
+
+2013-07-30 13:26:07 +0300 Timo Sirainen <tss@iki.fi> (984e5c9128)
+
+ lib-storage: With temporary privilege dropping, switch to root before doing
+ config lookup. This fixes the problem of not having enough permissions to
+ connect to the config socket.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2013-07-30 13:09:52 +0300 Timo Sirainen <tss@iki.fi> (28abd7c6e7)
+
+ lib-auth: Don't crash in auth_master_user_list_*() if socket can't be
+ connected to.
+
+
+M src/lib-auth/auth-master.c
+
+2013-07-29 23:22:46 +0300 Timo Sirainen <tss@iki.fi> (468c28dfb0)
+
+ director: Avoid infinite SYNC loops if the originating director goes away
+ for a long time.
+
+
+M src/director/director-connection.c
+M src/director/director-host.h
+M src/director/director.c
+M src/director/director.h
+
+2013-07-29 22:49:17 +0300 Timo Sirainen <tss@iki.fi> (8621be3846)
+
+ director: Update existing users' timestamps during handshake.
+
+
+M src/director/director-connection.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+
+2013-07-29 22:19:03 +0300 Timo Sirainen <tss@iki.fi> (c9b3bbfb60)
+
+ director: Fixes to director-test.
+
+
+M src/director/director-test.c
+M src/director/director-test.sh
+
+2013-07-29 22:11:46 +0300 Timo Sirainen <tss@iki.fi> (c6a5305674)
+
+ director: Fixes to handling users near expiration.
+
+
+M src/director/director-connection.c
+
+2013-07-29 22:10:01 +0300 Timo Sirainen <tss@iki.fi> (06fc824305)
+
+ director: Log director disconnection errno correctly.
+
+
+M src/director/director-connection.c
+
+2013-07-29 22:08:26 +0300 Timo Sirainen <tss@iki.fi> (2dcf09e68a)
+
+ director: Expire users a bit more correctly. Also make sure that the "user
+ near expiring" interval is at least 3 seconds in case director_user_expire
+ is very low.
+
+
+M src/director/user-directory.c
+
+2013-07-29 22:06:13 +0300 Timo Sirainen <tss@iki.fi> (935960e455)
+
+ director: Don't allow director_user_expire to be less than 10 seconds.
+
+
+M src/director/director-settings.c
+
+2013-07-17 10:23:21 +0300 Timo Sirainen <tss@iki.fi> (88df77efd9)
+
+ liblib: connection_disconnect() didn't close fd_out if it was different from
+ fd_in.
+
+
+M src/lib/connection.c
+
+2013-07-12 03:06:26 +0300 Timo Sirainen <tss@iki.fi> (df6c7293d5)
+
+ director: Don't log an error if login connection gets closed with
+ ECONNRESET.
+
+
+M src/director/login-connection.c
+
+2013-07-12 03:01:31 +0300 Timo Sirainen <tss@iki.fi> (c87221e8d2)
+
+ auth: With multiple passdbs the previous passdb's userdb_* fields weren't
+ cleared.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2013-07-12 02:43:43 +0300 Timo Sirainen <tss@iki.fi> (a138ac1213)
+
+ auth: If blocking passdb returned only NULLs for userdb_ fields, use userdb
+ prefetch anyway.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-worker-client.c
+
+2013-07-12 02:29:00 +0300 Timo Sirainen <tss@iki.fi> (1ce47e48d7)
+
+ auth: Use fewer syscalls for sending user list.
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-worker-client.c
+
+2013-07-12 02:26:44 +0300 Timo Sirainen <tss@iki.fi> (0f4fb03953)
+
+ lib-auth: auth_master_user_list_*() no longer reads the entire user list
+ into memory.
+
+
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+
+2013-07-12 02:17:31 +0300 Timo Sirainen <tss@iki.fi> (4dc81fe17c)
+
+ lib-storage: mail_storage_service_all_init() no longer returns total number
+ of users. In preperation for removing the count functionality, since it
+ requires reading all the users into memory for it to work.
+
+ This also required removing the /total from verbosity counter with doveadm
+ -A.
+
+M src/doveadm/doveadm-mail.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2013-07-12 01:57:45 +0300 Timo Sirainen <tss@iki.fi> (3340fc9aea)
+
+ auth: Avoid wasting data stack when iterating users.
+
+
+M src/auth/auth-worker-client.c
+
+2013-07-12 01:39:47 +0300 Timo Sirainen <tss@iki.fi> (be240f6731)
+
+ man: Updated doveadm-director man page.
+
+
+M doc/man/doveadm-director.1.in
+
+2013-07-12 01:36:41 +0300 Timo Sirainen <tss@iki.fi> (e3ffd73c8f)
+
+ lib-ssl-iostream: Crashfix for recent change.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2013-07-11 14:29:05 +0300 Timo Sirainen <tss@iki.fi> (7e59e4fdc8)
+
+ lib-http: Added a very dummy test-http-server
+
+
+M src/lib-http/Makefile.am
+A src/lib-http/test-http-server.c
+
+2013-07-11 14:18:42 +0300 Timo Sirainen <tss@iki.fi> (b72c336309)
+
+ lib-http: Implemented http-request-parser for HTTP servers. Moved code
+ common with it and http-response-parser to http-message-parser.
+
+
+M src/lib-http/Makefile.am
+A src/lib-http/http-message-parser.c
+A src/lib-http/http-message-parser.h
+A src/lib-http/http-request-parser.c
+A src/lib-http/http-request-parser.h
+M src/lib-http/http-response-parser.c
+
+2013-07-11 12:54:02 +0300 Timo Sirainen <tss@iki.fi> (1920ef85b6)
+
+ lib-http: Moved struct http_response* to http-response.h Also http-client.h
+ now #includes only http-response.h
+
+
+M src/lib-http/Makefile.am
+M src/lib-http/http-client.h
+M src/lib-http/http-response-parser.h
+A src/lib-http/http-response.h
+
+2013-07-11 10:25:32 +0300 Timo Sirainen <tss@iki.fi> (bfb3d8c8f2)
+
+ lib-http: Minor change to make sure http_response_header.size is always
+ correct. The current http-header-parser already guaranteed that it is, but
+ this change just adds extra guarantees that it won't break in future.
+ Besides, this change improves the performance slightly by avoiding strlen().
+
+
+M src/lib-http/http-response-parser.c
+
+2013-07-11 10:19:43 +0300 Timo Sirainen <tss@iki.fi> (db37e13db9)
+
+ lib-http: Minor fix/cleanup to detecting stream errors when skipping
+ payload.
+
+
+M src/lib-http/http-response-parser.c
+
+2013-07-11 10:17:49 +0300 Timo Sirainen <tss@iki.fi> (29349562ba)
+
+ lib-http: Updated test-http-response-parser
+
+
+M src/lib-http/test-http-response-parser.c
+
+2013-07-11 09:33:13 +0300 Timo Sirainen <tss@iki.fi> (d1f1ad02d1)
+
+ lib-http: test-http-header-parser makes sure the parser works one byte at a
+ time.
+
+
+M src/lib-http/test-http-header-parser.c
+
+2013-07-11 09:29:36 +0300 Timo Sirainen <tss@iki.fi> (7d2147734c)
+
+ lib-http: Fixed previous test-http-response-parser change.
+
+
+M src/lib-http/test-http-response-parser.c
+
+2013-07-11 09:25:53 +0300 Timo Sirainen <tss@iki.fi> (e904d473a0)
+
+ lib-http: Fixed handling responses whose header arrives in smaller pieces.
+
+
+M src/lib-http/http-response-parser.c
+M src/lib-http/test-http-response-parser.c
+
+2013-07-11 09:23:14 +0300 Timo Sirainen <tss@iki.fi> (1bc12a53dd)
+
+ lib-http: Simplify http response status-line parsing code. Also by not using
+ a temporary string buffer the istream can at least in theory limit the
+ maximum status-line length (=max memory usage).
+
+
+M src/lib-http/http-response-parser.c
+
+2013-07-11 00:30:28 +0300 Timo Sirainen <tss@iki.fi> (0ffbb284f0)
+
+ lib-http: Http requests weren't freed when connection was aborted. Patch by
+ Stephan Bosch.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-07-11 00:28:54 +0300 Timo Sirainen <tss@iki.fi> (d53c8496d7)
+
+ lib-ssl-iostream: Compiler warning fix
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2013-07-10 10:01:26 +0300 Timo Sirainen <tss@iki.fi> (cc293ffe79)
+
+ lib-ssl-iostreams: ssl_protocols setting supports now TLSv1.1 and TLSv1.2
+ values.
+
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+
+2013-07-10 09:43:19 +0300 Timo Sirainen <tss@iki.fi> (002442c41f)
+
+ auth: Fixed crash for some lookups that didn't specify service name.
+
+
+M src/auth/auth.c
+
+2013-07-10 09:37:06 +0300 Timo Sirainen <tss@iki.fi> (52ec61a8d4)
+
+ Maildir++ quota: When recreating, don't use maildirsize.lock file. The point
+ was never to even try to lock it, it just used to be an easier API to create
+ the file. Nowadays safe_mkstemp_hostpid_group() works just as easily. This
+ normally doesn't matter, but apparently Exim+CPanel leaves maildirsize.lock
+ files lying around, causing Dovecot to not update maildirsize.
+
+
+M src/plugins/quota/quota-maildir.c
+
+2013-07-10 08:58:36 +0300 Timo Sirainen <tss@iki.fi> (231a59ca2b)
+
+ lib-ssl-iostream: Added support for ECDH/ECDHE cipher suites Based on the
+ login-common patch by David Hicks.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2013-07-10 08:47:49 +0300 Timo Sirainen <tss@iki.fi> (1a193d25df)
+
+ login-common: Compiler warning fix with OpenSSL v1.0.2+
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2013-07-10 08:42:09 +0300 Timo Sirainen <tss@iki.fi> (524d89a405)
+
+ lib-http: Minor comment update.
+
+
+M src/lib-http/http-client-private.h
+
+2013-07-06 14:46:16 +1000 David Hicks <david@hicks.id.au> (8137a5d229)
+
+ login-common: Add support for ECDH/ECDHE cipher suites
+
+ ECDH temporary key parameter selection must be performed during OpenSSL
+ context initialisation before ECDH and ECDHE cipher suites can be used.
+
+ OpenSSL >= 1.0.2 automatically handles ECDH temporary key parameter
+ selection. For OpenSSL < 1.0.2 we must manually specify a named elliptic
+ curve that Dovecot will use to generate an ephemeral key pair. By default we
+ try to use the same named curve as that used in the server's private EC key
+ file. If this attempt fails, a fall back curve of NIST P-384 (secp384r1) is
+ used instead.
+
+ RFC 6460 states that NIST P-384 MUST be used for cipher suites that include
+ AES-256. For cipher suites that include AES-128, RFC 6460 states that NIST
+ P-256 MUST be used. No matter which curve is used as a fall back option,
+ Dovecot will be non-compliant. The reason for selecting NIST P-384 as a fall
+ back curve is to ensure that the non-compliance is in the form of providing
+ too great a level of security for AES-128 cipher suites rather than too
+ little security for AES-256 cipher suites.
+
+M src/login-common/ssl-proxy-openssl.c
+
+2013-07-10 06:54:57 +0300 Timo Sirainen <tss@iki.fi> (8e1dbcb9b2)
+
+ imapc: Reorganize code so that imapc_list works without imapc_storage. Most
+ importantly fixes crashes when imapc_list is trying to lookup hierarchy
+ separator before storage is created.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2013-07-10 06:05:20 +0300 Timo Sirainen <tss@iki.fi> (9bc29938d8)
+
+ imapc: Code cleanup: Don't access imapc settings via storage.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+
+2013-07-10 05:57:36 +0300 Timo Sirainen <tss@iki.fi> (4ee385fb4e)
+
+ imapc: Minor code cleanup.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2013-07-10 05:37:01 +0300 Timo Sirainen <tss@iki.fi> (190ba2ebc8)
+
+ auth: If passdb ldap returned no values for userdb_ fields, use userdb
+ prefetch anyway.
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+M src/auth/passdb-ldap.c
+M src/auth/userdb-ldap.c
+
+2013-07-10 05:29:45 +0300 Timo Sirainen <tss@iki.fi> (b4f35fa953)
+
+ auth: If passdb sql returned only NULLs for userdb_ fields, use userdb
+ prefetch anyway.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/passdb-sql.c
+
+2013-07-10 05:19:22 +0300 Timo Sirainen <tss@iki.fi> (b8394a3bad)
+
+ pop3: Avoid assert-crash if client disconnects during LIST.
+
+
+M src/pop3/pop3-commands.c
+
+2013-07-10 03:27:52 +0300 Timo Sirainen <tss@iki.fi> (b3289b68d4)
+
+ lib-http: Fix/cleanup to handling connect failures. There was some kind of
+ double-error handling which messed up things.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2013-07-10 02:50:04 +0300 Timo Sirainen <tss@iki.fi> (e0bbc29e16)
+
+ lib-http: Fixed tracking number of pending connections to host-port.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2013-07-10 02:31:05 +0300 Timo Sirainen <tss@iki.fi> (6d2a126f5c)
+
+ lib-http: Don't assert-crash in case of somewhat unexpected failing
+ connections.
+
+
+M src/lib-http/http-client-host.c
+
+2013-07-10 01:44:40 +0300 Timo Sirainen <tss@iki.fi> (1a64096dcb)
+
+ lib-http: Always try to connect to host's all IPs when connections fail.
+ Previously this was done only when the new connections started from the
+ first IP.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+
+2013-06-28 19:48:37 +0300 Timo Sirainen <tss@iki.fi> (d29c3ac4da)
+
+ dns, lib-dns: Added support for async DNS PTR lookups.
+
+
+M src/dns/dns-client.c
+M src/lib-dns/dns-lookup.c
+M src/lib-dns/dns-lookup.h
+
+2013-06-28 19:48:15 +0300 Timo Sirainen <tss@iki.fi> (684b65874c)
+
+ Added net_gethostbyaddr() for DNS PTR lookups. This code assumes we have
+ IPv6 capability. Perhaps we should just require it everywhere already..
+
+
+M src/lib/net.c
+M src/lib/net.h
+
+2013-06-27 23:07:20 +0300 Timo Sirainen <tss@iki.fi> (edbfc217b0)
+
+ lib-http: Added more debug messages.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-peer.c
+
+2013-06-27 22:49:50 +0300 Timo Sirainen <tss@iki.fi> (798915d039)
+
+ lib-http: When successfully connected to a peer, don't drop the peer's
+ pending connections. They could have been intentionally created for other
+ urgent requests.
+
+
+M src/lib-http/http-client-host.c
+
+2013-06-27 20:37:46 +0300 Timo Sirainen <tss@iki.fi> (270f75edb8)
+
+ lib-http: Don't crash if payload stream is referenced by caller after its
+ connection is freed.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-06-27 20:32:01 +0300 Timo Sirainen <tss@iki.fi> (06b1ec1b1b)
+
+ lib-http: Remove request timeout from being used during payload read. The
+ reading is done by the lib-http caller, which should have its own timeouts.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-06-27 20:28:51 +0300 Timo Sirainen <tss@iki.fi> (fe681e6db7)
+
+ lib-http: Call request's destroy callback always, not just on success.
+
+
+M src/lib-http/http-client-request.c
+
+2013-06-27 20:27:57 +0300 Timo Sirainen <tss@iki.fi> (fd0ec0a782)
+
+ lib-http: If connection times out, set the stream's errno to ETIMEDOUT in
+ case it's used.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-06-27 20:26:50 +0300 Timo Sirainen <tss@iki.fi> (8615a72651)
+
+ lib-http: When connection is freed, abort also the pending request.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-06-27 20:26:13 +0300 Timo Sirainen <tss@iki.fi> (92908d748f)
+
+ lib-http: Timeouts were being handled wrong/leaked by ioloop switching.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-06-27 20:24:45 +0300 Timo Sirainen <tss@iki.fi> (6a33d63856)
+
+ lib-http: Minor code cleanup.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2013-06-27 18:04:04 +0300 Timo Sirainen <tss@iki.fi> (659e3b4162)
+
+ lib-http: Fixed hang when many connections were being created and closed.
+
+
+M src/lib-http/http-client-peer.c
+
+2013-06-27 18:03:38 +0300 Timo Sirainen <tss@iki.fi> (17cd0e0963)
+
+ lib-http: Added http_client_get_pending_request_count()
+
+
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2013-06-26 22:23:20 +0300 Timo Sirainen <tss@iki.fi> (fc5b80dc1f)
+
+ dsync: Recent changes broke remote dsync
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-06-26 21:35:37 +0300 Timo Sirainen <tss@iki.fi> (bc4cb06efd)
+
+ config: Give a somewhat better warning for when using protocols=imaps or
+ pop3s.
+
+
+M src/config/old-set-parser.c
+
+2013-06-26 20:53:01 +0300 Timo Sirainen <tss@iki.fi> (36723cf206)
+
+ dsync: Added -1 parameter to do a "one way sync" without reverting changes.
+ This can be useful during migration when you don't want to delete any mails,
+ but you also don't want to send changes to the old server either.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-06-26 20:03:26 +0300 Timo Sirainen <tss@iki.fi> (f6da39b6a7)
+
+ dsync: Send DSYNC_BRAIN_FLAG_NO_MAIL_SYNC via ibc-stream to slave brain.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-06-26 19:47:40 +0300 Timo Sirainen <tss@iki.fi> (1ee74d70bb)
+
+ pop3c: Fixed mail saving to fail nicely, not assert-crash.
+
+
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2013-06-26 19:33:38 +0300 Timo Sirainen <tss@iki.fi> (34b8b14ce0)
+
+ dsync: Fixed syncing when one of the backends supported GUIDs.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-06-26 15:44:08 +0300 Timo Sirainen <tss@iki.fi> (2e708f348f)
+
+ pop3c: Return error instead of crashing when trying to save a mail.
+
+
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2013-06-26 15:29:43 +0300 Timo Sirainen <tss@iki.fi> (173fc9ed37)
+
+ dsync: Fixed handling expunges when GUIDs aren't supported by the
+ backend(s).
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-06-26 14:37:34 +0300 Timo Sirainen <tss@iki.fi> (de754cb78f)
+
+ lib-sasl: Use dsasl_ prefix so we don't conflict with Cyrus SASL library.
+
+
+M src/imap-login/imap-proxy.c
+M src/lib-sasl/Makefile.am
+A src/lib-sasl/dsasl-client-private.h
+A src/lib-sasl/dsasl-client.c
+A src/lib-sasl/dsasl-client.h
+M src/lib-sasl/mech-login.c
+M src/lib-sasl/mech-plain.c
+D src/lib-sasl/sasl-client-private.h
+D src/lib-sasl/sasl-client.c
+D src/lib-sasl/sasl-client.h
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/main.c
+M src/pop3-login/pop3-proxy.c
+
+2013-06-25 16:03:04 +0300 Timo Sirainen <tss@iki.fi> (0d439f21c0)
+
+ dsync: Don't log index errors if modseq points beyond the current view.
+
+
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+
+2013-06-25 15:48:24 +0300 Timo Sirainen <tss@iki.fi> (fa8d22c527)
+
+ mdbox: Resize mdbox index header if necessary also when rebuilding indexes.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2013-06-25 15:47:48 +0300 Timo Sirainen <tss@iki.fi> (3b8a19184c)
+
+ lib-index: Assert-crash instead of writing a broken transaction with too
+ large ext header update.
+
+
+M src/lib-index/mail-index-transaction-export.c
+
+2013-06-25 15:46:50 +0300 Timo Sirainen <tss@iki.fi> (c3cb859d93)
+
+ lib-index: Don't write a broken transaction if extension resize is done at
+ first use.
+
+
+M src/lib-index/mail-index-transaction-export.c
+
+2013-06-25 02:23:02 +0300 Timo Sirainen <tss@iki.fi> (579bd263cb)
+
+ Added signature for changeset 4b3c9c3e4fb8
+
+
+M .hgsigs
+
+2013-06-25 02:22:59 +0300 Timo Sirainen <tss@iki.fi> (940095f1ca)
+
+ Added tag 2.2.4 for changeset 4b3c9c3e4fb8
+
+
+M .hgtags
+
+2013-06-25 02:22:58 +0300 Timo Sirainen <tss@iki.fi> (483b379a43)
+
+ Released v2.2.4.
+
+
+M NEWS
+M configure.ac
+
+2013-06-25 01:24:51 +0300 Timo Sirainen <tss@iki.fi> (3605fb862d)
+
+ Make static analyzer happier.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2013-06-25 01:23:17 +0300 Timo Sirainen <tss@iki.fi> (fad1d96662)
+
+ doveadm deduplicate: Fixed error handling.
+
+
+M src/doveadm/doveadm-mail-deduplicate.c
+
+2013-06-25 00:10:39 +0300 Timo Sirainen <tss@iki.fi> (bc278f2c03)
+
+ quota: Fixed quota_rule with non-uppercase INBOX.
+
+
+M src/plugins/quota/quota.c
+
+2013-06-24 23:33:59 +0300 Timo Sirainen <tss@iki.fi> (5324117274)
+
+ imap-login: If CAPABILITY is already in server banner, don't ask for it
+ again.
+
+
+M src/imap-login/imap-proxy.c
+
+2013-06-24 23:14:35 +0300 Timo Sirainen <tss@iki.fi> (723f7be99e)
+
+ dsync: Fixed "export:/count" value in verbose_proctitle=yes
+
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2013-06-24 23:10:20 +0300 Timo Sirainen <tss@iki.fi> (4780c036a0)
+
+ mbox: Avoid assert-crashing by too optimistically upgrading a lock to
+ write-lock.
+
+
+M src/lib-storage/index/mbox/mbox-lock.c
+
+2013-06-24 23:06:45 +0300 Timo Sirainen <tss@iki.fi> (08bbf28bf9)
+
+ dsync: Don't crash at deinit when dsync fails early.
+
+
+M src/doveadm/dsync/dsync-brain.c
+
+2013-06-24 22:25:47 +0300 Timo Sirainen <tss@iki.fi> (3c73d88436)
+
+ dsync: Don't try to find mailboxes from unwanted namespaces.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+
+2013-06-24 16:37:48 +0300 Timo Sirainen <tss@iki.fi> (4725569157)
+
+ dsync: If verbose_proctitle=yes, show the current state in it.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-export.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2013-06-24 16:36:32 +0300 Timo Sirainen <tss@iki.fi> (e7ee14568b)
+
+ dsync: State names were wrong in debug/error messages.
+
+
+M src/doveadm/dsync/dsync-brain.c
+
+2013-06-18 18:56:15 +0300 Timo Sirainen <tss@iki.fi> (4809537f0c)
+
+ lib-storage: Fixed crash with some autocreated (e.g. shared) namespaces.
+
+
+M src/lib-storage/mailbox-list.c
+
+2013-06-18 18:54:20 +0300 Timo Sirainen <tss@iki.fi> (1127f3e1ad)
+
+ sdbox: If sdbox header is corrupted, resize it to make sure its size is
+ correct.
+
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2013-06-18 17:05:20 +0300 Timo Sirainen <tss@iki.fi> (138495d02a)
+
+ doveadm: Added deduplicate command. By default it deduplicates only by
+ GUIDs. With -m parameter it deduplicates by Message-Id: header.
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-mail-deduplicate.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2013-06-18 15:14:42 +0300 Timo Sirainen <tss@iki.fi> (6eb7938cd3)
+
+ doveadm: Added "flags" command to modify messages' flags.
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-mail-flags.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2013-06-18 13:00:23 +0300 Timo Sirainen <tss@iki.fi> (a81f34a27b)
+
+ mdbox: If mdbox header is corrupted, resize it to make sure its size is
+ correct.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+
+2013-06-18 12:59:17 +0300 Timo Sirainen <tss@iki.fi> (0b2d4626c6)
+
+ lib-index: Don't bother tracking if header/records were changed. They aren't
+ really needed. When mail_index_write() is called, we already know we want to
+ update the index.
+
+
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-write.c
+
+2013-06-18 12:56:27 +0300 Timo Sirainen <tss@iki.fi> (8c6cb4ded4)
+
+ lib-index: If error is found from transaction log, update dovecot.index so
+ it won't be read again.
+
+
+M src/lib-index/mail-index-sync.c
+
+2013-06-18 12:15:50 +0300 Timo Sirainen <tss@iki.fi> (d581fad4d4)
+
+ lib-sasl: API usage comment update
+
+
+M src/lib-sasl/sasl-client.h
+
+2013-06-18 11:59:21 +0300 Timo Sirainen <tss@iki.fi> (26681e7183)
+
+ imap/pop3 proxy: Master user logins were broken by lib-sasl change.
+
+
+M src/imap-login/imap-proxy.c
+M src/pop3-login/pop3-proxy.c
+
+2013-06-17 16:37:46 +0300 Timo Sirainen <tss@iki.fi> (4e4c91642c)
+
+ pop3: Fixed crash at deinit
+
+
+M src/pop3/pop3-client.c
+
+2013-06-17 14:39:59 +0300 Timo Sirainen <tss@iki.fi> (4dccd2090d)
+
+ dsync: Minor fixes to checking if namespace is wanted to be synced.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2013-06-17 00:03:16 +0300 Timo Sirainen <tss@iki.fi> (d229d26d26)
+
+ Make static analyzer happier.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+M src/imap-login/imap-proxy.c
+M src/pop3-login/pop3-proxy.c
+
+2013-06-17 00:31:22 +0300 Timo Sirainen <tss@iki.fi> (e6eefacd1a)
+
+ Added signature for changeset 5d9f52c9a287
+
+
+M .hgsigs
+
+2013-06-17 00:31:18 +0300 Timo Sirainen <tss@iki.fi> (8bdb49cc61)
+
+ Added tag 2.2.3 for changeset 5d9f52c9a287
+
+
+M .hgtags
+
+2013-06-17 00:31:18 +0300 Timo Sirainen <tss@iki.fi> (dc4d2077ac)
+
+ Released v2.2.3.
+
+
+M NEWS
+M TODO
+M configure.ac
+
+2013-06-16 23:56:28 +0300 Timo Sirainen <tss@iki.fi> (737ddab12d)
+
+ mdbox: Minor fix to handling corrupted mdbox header.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+
+2013-06-16 21:25:39 +0300 Timo Sirainen <tss@iki.fi> (917f556f14)
+
+ fts-lucene: Fixed building without libstemmer
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2013-06-16 21:15:42 +0300 Timo Sirainen <tss@iki.fi> (6b94ad2467)
+
+ lib-imap: Fixed parsing literal8 in some situations.
+
+
+M src/lib-imap/imap-parser.c
+
+2013-06-16 21:08:40 +0300 Timo Sirainen <tss@iki.fi> (a3736354b7)
+
+ istream-attachment-extractor: Fixed handling attachment as the message body
+ without MIME. Don't crash at the end after parsing the base64 data.
+
+
+M src/lib-mail/istream-attachment-extractor.c
+
+2013-06-16 20:15:42 +0300 Timo Sirainen <tss@iki.fi> (b9dc21a944)
+
+ lib-storage: mail_storage_service_lookup() ignored input->service.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2013-06-14 02:14:09 +0300 Timo Sirainen <tss@iki.fi> (d39ea6eeb3)
+
+ Compiler warning fix.
+
+
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+
+2013-06-14 00:23:45 +0300 Timo Sirainen <tss@iki.fi> (28542ffed6)
+
+ dsync: Fixed syncing renaming mailboxes with children. So that the
+ childrens' rename timestamps are at least as high as their parents'.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+
+2013-06-14 00:16:58 +0300 Timo Sirainen <tss@iki.fi> (b67692d132)
+
+ dsync: Don't try to delete nonexistent mailbox directories.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2013-06-14 00:16:14 +0300 Timo Sirainen <tss@iki.fi> (c32a2a98d7)
+
+ dsync: Avoid wasting data stack on larger renames.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2013-06-13 23:31:00 +0300 Timo Sirainen <tss@iki.fi> (c8fff8f35c)
+
+ quota-status: Fixed log prefix.
+
+
+M src/plugins/quota/quota-status.c
+
+2013-06-13 23:22:20 +0300 Timo Sirainen <tss@iki.fi> (b966acda93)
+
+ lib-storage: Fixed crash with listing shared mailboxes.
+
+
+M src/lib-storage/index/shared/shared-list.c
+
+2013-06-13 18:54:07 +0300 Timo Sirainen <tss@iki.fi> (0cb7298039)
+
+ fts-solr: Do only soft commits. Use a cronjob to do hard commits.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2013-06-13 18:53:22 +0300 Timo Sirainen <tss@iki.fi> (21279888be)
+
+ solr-schema.xml: More updates for Solr v4.x and hopefully with better
+ filters.
+
+
+M doc/solr-schema.xml
+
+2013-06-13 17:55:24 +0300 Timo Sirainen <tss@iki.fi> (3ea055b5ae)
+
+ solr-schema.xml: Replaced EnglishPorterFilterFactory with
+ SnowballPorterFilterFactory
+
+
+M doc/solr-schema.xml
+
+2013-06-13 06:07:54 +0300 Timo Sirainen <tss@iki.fi> (d6b3cfd855)
+
+ Call master_service_init_finish() only after all of the initialization is
+ done. This way if the init crashes, the master process will throttle a buggy
+ service.
+
+
+M src/anvil/main.c
+M src/auth/main.c
+M src/dict/main.c
+M src/director/director-test.c
+M src/director/main.c
+M src/doveadm/main.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/main.c
+M src/indexer/indexer-worker.c
+M src/indexer/indexer.c
+M src/ipc/main.c
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+M src/lmtp/main.c
+M src/log/main.c
+M src/plugins/quota/quota-status.c
+M src/pop3/main.c
+M src/replication/replicator/replicator.c
+M src/ssl-params/main.c
+M src/stats/main.c
+M src/util/script.c
+
+2013-06-13 05:29:07 +0300 Timo Sirainen <tss@iki.fi> (1729508f04)
+
+ imapc: Fixed list iteration when namespace and backend separators differed.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2013-06-13 05:27:30 +0300 Timo Sirainen <tss@iki.fi> (cf05592015)
+
+ mailbox_list_index=yes: Fixed list iteration when namespace and backend
+ separators differed.
+
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2013-06-13 04:35:06 +0300 Timo Sirainen <tss@iki.fi> (8ad7aa4ddf)
+
+ doveadm: Pass through the exit code from doveadm-server to client.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/server-connection.c
+M src/doveadm/server-connection.h
+
+2013-06-13 04:33:41 +0300 Timo Sirainen <tss@iki.fi> (a0ebe2a227)
+
+ dsync: Don't try to access mailboxes with no_mail_sync flag enabled.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+
+2013-06-13 03:26:22 +0300 Timo Sirainen <tss@iki.fi> (237a6211c7)
+
+ Memory leak fixes.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/main.c
+M src/lib-fs/fs-api.c
+
+2013-06-12 23:01:26 +0300 Timo Sirainen <tss@iki.fi> (70b67fc19d)
+
+ zlib: Enable only for storages that support
+ MAIL_STORAGE_CLASS_FLAG_BINARY_DATA
+
+
+M src/plugins/zlib/zlib-plugin.c
+
+2013-06-12 22:58:42 +0300 Timo Sirainen <tss@iki.fi> (d46a1e3f99)
+
+ lib-storage: Added MAIL_STORAGE_CLASS_FLAG_BINARY_DATA flag for classes.
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-storage-private.h
+
+2013-06-12 22:45:43 +0300 Timo Sirainen <tss@iki.fi> (1c3dc4c08c)
+
+ pop3-migration: struct mailbox must be freed before mail_storage is
+ destroyed. Fixes a memory leak where the user wasn't destroyed at all
+ because the mailbox still caused the user to be referenced.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2013-06-12 22:03:07 +0300 Timo Sirainen <tss@iki.fi> (29dcd13854)
+
+ lib-dict: Error handling fixes to asynchronous transactions.
+
+
+M src/lib-dict/dict-client.c
+
+2013-06-12 21:41:09 +0300 Timo Sirainen <tss@iki.fi> (8f948b86dc)
+
+ Moved "INBOX can't be deleted" check from lib-storage to IMAP-specific code.
+ Especially "doveadm backup" should be able to delete the INBOX if needed.
+
+
+M src/imap/cmd-delete.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2013-06-12 21:25:09 +0300 Timo Sirainen <tss@iki.fi> (3568ea090b)
+
+ lib-storage: Don't crash if backend doesn't have subscriptions file.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2013-06-12 21:16:06 +0300 Timo Sirainen <tss@iki.fi> (39a97e88db)
+
+ pop3c: Don't assert-crash if we can't do DNS lookup.
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2013-06-12 16:43:41 +0300 Timo Sirainen <tss@iki.fi> (d2cf652277)
+
+ pop3c: Return Date: header's date also as received and saved date. Mainly to
+ get dsync to not fail.
+
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+
+2013-06-12 16:29:17 +0300 Timo Sirainen <tss@iki.fi> (5d4a0dac04)
+
+ pop3c: Allow mailbox_update() for Dovecot's internal fields.
+
+
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2013-06-12 16:27:47 +0300 Timo Sirainen <tss@iki.fi> (82af96bbd5)
+
+ pop3c: Don't assert-crash when trying to list subscriptions.
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2013-06-12 16:20:19 +0300 Timo Sirainen <tss@iki.fi> (cf35bb040d)
+
+ pop3c: Give GUID to the INBOX to avoid crashes with dsync.
+
+
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2013-06-12 04:44:11 +0300 Timo Sirainen <tss@iki.fi> (fa2ac469f5)
+
+ zlib plugin: Removed explicit checks for maildir/sdbox/mdbox.
+
+
+M src/plugins/zlib/zlib-plugin.c
+
+2013-06-09 21:06:49 +0300 Timo Sirainen <tss@iki.fi> (4d0230cbb5)
+
+ man: Recent change accidentally changed LGPLv2.1 -> LGPLv2.2, reverted.
+
+
+M doc/man/dovecot.1.in
+
+2013-06-09 14:56:36 +0300 Timo Sirainen <tss@iki.fi> (5a6cbb69f1)
+
+ acl: Crashfix
+
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2013-06-09 14:53:31 +0300 Timo Sirainen <tss@iki.fi> (fedb7a111b)
+
+ lib-storage: Fixed crashes caused by recent "multiple storages per
+ namespace" change.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-namespace.c
+
+2013-06-09 06:03:34 +0300 Timo Sirainen <tss@iki.fi> (1093de32ef)
+
+ imap/pop3-login: Use libsasl for authenticating to remote IMAP/POP3 server.
+ Also passdb lookup can return "proxy_mech" extra field to specify which SASL
+ mechanism to use.
+
+
+M src/imap-login/Makefile.am
+M src/imap-login/client.h
+M src/imap-login/imap-proxy.c
+M src/login-common/Makefile.am
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/main.c
+M src/pop3-login/Makefile.am
+M src/pop3-login/pop3-proxy.c
+
+2013-06-09 06:02:14 +0300 Timo Sirainen <tss@iki.fi> (78919bf7cb)
+
+ Added initial libsasl for implementing client side SASL library. Initially
+ supports PLAIN and LOGIN mechanisms.
+
+
+M configure.ac
+M src/Makefile.am
+M src/lib-dovecot/Makefile.am
+A src/lib-sasl/Makefile.am
+A src/lib-sasl/mech-login.c
+A src/lib-sasl/mech-plain.c
+A src/lib-sasl/sasl-client-private.h
+A src/lib-sasl/sasl-client.c
+A src/lib-sasl/sasl-client.h
+
+2013-06-09 03:10:43 +0300 Timo Sirainen <tss@iki.fi> (f26ef7a3a5)
+
+ fts-lucene: Support normalize setting also without snowball. Added
+ no_snowball setting. Snowball seems to be converting / breaking words down
+ rather annoyingly.
+
+
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/fts-lucene-plugin.h
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2013-06-09 02:49:48 +0300 Timo Sirainen <tss@iki.fi> (d6745154e4)
+
+ man pages: Updated v2.1 -> v2.2
+
+
+M doc/man/doveadm-altmove.1.in
+M doc/man/doveadm-auth.1.in
+M doc/man/doveadm-director.1.in
+M doc/man/doveadm-dump.1.in
+M doc/man/doveadm-expunge.1.in
+M doc/man/doveadm-fetch.1.in
+M doc/man/doveadm-force-resync.1.in
+M doc/man/doveadm-help.1.in
+M doc/man/doveadm-import.1.in
+M doc/man/doveadm-index.1.in
+M doc/man/doveadm-instance.1.in
+M doc/man/doveadm-kick.1.in
+M doc/man/doveadm-log.1.in
+M doc/man/doveadm-mailbox.1.in
+M doc/man/doveadm-mount.1.in
+M doc/man/doveadm-move.1.in
+M doc/man/doveadm-penalty.1.in
+M doc/man/doveadm-purge.1.in
+M doc/man/doveadm-pw.1.in
+M doc/man/doveadm-quota.1.in
+M doc/man/doveadm-search-query.7
+M doc/man/doveadm-search.1.in
+M doc/man/doveadm-user.1.in
+M doc/man/doveadm-who.1.in
+M doc/man/doveadm.1.in
+M doc/man/doveconf.1.in
+M doc/man/dovecot-lda.1.in
+M doc/man/dovecot.1.in
+M doc/man/dsync.1.in
+
+2013-06-09 02:46:50 +0300 Timo Sirainen <tss@iki.fi> (70505f4839)
+
+ lib-http: Added soft_connect_timeout_msecs setting to connect to multiple
+ IPs in parallel. Based on patch by Stephan Bosch.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2013-06-09 02:08:24 +0300 Timo Sirainen <tss@iki.fi> (6ce13ae086)
+
+ lib-http: If connect to peer failed, don't recreate a new connection to
+ handle pending requests. The new connection would very likely fail as well.
+ Another peer for the host should pick up the requests.
+
+
+M src/lib-http/http-client-peer.c
+
+2013-06-09 00:48:14 +0300 Timo Sirainen <tss@iki.fi> (d2e74f2af6)
+
+ lib-storage: Added mailbox { driver } setting to specify which storage to
+ use.
+
+
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/lib-storage/mailbox-list.c
+
+2013-06-09 00:46:06 +0300 Timo Sirainen <tss@iki.fi> (47ede56f4e)
+
+ lib-storage: Added support for multiple storages per namespace.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-namespace.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2013-06-09 00:42:36 +0300 Timo Sirainen <tss@iki.fi> (af466fd3ee)
+
+ imapc: imapc_storage no longer requires imapc_mailbox_list.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2013-06-09 00:06:42 +0300 Timo Sirainen <tss@iki.fi> (ec49140cbc)
+
+ auth: If worker request has been queued for 60 secs, abort it.
+
+
+M src/auth/auth-worker-server.c
+
+2013-06-07 22:06:24 +0300 Timo Sirainen <tss@iki.fi> (6604370500)
+
+ auth: Don't crash in non-plaintext auth if master user login is tried
+ without master passdbs.
+
+
+M src/auth/auth-request.c
+
+2013-06-07 20:12:15 +0300 Timo Sirainen <tss@iki.fi> (08195adda3)
+
+ imap-login: If PLAIN mechanism is disabled, advertise LOGINDISABLED always.
+
+
+M src/imap-login/client.c
+
+2013-06-06 16:43:01 +0300 Timo Sirainen <tss@iki.fi> (5ef75c870a)
+
+ var_expand(): Fixed initializing variable to %N
+
+
+M src/lib/var-expand.c
+
+2013-06-06 12:42:34 +0300 Timo Sirainen <tss@iki.fi> (2e01cfaa0a)
+
+ var_expand*(): Added small unit tests for %H and %N
+
+
+M src/lib/test-var-expand.c
+
+2013-06-06 12:36:30 +0300 Timo Sirainen <tss@iki.fi> (9217571849)
+
+ var_expand*(): Fixed %N to work the same with little and big endian CPUs.
+ Also use 64bit integer to do the MOD from, which should give somewhat better
+ value distribution than with 32bit.
+
+
+M src/lib/var-expand.c
+
+2013-06-06 12:24:27 +0300 Timo Sirainen <tss@iki.fi> (ffcdddd4ce)
+
+ lib-imap-client: When switching ioloops, do it also for the DNS lookup.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2013-06-06 12:21:14 +0300 Timo Sirainen <tss@iki.fi> (c1a1abf895)
+
+ lib-imap-client: Make sure DNS lookups get aborted at disconnect.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2013-06-06 12:20:54 +0300 Timo Sirainen <tss@iki.fi> (9dee78c19e)
+
+ lib-imap-client: Don't start another DNS lookup if there's already one
+ ongoing.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2013-06-06 11:40:27 +0300 Timo Sirainen <tss@iki.fi> (949fa97a4a)
+
+ Avoid using mail_namespace.storage directly.
+
+
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-shared-storage.c
+
+2013-06-06 11:16:05 +0300 Timo Sirainen <tss@iki.fi> (8709b2fe6e)
+
+ lib-storage: Renamed mailbox_list_get_closest_storage() to
+ ..._get_default_storage() This function wasn't previously used by anyone.
+
+
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2013-06-06 10:55:27 +0300 Timo Sirainen <tss@iki.fi> (5c69525684)
+
+ imapc: Minor code cleanup
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2013-06-06 10:52:14 +0300 Timo Sirainen <tss@iki.fi> (3ec969c5ce)
+
+ imapc: If imapc isn't the inbox=yes namespace, do the login and initial LIST
+ in background.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2013-06-06 09:47:39 +0300 Timo Sirainen <tss@iki.fi> (cd467fe798)
+
+ lib-imap-client: When server sends BYE before disconnection, log it as the
+ reason.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2013-06-06 08:57:13 +0300 Timo Sirainen <tss@iki.fi> (d95ad2a90c)
+
+ imapc: When deleting a mailbox, unselect the current one just in case
+ they're the same.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2013-06-06 08:56:19 +0300 Timo Sirainen <tss@iki.fi> (719e8f8c67)
+
+ lib-imap-client: Added support for UNSELECT capability.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+
+2013-06-06 08:56:07 +0300 Timo Sirainen <tss@iki.fi> (1dde2133dc)
+
+ lib-imap-client: If SELECT/EXAMINE fails, set the connection as not being
+ selected.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2013-06-06 06:55:34 +0300 Timo Sirainen <tss@iki.fi> (d80391da06)
+
+ imapc: Index dirs were being wrongly deleted when imapc_list_prefix was set.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2013-06-06 06:32:58 +0300 Timo Sirainen <tss@iki.fi> (381a4bd0f3)
+
+ lib-http: Treat connect() timeouts as retryable errors.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-06-06 05:58:16 +0300 Timo Sirainen <tss@iki.fi> (1e9def6676)
+
+ lib-http: Fixed previous patch setting connection connected only after SSL
+ handshake. This just caused crashes. The main point was anyway to include
+ the SSL handshake as part of the connect_timeout_msecs. Apparently the
+ easiest way is to set it immediately connected and delay removing the
+ timeout.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-06-05 18:21:55 +0300 Timo Sirainen <tss@iki.fi> (ea4d4dad28)
+
+ dsync: Set broken_char to a control char, so invalid mailbox names are
+ handled properly. The dsync will now fail if there are invalid mailbox names
+ (e.g. valid UTF8 when they should have been mUTF7), instead of simply
+ printing "mailbox doesn't exist" error and exiting with 0.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-06-05 18:15:22 +0300 Timo Sirainen <tss@iki.fi> (1f4399a277)
+
+ lib-storage: mailbox_list_settings.broken_char wasn't escaping 8bit chars
+ correctly.
+
+
+M src/lib-storage/mailbox-list.c
+
+2013-06-05 17:49:46 +0300 Timo Sirainen <tss@iki.fi> (ba0ca241ea)
+
+ lib-imap: Make sure imap_utf7_to_utf8() doesn't access invalid input string
+ out of bounds.
+
+
+M src/lib-imap/imap-utf7.c
+
+2013-06-05 17:48:48 +0300 Timo Sirainen <tss@iki.fi> (fba71f7f73)
+
+ lib-imap: Added imap_utf7_is_valid()
+
+
+M src/lib-imap/imap-utf7.c
+M src/lib-imap/imap-utf7.h
+M src/lib-imap/test-imap-utf7.c
+
+2013-06-05 17:14:49 +0300 Timo Sirainen <tss@iki.fi> (f40c798116)
+
+ dsync: If unexpected changes happened during sync, log a warning and exit
+ with code 2. This was done by v2.1 dsync, but the code got temporarily lost
+ in v2.2.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+
+2013-06-05 16:40:01 +0300 Timo Sirainen <tss@iki.fi> (515bb2bea9)
+
+ lib-http: After peer has received 100 response, don't add ambiguity timeout
+ anymore. The server should be sending the 100 responses then, and long
+ delays shouldn't be confused with them being missing.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+
+2013-06-05 16:28:16 +0300 Timo Sirainen <tss@iki.fi> (eca9a97f8e)
+
+ lib-http: When receiving 1xx response while waiting for 100, don't restart
+ timeout. The 100 response is missing only from HTTP/1.0 requests, which also
+ didn't allow any 1xx responses. So if a 1xx response is returned, a 100
+ response is definitely also coming.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-06-05 16:19:38 +0300 Timo Sirainen <tss@iki.fi> (a8c4e79ff5)
+
+ lib-http: Added connect and request timeout settings.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2013-06-05 15:43:42 +0300 Timo Sirainen <tss@iki.fi> (4cadfabdf1)
+
+ lib-http: Mark the HTTP connection connected only after SSL handshake is
+ finished.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-06-05 15:08:59 +0300 Timo Sirainen <tss@iki.fi> (035dfd7634)
+
+ lib-http: Don't create a new HTTP connection when there is already one
+ connecting.
+
+
+M src/lib-http/http-client-peer.c
+
+2013-06-01 17:17:47 +0300 Timo Sirainen <tss@iki.fi> (b9dce659b9)
+
+ lda/lmtp: If mail delivery fails with tempfail, don't fallback to saving to
+ INBOX.
+
+
+M src/lda/main.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+M src/lmtp/commands.c
+
+2013-06-01 17:11:55 +0300 Timo Sirainen <tss@iki.fi> (4860b8746b)
+
+ lib-index: Avoid memcpy()ing data over itself.
+
+
+M src/lib-index/mail-index-transaction-finish.c
+
+2013-06-01 17:08:19 +0300 Timo Sirainen <tss@iki.fi> (1424de6d63)
+
+ lib-fs: If fs_default_copy() fails, close the copy stream immediately. The
+ stream's origin may already be freed by the time the fs_file_close() is
+ trying to close the stream.
+
+
+M src/lib-fs/fs-api.c
+
+2013-06-01 15:33:58 +0300 Timo Sirainen <tss@iki.fi> (ed74f1121a)
+
+ lmtp: Give the DATA input stream a name, so the raw mailbox gets a name and
+ doesn't fail.
+
+
+M src/lmtp/commands.c
+
+2013-06-01 04:17:40 +0300 Timo Sirainen <tss@iki.fi> (53e8881f41)
+
+ imapc: If imapc_list_prefix is set, don't skip it in filesystem paths. Most
+ importantly this fixes the index path when accessing the imapc_list_prefix
+ mailbox itself (so the indexes won't be in the mail root dir, where they
+ don't get deleted when mailbox is deleted).
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2013-06-01 04:06:48 +0300 Timo Sirainen <tss@iki.fi> (a04d8941a8)
+
+ lib-storage: If mailbox autocreate fails with "already exists", ignore the
+ error. This check was supposed to have been already there, but it was
+ checking for the wrong error.
+
+
+M src/lib-storage/mail-storage.c
+
+2013-06-01 03:48:07 +0300 Timo Sirainen <tss@iki.fi> (cb3a5950b0)
+
+ imapc: Return correct mailbox list flags for the imapc prefix mailbox
+ itself.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2013-06-01 03:37:21 +0300 Timo Sirainen <tss@iki.fi> (d9a4e66f0d)
+
+ imapc: Allow accessing the imapc_list_prefix itself.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2013-06-01 03:20:15 +0300 Timo Sirainen <tss@iki.fi> (58ba0fe5a6)
+
+ imapc: Fixed mailbox deletion.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage-private.h
+
+2013-06-01 03:06:54 +0300 Timo Sirainen <tss@iki.fi> (44bce572c4)
+
+ imapc: Don't assert-crash when trying to access imapc_list_prefix itself.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2013-06-01 02:56:57 +0300 Timo Sirainen <tss@iki.fi> (0662597127)
+
+ lib-imap-client: Ask CAPABILITY again after STARTTLS
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2013-06-01 02:56:25 +0300 Timo Sirainen <tss@iki.fi> (64ee8113a8)
+
+ lib-storage: Empty mailbox name isn't valid.
+
+
+M src/lib-storage/mailbox-list.c
+
+2013-06-01 02:25:54 +0300 Timo Sirainen <tss@iki.fi> (ac4844274f)
+
+ Make sure errno is preserved in non-delayed signal handlers. The current
+ code didn't have any signal handlers that modified errno, so this doesn't
+ fix any bugs.
+
+
+M src/lib/lib-signals.c
+
+2013-05-31 17:36:45 +0300 Timo Sirainen <tss@iki.fi> (281c0a69d6)
+
+ imapc: Changed imapc_user setting's default to empty.
+
+
+M src/lib-storage/index/imapc/imapc-settings.c
+
+2013-05-31 17:36:19 +0300 Timo Sirainen <tss@iki.fi> (0bf0c44fce)
+
+ imapc: Empty imapc_user expands to namespace's owner, or with public
+ namespaces to user itself. The main idea is that with shared namespaces it
+ now expands to the shared username, allowing shared mailbox access via
+ imapc.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2013-05-31 17:05:13 +0300 Timo Sirainen <tss@iki.fi> (9f3b630d62)
+
+ lib-imap-client: Connect and command timeouts are now configurable. Also use
+ the same connect timeout for the DNS lookup's timeout.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+
+2013-05-31 02:29:49 +0300 Stephan Bosch <stephan@rename-it.nl> (d3a3d31d1e)
+
+ imap: URLFETCH's URL callback would prematurely uncork the output stream
+ when called for a local URL.
+
+
+M src/imap/cmd-urlfetch.c
+
+2013-05-30 22:44:54 +0300 Timo Sirainen <tss@iki.fi> (e4d51d29f9)
+
+ imap: URLFETCH's tagged reply wasn't sent while TCP corked.
+
+
+M src/imap/cmd-urlfetch.c
+
+2013-05-30 22:27:57 +0300 Timo Sirainen <tss@iki.fi> (2e97f87609)
+
+ auth: Fixed error handling for proxy host dns_lookup()
+
+
+M src/auth/auth-request.c
+
+2013-05-30 22:27:23 +0300 Timo Sirainen <tss@iki.fi> (3874d5db41)
+
+ Reverted previous wrong commit.
+
+
+M src/auth/auth-worker-server.c
+
+2013-05-30 22:26:14 +0300 Timo Sirainen <tss@iki.fi> (604235bf65)
+
+ auth: Fixed error handling for proxy host dns_lookup()
+
+
+M src/auth/auth-worker-server.c
+
+2013-05-30 21:45:13 +0300 Timo Sirainen <tss@iki.fi> (1da5113b93)
+
+ layout=index: Allow mailbox create/delete/rename during mailbox list
+ iteration.
+
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2013-05-30 19:03:05 +0300 Timo Sirainen <tss@iki.fi> (8ea491aa28)
+
+ lib-index: Fixed a broken assert.
+
+
+M src/lib-index/mail-index-transaction-export.c
+
+2013-05-30 18:04:58 +0300 Stephan Bosch <stephan@rename-it.nl> (b22a040754)
+
+ lib-imap-urlauth: Added API for using the fetch interface with an already
+ parsed IMAP URL object.
+
+
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.h
+
+2013-05-30 18:04:52 +0300 Stephan Bosch <stephan@rename-it.nl> (620b60321d)
+
+ imap: Fixed segfault in URLFETCH command. Command would be cleaned up while
+ requests were still pending, causing a segfault once a request finished.
+ Added API determining whether the URLAUTH fetch interface still has pending
+ requests.
+
+
+M src/imap/cmd-urlfetch.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.h
+
+2013-05-30 18:04:17 +0300 Stephan Bosch <stephan@rename-it.nl> (69c5fffbba)
+
+ lib-imap-urlauth: Fixed handling of URLAUTH service connection resume after
+ pending local request. This was erroneously removed in an earlier commit.
+
+
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+
+2013-05-30 18:04:10 +0300 Stephan Bosch <stephan@rename-it.nl> (636e3a4d35)
+
+ lib-imap-urlauth: Fixed pending_request counter difference between locally
+ and remotely fetched URLAUTHs.
+
+
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+
+2013-05-30 18:03:53 +0300 Stephan Bosch <stephan@rename-it.nl> (a103139eb1)
+
+ lib-imap-urlauth: Fixed URLAUTH fetch reference counting for when requests
+ are aborted at deinit.
+
+
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+
+2013-05-30 18:03:46 +0300 Stephan Bosch <stephan@rename-it.nl> (7cf790002e)
+
+ lib-imap-urlauth: Fixed URLAUTH connection resume after error.
+
+
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+
+2013-05-30 18:03:38 +0300 Stephan Bosch <stephan@rename-it.nl> (76e3f37079)
+
+ lib-imap-urlauth: Made sure callbacks from URLAUTH service connection are
+ executed only once.
+
+
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+
+2013-05-30 17:45:27 +0300 Timo Sirainen <tss@iki.fi> (e95bc84876)
+
+ var_expand(): Added %N, which is the same as %H except based on MD5. This
+ gives a better distribution of values than %H.
+
+
+M src/lib/var-expand.c
+
+2013-05-29 16:40:50 +0300 Timo Sirainen <tss@iki.fi> (d8ce48fb2b)
+
+ lib-imap: imap_append_string_for_humans() returned broken output for
+ whitespace-only input. This returned broken IMAP ENVELOPEs, especially for
+ subjects that contained only whitespace. Since the broken output returned a
+ huge literal, it basically caused the IMAP client to hang.
+
+
+M src/lib-imap/Makefile.am
+M src/lib-imap/imap-quote.c
+A src/lib-imap/test-imap-quote.c
+
+2013-05-29 12:44:15 +0300 Timo Sirainen <tss@iki.fi> (057284757a)
+
+ lib-settings: Support also "seconds" and "minutes" (instead of just
+ secs/mins)
+
+
+M src/lib-settings/settings-parser.c
+
+2013-05-29 12:33:17 +0300 Timo Sirainen <tss@iki.fi> (4fac477307)
+
+ dsync: Fixed dsync handshaking since recent change.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-05-29 03:47:38 +0300 Timo Sirainen <tss@iki.fi> (6d8082441e)
+
+ lib-index: Fixed mail_cache_lookup_headers() when fields were still in
+ memory buffer.
+
+
+M src/lib-index/mail-cache-lookup.c
+
+2013-05-29 03:27:09 +0300 Timo Sirainen <tss@iki.fi> (5c95939662)
+
+ lib-storage: If INDEX=MEMORY, return index root dir as nonexistent instead
+ of as "".
+
+
+M src/lib-storage/mailbox-list.c
+
+2013-05-29 03:26:41 +0300 Timo Sirainen <tss@iki.fi> (3d027f3539)
+
+ lib-storage: Reverted previous change after all.
+
+
+M src/lib-storage/mailbox-list.c
+
+2013-05-29 03:23:40 +0300 Timo Sirainen <tss@iki.fi> (2d8d76a571)
+
+ lib-storage: Don't try to mkdir() empty directory with INDEX=MEMORY
+
+
+M src/lib-storage/mailbox-list.c
+
+2013-05-29 03:18:04 +0300 Timo Sirainen <tss@iki.fi> (f154234cb0)
+
+ Fixed compiling with gcc v3.3 and older. Perhaps the check needs to be also
+ for somewhat newer versions?..
+
+
+M src/lib/macros.h
+
+2013-05-28 18:18:45 +0300 Timo Sirainen <tss@iki.fi> (eaa9884158)
+
+ auth ldap: If ldap debug_level>0, log how long initialization took.
+
+
+M src/auth/db-ldap.c
+
+2013-05-28 17:30:42 +0300 Timo Sirainen <tss@iki.fi> (30cca82f3c)
+
+ auth: Keep auth_request referenced during DNS lookup. If the underlying auth
+ connection gets closed, there's nothing else referencing the auth_request.
+
+
+M src/auth/auth-request.c
+
+2013-05-28 17:10:03 +0300 Timo Sirainen <tss@iki.fi> (b372fc2d53)
+
+ doveadm-server: Pass local/remote_ip/port to passdb lookups so proxy_maybe
+ works.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/client-connection.h
+M src/doveadm/doveadm-mail-server.c
+
+2013-05-28 16:30:38 +0300 Timo Sirainen <tss@iki.fi> (7606d44ea3)
+
+ auth: Fixed caching empty userdb result.
+
+
+M src/auth/auth-request.c
+
+2013-05-28 16:30:19 +0300 Timo Sirainen <tss@iki.fi> (5c253723e8)
+
+ auth: If blocking userdb returns no fields, don't crash when trying to cache
+ the result.
+
+
+M src/auth/userdb-blocking.c
+
+2013-05-28 01:03:58 +0300 Timo Sirainen <tss@iki.fi> (75a2a8361a)
+
+ lib-fs: Added fs_get_root_driver()
+
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2013-05-27 21:03:14 +0300 Timo Sirainen <tss@iki.fi> (9865d9e7c5)
+
+ dbox: Don't cache pop3.uidl|order unless index header indicates there are
+ those. They exist only when doing a migration, so it's pretty wasteful
+ storing "doesn't exist" for all other installations.
+
+
+M src/doveadm/doveadm-dump-index.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-save.h
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.h
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.h
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2013-05-27 20:45:08 +0300 Timo Sirainen <tss@iki.fi> (c7fc0431b2)
+
+ lib-index: Added mail_index_ext_resize_hdr()
+
+
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index.h
+
+2013-05-27 20:44:56 +0300 Timo Sirainen <tss@iki.fi> (5e1dafd67b)
+
+ lib-index: Fixed resizing header when old&new sizes were the same when
+ aligned.
+
+
+M src/lib-index/mail-index-sync-ext.c
+
+2013-05-27 20:44:05 +0300 Timo Sirainen <tss@iki.fi> (930d6db2ee)
+
+ lib-index: Create ext-intro records using the latest sizes, not initial
+ sizes.
+
+
+M src/lib-index/mail-index-transaction-export.c
+
+2013-05-27 20:18:35 +0300 Timo Sirainen <tss@iki.fi> (ab8e5f7847)
+
+ dbox: Return cached pop3.order=0 as empty string instead to fix sorting
+ problems.
+
+
+M src/lib-storage/index/dbox-common/dbox-mail.c
+
+2013-05-26 21:57:36 +0300 Timo Sirainen <tss@iki.fi> (fd32c46c36)
+
+ dsync: Added -x parameter to exclude mailboxes from sync. Multiple -x
+ parameters can be added. Giving \flag as parameter means that the mailbox
+ with the given SPECIAL-USE \flag is skipped. For example:
+
+ doveadm sync -x '\All' -x '\Flagged' -x '\Important' mdbox:~/mdbox
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+
+2013-05-26 21:44:50 +0300 Timo Sirainen <tss@iki.fi> (495c2961d1)
+
+ imapc: Fixed assert-crash when copying messages.
+
+
+M src/lib-storage/index/imapc/imapc-save.c
+
+2013-05-26 21:20:47 +0300 Timo Sirainen <tss@iki.fi> (f1a5b3a017)
+
+ dsync: Small code cleanup.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+
+2013-05-26 21:07:09 +0300 Timo Sirainen <tss@iki.fi> (2b0fe8606f)
+
+ imapc: Pass through SPECIAL-USE LIST flags if imapc is in INBOX namespace.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/mailbox-list.h
+
+2013-05-26 19:14:21 +0300 Timo Sirainen <tss@iki.fi> (147a788fea)
+
+ dbox: Added support for POP3 message order.
+
+
+M src/doveadm/doveadm-dump-dbox.c
+M src/lib-storage/index/dbox-common/dbox-file.h
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2013-05-26 19:04:00 +0300 Timo Sirainen <tss@iki.fi> (d33fc6c584)
+
+ lib-index: mail_cache_lookup*() can now return fields recently added with
+ mail_cache_add() Previously it was returning them if they had already been
+ written to dovecot.index.cache, but not if they were still in the in-memory
+ buffer. This avoids caching/parsing the same field multiple times when
+ messages aren't accessed in ascending order (e.g. when sorting messages).
+
+
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-transaction.c
+
+2013-05-23 17:36:54 +0300 Timo Sirainen <tss@iki.fi> (35e962a918)
+
+ lib-http: Added ssl_cert|key|key_password settings to be passed to
+ ssl-iostream. These are used for sending client's SSL certificate.
+
+
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2013-05-22 15:59:38 +0300 Timo Sirainen <tss@iki.fi> (9e3b104abc)
+
+ *-login: If ssl=required, don't list any SASL mechanisms before STARTTLS.
+
+
+M src/login-common/sasl-server.c
+
+2013-05-22 15:57:13 +0300 Timo Sirainen <tss@iki.fi> (e2ce85866a)
+
+ *-login: ssl=required should imply disable_plaintext_auth=yes
+
+
+M src/imap-login/client.c
+M src/login-common/client-common-auth.c
+
+2013-05-22 15:44:05 +0300 Timo Sirainen <tss@iki.fi> (79c8622544)
+
+ lib-storage: Optimize SEARCH_MODSEQ query if it's higher than HIGHESTMODSEQ.
+
+
+M src/lib-storage/index/index-search.c
+
+2013-05-22 15:16:22 +0300 Timo Sirainen <tss@iki.fi> (f5d3670e7e)
+
+ dsync: Fixed unsubscribing from mailbox within same session as the mailbox's
+ deletion.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2013-05-22 14:56:41 +0300 Timo Sirainen <tss@iki.fi> (5e925f6820)
+
+ dsync: Don't notify replicator process about successful dsync if the dsync
+ failed.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-05-21 22:57:06 +0300 Timo Sirainen <tss@iki.fi> (63e3767475)
+
+ *-login: If auth failed with a specified reason, the reason wasn't actually
+ shown to client.
+
+
+M src/login-common/client-common-auth.c
+
+2013-05-21 22:55:23 +0300 Stephan Bosch <stephan@rename-it.nl> (659f431cb5)
+
+ lib-imap-urlauth: Fixed deinitialization of the URLAUTH fetch handler. Added
+ reference counting to make sure callbacks will not deinitialize the handler
+ prematurely.
+
+
+M src/imap/cmd-urlfetch.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.h
+
+2013-05-21 22:55:17 +0300 Stephan Bosch <stephan@rename-it.nl> (df97665f0f)
+
+ lib-imap-urlauth: Fixed resuming in URLAUTH fetch handler. Fixed URLAUTH
+ fetch handler to properly resume the URLAUTH connection, even when it is
+ deinitialized.
+
+
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+
+2013-05-21 22:55:12 +0300 Stephan Bosch <stephan@rename-it.nl> (96fbbe9c6f)
+
+ lib-imap-urlauth: Fixed local URLAUTH fetches that didn't immediately finish
+ handling content. Local requests are now also properly counted.
+
+
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.h
+
+2013-05-21 17:09:37 +0300 Timo Sirainen <tss@iki.fi> (80ef919fa1)
+
+ auth: Fixed crash if LDAP query returned multiple results.
+
+
+M src/auth/db-ldap.c
+
+2013-05-20 18:26:16 +0300 Timo Sirainen <tss@iki.fi> (7b904cc67e)
+
+ dsync: Previous have_save_guids change somewhat broke compatibility with
+ earlier dsync versions.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-05-20 17:30:23 +0300 Timo Sirainen <tss@iki.fi> (985acc0cfd)
+
+ dsync: Fixed unsubscribing from an already deleted mailbox.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+
+2013-05-20 02:25:26 +0300 Timo Sirainen <tss@iki.fi> (2194c73cdf)
+
+ Added signature for changeset 7aa929edd551
+
+
+M .hgsigs
+
+2013-05-20 02:25:23 +0300 Timo Sirainen <tss@iki.fi> (2235f9ba57)
+
+ Added tag 2.2.2 for changeset 7aa929edd551
+
+
+M .hgtags
+
+2013-05-20 02:25:23 +0300 Timo Sirainen <tss@iki.fi> (3da6df0648)
+
+ Released v2.2.2.
+
+
+M NEWS
+M configure.ac
+
+2013-05-20 02:01:02 +0300 Timo Sirainen <tss@iki.fi> (14f6fe5d6c)
+
+ dsync: Don't try to sync with GUIDs if we can't set them on the needed side.
+ With two-way syncing both sides need to have writable GUIDs. With one-way
+ syncing only the writing side needs to have writable GUIDs.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox.h
+
+2013-05-20 01:52:25 +0300 Timo Sirainen <tss@iki.fi> (9a107dedb8)
+
+ maildir: If we notice an unexpectedly inserted file, retry the sync to fix
+ it. Without this doveadm force-resync would just ignore the inserted files.
+
+
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-sync.h
+
+2013-05-20 01:39:52 +0300 Timo Sirainen <tss@iki.fi> (001ec60f2f)
+
+ maildir: Reverted most of changeset c92ebbedc6f9. If dovecot-uidlist file is
+ recreated, it gets a new inode number, and we should recognize by that alone
+ that it has changed. More importantly this forced re-reading of
+ dovecot-uidlist clears out the RACING flag, making it impossible to handle
+ reappearing maildir files.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2013-05-19 23:42:29 +0300 Timo Sirainen <tss@iki.fi> (9847ec56ef)
+
+ lib-storage: Added mailbox_status.have_save_guids.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+
+2013-05-19 23:21:20 +0300 Timo Sirainen <tss@iki.fi> (aeab2134d2)
+
+ mbox: Previous change broke index updates to successful saves.
+
+
+M src/lib-storage/index/mbox/mbox-save.c
+
+2013-05-19 22:36:36 +0300 Christian Wiese <christian.wiese@securepoint.de> (5f39ad0314)
+
+ example-config: Added missing auth-dict.conf.ext to distribution
+
+
+M doc/example-config/conf.d/Makefile.am
+
+2013-05-19 22:30:52 +0300 Timo Sirainen <tss@iki.fi> (6f76710078)
+
+ http_url_escape_param(): Added more characters to be escaped. Most
+ importantly '+', which encodes a space normally. The others may not be
+ strictly necessary, but safer to escape them just in case.
+
+
+M src/lib-http/http-url.c
+
+2013-05-19 19:55:41 +0300 Timo Sirainen <tss@iki.fi> (04d9ab8edb)
+
+ lib-http: Fixed assert-crash when host had multiple IPs and first one had
+ failed.
+
+
+M src/lib-http/http-client-host.c
+
+2013-05-19 19:51:34 +0300 Timo Sirainen <tss@iki.fi> (dfc3a20b33)
+
+ imap-urlfetch: Don't leak memory on error. Use TCP corking when sending
+ data.
+
+
+M src/imap/cmd-urlfetch.c
+
+2013-05-15 17:18:29 +0300 Timo Sirainen <tss@iki.fi> (c42c256499)
+
+ mbox: Fixed committing transaction after a previous save had failed.
+
+
+M src/lib-storage/index/mbox/mbox-save.c
+
+2013-05-15 17:10:28 +0300 Timo Sirainen <tss@iki.fi> (d6a8078c2e)
+
+ mbox: If save's input stream fails, fail saving instead of ignoring the
+ error.
+
+
+M src/lib-storage/index/mbox/mbox-save.c
+
+2013-05-15 17:09:36 +0300 Timo Sirainen <tss@iki.fi> (a7349255f0)
+
+ layout=fs: Always return INBOX uppercased when listing mailboxes.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2013-05-15 16:10:48 +0300 Timo Sirainen <tss@iki.fi> (9fbb55191a)
+
+ lib-storage: Don't lose INBOX's \Subscribed flag when returning it is
+ delayed.
+
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2013-05-15 15:35:10 +0300 Timo Sirainen <tss@iki.fi> (a29b327319)
+
+ imap: Return how long SELECT or EXAMINE command took to answer. Could be
+ useful to know sometimes if there's a large maildir where a lot files need
+ to be rename()d.
+
+
+M src/imap/cmd-select.c
+
+2013-05-15 15:26:47 +0300 Timo Sirainen <tss@iki.fi> (aa8b823980)
+
+ maildir: Fixed handling over 26 keywords in a mailbox.
+
+
+M src/lib-storage/index/maildir/maildir-sync-index.c
+
+2013-05-15 15:06:24 +0300 Timo Sirainen <tss@iki.fi> (25480af2e2)
+
+ Added asserts to binary searches to make sure we don't go to infinite loop.
+ Using idx=left+(right-left)/2 would have worked also to allow 4GB sizes, but
+ since none of the places in the code are likely to reach 2GB we might as
+ well just add an assert. (Also if they do reach 2GB, it could be possible
+ that they could reach also above 4GB and cause problems. Better to see an
+ early error.)
+
+
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib/bsearch-insert-pos.c
+M src/lib/bsearch-insert-pos.h
+M src/lib/seq-range-array.c
+
+2013-05-15 14:28:04 +0300 Timo Sirainen <tss@iki.fi> (b8164b5883)
+
+ quota-status: If quota_status_* settings are set, don't free them before
+ using.
+
+
+M src/plugins/quota/quota-status.c
+
+2013-05-15 13:44:01 +0300 Timo Sirainen <tss@iki.fi> (e24f97a6f4)
+
+ lib-storage: Allow mail_*cache_fields settings to specify any hdr.* fields.
+ Also the fields were previously set only once globally, so if the process
+ served multiple users, it wouldn't have been possible to use per-user values
+ for these fields.
+
+
+M src/lib-storage/index/index-storage.c
+
+2013-05-15 13:36:43 +0300 Timo Sirainen <tss@iki.fi> (c2d7c8a808)
+
+ lib-index: Don't mark field decisions dirty when registering initial cache
+ fields.
+
+
+M src/lib-index/mail-cache-fields.c
+
+2013-05-15 13:34:59 +0300 Timo Sirainen <tss@iki.fi> (a16d9a651a)
+
+ lib-index: Fixed mail_cache_register_fields() decision updates. Normally
+ this shouldn't matter, except when mail_*cache_fields settings have been
+ used.
+
+
+M src/lib-index/mail-cache-fields.c
+
+2013-05-15 13:20:43 +0300 Timo Sirainen <tss@iki.fi> (872d122a6f)
+
+ lib-storage: Added mail_always_cache_fields setting.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2013-05-11 17:08:12 +0200 Florian Zeitz <florob@babelmonkeys.de> (9281d38559)
+
+ liblib: Fix Unicode decomposition
+
+
+M src/lib/test-unichar.c
+M src/lib/unichar.c
+M src/lib/unicodemap.pl
+
+2013-05-15 12:52:29 +0300 Timo Sirainen <tss@iki.fi> (cb95df2767)
+
+ example-config: Added comment how all *.conf.ext files are accessed
+ typically.
+
+
+M doc/example-config/dovecot-dict-auth.conf.ext
+M doc/example-config/dovecot-dict-sql.conf.ext
+M doc/example-config/dovecot-ldap.conf.ext
+M doc/example-config/dovecot-sql.conf.ext
+
+2013-05-15 12:50:29 +0300 Timo Sirainen <tss@iki.fi> (b3b55a84b1)
+
+ Makefile: Removed dovecot-db.conf.ext
+
+
+M doc/example-config/Makefile.am
+
+2013-05-15 12:50:03 +0300 Timo Sirainen <tss@iki.fi> (a71c824445)
+
+ example-config: Removed dovecot-db.conf.ext since Berkeley DB support is
+ never built in.
+
+
+D doc/example-config/dovecot-db.conf.ext
+
+2013-05-15 12:48:21 +0300 Timo Sirainen <tss@iki.fi> (84ddb91797)
+
+ example-config: auth-*.conf.ext should say they're included by 10-auth.conf
+
+
+M doc/example-config/conf.d/auth-checkpassword.conf.ext
+M doc/example-config/conf.d/auth-deny.conf.ext
+M doc/example-config/conf.d/auth-dict.conf.ext
+M doc/example-config/conf.d/auth-ldap.conf.ext
+M doc/example-config/conf.d/auth-master.conf.ext
+M doc/example-config/conf.d/auth-passwdfile.conf.ext
+M doc/example-config/conf.d/auth-sql.conf.ext
+M doc/example-config/conf.d/auth-static.conf.ext
+M doc/example-config/conf.d/auth-system.conf.ext
+M doc/example-config/conf.d/auth-vpopmail.conf.ext
+
+2013-05-14 23:34:38 +0300 Timo Sirainen <tss@iki.fi> (daabad64d9)
+
+ auth passwd-file: If we fail to open passwd-file, log a request error
+ directly. Instead of one error message and another info message.
+
+
+M src/auth/db-passwd-file.c
+
+2013-05-14 22:23:27 +0300 Timo Sirainen <tss@iki.fi> (a7b0916217)
+
+ Avoid strict aliasing warnings.
+
+
+M src/lib/hash.h
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2013-05-14 16:46:08 +0300 Timo Sirainen <tss@iki.fi> (cf04ab5212)
+
+ example-config: Moved imap_* and pop3_* settings outside protocol section.
+ There's no need to keep them inside protocol {}, and in case of
+ pop3_uidl_format=%m setting it's actually harmful.
+
+
+M doc/example-config/conf.d/20-imap.conf
+M doc/example-config/conf.d/20-pop3.conf
+
+2013-05-14 16:32:30 +0300 Timo Sirainen <tss@iki.fi> (f64b66ffac)
+
+ pop3: Added pop3_deleted_flag setting.
+
+
+M doc/example-config/conf.d/20-pop3.conf
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-settings.c
+M src/pop3/pop3-settings.h
+
+2013-05-14 14:14:16 +0300 Timo Sirainen <tss@iki.fi> (4f0ea8daa8)
+
+ configure: Fixed checking for struct sockpeercred with OpenBSD <5.3
+
+
+M configure.ac
+
+2013-05-14 14:02:36 +0300 Timo Sirainen <tss@iki.fi> (eeeedfdd2d)
+
+ login-proxy: If login fails with timeout, log what the proxying state was.
+
+
+M src/login-common/login-proxy.c
+
+2013-05-14 14:00:21 +0300 Timo Sirainen <tss@iki.fi> (6a438f1cb9)
+
+ login-proxy: Don't crash if connect() succeeds but login fails with timeout.
+
+
+M src/login-common/login-proxy-state.h
+M src/login-common/login-proxy.c
+
+2013-05-13 23:06:31 +0200 Dennis Schridde <devurandom@gmx.net> (ea954a624a)
+
+ Fix out of source build of manpages
+
+
+M doc/man/Makefile.am
+
+2013-05-06 23:59:41 +0300 Timo Sirainen <tss@iki.fi> (89334d8c69)
+
+ lib-index: Previous commit sometimes broke scanning transaction log view. If
+ min_file_seq+offset pointed to the end of the previous file that no longer
+ existed, we didn't just skip over it.
+
+
+M src/lib-index/mail-transaction-log-view.c
+
+2013-05-06 20:21:27 +0300 Timo Sirainen <tss@iki.fi> (5c8a42e286)
+
+ imap: URLFETCH sometimes failed thinking it didn't receive all of the
+ message data.
+
+
+M src/imap/cmd-urlfetch.c
+
+2013-05-06 20:20:43 +0300 Timo Sirainen <tss@iki.fi> (7b6cc2bca3)
+
+ imap: URLFETCH leaked istream on failures.
+
+
+M src/imap/cmd-urlfetch.c
+
+2013-05-06 20:15:58 +0300 Timo Sirainen <tss@iki.fi> (d2dd9b7365)
+
+ imap: Fixed URLFETCH assert-crashes due to output_cmd_lock not being
+ cleared.
+
+
+M src/imap/cmd-urlfetch.c
+
+2013-05-06 19:51:07 +0300 Timo Sirainen <tss@iki.fi> (f036539f6a)
+
+ imap: Don't eat away the next command if CATENATE fails.
+
+
+M src/imap/cmd-append.c
+
+2013-05-06 19:49:55 +0300 Timo Sirainen <tss@iki.fi> (693e839fb9)
+
+ imap: Fixed assert-crash on invalid APPEND parameters.
+
+
+M src/imap/cmd-append.c
+
+2013-05-06 19:49:18 +0300 Timo Sirainen <tss@iki.fi> (fa0e8ffdde)
+
+ imap: Don't hang in APPEND when giving it invalid parameters.
+
+
+M src/imap/cmd-append.c
+
+2013-05-06 19:48:32 +0300 Timo Sirainen <tss@iki.fi> (ba9f57d777)
+
+ lib-imap: imap_parser_read_args() shouldn't append multiple EOLs when
+ calling multiple times.
+
+
+M src/lib-imap/imap-parser.c
+
+2013-05-06 18:35:36 +0300 Timo Sirainen <tss@iki.fi> (8e5d894529)
+
+ lib-imap-urlauth: Don't try to access garbage memory on error handling
+ paths.
+
+
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap-urlauth/imap-urlauth.c
+
+2013-05-06 17:30:07 +0300 Timo Sirainen <tss@iki.fi> (68a3f1b03f)
+
+ doveadm: If search query attempts to access nonexistent mailbox, just ignore
+ it. Most importantly running a query for multiple users wouldn't be an error
+ if the mailbox existed only for some users. It's probably cleaner to then
+ always just ignore the nonexistent mailboxes.
+
+
+M src/doveadm/doveadm-mail-iter.c
+
+2013-05-06 17:27:36 +0300 Timo Sirainen <tss@iki.fi> (c57ba1788a)
+
+ doveadm_mail_iter_init(): Removed unnecessarily returning transaction. If
+ it's needed in future just add a new doveadm_mail_iter_get_transaction().
+
+
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-iter.h
+M src/doveadm/doveadm-mail-search.c
+
+2013-05-06 16:43:29 +0300 Timo Sirainen <tss@iki.fi> (dcf4c70f83)
+
+ lib-index: The previous assert-crashfix didn't actually fix the problem.
+
+
+M src/lib-index/mail-transaction-log-view.c
+
+2013-05-06 15:17:49 +0300 Timo Sirainen <tss@iki.fi> (48cfcd33ac)
+
+ maildir++: Fixed mail_shared_explicit_inbox=no
+
+
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+
+2013-05-06 15:04:57 +0300 Timo Sirainen <tss@iki.fi> (392cdeafd4)
+
+ namespace { prefix="" list=no } should never be listed.
+
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2013-05-06 14:59:27 +0300 Timo Sirainen <tss@iki.fi> (515d649c18)
+
+ acl: Optionally get default ACL's for private/shared namespaces from user's
+ INBOX. This probably should be the default always, but better not break
+ anyone's existing setup until v2.3.0. So for now there's a setting for this:
+ plugin { acl_defaults_from_inbox = yes }
+
+
+M src/plugins/acl/acl-api-private.h
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+
+2013-05-06 14:58:55 +0300 Timo Sirainen <tss@iki.fi> (9199a1680a)
+
+ acl: Mailbox creation ignored ACLs (due to API changes in v2.2). The created
+ mailbox couldn't have been accessed however.
+
+
+M src/plugins/acl/acl-mailbox.c
+
+2013-05-03 17:17:15 +0300 Timo Sirainen <tss@iki.fi> (c958941fb7)
+
+ quota-status: Return 554 instead of 552 on quota failures. This is because
+ RFC 5321/2821 recommends that 552 is treated the same as 452.
+
+
+M src/plugins/quota/quota-status.c
+
+2013-05-02 18:32:47 +0300 Timo Sirainen <tss@iki.fi> (7a151eaa1c)
+
+ lib-imap-urlauth: Don't try to access garbage memory on error handling path.
+
+
+M src/lib-imap-urlauth/imap-urlauth.c
+
+2013-05-02 18:29:50 +0300 Timo Sirainen <tss@iki.fi> (2d8ff6cda4)
+
+ imap-urlauth-worker: Fixed a crash (by removing unnecessary code)
+
+
+M src/imap-urlauth/imap-urlauth-worker.c
+
+2013-05-02 18:18:26 +0300 Timo Sirainen <tss@iki.fi> (047f632330)
+
+ imap: Don't allow empty CATENATE () list.
+
+
+M src/imap/cmd-append.c
+
+2013-05-02 18:11:56 +0300 Timo Sirainen <tss@iki.fi> (6c3a5f03aa)
+
+ imap: Fixed using literals for URLs in CATENATE.
+
+
+M src/imap/cmd-append.c
+
+2013-05-02 16:20:02 +0300 Timo Sirainen <tss@iki.fi> (e3d7df2094)
+
+ example-config: Typofix
+
+
+M doc/example-config/dovecot.conf
+
+2013-04-23 21:32:24 +0300 Timo Sirainen <tss@iki.fi> (61f78d8e0c)
+
+ stats plugin: Don't try to send notifications to already dead stats process.
+
+
+M src/plugins/stats/Makefile.am
+M src/plugins/stats/stats-connection.c
+
+2013-04-23 21:31:52 +0300 Timo Sirainen <tss@iki.fi> (5739718855)
+
+ lib-master: Added master_service_is_master_stopped()
+
+
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2013-04-23 21:08:31 +0300 Timo Sirainen <tss@iki.fi> (3b09ea6d85)
+
+ hash_table_clear(): Added a comment about API usage.
+
+
+M src/lib/hash.h
+
+2013-04-23 21:06:34 +0300 Timo Sirainen <tss@iki.fi> (208028f268)
+
+ maildir: Crashfix after dovecot-keywords file was re-read.
+
+
+M src/lib-storage/index/maildir/maildir-keywords.c
+
+2013-04-23 21:06:00 +0300 Timo Sirainen <tss@iki.fi> (f6f57175ba)
+
+ lib-storage: Fixed crash with mailbox_list_index=yes after re-reading index.
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2013-04-23 20:53:53 +0300 Timo Sirainen <tss@iki.fi> (6e5abd4b78)
+
+ istream-[b]zlib: Don't break if parent stream gets seeked in the middle of
+ reads.
+
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-zlib.c
+
+2013-04-23 20:51:34 +0300 Timo Sirainen <tss@iki.fi> (8cdef6385c)
+
+ dbox: Close file's fd only after its istream is destroyed. For example zlib
+ plugin keeps the stream open as a cache even after the dbox_file has been
+ destroyed.
+
+
+M src/lib-storage/index/dbox-common/dbox-file.c
+
+2013-04-23 17:21:46 +0300 Timo Sirainen <tss@iki.fi> (be51dfea76)
+
+ istream-seekable: Don't crash when seeking forwards past the data we haven't
+ read yet.
+
+
+M src/lib/istream-seekable.c
+
+2013-04-23 16:20:48 +0300 Timo Sirainen <tss@iki.fi> (ec383c7840)
+
+ lib-http: Makefile fix
+
+
+M src/lib-http/Makefile.am
+
+2013-04-23 13:47:46 +0300 Timo Sirainen <tss@iki.fi> (c9af0202f8)
+
+ fts-solr: Don't crash if fts_solr setting is invalid.
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2013-04-23 13:33:12 +0300 Timo Sirainen <tss@iki.fi> (066595d486)
+
+ master: Fixed warning log message.
+
+
+M src/master/master-settings.c
+
+2013-04-23 13:28:17 +0300 Timo Sirainen <tss@iki.fi> (8920919abc)
+
+ OpenBSD compile fix: include sys/socket.h when checking for struct
+ sockpeercred.
+
+
+M configure.ac
+
+2013-04-22 21:51:01 +0300 Timo Sirainen <tss@iki.fi> (f9b31ae314)
+
+ stats plugin: Use nonblocking open() for stats fifo. This fixes hangs in it.
+ Alternative would be to use alarm().
+
+
+M src/plugins/stats/stats-connection.c
+
+2013-04-22 18:45:04 +0300 Timo Sirainen <tss@iki.fi> (0c99179391)
+
+ zlib: Keep the last read mail cached uncompressed in a temp file. This fixes
+ performance problems with partial IMAP FETCH commands.
+
+
+M src/plugins/zlib/zlib-plugin.c
+
+2013-04-20 21:57:47 +0300 Timo Sirainen <tss@iki.fi> (4a254eb892)
+
+ lib-storage: Avoid wasting data stack during searches.
+
+
+M src/lib-storage/index/index-search.c
+
+2013-04-20 21:02:30 +0300 Timo Sirainen <tss@iki.fi> (96b8965a96)
+
+ Fixed a memory leak.
+
+
+M src/lib-mail/istream-attachment-connector.c
+
+2013-04-20 20:58:06 +0300 Timo Sirainen <tss@iki.fi> (e2854843b2)
+
+ stats plugin: Fixed memory leak.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2013-04-19 14:29:23 +0300 Timo Sirainen <tss@iki.fi> (0124311531)
+
+ Compiling fix for Sun compilers. I wish gcc/clang warned about these as
+ well, as sometimes they indicate bugs.
+
+
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/lib/ioloop.c
+
+2013-04-19 00:38:05 +0300 Timo Sirainen <tss@iki.fi> (03a5062175)
+
+ Added signature for changeset 6fcf060b50f1
+
+
+M .hgsigs
+
+2013-04-19 00:38:00 +0300 Timo Sirainen <tss@iki.fi> (16b277741e)
+
+ Added tag 2.2.1 for changeset 6fcf060b50f1
+
+
+M .hgtags
+
+2013-04-19 00:38:00 +0300 Timo Sirainen <tss@iki.fi> (c4d85d3de0)
+
+ Released v2.2.1.
+
+
+M NEWS
+M TODO
+M configure.ac
+
+2013-04-18 18:49:55 +0300 Timo Sirainen <tss@iki.fi> (90a2c5f48c)
+
+ layout=index: Fixed listing subscriptions.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2013-04-18 17:54:29 +0300 Timo Sirainen <tss@iki.fi> (92bf0ad419)
+
+ lib-storage: Set virtual/physical size in dest_mail when copying, if
+ possible. Ideally lib-index would be fixed so this wouldn't be necessary.
+ The lib-index way of fixing it would also be useful for more than just quota
+ plugin.
+
+
+M src/lib-storage/index/index-storage.c
+
+2013-04-18 17:48:38 +0300 Timo Sirainen <tss@iki.fi> (a90616ab2d)
+
+ lib-storage: mailbox_copy() didn't always copy all the cached fields to
+ destination. If the destination mailbox's cache file wasn't already opened,
+ the default cache decisions were used.
+
+
+M src/lib-storage/index/index-storage.c
+
+2013-04-17 18:47:36 +0300 Stephan Bosch <stephan@rename-it.nl> (e3ca6e9e08)
+
+ liblib: Added DLLIST2_INSERT_AFTER_FULL() For inserting a new element in a
+ doubly-linked list after an existing element.
+
+
+M src/lib/llist.h
+
+2013-04-17 18:44:52 +0300 Stephan Bosch <stephan@rename-it.nl> (f82dfbdcc7)
+
+ lib-imap-urlauth: Fixed connection error handling to abort all pending
+ requests.
+
+
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+
+2013-04-17 16:19:42 +0300 Timo Sirainen <tss@iki.fi> (8110bad162)
+
+ lib-storage: mailbox_save_finish() internally does one final
+ mailbox_save_continue()
+
+
+M src/imap/cmd-append.c
+M src/lib-storage/mail-storage.c
+
+2013-04-17 16:08:26 +0300 Timo Sirainen <tss@iki.fi> (6766440ffd)
+
+ doveadm fs: Set base_dir.
+
+
+M src/doveadm/doveadm-fs.c
+
+2013-04-16 20:08:18 +0300 Timo Sirainen <tss@iki.fi> (511a7ccd55)
+
+ mbox: Handle broken Status: and X-Status: headers without sync errors.
+
+
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-private.h
+M src/lib-storage/index/mbox/mbox-sync-update.c
+
+2013-04-16 16:20:30 +0300 Timo Sirainen <tss@iki.fi> (a6a9e537d8)
+
+ auth: Fixed multiple master passdbs.
+
+
+M src/auth/auth-request.c
+
+2013-04-16 15:54:05 +0300 Timo Sirainen <tss@iki.fi> (1235bbd139)
+
+ maildir: Fixed crash in some rare situations.
+
+
+M src/lib-storage/index/maildir/maildir-util.c
+
+2013-04-15 21:40:35 +0300 Timo Sirainen <tss@iki.fi> (96c1fc9f65)
+
+ zlib: Don't crash when trying to use zlib_save for handler that isn't
+ compiled in.
+
+
+M src/plugins/zlib/zlib-plugin.c
+
+2013-04-15 17:22:06 +0300 Timo Sirainen <tss@iki.fi> (9d25716809)
+
+ lib-mail: Don't assert-crash when multipart doesn't actually have any parts.
+
+
+M src/lib-mail/message-parser.c
+
+2013-04-14 21:27:29 +0300 Timo Sirainen <tss@iki.fi> (f497d84693)
+
+ lib-storage: mailbox_list_index=yes was still broken.
+
+
+M src/lib-storage/mail-namespace.c
+
+2013-04-14 20:40:47 +0300 Timo Sirainen <tss@iki.fi> (eed1ec3ac9)
+
+ Linking error fix.
+
+
+M src/doveadm/doveadm-mail.h
+
+2013-04-12 21:19:38 +0300 Timo Sirainen <tss@iki.fi> (c92163a6f8)
+
+ Added tag 2.2.0 for changeset 1c8e7a295d4b
+
+
+M .hgtags
+
+2013-04-11 22:38:59 +0300 Timo Sirainen <tss@iki.fi> (e81127c921)
+
+ Added signature for changeset e2cd03cc9c69
+
+
+M .hgsigs
+
+2013-04-11 22:38:54 +0300 Timo Sirainen <tss@iki.fi> (604fa82dac)
+
+ Released v2.1.0.
+
+
+M NEWS
+M configure.ac
+A doc/example-config/conf.d/11-object-storage.conf
+
+2013-04-11 19:06:25 +0300 Timo Sirainen <tss@iki.fi> (94785d5f7d)
+
+ lib-storage: mailbox_list_index=yes was broken by previous change. Reverted
+ the previous change and fixed it the right way.
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2013-04-11 18:50:25 +0300 Timo Sirainen <tss@iki.fi> (10ccd0e457)
+
+ Removed ambiguous mail_user.admin flag. dsync shouldn't sync mailboxes
+ without +r ACL.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/lib-storage/mail-user.h
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-attributes.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/quota/quota.c
+
+2013-04-11 17:35:31 +0300 Timo Sirainen <tss@iki.fi> (8c072aac29)
+
+ doveadm: Don't use MAILBOX_LIST_ITER_RAW_LIST when listing mailboxes. That
+ skips ACLs and mailbox list. There's really no good reason to use that by
+ default.
+
+
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail.c
+
+2013-04-11 16:54:53 +0300 Timo Sirainen <tss@iki.fi> (6d84b0facf)
+
+ lib-storage: mailbox_list_index=yes wasn't working with ACLs.
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2013-04-11 16:19:35 +0300 Timo Sirainen <tss@iki.fi> (1409230a03)
+
+ lib-storage: mail_update_pvt_modseq() shouldn't crash if there is no private
+ index.
+
+
+M src/lib-storage/index/index-mail.c
+
+2013-04-11 13:38:16 +0300 Timo Sirainen <tss@iki.fi> (43262d1555)
+
+ net_getunixcred(): Fix to previous NetBSD<5 support: return pid as -1.
+
+
+M src/lib/net.c
+
+2013-04-11 13:15:39 +0300 Timo Sirainen <tss@iki.fi> (921d4dd91e)
+
+ net_getunixcred() support for NetBSD <v5.0. Fixed also building with other
+ NetBSDs. Patch by Emmanuel Dreyfus
+
+
+M src/lib/net.c
+
+2013-04-11 13:13:14 +0300 Timo Sirainen <tss@iki.fi> (5fb80928bb)
+
+ Fixed getmntinfo() usage with NetBSD. Patch by Emmanuel Dreyfus
+
+
+M src/lib/mountpoint.c
+
+2013-04-10 22:31:53 +0300 Timo Sirainen <tss@iki.fi> (2a7f9672ca)
+
+ Added signature for changeset d7f29af73468
+
+
+M .hgsigs
+
+2013-04-10 22:31:41 +0300 Timo Sirainen <tss@iki.fi> (81e86d1ea9)
+
+ Added tag 2.2.rc7 for changeset d7f29af73468
+
+
+M .hgtags
+
+2013-04-10 22:31:41 +0300 Timo Sirainen <tss@iki.fi> (c21978afb4)
+
+ Released v2.2.rc7.
+
+
+M NEWS
+M TODO
+M configure.ac
+
+2013-04-10 22:11:33 +0300 Timo Sirainen <tss@iki.fi> (03f2a189a0)
+
+ imapc: If APPEND to selected mailbox doesn't send EXISTS, try if NOOP sends
+ it. This makes Dovecot behave better with Courier.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2013-04-10 22:05:36 +0300 Timo Sirainen <tss@iki.fi> (1c3e5f6b1a)
+
+ iostream-ssl: Don't hang if ostream's max buffer size is set to 0.
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2013-04-10 21:18:07 +0300 Timo Sirainen <tss@iki.fi> (0b32a8d139)
+
+ lib-fs: Added fs_file_close() to explicitly close all streams that the file
+ has open.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+
+2013-04-10 18:48:54 +0300 Timo Sirainen <tss@iki.fi> (dc39158a24)
+
+ lib-index: Fixed failing unit test
+
+
+M src/lib-index/test-mail-transaction-log-view.c
+
+2013-04-10 18:00:12 +0300 Timo Sirainen <tss@iki.fi> (0f37e68570)
+
+ lib-http: Don't double-free request memory when aborting them.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-04-10 17:53:24 +0300 Timo Sirainen <tss@iki.fi> (c6494255de)
+
+ lib-http: http_client_deinit() calls any pending delayed failure callbacks.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-request.c
+
+2013-04-10 16:50:34 +0300 Timo Sirainen <tss@iki.fi> (23c502c6ef)
+
+ lib-index: Assert-crashfix on some rare situations.
+ mail_index_modseq_get_next_log_offset() might have returned e.g. (seq=4,
+ offset=40) to point to the beginning of a next file. The view itself could
+ still have been pointing to seq=3 end of file. Now calling
+ mail_transaction_log_view_set() with these two positions (that are basically
+ the same) should result in an empty view instead of assert crash.
+
+
+M src/lib-index/mail-transaction-log-view.c
+
+2013-04-10 14:52:17 +0300 Timo Sirainen <tss@iki.fi> (e062a4b1f8)
+
+ lib-fs: Add data stack frames to most API calls, so the backends/callers
+ don't need to.
+
+
+M src/lib-fs/fs-api.c
+
+2013-04-10 14:51:37 +0300 Timo Sirainen <tss@iki.fi> (ccd968b44a)
+
+ lib-http: Added data stack frame to avoid unnecessary data stack wasting.
+
+
+M src/lib-http/http-client-request.c
+
+2013-04-10 14:17:41 +0300 Timo Sirainen <tss@iki.fi> (e1ac2af3ef)
+
+ lib-storage: Fixed mailbox list index crashes with shared mailboxes.
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2013-04-10 14:13:51 +0300 Timo Sirainen <tss@iki.fi> (311d3dd207)
+
+ lib-storage: Added mail_namespaces_added hook.
+
+
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-hooks.h
+M src/lib-storage/mail-user.c
+
+2013-04-10 14:00:47 +0300 Timo Sirainen <tss@iki.fi> (43487bb7de)
+
+ lib-storage: Make sure index root dir is created when mailbox list index is
+ created.
+
+
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2013-04-10 13:40:57 +0300 Timo Sirainen <tss@iki.fi> (719123a3ec)
+
+ dsync: Don't fail the sync if attribute couldn't be set. It's probably a
+ system configuration mismatch where some/all attributes don't work in one
+ system but do on another. This might or might not be a problem, so it
+ deserves an error message, but probably doesn't deserve failing entirely.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-04-10 00:14:09 +0300 Timo Sirainen <tss@iki.fi> (7ee45b03d6)
+
+ lib-storage: Fixed crash with mailbox_list_index=yes and out-of-date index.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2013-04-09 23:54:52 +0300 Timo Sirainen <tss@iki.fi> (8451cf6773)
+
+ istream-seekable: Fixed handling "buffer full" i_stream_read() result from
+ underlying streams.
+
+
+M src/lib/istream-seekable.c
+
+2013-04-09 14:17:56 +0300 Timo Sirainen <tss@iki.fi> (933e663cc1)
+
+ dsync: Fixed assert-crash caused by previous change
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-04-08 18:14:32 +0300 Timo Sirainen <tss@iki.fi> (ec0cc8fa64)
+
+ dsync: Commit large transactions every 100 new messages. This way if the
+ dsync crashes or transaction fails in the middle, the next run can finish
+ faster. Also the rollbacking finishes faster.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-04-08 17:10:14 +0300 Timo Sirainen <tss@iki.fi> (b6d4436601)
+
+ dsync: If saving mails fail, stop trying to save more of them and flooding
+ logs.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-04-08 15:33:23 +0300 Timo Sirainen <tss@iki.fi> (2e657dc3d6)
+
+ dsync: -U parameter never updated replicator's full_sync state.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+
+2013-04-08 15:13:39 +0300 Timo Sirainen <tss@iki.fi> (aaebcf0da1)
+
+ quota: dsync shouldn't trigger quota warnings They would probably just be
+ duplicates that were already triggered by the other replica.
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2013-04-08 14:53:31 +0300 Timo Sirainen <tss@iki.fi> (2d66fbf7a1)
+
+ dsync: If dsync fails due to lock timeout, give a better error message.
+
+
+M src/doveadm/dsync/dsync-brain.c
+
+2013-04-08 14:49:07 +0300 Timo Sirainen <tss@iki.fi> (3ba55a69a6)
+
+ lib-master: Ignore mountpoints with type cgroup.
+
+
+M src/lib-master/mountpoint-list.c
+
+2013-04-08 14:43:09 +0300 Timo Sirainen <tss@iki.fi> (a1ac79f52b)
+
+ doveadm replicator: Fixed showing over 1h old timestamps.
+
+
+M src/doveadm/doveadm-replicator.c
+
+2013-04-08 14:38:30 +0300 Timo Sirainen <tss@iki.fi> (b5ffdf79df)
+
+ replicator: doveadm commands and user list export may have skipped some
+ users. The users were exported from the queue, but they are temporarily
+ removed from there while the user is being replicated. The users always
+ exist in the hash table though.
+
+
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-queue.h
+
+2013-04-08 13:25:18 +0300 Timo Sirainen <tss@iki.fi> (a74bc46dde)
+
+ checkpasword: Don't set AUTH_PASSWORD environment.
+
+
+M src/auth/db-checkpassword.c
+
+2013-04-08 13:09:52 +0300 Timo Sirainen <tss@iki.fi> (1d80017c29)
+
+ restrict_process_count(): Don't die if process count can't be changed.
+ SELinux has hard limits and doesn't allow root to increase them. The admin
+ should fix the error one way or another, but it's not a total failure just
+ leaving it.
+
+
+M src/lib/restrict-process-size.c
+
+2013-04-08 13:03:12 +0300 Timo Sirainen <tss@iki.fi> (9a50449644)
+
+ lib-http: If remote SSL cert is invalid, treat it as non-retryable error.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-04-08 13:02:27 +0300 Timo Sirainen <tss@iki.fi> (71b60849a7)
+
+ lib-ssl-iostream: Added ssl_iostream_has_handshake_failed()
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2013-04-08 02:06:29 +0300 Timo Sirainen <tss@iki.fi> (b09cf319d0)
+
+ Added signature for changeset ae4341d0e83b
+
+
+M .hgsigs
+
+2013-04-08 02:06:25 +0300 Timo Sirainen <tss@iki.fi> (f6ce79f874)
+
+ Added tag 2.2.rc6 for changeset ae4341d0e83b
+
+
+M .hgtags
+
+2013-04-08 02:06:25 +0300 Timo Sirainen <tss@iki.fi> (0d511a2ded)
+
+ Released v2.2.rc6.
+
+
+M NEWS
+M configure.ac
+
+2013-04-08 01:56:25 +0300 Timo Sirainen <tss@iki.fi> (c3e0f0a114)
+
+ dsync: Fixed crashes with dsync-server -U parameter
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-04-08 00:18:56 +0300 Timo Sirainen <tss@iki.fi> (9ec1ecbc19)
+
+ fs-posix: Set file's fd to -1 after closing it
+
+
+M src/lib-fs/fs-posix.c
+
+2013-04-07 23:56:01 +0300 Timo Sirainen <tss@iki.fi> (bdff67545d)
+
+ istream-qp-decoder: Fixed assert-crashes caused by recent forced-CRLF q-p
+ change.
+
+
+M src/lib-mail/istream-qp-decoder.c
+
+2013-04-07 23:26:52 +0300 Timo Sirainen <tss@iki.fi> (a78468f42d)
+
+ lib-fs: posix fs backend now closes the fd after reads are finished. This
+ allows keeping more fs_file structs open than there are available fds.
+
+
+M src/lib-fs/fs-posix.c
+
+2013-04-07 23:17:37 +0300 Timo Sirainen <tss@iki.fi> (1a0ece3e87)
+
+ istream API change: Added support for multiple destroy callbacks.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-storage/index/index-mail.c
+M src/lib/iostream-private.h
+M src/lib/iostream-temp.c
+M src/lib/iostream.c
+M src/lib/istream.c
+M src/lib/istream.h
+M src/lib/json-parser.c
+
+2013-04-07 22:55:42 +0300 Timo Sirainen <tss@iki.fi> (b60ba688ee)
+
+ ostream-metawrap: ..and compile fix to previous commit.
+
+
+M src/lib-fs/ostream-metawrap.c
+
+2013-04-07 22:54:48 +0300 Timo Sirainen <tss@iki.fi> (6759ba36f2)
+
+ ostream-metawrap: Copy parent ostream's errors.
+
+
+M src/lib-fs/ostream-metawrap.c
+
+2013-04-07 20:32:37 +0300 Timo Sirainen <tss@iki.fi> (eb376ebaa3)
+
+ example-config: Added ssl_client_ca_file
+
+
+M doc/example-config/conf.d/10-ssl.conf
+
+2013-04-07 20:28:31 +0300 Timo Sirainen <tss@iki.fi> (56d1345c43)
+
+ Added ssl_client_ca_file to specify the CA certs as a file instead of as a
+ dir. This is required for Redhat-based systems where there isn't a CA
+ directory like in Debian/Ubuntu.
+
+
+M src/doveadm/doveadm-fs.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/dsync/doveadm-dsync.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+M src/lib-http/test-http-client.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-ssl.h
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-client.h
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2013-04-07 20:06:42 +0300 Timo Sirainen <tss@iki.fi> (713a54f695)
+
+ doveadm fs: Enable fs debug if doveadm -D parameter is given.
+
+
+M src/doveadm/doveadm-fs.c
+
+2013-04-07 20:06:28 +0300 Timo Sirainen <tss@iki.fi> (1c31ad9a2e)
+
+ lib-fs: Added debug setting.
+
+
+M src/lib-fs/fs-api.h
+
+2013-04-07 19:50:29 +0300 Timo Sirainen <tss@iki.fi> (51f750db85)
+
+ Moved lib-fs/fs-test to "doveadm fs" command.
+
+
+M .hgignore
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-fs.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+M src/lib-fs/Makefile.am
+D src/lib-fs/fs-test.c
+
+2013-04-07 18:50:31 +0300 Timo Sirainen <tss@iki.fi> (a0b32e0e5a)
+
+ lib-storage: mailbox list index didn't get its permissions from the root
+ dir.
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2013-04-07 18:49:32 +0300 Timo Sirainen <tss@iki.fi> (db7ca286e3)
+
+ lib-storage: dovecot.mailbox.log should have used file permissions, not dir
+ Although this didn't actually make any difference since 0666 mask was used.
+
+
+M src/lib-storage/mailbox-list.c
+
+2013-04-07 18:33:21 +0300 Timo Sirainen <tss@iki.fi> (3cca2128ca)
+
+ example-config: Added mailbox_list_index.
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2013-04-07 18:01:52 +0300 Timo Sirainen <tss@iki.fi> (ee8d619694)
+
+ Added "doveadm replicator remove" command to remove users from replicator
+ queue.
+
+
+M src/doveadm/doveadm-replicator.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-queue.h
+
+2013-04-07 17:47:16 +0300 Timo Sirainen <tss@iki.fi> (51a237cb7a)
+
+ dsync: Fixed -U to send the notification on the remote server, not local.
+
+
+M src/doveadm/doveadm-settings.c
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-04-07 16:36:00 +0300 Timo Sirainen <tss@iki.fi> (b593b793d5)
+
+ lib-storage: If transaction commit fails, don't try to access garbage
+ memory.
+
+
+M src/lib-storage/mail-storage.c
+
+2013-04-07 15:36:35 +0300 Timo Sirainen <tss@iki.fi> (b8e6e314eb)
+
+ dsync: Fixed talking to earlier dsync without mailbox attribute support.
+ Most importantly it can now be used as an example how to add more features
+ to dsync.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-private.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-ibc.h
+
+2013-04-07 15:10:36 +0300 Timo Sirainen <tss@iki.fi> (e25c9a57d6)
+
+ connection_disconnect(): Explicitly close input/output stream. This makes
+ sure that if the ostream has some data pending and is still referenced, the
+ io_remove() won't be called after fd is already closed.
+
+
+M src/lib/connection.c
+
+2013-04-07 15:03:36 +0300 Timo Sirainen <tss@iki.fi> (9e10978b86)
+
+ test-http-client: Allow invalid SSL certs in tests.
+
+
+M src/lib-http/test-http-client.c
+
+2013-04-07 15:02:46 +0300 Timo Sirainen <tss@iki.fi> (9d0aee99a8)
+
+ lib-http: ssl_crypto_device and ssl_allow_invalid_cert settings were
+ ignored.
+
+
+M src/lib-http/http-client.c
+
+2013-04-07 14:56:19 +0300 Timo Sirainen <tss@iki.fi> (bf48ae1550)
+
+ lib-http: Fixed receiving 100-continue reply after we already timed out
+ waiting for it.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-04-07 14:46:45 +0300 Timo Sirainen <tss@iki.fi> (6b7e1dfd1b)
+
+ replicator: Have remote dsync notify the replicator that the user was just
+ synced. This way the replicators are roughly in sync.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/dsync-client.c
+
+2013-04-06 21:01:41 +0300 Timo Sirainen <tss@iki.fi> (b1aa228609)
+
+ replicator: Don't create replicator-doveadm socket by default. Also removed
+ the service replicator { process_min_avail=1 } requirement. This new way
+ allows replicator to give a flag to dsync so it will try to notify the
+ replicator process when user gets synced, which can be silently ignored even
+ if it fails (replica server doesn't need to have replicator or even Dovecot
+ itself running).
+
+
+M src/replication/replicator/replicator-settings.c
+M src/replication/replicator/replicator.c
+
+2013-04-06 20:44:38 +0300 Timo Sirainen <tss@iki.fi> (35e4905f73)
+
+ lib-index: Added missing NUL separator to attribute-update transaction log
+ record.
+
+
+M src/lib-index/mail-index-transaction-export.c
+
+2013-04-05 21:57:11 +0300 Timo Sirainen <tss@iki.fi> (bd9e7407f6)
+
+ fs-metawrap: Fixed fs_copy_finish_async() wrapping
+
+
+M src/lib-fs/fs-metawrap.c
+
+2013-04-05 21:03:20 +0300 Timo Sirainen <tss@iki.fi> (30a12782a7)
+
+ Added signature for changeset 9446df6da5a8
+
+
+M .hgsigs
+
+2013-04-05 21:03:16 +0300 Timo Sirainen <tss@iki.fi> (c367727853)
+
+ Added tag 2.2.rc5 for changeset 9446df6da5a8
+
+
+M .hgtags
+
+2013-04-05 21:03:16 +0300 Timo Sirainen <tss@iki.fi> (ed930763ab)
+
+ Released v2.2.rc5.
+
+
+M NEWS
+M configure.ac
+
+2013-04-05 19:27:41 +0300 Timo Sirainen <tss@iki.fi> (14a9f01348)
+
+ example-config: Added ssl_client_ca_dir setting.
+
+
+M doc/example-config/conf.d/10-ssl.conf
+
+2013-04-05 19:03:05 +0300 Timo Sirainen <tss@iki.fi> (636d0f4313)
+
+ lib-http: Fixed moving delayed request error timeouts between ioloops.
+
+
+M src/lib-http/http-client.c
+
+2013-04-05 16:37:45 +0300 Timo Sirainen <tss@iki.fi> (238812433b)
+
+ lib-index: Add timestamps and value lengths to attribute change records in
+ transaction log. The timestamps will be useful for dsync, and value lengths
+ will be useful for metadata quota.
+
+
+M src/doveadm/doveadm-dump-log.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index.h
+M src/lib-storage/index/index-attribute.c
+M src/plugins/acl/acl-mailbox.c
+
+2013-04-05 15:44:32 +0300 Timo Sirainen <tss@iki.fi> (fd81c8f5a3)
+
+ imap: Fixed RESETKEY command to not return failure when it actually
+ succeeded.
+
+
+M src/imap/cmd-resetkey.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+
+2013-04-05 15:17:30 +0300 Timo Sirainen <tss@iki.fi> (791fb70b32)
+
+ Make static analyzer happier.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/lib-http/http-client-request.c
+M src/lib/test-json-parser.c
+
+2013-04-05 14:05:54 +0300 Timo Sirainen <tss@iki.fi> (ba0d533587)
+
+ doveadm batch: Fixed handling subcommand parameters and errors.
+
+
+M src/doveadm/doveadm-mail-batch.c
+
+2013-04-05 13:19:17 +0300 Timo Sirainen <tss@iki.fi> (2a80aa687a)
+
+ quota-status: Unknown recipients caused a crash.
+
+
+M src/plugins/quota/quota-status.c
+
+2013-04-05 12:26:57 +0300 Timo Sirainen <tss@iki.fi> (dfc96c43be)
+
+ layout=index: Don't crash on mailbox_update() if the mailbox path couldn't
+ be found.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2013-04-05 12:25:29 +0300 Timo Sirainen <tss@iki.fi> (23d09920ee)
+
+ dsync: Fixes to location parameter handling.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-04-05 00:24:39 +0300 Timo Sirainen <tss@iki.fi> (d25c1c36c3)
+
+ Added signature for changeset 92c88eca562d
+
+
+M .hgsigs
+
+2013-04-05 00:24:36 +0300 Timo Sirainen <tss@iki.fi> (92170d845d)
+
+ Added tag 2.2.rc4 for changeset 92c88eca562d
+
+
+M .hgtags
+
+2013-04-05 00:24:36 +0300 Timo Sirainen <tss@iki.fi> (89d992b7a3)
+
+ Released v2.2.rc4.
+
+
+M NEWS
+M TODO
+M configure.ac
+
+2013-04-05 00:13:16 +0300 Timo Sirainen <tss@iki.fi> (47cf35bf36)
+
+ Merged changes from v2.1 tree.
+
+
+2013-04-05 00:08:40 +0300 Timo Sirainen <tss@iki.fi> (284aa558c9)
+
+ Added signature for changeset 582108c190f8
+
+
+M .hgsigs
+
+2013-04-05 00:08:37 +0300 Timo Sirainen <tss@iki.fi> (8be1363072)
+
+ Added tag 2.1.16 for changeset 582108c190f8
+
+
+M .hgtags
+
+2013-04-05 00:08:36 +0300 Timo Sirainen <tss@iki.fi> (e062b1ad61)
+
+ Released v2.1.16.
+
+
+M NEWS
+M configure.in
+
+2013-04-04 23:58:47 +0300 Timo Sirainen <tss@iki.fi> (2169e77bd5)
+
+ quota-status: Removed duplicate "action=" text from overquota messages.
+
+
+M src/plugins/quota/quota-status.c
+
+2013-04-04 23:56:55 +0300 Timo Sirainen <tss@iki.fi> (dc03cb97c6)
+
+ quota-status: Added quota_status_(success|nouser|overquota) settings.
+
+
+M src/plugins/quota/quota-status.c
+
+2013-04-04 23:35:27 +0300 Timo Sirainen <tss@iki.fi> (8761e72624)
+
+ replicator: If replicator is unconfigured, fail at startup.
+
+
+M src/replication/replicator/replicator.c
+
+2013-04-04 23:35:08 +0300 Timo Sirainen <tss@iki.fi> (d4845c4245)
+
+ lib-master: Added master_service_get_process_min_avail()
+
+
+M src/lib-master/master-interface.h
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+M src/master/service-process.c
+
+2013-04-04 23:03:47 +0300 Timo Sirainen <tss@iki.fi> (89e94dc804)
+
+ dsync: Mailbox name fixing didn't work when namespace prefixes were used.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2013-04-04 23:03:30 +0300 Timo Sirainen <tss@iki.fi> (607bca75bf)
+
+ imapc: Don't assert-crash when ACL plugin tries to lookup "" mailbox.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2013-04-04 23:03:06 +0300 Timo Sirainen <tss@iki.fi> (6eeb3fd0f4)
+
+ imapc: Give an early error message if imapc_list_prefix ends with separator.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2013-04-04 22:49:38 +0300 Timo Sirainen <tss@iki.fi> (7b64db32b9)
+
+ lib-storage: Crashfixes for handling shared mailboxes for nonexistent users.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-user.c
+
+2013-04-04 22:09:02 +0300 Timo Sirainen <tss@iki.fi> (1a3254b83b)
+
+ istream-chain: Final fixes to handling merged streams.
+
+
+M src/lib/istream-chain.c
+
+2013-04-04 21:46:59 +0300 Timo Sirainen <tss@iki.fi> (76f0cc074e)
+
+ istream-chain: More fixes to handling merged streams.
+
+
+M src/lib/istream-chain.c
+
+2013-04-04 21:23:49 +0300 Timo Sirainen <tss@iki.fi> (5d3e31cae6)
+
+ istream-chain: Fixed memory leak.
+
+
+M src/lib/istream-chain.c
+
+2013-04-04 21:18:59 +0300 Timo Sirainen <tss@iki.fi> (3aa0384865)
+
+ lib-imap-urlauth: Don't memcpy() data over itself.
+
+
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+
+2013-04-04 21:18:45 +0300 Timo Sirainen <tss@iki.fi> (7af4788b40)
+
+ i_stream_read(): Added assert.
+
+
+M src/lib/istream.c
+
+2013-04-04 21:18:28 +0300 Timo Sirainen <tss@iki.fi> (d730192e34)
+
+ istream-chain: Fixed handling small streams that get merged into same
+ buffer.
+
+
+M src/lib/istream-chain.c
+
+2013-04-04 20:32:28 +0300 Timo Sirainen <tss@iki.fi> (5acace56d9)
+
+ ldap auth: Don't access freed memory.
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+
+2013-04-04 20:05:37 +0300 Timo Sirainen <tss@iki.fi> (8b8227efef)
+
+ lib-storage: Add \Noinferiors flag to INBOX when such namespace config is
+ used.
+
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2013-04-04 19:45:28 +0300 Timo Sirainen <tss@iki.fi> (82315b27e4)
+
+ auth: If passdb wasn't used, don't preserve its extra fields in auth
+ request.
+
+
+M src/auth/auth-request.c
+
+2013-04-04 19:18:22 +0300 Timo Sirainen <tss@iki.fi> (e8ee955819)
+
+ lib-mail: quoted_printable_decode*() now returns all newlines as CRLF. This
+ is required by BINARY fetches, since the original data had CRLFs.
+
+
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/quoted-printable.h
+M src/lib-mail/test-quoted-printable.c
+
+2013-04-04 19:03:26 +0300 Timo Sirainen <tss@iki.fi> (d549ec5d17)
+
+ lib-storage: Fixed searching with multiple parameters and prefetching.
+
+
+M src/lib-storage/mail-search.c
+
+2013-04-04 18:18:50 +0300 Timo Sirainen <tss@iki.fi> (355384821d)
+
+ imapc, pop3c: Don't hide SSL handshake errors.
+
+
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2013-04-04 18:10:04 +0300 Timo Sirainen <tss@iki.fi> (b4d850a0ff)
+
+ lib-ssl-iostream: Simplified certificate validation. Also give better error
+ messages.
+
+
+M src/doveadm/server-connection.c
+M src/lib-http/http-client-connection.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2013-04-04 17:40:30 +0300 Timo Sirainen <tss@iki.fi> (3da95d05df)
+
+ lib-http: Crashfix for previous change.
+
+
+M src/lib-http/http-client-peer.c
+
+2013-04-04 17:39:17 +0300 Timo Sirainen <tss@iki.fi> (3b4bd183cc)
+
+ lib-ssl-iostream: Added support for TLS SNI, which caused some API changes.
+
+
+M src/doveadm/server-connection.c
+M src/lib-http/http-client-connection.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-master/master-service-ssl.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2013-04-04 17:34:23 +0300 Timo Sirainen <tss@iki.fi> (e1f9521e84)
+
+ lib-http: Prepare for TLS SNI support.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2013-04-04 16:53:08 +0300 Timo Sirainen <tss@iki.fi> (d47b9f1bd7)
+
+ lib-ssl: If debug=TRUE, set also SSL verbose=TRUE
+
+
+M src/lib-http/http-client.c
+
+2013-04-04 15:40:08 +0300 Timo Sirainen <tss@iki.fi> (9709107819)
+
+ lib-ssl-iostream: If handshake callback fails, close the iostreams
+ immediately. This way the callback itself doesn't have to do it. Also fixes
+ errors caused by it, since they didn't close the ostream.
+
+
+M src/doveadm/server-connection.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2013-04-04 15:21:52 +0300 Timo Sirainen <tss@iki.fi> (52ccd52593)
+
+ lib-http: Removed last traces of http_client_connection_error()
+
+
+M src/lib-http/http-client-connection.c
+
+2013-04-04 15:21:00 +0300 Timo Sirainen <tss@iki.fi> (ac645fe16c)
+
+ lib-ssl-iostream: ssl_iostream_set_handshake_callback() API changed. The
+ callback can now return the error message to caller instead of having to log
+ it itself.
+
+
+M src/doveadm/server-connection.c
+M src/lib-http/http-client-connection.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2013-04-04 14:58:00 +0300 Timo Sirainen <tss@iki.fi> (2a889fc596)
+
+ lib-http: Pass connect failures all the way to request callback's error
+ string.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2013-04-04 14:55:03 +0300 Timo Sirainen <tss@iki.fi> (f5386adc7c)
+
+ lib-http: Reorder http_client_connection deinit code just to be safe. I'm
+ not sure if this fixes any actual bugs, but just in case request callbacks
+ cause the connection to be accessed/modified in some way abort the requests
+ before doing anything else.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-04-04 14:51:20 +0300 Timo Sirainen <tss@iki.fi> (9c8d244b70)
+
+ lib-http: Fixed double-free on delayed connect() failures caused by recent
+ change.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-04-04 14:41:06 +0300 Timo Sirainen <tss@iki.fi> (32b6d86134)
+
+ lib-http: If SSL init/handshake fails for connection, destroy it.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-04-04 14:30:41 +0300 Timo Sirainen <tss@iki.fi> (436c529e13)
+
+ lib-http: If connect() fails, destroy the http_client_connection. Fixes
+ hanging requests when a peer has multiple connections.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-04-04 14:18:38 +0300 Timo Sirainen <tss@iki.fi> (a321ac56cf)
+
+ lib-http: Simplify error handling by delaying connect() failures.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2013-04-04 14:11:10 +0300 Timo Sirainen <tss@iki.fi> (6bc9fb43cc)
+
+ lib-http: If http_client_request_submit() fails, don't immediately call the
+ callback. This simplifies the caller's error handling since there is now
+ only one error code path instead of two.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2013-04-04 13:21:42 +0300 Timo Sirainen <tss@iki.fi> (692ab2d0ea)
+
+ lib-http: Removed unused code.
+
+
+M src/lib-http/http-client-peer.c
+
+2013-04-04 13:20:59 +0300 Timo Sirainen <tss@iki.fi> (ba1c847d0a)
+
+ lib-ssl-iostream: API changes to return error strings if init() functions
+ fail. This also fixed a couple of broken error handlings.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/server-connection.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-master/master-service-ssl.c
+M src/lib-master/master-service-ssl.h
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl-params.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl-private.h
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2013-04-04 13:12:26 +0300 Timo Sirainen <tss@iki.fi> (111a251bf1)
+
+ lib-ssl-iostream: Removed unused iostream-ssl-none.c
+
+
+D src/lib-ssl-iostream/iostream-ssl-none.c
+
+2013-04-04 12:48:52 +0300 Timo Sirainen <tss@iki.fi> (415e16c3dc)
+
+ lib-http: Each peer doesn't need a separate ssl context, enough to have one
+ for http_client. Also removed #ifdefs for building with SSL support.
+ lib-ssl-iostream nowadays dynamically loads the SSL library when needed, and
+ also handles failures if Dovecot was built without SSL support.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.c
+
+2013-04-04 12:21:04 +0300 Timo Sirainen <tss@iki.fi> (18d2775f81)
+
+ lib-http: Pass DNS lookup error message to caller instead of logging it.
+
+
+M src/lib-http/http-client-host.c
+
+2013-04-03 11:36:56 +0300 Timo Sirainen <tss@iki.fi> (29658a7e7a)
+
+ dovecot.m4: Reverted last change with added comments.
+
+
+M dovecot.m4
+
+2013-04-02 23:32:10 +0300 Timo Sirainen <tss@iki.fi> (f54e601ca6)
+
+ lib-master: If fifo isn't accepted, don't double-destroy the connection.
+
+
+M src/lib-master/master-service.c
+
+2013-04-02 23:29:43 +0300 Timo Sirainen <tss@iki.fi> (30d917bcd4)
+
+ lib-http: Added ssl_ca setting to specify the CA certificate directly.
+
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+
+2013-04-02 23:11:30 +0300 Timo Sirainen <tss@iki.fi> (805c767118)
+
+ dovecot.m4: Removed --without-dovecot-install-dirs from distcheck configure
+ flags. Perhaps the whole feature should be designed some other way. Some
+ plugins require the dovecot_* variables to point to their real paths.
+
+
+M dovecot.m4
+
+2013-04-02 11:52:36 +0300 Timo Sirainen <tss@iki.fi> (f8b73b7a49)
+
+ quota-status: If size parameter is given, use it to check quota.
+
+
+M src/plugins/quota/quota-status.c
+
+2013-04-02 11:32:24 +0300 Timo Sirainen <tss@iki.fi> (94100e1f65)
+
+ lib-index: Backported MAIL_TRANSACTION_ATTRIBUTE_UPDATE from v2.2
+
+
+M src/doveadm/doveadm-dump-log.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-transaction-log.h
+
+2013-04-02 11:22:52 +0300 Timo Sirainen <tss@iki.fi> (49fc09f995)
+
+ auth: Fixed also DOVECOT-TOKEN (=URLAUTH) and NTLM/GSS-SPNEGO (via winbind)
+ to work.
+
+
+M src/auth/mech-dovecot-token.c
+M src/auth/mech-winbind.c
+
+2013-04-02 11:18:45 +0300 Timo Sirainen <tss@iki.fi> (0c7ccf0dba)
+
+ auth: Fixed ANONYMOUS mechanism to work again.
+
+
+M src/auth/mech-anonymous.c
+
+2013-03-31 19:02:32 +0300 Timo Sirainen <tss@iki.fi> (b8a4aab1f1)
+
+ quota: Added more debug logs about quota_grace
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2013-03-31 18:43:13 +0300 Timo Sirainen <tss@iki.fi> (789cb161ef)
+
+ dsync: Fixed syncing without GUIDs.
+
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2013-03-31 18:35:13 +0300 Timo Sirainen <tss@iki.fi> (1e06f30618)
+
+ dsync: Don't crash if second user initialization fails.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-03-31 18:24:54 +0300 Timo Sirainen <tss@iki.fi> (9e992397c2)
+
+ dsync: If remote doesn't send some mails, don't exit with code 0.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-03-31 18:15:00 +0300 Timo Sirainen <tss@iki.fi> (4307e3a232)
+
+ auth: nodelay and nopassword fields weren't handled correctly.
+
+
+M src/auth/auth-request.c
+
+2013-03-31 18:03:50 +0300 Timo Sirainen <tss@iki.fi> (1fa2054fba)
+
+ auth: Implemented userdb_import and userdb_userdb_import fields.
+
+
+M src/auth/auth-request.c
+
+2013-03-31 17:47:52 +0300 Timo Sirainen <tss@iki.fi> (f96f042e48)
+
+ auth: Fixed passdb_import not to crash when =value isn't given.
+
+
+M src/auth/auth-request.c
+
+2013-03-31 17:44:34 +0300 Timo Sirainen <tss@iki.fi> (0fbf1f84f4)
+
+ auth: Renamed userdb_userdb_import to passdb_import, since that's what it
+ really is.
+
+
+M src/auth/auth-request.c
+
+2013-03-31 17:40:12 +0300 Timo Sirainen <tss@iki.fi> (6ca88ca580)
+
+ auth: Allow using userdb_userdb_import in passdb query to set multiple
+ userdb fields.
+
+
+M src/auth/auth-request.c
+
+2013-03-31 17:25:10 +0300 Timo Sirainen <tss@iki.fi> (44320b37d2)
+
+ virtual plugin: Fixed saving/copying messages to virtual mailbox.
+
+
+M src/lib-storage/mail-storage.c
+M src/plugins/virtual/virtual-save.c
+
+2013-03-31 17:24:35 +0300 Timo Sirainen <tss@iki.fi> (75b6f320d3)
+
+ lib-storage: mailbox_get_status() no longer forces mailbox to be synced.
+ This fixes copying messages with keywords to a virtual mailbox, where
+ syncing happened too late and caused assert-crash (status was only used to
+ lookup list of keywords).
+
+ The crash could have been solved another way too, but it's probably better
+ if automatic syncing isn't always performed. doveadm index -n parameter
+ handling also relies on this behavior.
+
+M src/lib-storage/index/index-status.c
+M src/lib-storage/mail-storage.h
+
+2013-03-31 16:46:45 +0300 Timo Sirainen <tss@iki.fi> (9bc71fc132)
+
+ lib-storage: Don't reset mail_save_context.copying|moving|copying_via_save
+ too early.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage.c
+
+2013-03-31 16:46:11 +0300 Timo Sirainen <tss@iki.fi> (e9081684ea)
+
+ lib-storage: Create a default namespace for auto-created shared mail_users.
+ Some code nowadays requires user to have prefix="" namespace.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+
+2013-03-31 11:23:42 +0300 Timo Sirainen <tss@iki.fi> (4ab5a44867)
+
+ lib-master: Ignore mountpoints under /tmp and /var/tmp by default.
+
+
+M src/lib-master/mountpoint-list.c
+
+2013-03-28 11:37:07 +0200 Timo Sirainen <tss@iki.fi> (ad0fe43825)
+
+ maildir++ quota: Fixed relative quota_grace when taking limit from
+ maildirsize file
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2013-03-27 21:10:35 +0200 Timo Sirainen <tss@iki.fi> (0fa25bd866)
+
+ maildir: If maildir_broken_filename_sizes=yes, don't try to fix sizes in
+ filenames.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2013-03-27 14:45:14 +0200 Timo Sirainen <tss@iki.fi> (c4e3c997c0)
+
+ lib-fs: Always keep the error in the parentmost fs. This fixes problems with
+ getting the correct error message when wrapper filesystems are used.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-metawrap.c
+
+2013-03-27 12:53:35 +0200 Timo Sirainen <tss@iki.fi> (9181786810)
+
+ dsync: Use i_fatal() for invalid parameters, like the rest of doveadm
+ commands. Probably the parse_arg() API should be changed to allow reporting
+ errors.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-03-27 12:51:02 +0200 Timo Sirainen <tss@iki.fi> (cf50828320)
+
+ lib-index: Removed obsolete 16bit size check asserts from
+ mail_index_update_header_ext()
+
+
+M src/lib-index/mail-index-transaction-update.c
+
+2013-03-27 09:16:56 +0200 Timo Sirainen <tss@iki.fi> (401bacb360)
+
+ dsync: Don't access uninitialized variable
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-03-27 09:16:42 +0200 Timo Sirainen <tss@iki.fi> (faccb8e514)
+
+ Compiler warning fix
+
+
+M src/replication/replication-common.h
+
+2013-03-26 22:41:43 +0200 Timo Sirainen <tss@iki.fi> (c161661e74)
+
+ lib-storage: Added assert.
+
+
+M src/lib-storage/mail.c
+
+2013-03-26 22:41:32 +0200 Timo Sirainen <tss@iki.fi> (ecdf46d111)
+
+ dsync: Allow doveadm plugins to override local_location at run().
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-03-26 22:40:57 +0200 Timo Sirainen <tss@iki.fi> (7ea46e7d9f)
+
+ dsync: Allow syncing same mail root dirs if indexes are different. Fixes
+ dsyncing with storages that have no mail root dirs.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-03-26 22:39:38 +0200 Timo Sirainen <tss@iki.fi> (a1893588a7)
+
+ dsync: Crashfix when importing from storage without GUIDs.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-03-26 14:38:30 +0200 Timo Sirainen <tss@iki.fi> (8d8dc14bf9)
+
+ ldap: Another fix to sub-dn-lookup.
+
+
+M src/auth/db-ldap.c
+
+2013-03-26 10:36:49 +0200 Timo Sirainen <tss@iki.fi> (b6df44e31b)
+
+ ldap: Crashfix
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+M src/auth/passdb-ldap.c
+M src/auth/userdb-ldap.c
+
+2013-03-26 10:35:38 +0200 Timo Sirainen <tss@iki.fi> (872521e5ee)
+
+ ldap: Compiling fix to previous change
+
+
+M src/auth/db-ldap.c
+
+2013-03-26 10:25:50 +0200 Timo Sirainen <tss@iki.fi> (f30ab1a83f)
+
+ ldap: Improved sub-dn-lookup error message.
+
+
+M src/auth/db-ldap.c
+
+2013-03-25 18:10:16 +0200 Timo Sirainen <tss@iki.fi> (f2f40b6ca4)
+
+ ldap: Various crashfixes
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+M src/auth/userdb-ldap.c
+
+2013-03-25 17:56:53 +0200 Timo Sirainen <tss@iki.fi> (068afb0ee3)
+
+ ldap: Don't crash if attributes have no @subrequests.
+
+
+M src/auth/db-ldap.c
+
+2013-03-25 17:02:15 +0200 Timo Sirainen <tss@iki.fi> (9f99b5c3e6)
+
+ doveadm sync/backup: Added -g <guid> to sync only the specified mailbox (by
+ GUID) Similar to -m <mailbox name>.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+
+2013-03-25 16:19:54 +0200 Timo Sirainen <tss@iki.fi> (5685e60e62)
+
+ doveadm: Added "batch" command to run multiple mail commands. This only
+ makes sense when the commands are run with -A or -u <usermask>, so that the
+ commands are run for the same user before moving onto the next user.
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-mail-batch.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2013-03-25 14:18:20 +0200 Timo Sirainen <tss@iki.fi> (861f4c69f2)
+
+ dsync: Fixed syncing attribute streams.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-03-25 13:55:41 +0200 Timo Sirainen <tss@iki.fi> (b32b2375b6)
+
+ imap: Fixed more URL escaping in URLFETCH replies.
+
+
+M src/imap/cmd-urlfetch.c
+
+2013-03-24 19:04:15 +0200 Timo Sirainen <tss@iki.fi> (96d12aa688)
+
+ mysql/pgsql: Don't bother logging about having connected to the database.
+ There's probably no good reason to have them? Errors are of course still
+ logged.
+
+
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+
+2013-03-24 18:58:20 +0200 Timo Sirainen <tss@iki.fi> (01fde39bc8)
+
+ doveadm-server: Don't continue handling commands if input stream is already
+ closed. This fixes trying to handle extra input from previous dsync command.
+
+
+M src/doveadm/client-connection.c
+
+2013-03-24 18:48:28 +0200 Timo Sirainen <tss@iki.fi> (e98e8ba55a)
+
+ imap: GENURLAUTH and URLFETCH didn't escape URL parameters when needed.
+
+
+M src/imap/cmd-genurlauth.c
+M src/imap/cmd-urlfetch.c
+
+2013-03-24 18:14:11 +0200 Timo Sirainen <tss@iki.fi> (5ca40db1f8)
+
+ doveadm replicator status: Without <usermask> parameter show overview
+ status.
+
+
+M src/doveadm/doveadm-replicator.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-queue.h
+
+2013-03-24 18:13:53 +0200 Timo Sirainen <tss@iki.fi> (0fa3852d31)
+
+ doveadm: Table formatter now hides the titles if all of them are marked
+ hidden.
+
+
+M src/doveadm/doveadm-print-table.c
+
+2013-03-24 17:48:17 +0200 Timo Sirainen <tss@iki.fi> (4bed69a78f)
+
+ doveadm: Added "replicator replicate" command to force replication of
+ user(s).
+
+
+M src/doveadm/doveadm-replicator.c
+M src/replication/replicator/doveadm-connection.c
+
+2013-03-24 17:23:33 +0200 Timo Sirainen <tss@iki.fi> (34d73a1789)
+
+ replication_full_sync_interval default changed from 12h -> 24h This allows
+ doing full resyncs only at nights.
+
+
+M src/replication/replicator/replicator-settings.c
+
+2013-03-24 17:21:49 +0200 Timo Sirainen <tss@iki.fi> (f3e77a037a)
+
+ replicator: If sync fails, retry it in 5 minutes.
+
+
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-queue.h
+M src/replication/replicator/replicator.c
+
+2013-03-24 17:04:22 +0200 Timo Sirainen <tss@iki.fi> (a6355f01a2)
+
+ replicator: Replicator queue export/import at exit/startup wasn't really
+ working.
+
+
+M src/replication/replicator/replicator-queue.c
+
+2013-03-24 16:53:32 +0200 Timo Sirainen <tss@iki.fi> (f7239655d6)
+
+ doveadm replicator status: Show sync time as "-" for "never".
+
+
+M src/doveadm/doveadm-replicator.c
+
+2013-03-24 16:52:39 +0200 Timo Sirainen <tss@iki.fi> (ce0aa35b40)
+
+ doveadm replicator status: Fixed user mask to work.
+
+
+M src/doveadm/doveadm-replicator.c
+M src/replication/replicator/doveadm-connection.c
+
+2013-03-24 16:48:53 +0200 Timo Sirainen <tss@iki.fi> (d069559141)
+
+ doveadm: Added "replicator status" command.
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-replicator.c
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+
+2013-03-24 16:48:29 +0200 Timo Sirainen <tss@iki.fi> (99a9e14caa)
+
+ replicator: Added doveadm socket for communicating with "doveadm
+ replicator".
+
+
+M src/replication/replication-common.h
+M src/replication/replicator/Makefile.am
+A src/replication/replicator/doveadm-connection.c
+A src/replication/replicator/doveadm-connection.h
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-queue.h
+M src/replication/replicator/replicator-settings.c
+M src/replication/replicator/replicator.c
+
+2013-03-24 16:04:37 +0200 Timo Sirainen <tss@iki.fi> (768370138d)
+
+ lib-storage: Fixed listing subscribed namespace prefixes.
+
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2013-03-24 15:33:36 +0200 Timo Sirainen <tss@iki.fi> (a184ef41af)
+
+ lib-storage: If INBOX isn't subscribed, don't return it in subscriptions
+ list.
+
+
+M src/lib-storage/list/mailbox-list-iter.c
+
+2013-03-22 19:45:52 +0200 Timo Sirainen <tss@iki.fi> (e36574dadc)
+
+ lib-storage: Compiling fix
+
+
+M src/lib-storage/mailbox-list.c
+
+2013-03-22 17:43:52 +0200 Timo Sirainen <tss@iki.fi> (74ebeb391b)
+
+ lib-storage: Fixed crash if shared namespace had subscriptions=yes
+
+
+M src/lib-storage/index/shared/shared-list.c
+
+2013-03-22 17:30:36 +0200 Timo Sirainen <tss@iki.fi> (ae2b61a8c6)
+
+ lib-storage: Added mailbox_list_get_settings()
+
+
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2013-03-22 12:48:21 +0200 Timo Sirainen <tss@iki.fi> (44a529ca5a)
+
+ dsync: Use fcntl() locking instead of flock().
+
+
+M src/doveadm/dsync/dsync-brain.c
+
+2013-03-22 11:17:14 +0200 Timo Sirainen <tss@iki.fi> (5e32f3d9e2)
+
+ Compiler warning fix
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-03-22 10:29:12 +0200 Timo Sirainen <tss@iki.fi> (2721a77c55)
+
+ acl: Don't crash when rebuilding acl dict for "unusable" namespaces.
+
+
+M src/plugins/acl/acl-lookup-dict.c
+
+2013-03-21 23:51:16 +0200 Timo Sirainen <tss@iki.fi> (f0d93763f2)
+
+ login proxy: Set a default 30s timeout.
+
+
+M src/login-common/client-common-auth.c
+
+2013-03-21 23:50:53 +0200 Timo Sirainen <tss@iki.fi> (fff19afbab)
+
+ login proxy: Stop proxy_timeout only after successfully logged in (not after
+ connected).
+
+
+M src/login-common/login-proxy.c
+
+2013-03-21 14:48:33 +0200 Timo Sirainen <tss@iki.fi> (f48fdb5718)
+
+ dsync: -m '' parameter now syncs mailbox list, but no actual mails.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+
+2013-03-20 22:06:06 +0200 Timo Sirainen <tss@iki.fi> (adc403868c)
+
+ Added signature for changeset 11bd79bf4866
+
+
+M .hgsigs
+
+2013-03-20 22:05:53 +0200 Timo Sirainen <tss@iki.fi> (33158cf33a)
+
+ Added tag 2.2.rc3 for changeset 11bd79bf4866
+
+
+M .hgtags
+
+2013-03-20 22:05:53 +0200 Timo Sirainen <tss@iki.fi> (e33ff0746d)
+
+ Released v2.2.rc3.
+
+
+M NEWS
+M configure.ac
+
+2013-03-20 21:44:48 +0200 Timo Sirainen <tss@iki.fi> (afaf4f2939)
+
+ Merged changes from v2.1 tree.
+
+
+2013-03-20 21:13:20 +0200 Timo Sirainen <tss@iki.fi> (e6debde4e5)
+
+ doveadm pw -t: Don't ask for password if -p is also specified. Patch by Paul
+ Wallingford.
+
+
+M src/doveadm/doveadm-pw.c
+
+2013-03-20 21:04:29 +0200 Timo Sirainen <tss@iki.fi> (e3677df81b)
+
+ mbox: Moved .subscriptions back to control_dir/ root instead of
+ control_dir/.imap/
+
+
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2013-03-20 20:56:58 +0200 Timo Sirainen <tss@iki.fi> (177295e3c4)
+
+ layout=fs: Fixed crash with mbox when control dir was enabled.
+
+
+M src/lib-storage/list/mailbox-list-fs.c
+
+2013-03-20 20:47:46 +0200 Timo Sirainen <tss@iki.fi> (3d651cf1a2)
+
+ dsync: Fixed retrying a search when GUIDs aren't available.
+
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2013-03-20 20:47:14 +0200 Timo Sirainen <tss@iki.fi> (2fdcbdc25e)
+
+ dsync: Avoid a creating a lot of searches for each synced mailbox.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+
+2013-03-20 20:24:31 +0200 Timo Sirainen <tss@iki.fi> (d8bdf558c7)
+
+ dsync: Don't crash when requested mail doesn't have a GUID.
+
+
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2013-03-20 20:17:15 +0200 Timo Sirainen <tss@iki.fi> (420809e403)
+
+ layout=fs: Fixed assert-crash when mail root doesn't exist (pop3c).
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2013-03-20 19:18:01 +0200 Timo Sirainen <tss@iki.fi> (d6dc20a131)
+
+ imap: Don't crash with invalid FETCH BODY[sections]
+
+
+M src/imap/imap-fetch-body.c
+M src/lib-imap-storage/imap-msgpart.c
+
+2013-03-20 18:52:51 +0200 Timo Sirainen <tss@iki.fi> (b46eb149f5)
+
+ example-config: Removed a warning about mail_attachment_dir not being
+ tested.
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2013-03-20 18:46:10 +0200 Timo Sirainen <tss@iki.fi> (db0fb9eb7d)
+
+ fts: Fixed crash when searching virtual mailboxes and fts backend without
+ lookup_multi(). Patch by Mike Abbott / Apple
+
+
+M src/plugins/fts/fts-api.c
+
+2013-03-20 18:24:21 +0200 Timo Sirainen <tss@iki.fi> (de3328eed2)
+
+ lib-lda: Send QUIT after DATA replies have been received.
+
+
+M src/lib-lda/lmtp-client.c
+
+2013-03-20 18:09:46 +0200 Timo Sirainen <tss@iki.fi> (8d9540a453)
+
+ acl: Put ACL files to control dir if storage doesn't have a mail directory.
+
+
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+
+2013-03-20 17:59:32 +0200 Timo Sirainen <tss@iki.fi> (d71d05cf44)
+
+ layout=index: Fixed mailbox_exists()
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2013-03-20 17:54:52 +0200 Timo Sirainen <tss@iki.fi> (005eb7a9e9)
+
+ imap: Fixed RESETKEY assert-crashing
+
+
+M src/imap/cmd-resetkey.c
+
+2013-03-20 17:44:07 +0200 Timo Sirainen <tss@iki.fi> (bdf6608a82)
+
+ layout=index: Don't return a path for \Noselect mailboxes.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2013-03-20 17:43:32 +0200 Timo Sirainen <tss@iki.fi> (06faee18bc)
+
+ lib-storage: mailbox_rename() shouldn't require source mailbox to exist.
+ \Noselect mailboxes may not exist. The nonexistence will be noticed
+ eventually in the backend code.
+
+
+M src/lib-storage/mail-storage.c
+
+2013-03-20 17:10:47 +0200 Timo Sirainen <tss@iki.fi> (3010259e78)
+
+ lib-fs: Fixed fs_default_copy() to work with async writes.
+
+
+M src/lib-fs/fs-api.c
+
+2013-03-20 12:04:39 +0200 Timo Sirainen <tss@iki.fi> (cc116e6d7a)
+
+ replicator: Renamed doveadm-connection to dsync-client.
+
+
+M src/replication/replicator/Makefile.am
+D src/replication/replicator/doveadm-connection.c
+D src/replication/replicator/doveadm-connection.h
+A src/replication/replicator/dsync-client.c
+A src/replication/replicator/dsync-client.h
+M src/replication/replicator/replicator-brain.c
+
+2013-03-20 09:59:27 +0200 Timo Sirainen <tss@iki.fi> (ab3c52cff4)
+
+ dsync: Fixed attribute value comparisons.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-03-19 23:31:41 +0200 Timo Sirainen <tss@iki.fi> (3b1f449bb7)
+
+ Compiler warning fix.
+
+
+M src/doveadm/dsync/dsync-mailbox.c
+
+2013-03-19 19:08:17 +0200 Timo Sirainen <tss@iki.fi> (e563b8a145)
+
+ lib-storage: Added a way to create plugins that forcibly hook into mail
+ storage. Mostly meant for doveadm_sieve plugin.
+
+
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-hooks.h
+M src/lib-storage/mail-storage-private.h
+
+2013-03-19 19:05:27 +0200 Timo Sirainen <tss@iki.fi> (41e51b972f)
+
+ lib-storage: Mailbox attributes can now be accessed via istreams. The idea
+ is to use istreams for larger values.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox.c
+M src/doveadm/dsync/dsync-mailbox.h
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/plugins/acl/acl-attributes.c
+
+2013-03-19 18:52:39 +0200 Timo Sirainen <tss@iki.fi> (d995d22823)
+
+ dsync: Fixed sending mailbox attributes with stream ibc.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-03-19 18:50:55 +0200 Timo Sirainen <tss@iki.fi> (4292c8c20c)
+
+ dsync: Mail requests were lost when attributes were being synced.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+
+2013-03-19 18:48:47 +0200 Timo Sirainen <tss@iki.fi> (c2fa1f8e93)
+
+ acl: Don't iterate ACL attributes if prefix has no chance of matching them.
+
+
+M src/plugins/acl/acl-attributes.c
+
+2013-03-19 14:00:49 +0200 Timo Sirainen <tss@iki.fi> (ed96771946)
+
+ acl: Preserve dovecot-acl file's mtime when dsyncing.
+
+
+M src/plugins/acl/acl-api.h
+M src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-backend-vfile.c
+
+2013-03-19 14:00:21 +0200 Timo Sirainen <tss@iki.fi> (2d567b0304)
+
+ acl: Don't unnecessarily rewrite dovecot-acl file when re-adding the same
+ ACL.
+
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2013-03-19 13:59:22 +0200 Timo Sirainen <tss@iki.fi> (9307e4f91e)
+
+ dsync: Set last_change timestamp for unset attributes.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-03-19 13:59:02 +0200 Timo Sirainen <tss@iki.fi> (d261a383b3)
+
+ lib-storage: Allow mailbox_attribute_set() to also unset values. This allows
+ giving the last_change timestamp also when unsetting.
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2013-03-19 13:34:12 +0200 Timo Sirainen <tss@iki.fi> (6cc4cce207)
+
+ lib-storage: mailbox_attribute_set() now uses struct mail_attribute_value.
+ This allows settig the last_change value, as well as using streams and
+ setting other flags in future.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-storage.h
+
+2013-03-19 12:39:43 +0200 Timo Sirainen <tss@iki.fi> (32a1beb2dd)
+
+ net_is_in_network(): Don't assert-crash with invalid IP. It's probably
+ better to do the check here instead of remembering for caller to do the
+ check.
+
+
+M src/lib/net.c
+M src/lib/net.h
+
+2013-03-19 12:18:25 +0200 Timo Sirainen <tss@iki.fi> (2d6c6f1d06)
+
+ test-json-parser: Fixed failing test with some non-gcc/clang compilers.
+
+
+M src/lib/test-json-parser.c
+
+2013-03-19 12:13:33 +0200 Timo Sirainen <tss@iki.fi> (6264b5ea56)
+
+ ldap auth: Removed base() wrapper around @dn values. The idea was to provide
+ extensibility, but it can better be done with LDAP URLs.
+
+
+M src/auth/db-ldap.c
+
+2013-03-19 11:52:15 +0200 Timo Sirainen <tss@iki.fi> (b433ae56aa)
+
+ lib-fs: fs-test now sets the ssl_client_set.ca_dir
+
+
+M src/lib-fs/Makefile.am
+M src/lib-fs/fs-test.c
+
+2013-03-19 11:42:51 +0200 Timo Sirainen <tss@iki.fi> (16cb5d6526)
+
+ Moved ssl_client_ca_dir and ssl_crypto_device to mail_storage_settings.
+ Probably could also be moved to master_service_settings, but that makes
+ accessing them a bit more tricky with the current code.
+
+
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/dsync/doveadm-dsync.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/index/pop3c/pop3c-settings.h
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2013-03-19 11:39:07 +0200 Timo Sirainen <tss@iki.fi> (c4a629cd71)
+
+ lib-fs: Allow passing through SSL client settings via struct fs_settings.
+
+
+M src/lib-fs/fs-api.h
+
+2013-03-18 21:31:34 +0200 Timo Sirainen <tss@iki.fi> (626a206050)
+
+ ldap auth: "!ldapField" now requests the given field, but doesn't return it
+ directly. It's only useful for listing fields that %{ldap_ptr} can
+ potentially access.
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+
+2013-03-18 21:23:54 +0200 Timo Sirainen <tss@iki.fi> (a9b698e78f)
+
+ ldap auth: Added %{ldap_ptr:realAttr} to get the value from the realAttr.
+ For example:
+
+ password_attrs = \
+ =proxy=y, \
+ =host=%{ldap_ptr:activeHost}, \
+ primaryHost, secondaryHost
+
+ Where activeHost's value is either "primaryHost" or "secondaryHost".
+
+M src/auth/db-ldap.c
+
+2013-03-18 21:20:54 +0200 Timo Sirainen <tss@iki.fi> (c2bae70e86)
+
+ ldap auth: Fix to previous change.
+
+
+M src/auth/db-ldap.c
+
+2013-03-18 20:51:33 +0200 Timo Sirainen <tss@iki.fi> (3fb1531681)
+
+ ldap auth: Support field values containing DNs to other LDAP records and
+ getting them. For example:
+
+ user_attrs = \
+ =user=%{ldap:uid}, \
+ @mail=base(%{ldap:mailDN}), \
+ =uid=%{ldap:uidNumber@mail}, \
+ =gid=%{ldap:gidNumber@mail}, \
+ =home=%{ldap:rootPath@mail}/%d/%n
+
+ This first does the regular lookup, and then does another lookup using
+ mailDN's value as the new lookup's base. The other lookup's filter is
+ currently hardcoded to "no filter".
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+M src/auth/passdb-ldap.c
+M src/auth/userdb-ldap.c
+
+2013-03-18 16:51:58 +0200 Timo Sirainen <tss@iki.fi> (068ac10850)
+
+ auth: Return "nologin" and "proxy" fields to login process without "=value".
+
+
+M src/auth/auth-fields.c
+M src/auth/auth-fields.h
+M src/auth/auth-request-handler.c
+
+2013-03-18 15:59:40 +0200 Timo Sirainen <tss@iki.fi> (31a9637b38)
+
+ Compiling fix for Solaris
+
+
+M src/lib-master/master-service.h
+
+2013-03-18 15:47:14 +0200 Timo Sirainen <tss@iki.fi> (512962b755)
+
+ istream-qp-decoder: Fixed assert-crashing with buffer size allocations. The
+ original implementation was copy&pasted from istream-base64-decoder without
+ enough thinking..
+
+
+M src/lib-mail/istream-qp-decoder.c
+
+2013-03-18 15:46:16 +0200 Timo Sirainen <tss@iki.fi> (d5ecc28acb)
+
+ quoted-printable decoding: Don't add CR if it wasn't in input. This
+ guarantees that the decoded Q-P won't be larger than its input.
+
+
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/test-quoted-printable.c
+
+2013-03-15 21:58:51 +0100 Timo Sirainen <tss@iki.fi> (9c6a09aa16)
+
+ lib-master: include unistd.h for master_getopt() users.
+
+
+M src/lib-master/master-service.h
+
+2013-03-15 21:55:40 +0100 Timo Sirainen <tss@iki.fi> (90814c0276)
+
+ Compile fix on non-gcc/clang.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2013-03-15 20:49:39 +0100 Timo Sirainen <tss@iki.fi> (9a5980c7bb)
+
+ Compile fix on non-gcc/clang.
+
+
+M src/lib/istream-chain.c
+
+2013-03-14 15:41:39 +0200 Timo Sirainen <tss@iki.fi> (eb4d4f557f)
+
+ acl: Added ACL checks for attributes. Added ACL <-> mailbox attribute
+ mapping. The ACL checks will be useful once IMAP METADATA extension is
+ finished. The mapping is used by dsync to sync ACLs via generic attribute
+ syncing.
+
+
+M src/plugins/acl/Makefile.am
+M src/plugins/acl/acl-api-private.h
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-api.h
+A src/plugins/acl/acl-attributes.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-plugin.h
+M src/plugins/acl/acl-storage.h
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2013-03-14 15:41:09 +0200 Timo Sirainen <tss@iki.fi> (55d33f8077)
+
+ dsync: Added support for syncing mailbox attributes.
+
+
+M src/doveadm/dsync/Makefile.am
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-private.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-export.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+A src/doveadm/dsync/dsync-mailbox.c
+M src/doveadm/dsync/dsync-mailbox.h
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/dsync/dsync-transaction-log-scan.h
+
+2013-03-14 15:32:14 +0200 Timo Sirainen <tss@iki.fi> (50c617761e)
+
+ lib-storage: Changed mailbox_attribute_get/set() APIs to have a transaction
+ and update index. The _get() doesn't currently actually use the transaction.
+ It was mainly put there for future use where it could be useful. It's also
+ possible that _iter() will need a transaction also. For now these decisions
+ seem good enough.
+
+
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2013-03-14 15:29:18 +0200 Timo Sirainen <tss@iki.fi> (fee561b9d9)
+
+ lib-index: mail_index_attribute_[un]set() adds changed attributes' keys to
+ transaction log. This provides them both a modseq (so their changes become
+ visible) as well as an efficient way to see what attributes have changed by
+ reading the transaction log. The values themselves aren't written to the
+ log, because they could be large.
+
+
+M src/doveadm/doveadm-dump-log.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.h
+
+2013-03-14 15:24:48 +0200 Timo Sirainen <tss@iki.fi> (6303f32ad4)
+
+ lib-master: Added version_string_verify_full()
+
+
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2013-03-14 15:25:07 +0200 Timo Sirainen <tss@iki.fi> (b3bf71e0c9)
+
+ istream-dot unit test updated.
+
+
+M src/lib-mail/test-istream-dot.c
+
+2013-03-13 22:11:39 +0200 Timo Sirainen <tss@iki.fi> (e2ce8d4a6a)
+
+ iostreams: Added close_parent flag to close() handler and clarified
+ close/destroy APIs. This makes it unambiguous how things work: Unless you
+ explicitly call [io]_stream_close(), the parent streams won't be closed.
+ This is what most (hopefully all!) of the existing code expects.
+
+ I was wondering a bit if [io]_stream_destroy() should simply have been
+ removed and replaced with [io]_stream_unref() calls, since they would have
+ worked basically everywhere, but there might be some places where it's
+ better to have explicitly closed the stream (and where closing the parent
+ stream doesn't matter).
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-zlib.c
+M src/lib-fs/ostream-cmp.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib/iostream-private.h
+M src/lib/iostream-temp.c
+M src/lib/iostream.c
+M src/lib/istream-concat.c
+M src/lib/istream-file.c
+M src/lib/istream-mmap.c
+M src/lib/istream-rawlog.c
+M src/lib/istream-seekable.c
+M src/lib/istream-tee.c
+M src/lib/istream.c
+M src/lib/istream.h
+M src/lib/ostream-file.c
+M src/lib/ostream-rawlog.c
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2013-03-13 15:05:05 +0200 Timo Sirainen <tss@iki.fi> (8c30a8e508)
+
+ lda, lmtp: postmaster_address = postmaster@%d works now.
+
+
+M doc/example-config/conf.d/15-lda.conf
+M src/lda/main.c
+M src/lib-lda/lda-settings.c
+M src/lmtp/commands.c
+
+2013-03-11 17:25:46 +0200 Timo Sirainen <tss@iki.fi> (42d2fdfbe4)
+
+ lib-fs: Fixed fs_delete() API description.
+
+
+M src/lib-fs/fs-api.h
+
+2013-03-11 14:44:48 +0200 Timo Sirainen <tss@iki.fi> (16d8e47d20)
+
+ acl: Delay initializing default backend ACLs. This fixes a crash with
+ LAYOUT=index.
+
+
+M src/plugins/acl/acl-backend.c
+
+2013-03-10 20:52:10 +0200 Timo Sirainen <tss@iki.fi> (293b45b56b)
+
+ fts-solr: Removed unnecessary code.
+
+
+M src/plugins/fts-solr/solr-connection.c
+
+2013-03-10 20:49:51 +0200 Timo Sirainen <tss@iki.fi> (ab4bd2aaf8)
+
+ lib-http: Don't crash if request callback manages to get the connection
+ destroyed.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-03-10 20:38:35 +0200 Timo Sirainen <tss@iki.fi> (667de5cf29)
+
+ lib-http: Added assert.
+
+
+M src/lib-http/http-client-request.c
+
+2013-03-10 20:37:41 +0200 Timo Sirainen <tss@iki.fi> (6c768e0e1c)
+
+ lib-http: Callback can now request a retry with
+ http_client_request_try_retry() This can be useful for handling "try again"
+ errors from HTTP servers.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2013-03-10 20:34:49 +0200 Timo Sirainen <tss@iki.fi> (91547f2947)
+
+ lib-http: Removed unnecessary code from test-http-client
+
+
+M src/lib-http/test-http-client.c
+
+2013-03-10 19:55:45 +0200 Timo Sirainen <tss@iki.fi> (d66ad81661)
+
+ lib-http: Free peer if it can't be connected to and it has no pending
+ requests.
+
+
+M src/lib-http/http-client-peer.c
+
+2013-03-10 19:54:51 +0200 Timo Sirainen <tss@iki.fi> (4d4f0aca01)
+
+ lib-http: If host can't be connected to, don't keep retrying with more than
+ one connection. This also fixes infinitely trying to reconnect to host and
+ retry.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2013-03-10 18:37:46 +0200 Timo Sirainen <tss@iki.fi> (a477aae12e)
+
+ lib-http: If SSL connection gets lost, log the last SSL error.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-03-10 18:37:10 +0200 Timo Sirainen <tss@iki.fi> (ceddfbe396)
+
+ lib-ssl-iostream: Enable SSL_MODE_ENABLE_PARTIAL_WRITE
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2013-03-10 18:36:40 +0200 Timo Sirainen <tss@iki.fi> (b1faf5924b)
+
+ lib-ssl-iostream: Fixed "bad write retry" errors when output had to be
+ buffered.
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2013-03-10 18:16:28 +0200 Timo Sirainen <tss@iki.fi> (6a9bd9f9e6)
+
+ iostream-rawlog: Pass through close() to parent input/output stream.
+
+
+M src/lib/istream-rawlog.c
+M src/lib/ostream-rawlog.c
+
+2013-03-10 17:19:14 +0200 Timo Sirainen <tss@iki.fi> (296ad15ccf)
+
+ lib-http: Fixed hangs with urgent requests.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-peer.c
+
+2013-03-10 17:17:47 +0200 Timo Sirainen <tss@iki.fi> (1d048c5050)
+
+ lib-http: Allow caller to find out what state a request is in.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2013-03-08 20:25:12 +0200 Timo Sirainen <tss@iki.fi> (dd61a7356c)
+
+ lib-http: Send Content-Length whenever payload is specified, even if its
+ size is 0.
+
+
+M src/lib-http/http-client-request.c
+
+2013-03-06 11:39:43 +0200 Timo Sirainen <tss@iki.fi> (2e5d4199ae)
+
+ Added ostream-hash for calculating a hash from data going through ostream.
+
+
+M src/lib/Makefile.am
+A src/lib/ostream-hash.c
+A src/lib/ostream-hash.h
+
+2013-03-05 21:44:07 +0200 Timo Sirainen <tss@iki.fi> (92e0112278)
+
+ lib-http: Avoid hanging on urgent requests. Patch by Timo & Stephan. There
+ are still some problems though, all urgent requests don't seem to get a new
+ connection.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+
+2013-03-05 16:32:12 +0200 Timo Sirainen <tss@iki.fi> (f21b0af073)
+
+ lib-http: Fixed crash caused by previous change.
+
+
+M src/lib-http/http-client-connection.c
+
+2013-03-05 14:32:03 +0200 Timo Sirainen <tss@iki.fi> (99feb65215)
+
+ lib-http: If we get disconnected, say exactly what the error was.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+
+2013-03-05 14:31:43 +0200 Timo Sirainen <tss@iki.fi> (d48e40d6c7)
+
+ connection: Give input/output streams a name.
+
+
+M src/lib/connection.c
+
+2013-03-05 14:31:29 +0200 Timo Sirainen <tss@iki.fi> (00b706a9ea)
+
+ connection_list_deinit(): Set disconnect_reason correctly to
+ CONNECTION_DISCONNECT_DEINIT
+
+
+M src/lib/connection.c
+
+2013-03-05 12:20:41 +0200 Timo Sirainen <tss@iki.fi> (dc189cb899)
+
+ lib-fs: istream-metawrap supports now seeking before reading the metadata.
+
+
+M src/lib-fs/istream-metawrap.c
+
+2013-03-05 11:45:26 +0200 Timo Sirainen <tss@iki.fi> (1a9a35a6b3)
+
+ lib-http: Fixed http_client_wait() assert.
+
+
+M src/lib-http/http-client.c
+
+2013-03-05 11:45:10 +0200 Timo Sirainen <tss@iki.fi> (090489d44d)
+
+ Added io_loop_have_immediate_timeouts()
+
+
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2013-03-05 11:24:46 +0200 Timo Sirainen <tss@iki.fi> (e1339aaa8e)
+
+ lib-http: If connection was refused to a host, retry again on next request.
+ Instead of never retrying again for the host.
+
+
+M src/lib-http/http-client-host.c
+
+2013-03-04 16:27:16 +0200 Timo Sirainen <tss@iki.fi> (1e83f6804a)
+
+ tcpwrap: Fixed crash at startup.
+
+
+M src/util/tcpwrap.c
+
+2013-03-04 15:53:42 +0200 Timo Sirainen <tss@iki.fi> (dcf4259a9d)
+
+ dbox: Crashfix on some failed save error conditions.
+
+
+M src/lib-storage/index/dbox-common/dbox-save.c
+
+2013-03-04 15:18:08 +0200 Timo Sirainen <tss@iki.fi> (e0bfe93a72)
+
+ lib-settings: Improved error messages when config server disconnects too
+ early.
+
+
+M src/lib-settings/settings-parser.c
+
+2013-03-04 15:12:17 +0200 Timo Sirainen <tss@iki.fi> (8dc39d6dd0)
+
+ lib-storage: raw storage allows opening mails with absolute paths again.
+ Fixed dovecot-lda -p parameter.
+
+
+M src/lib-storage/index/raw/raw-storage.c
+
+2013-03-04 14:59:13 +0200 Timo Sirainen <tss@iki.fi> (be2d3565d5)
+
+ Fixed compiling without zlib.
+
+
+M src/doveadm/doveadm-zlib.c
+M src/lib-compression/compression.c
+
+2013-02-27 18:00:29 +0200 Timo Sirainen <tss@iki.fi> (79a9e6bc57)
+
+ doveadm: Fixed connecting to UNIX sockets.
+
+
+M src/doveadm/doveadm-util.c
+
+2013-02-27 14:26:28 +0200 Timo Sirainen <tss@iki.fi> (3bbd5fd417)
+
+ acl: Don't assert-crash on storages that have no root directory.
+
+
+M src/plugins/acl/acl-backend-vfile-acllist.c
+
+2013-02-27 13:07:35 +0200 Timo Sirainen <tss@iki.fi> (3d92258c98)
+
+ message-decode: Minor fix to previous change. The == condition should
+ probably never happen, but handle it anyway.
+
+
+M src/lib-mail/message-decoder.c
+
+2013-02-27 13:05:40 +0200 Timo Sirainen <tss@iki.fi> (2e0fa95785)
+
+ message-decoder: Fixed assert-crash when trying to decode partial character
+ twice.
+
+
+M src/lib-mail/message-decoder.c
+
+2013-02-27 12:34:18 +0200 Timo Sirainen <tss@iki.fi> (4ddc84facf)
+
+ timeout_add_short(1) may have caused infinite looping.
+
+
+M src/lib/ioloop.c
+
+2013-02-27 12:34:00 +0200 Timo Sirainen <tss@iki.fi> (ea245d7a96)
+
+ dsync: If I/O gets stalled, log the state in which it happened.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-private.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-ibc.h
+
+2013-02-27 12:07:06 +0200 Timo Sirainen <tss@iki.fi> (4697a41405)
+
+ dsync: Fixed running dsync for multiple users within same command.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-02-27 12:00:03 +0200 Timo Sirainen <tss@iki.fi> (63420a1d2c)
+
+ dsync: When changing duplicate mailbox GUIDs, choose the same mailbox on
+ both sides.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+
+2013-02-27 11:47:08 +0200 Timo Sirainen <tss@iki.fi> (8af1efbc98)
+
+ dsync: Don't unnecessarily try to create all the mailboxes when they already
+ exist.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2013-02-27 11:21:48 +0200 Timo Sirainen <tss@iki.fi> (e3df4d9063)
+
+ dsync: Change duplicate local mailbox GUIDs if they're found.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+
+2013-02-27 11:04:14 +0200 Timo Sirainen <tss@iki.fi> (0e9e7dcf1e)
+
+ dsync: Skip mailbox aliases (symlinks) for now.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+
+2013-02-26 17:44:34 +0200 Timo Sirainen <tss@iki.fi> (4948718872)
+
+ lib-fs: If fs_read_stream() creates a seekable stream, keep it open for
+ future reads.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2013-02-26 17:18:18 +0200 Timo Sirainen <tss@iki.fi> (c99c242ab5)
+
+ istream-seekable: Don't forcibly close underlying streams when stream is
+ destroyed. The underlying streams may still have references and be reused
+ for other purposes.
+
+
+M src/lib/istream-seekable.c
+
+2013-02-26 17:16:33 +0200 Timo Sirainen <tss@iki.fi> (1ce834a53e)
+
+ istream-metawrap: Support seeking if underlying stream supports seeking
+
+
+M src/lib-fs/istream-metawrap.c
+
+2013-02-26 17:16:18 +0200 Timo Sirainen <tss@iki.fi> (459b43463e)
+
+ fs-api: Fixed fs_copy() generic implementation's error messages
+
+
+M src/lib-fs/fs-api.c
+
+2013-02-26 15:55:16 +0200 Timo Sirainen <tss@iki.fi> (9dc01e0d10)
+
+ lib-http: Track peers using a linked list also. Mainly because this makes it
+ much easier to debug using gdb. The overhead isn't that much extra either.
+
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.c
+
+2013-02-26 15:53:30 +0200 Timo Sirainen <tss@iki.fi> (141890ed11)
+
+ lib-fs: fs-metawrap should prefetch using the same file as it uses for
+ reading.
+
+
+M src/lib-fs/fs-metawrap.c
+
+2013-02-26 13:04:50 +0200 Timo Sirainen <tss@iki.fi> (42174e5236)
+
+ lib-http: Assert-crash in http_client_wait() if it's waiting without doing
+ anything.
+
+
+M src/lib-http/http-client.c
+
+2013-02-26 13:04:09 +0200 Timo Sirainen <tss@iki.fi> (a4b14aa6a7)
+
+ Added io_loop_have_ios()
+
+
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2013-02-26 13:03:30 +0200 Timo Sirainen <tss@iki.fi> (aacf2a69ac)
+
+ lib-http: Track list of hosts using a linked list also.
+ http_client_switch_ioloop() is done very often, and scanning a few entries
+ in a linked list is much faster than going through a hash table.
+
+
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client.c
+
+2013-02-26 11:30:11 +0200 Timo Sirainen <tss@iki.fi> (a8dcdc2e5f)
+
+ lib-storage: Write dovecot.mailbox.log entries using virtual names, not
+ storage names. This file is used only by dsync, and the new dsync design
+ uses only virtual names everywhere. This of course means that now it's not
+ easily possible to use different virtual names for the same user, but nobody
+ really did that before anyway. The only other fully working solution would
+ be to send both the virtual and the storage names in dsync, but that's a bit
+ of a waste.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mailbox-list.c
+
+2013-02-26 10:54:09 +0200 Timo Sirainen <tss@iki.fi> (6a33ecc05e)
+
+ doveadm: Improved deciding whether to use TCP or UNIX socket for a given
+ name.
+
+
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-util.h
+
+2013-02-26 10:37:19 +0200 Timo Sirainen <tss@iki.fi> (f437d8feeb)
+
+ lib-storage: If namespace has disabled=yes, don't verify alias_for validity.
+
+
+M src/lib-storage/mail-storage-settings.c
+
+2013-02-26 10:30:15 +0200 Timo Sirainen <tss@iki.fi> (b06633c63f)
+
+ lib-storage: Never auto-remove the auto-created prefix="" namespace.
+
+
+M src/lib-storage/mail-user.c
+
+2013-02-26 09:05:09 +0200 Timo Sirainen <tss@iki.fi> (1b8220e41c)
+
+ scram-sha1: Support authzid field. Check fields' correctness better.
+
+
+M src/auth/mech-scram-sha1.c
+
+2013-02-26 09:05:09 +0200 Timo Sirainen <tss@iki.fi> (f888f3029c)
+
+ scram-sha1: Support authzid field. Check fields' correctness better.
+
+
+M src/auth/mech-scram-sha1.c
+
+2013-02-25 20:40:15 +0200 Timo Sirainen <tss@iki.fi> (d687a91469)
+
+ Added signature for changeset e62fa121f4a2
+
+
+M .hgsigs
+
+2013-02-25 20:40:12 +0200 Timo Sirainen <tss@iki.fi> (0b04c1969c)
+
+ Added tag 2.2.rc2 for changeset e62fa121f4a2
+
+
+M .hgtags
+
+2013-02-25 20:40:09 +0200 Timo Sirainen <tss@iki.fi> (1653d12e3f)
+
+ Released v2.2.rc2.
+
+
+M NEWS
+M configure.ac
+
+2013-02-25 20:20:18 +0200 Timo Sirainen <tss@iki.fi> (e27c711799)
+
+ lib-storage: Still more fixing to listing subscriptions.
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2013-02-25 20:09:52 +0200 Timo Sirainen <tss@iki.fi> (e130602047)
+
+ lib-storage: Fixed up previous subscription list change.
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2013-02-25 20:04:10 +0200 Timo Sirainen <tss@iki.fi> (8b5c520883)
+
+ login: Don't fail at startup by trying to load SSL plugin.
+
+
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+M src/login-common/main.c
+
+2013-02-25 19:52:40 +0200 Timo Sirainen <tss@iki.fi> (a485cb1465)
+
+ lib-storage: Fixed listing subscriptions for namespaces with prefix.
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2013-02-25 19:37:53 +0200 Timo Sirainen <tss@iki.fi> (9bb59af420)
+
+ configure: Fixed plugins when compiling --with-shared-libs
+
+
+M configure.ac
+
+2013-02-25 17:33:16 +0200 Timo Sirainen <tss@iki.fi> (8bbd9bb4c6)
+
+ Added signature for changeset 508d46f85815
+
+
+M .hgsigs
+
+2013-02-25 17:33:13 +0200 Timo Sirainen <tss@iki.fi> (8212f944df)
+
+ Added tag 2.2.rc1 for changeset 508d46f85815
+
+
+M .hgtags
+
+2013-02-25 17:33:02 +0200 Timo Sirainen <tss@iki.fi> (c03f054ea4)
+
+ Released v2.2.rc1.
+
+
+M NEWS
+M configure.ac
+
+2013-02-25 17:29:28 +0200 Timo Sirainen <tss@iki.fi> (94b62bea1d)
+
+ Merged changes from v2.1 tree.
+
+
+2013-02-25 17:25:10 +0200 Timo Sirainen <tss@iki.fi> (3e15508a14)
+
+ TODO updated
+
+
+M TODO
+
+2013-02-25 17:23:25 +0200 Timo Sirainen <tss@iki.fi> (a2667c4d6b)
+
+ Fixed checking UTF8 input validity.
+
+
+M src/lib/unichar.c
+
+2013-02-25 17:23:25 +0200 Timo Sirainen <tss@iki.fi> (6db7f0b2f1)
+
+ Fixed checking UTF8 input validity.
+
+
+M src/lib/unichar.c
+
+2013-02-25 17:07:55 +0200 Timo Sirainen <tss@iki.fi> (bad369077a)
+
+ dsync-server: Don't crash if connection didn't come from doveadm-server
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-02-25 17:07:38 +0200 Timo Sirainen <tss@iki.fi> (7cd527fb71)
+
+ dsync: Minor code cleanup.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-02-25 16:58:02 +0200 Timo Sirainen <tss@iki.fi> (c0ea3df797)
+
+ dsync: Don't close stdin/stdout when not supposed to.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-02-25 16:44:57 +0200 Timo Sirainen <tss@iki.fi> (e0719fca14)
+
+ maildir: Preserve [SW]=sizes when renaming a maildir duplicate file.
+
+
+M src/lib-storage/index/maildir/maildir-sync.c
+
+2013-02-25 16:12:49 +0200 Timo Sirainen <tss@iki.fi> (e37aed073e)
+
+ Reverted the recent hash.h changes. Instead use
+ -Wno-duplicate-decl-specifier with clang. The modified version required hash
+ table users to know the structs' contents, which isn't otherwise necessary.
+
+
+M configure.ac
+M src/lib/hash-decl.h
+M src/lib/hash.h
+M src/lib/macros.h
+
+2013-02-25 15:55:06 +0200 Timo Sirainen <tss@iki.fi> (8c5d1951a2)
+
+ dsync: Added tcps (TCP+SSL) target.
+
+
+M src/doveadm/doveadm-server.h
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/dsync/Makefile.am
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/server-connection.c
+M src/doveadm/server-connection.h
+
+2013-02-25 15:54:01 +0200 Timo Sirainen <tss@iki.fi> (1172b60862)
+
+ doveadm-server: Added support for ssl listeners.
+
+
+M src/doveadm/Makefile.am
+M src/doveadm/client-connection.c
+M src/doveadm/client-connection.h
+M src/doveadm/main.c
+
+2013-02-25 15:52:00 +0200 Timo Sirainen <tss@iki.fi> (8969b39bc3)
+
+ lib-storage: Replaced pop3c_ssl_ca_dir and imapc_ssl_ca_dir with generic
+ ssl_client_ca_dir.
+
+
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/index/pop3c/pop3c-settings.h
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2013-02-25 15:51:16 +0200 Timo Sirainen <tss@iki.fi> (5a6343181a)
+
+ lib-master: If ssl settings are used, initialize ssl context automatically.
+
+
+M src/lib-master/master-service.c
+
+2013-02-25 15:50:50 +0200 Timo Sirainen <tss@iki.fi> (08a8e93667)
+
+ lib-ssl-iostream: Support wildcard certificates when verifying hostname.
+
+
+M src/lib-ssl-iostream/iostream-openssl-common.c
+
+2013-02-25 14:00:10 +0200 Timo Sirainen <tss@iki.fi> (07ce366ac1)
+
+ dsync: Use iostreams instead of fd when receiving connection from
+ doveadm-server.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/server-connection.c
+M src/doveadm/server-connection.h
+
+2013-02-25 13:00:40 +0200 Timo Sirainen <tss@iki.fi> (7f50258fb5)
+
+ MODULE_LIBS is now part of LIBDOVECOT. No need to explicitly link it
+ everywhere.
+
+
+M Makefile.am
+M configure.ac
+M dovecot-config.in.in
+M src/anvil/Makefile.am
+M src/auth/Makefile.am
+M src/config/Makefile.am
+M src/dict/Makefile.am
+M src/dns/Makefile.am
+M src/doveadm/Makefile.am
+M src/imap-urlauth/Makefile.am
+M src/imap/Makefile.am
+M src/indexer/Makefile.am
+M src/ipc/Makefile.am
+M src/lda/Makefile.am
+M src/lib-compression/Makefile.am
+M src/lib-sql/Makefile.am
+M src/lib-storage/Makefile.am
+M src/lmtp/Makefile.am
+M src/plugins/quota/Makefile.am
+M src/pop3/Makefile.am
+M src/replication/aggregator/Makefile.am
+M src/replication/replicator/Makefile.am
+M src/stats/Makefile.am
+M src/util/Makefile.am
+
+2013-02-25 09:12:06 +0200 Timo Sirainen <tss@iki.fi> (1d58007c4f)
+
+ configure: Fix previous commit & implement AC_C_TYPEOF ourself. RHEL5's
+ autoconf was old enough to not have AC_C_TYPEOF.
+
+
+M configure.ac
+
+2013-02-25 09:07:13 +0200 Timo Sirainen <tss@iki.fi> (a55ac839a0)
+
+ configure: Removed accidentally enabled clang -fsanitize options for now.
+
+
+M configure.ac
+
+2013-02-24 19:48:55 +0200 Timo Sirainen <tss@iki.fi> (916c2e0b97)
+
+ imap: Handle UID commands without a wrapper UID command. This avoids calling
+ command hooks once for UID command and again for the real command.
+
+
+M src/imap/Makefile.am
+D src/imap/cmd-uid.c
+M src/imap/imap-client.c
+M src/imap/imap-commands.c
+
+2013-02-24 19:39:52 +0200 Timo Sirainen <tss@iki.fi> (0a9cb42cbb)
+
+ dsync: Added tcp:host[:port] target for syncing via doveadm-server.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/client-connection.h
+M src/doveadm/doveadm-mail.h
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/server-connection.c
+M src/doveadm/server-connection.h
+
+2013-02-24 19:38:27 +0200 Timo Sirainen <tss@iki.fi> (10a245789f)
+
+ doveadm: If doveadm-server sends broken input, disconnect.
+
+
+M src/doveadm/server-connection.c
+
+2013-02-24 19:37:45 +0200 Timo Sirainen <tss@iki.fi> (250a06cde5)
+
+ doveadm: When connecting to doveadm socket without :port, use doveadm_port
+ setting.
+
+
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-util.h
+M src/doveadm/server-connection.c
+
+2013-02-24 19:35:39 +0200 Timo Sirainen <tss@iki.fi> (1e09e09669)
+
+ doveadm: Renamed doveadm_proxy_port setting to doveadm_port. There's still
+ an alias for doveadm_proxy_port.
+
+
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+
+2013-02-24 18:19:40 +0200 Timo Sirainen <tss@iki.fi> (2ba9851abb)
+
+ lmtp: Log a bit nicer message when client QUITs. I did think about removing
+ the connect and successful disconnect messages entirely, but these may be
+ useful when debugging problems with MTA.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2013-02-24 18:02:25 +0200 Timo Sirainen <tss@iki.fi> (d707f37a05)
+
+ dsync: Always skip alias namespaces.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+
+2013-02-24 16:43:28 +0200 Timo Sirainen <tss@iki.fi> (4a34131905)
+
+ lazy-expunge: If lazy_expunge_only_last_instance is set, copy only last
+ instances of mails. Requires storage backend to support refcounts.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2013-02-24 16:33:24 +0200 Timo Sirainen <tss@iki.fi> (03de962feb)
+
+ lib-storage: Added MAIL_FETCH_REFCOUNT for getting mail's reference count.
+ This is useful only for backends where mailbox_copy() increases the
+ refcount. With maildir&sdbox it can be looked up from the file's link count.
+ With mdbox the refcount is stored in the map index. Other formats don't
+ currently implement this.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/mail-storage.h
+
+2013-02-24 16:15:23 +0200 Timo Sirainen <tss@iki.fi> (edb47cfa7e)
+
+ lib-settings: Parse block names {} case-insensitively. This fixes namespace
+ { mailbox foo { .. } } settings when they go through environment and get
+ uppercased.
+
+
+M src/lib-settings/settings-parser.c
+
+2013-02-24 16:02:47 +0200 Timo Sirainen <tss@iki.fi> (4f993cf1cb)
+
+ imap: Don't leak mailboxes on CATENATE errors.
+
+
+M src/imap/cmd-append.c
+
+2013-02-24 15:52:57 +0200 Timo Sirainen <tss@iki.fi> (2926f11b03)
+
+ lib-storage: Fixed setting \Recent flags for sessions that didn't drop them.
+ If another session wasn't dropping the \Recent flags, no new mails were
+ getting them unless the mailbox was reopened.
+
+
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync.c
+
+2013-02-24 15:50:26 +0200 Timo Sirainen <tss@iki.fi> (d1661d953e)
+
+ lib-storage: Fixed \Recent flag race conditions. The \Recent flags should
+ only be set while locked within mail_index_sync_begin()..commit(). The
+ following view syncing syncs only up to how far the index was synced, so it
+ won't see any new messages that haven't yet been assigned a \Recent flag.
+
+
+M src/lib-storage/index/index-status.c
+
+2013-02-24 15:26:53 +0200 Timo Sirainen <tss@iki.fi> (3e3045fa02)
+
+ Compiler warning fix.
+
+
+M src/lib-storage/index/index-mail.c
+
+2013-02-24 15:02:44 +0200 Timo Sirainen <tss@iki.fi> (e0ec84491d)
+
+ o_stream_send_istream(): Fixed copying when [io]streams neither have usable
+ fds.
+
+
+M src/lib/ostream-file.c
+
+2013-02-24 15:00:13 +0200 Timo Sirainen <tss@iki.fi> (81152dfa8d)
+
+ Avoid unsigned integer overflows.
+
+
+M src/imap/imap-commands-util.c
+M src/lib-index/mail-index-util.c
+
+2013-02-24 14:59:54 +0200 Timo Sirainen <tss@iki.fi> (a5799aa3f9)
+
+ imap: Added assert+comment to give easier to understand error.
+
+
+M src/imap/cmd-append.c
+
+2013-02-24 14:58:32 +0200 Timo Sirainen <tss@iki.fi> (73960a1746)
+
+ lib-storage: If mail saving is cancelled, don't check that all the input was
+ read.
+
+
+M src/lib-storage/index/index-mail.c
+
+2013-02-24 11:58:46 +0200 Timo Sirainen <tss@iki.fi> (1384fac439)
+
+ Avoid under/overflows in unsigned integer calculations.
+
+
+M src/lib/str-find.c
+M src/lib/test-bsearch-insert-pos.c
+M src/lib/time-util.c
+
+2013-02-24 11:55:07 +0200 Timo Sirainen <tss@iki.fi> (a18e2525cb)
+
+ test-json-parser: Don't access memory out of bounds.
+
+
+M src/lib/test-json-parser.c
+
+2013-02-24 11:54:00 +0200 Timo Sirainen <tss@iki.fi> (4082d5b171)
+
+ seq_range_array_add(): Fixed handling sequence ranges that contain zeros.
+
+
+M src/lib/seq-range-array.c
+M src/lib/test-seq-range-array.c
+
+2013-02-24 10:50:35 +0200 Timo Sirainen <tss@iki.fi> (dc21f1dd37)
+
+ Avoid overflow error from clang -fsanitize=integer.
+
+
+M src/lib/istream-crlf.c
+
+2013-02-24 10:49:38 +0200 Timo Sirainen <tss@iki.fi> (de7df9ed34)
+
+ lib-index: Don't unnecessarily update dovecot.index again after log
+ rotation.
+
+
+M src/lib-index/mail-index-sync.c
+
+2013-02-24 09:16:31 +0200 Timo Sirainen <tss@iki.fi> (8ae72ad7d0)
+
+ Replaced all -1U and (unsigned int)-1 with UINT_MAX. It's somewhat clearer
+ this way. Also clang's -fsanitize=integer gives runtime errors about -1U
+ (but not about explicit casts, so no need to change (type)-1 casts).
+
+
+M configure.ac
+M src/anvil/anvil-settings.c
+M src/auth/db-ldap.c
+M src/config/doveconf.c
+M src/director/director-settings.c
+M src/director/doveadm-connection.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-stats.c
+M src/lib-auth/auth-master.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-http/http-client-peer.c
+M src/lib-imap/imap-envelope.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.h
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-mail/test-message-address.c
+M src/lib-master/master-service.c
+M src/lib-settings/settings-parser.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage.c
+M src/lib/istream-concat.c
+M src/lib/priorityq.c
+M src/lib/strnum.c
+M src/lib/test-aqueue.c
+M src/lib/test-base64.c
+M src/lib/test-bsearch-insert-pos.c
+M src/lib/test-seq-range-array.c
+M src/lmtp/commands.c
+M src/log/log-settings.c
+M src/master/service-monitor.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/quota/quota.c
+M src/replication/replicator/replicator-settings.c
+M src/stats/stats-settings.c
+
+2013-02-24 08:58:03 +0200 Timo Sirainen <tss@iki.fi> (71fbc9af42)
+
+ Compiler warning fix.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2013-02-24 08:54:58 +0200 Timo Sirainen <tss@iki.fi> (71ad5d5d7f)
+
+ Previous "duplicate const" fix accidentally deleted some checking code
+ instead of fixing it.
+
+
+M src/lib/hash.h
+
+2013-02-24 08:46:28 +0200 Timo Sirainen <tss@iki.fi> (6d803d271c)
+
+ Fixed "duplicate const" warnings with new clang.
+
+
+M src/lib/hash-decl.h
+M src/lib/hash.h
+M src/lib/macros.h
+
+2013-02-24 08:43:34 +0200 Timo Sirainen <tss@iki.fi> (025e4dfc23)
+
+ Minor code cleanup
+
+
+M src/lib-storage/mail-search-register-human.c
+
+2013-02-24 08:44:27 +0200 Timo Sirainen <tss@iki.fi> (d00f983f78)
+
+ Use proper HAVE_TYPEOF check instead of checking with gcc versions.
+
+
+M configure.ac
+M src/lib/macros.h
+
+2013-02-24 08:06:59 +0200 Timo Sirainen <tss@iki.fi> (cd62b99969)
+
+ Compiler warning fix.
+
+
+M src/lib/test-json-parser.c
+
+2013-02-24 08:06:51 +0200 Timo Sirainen <tss@iki.fi> (1f90fa6990)
+
+ dsync: Don't log about remote dsync status if we're not doing a remote sync.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-02-22 16:42:23 +0200 Timo Sirainen <tss@iki.fi> (6b754cb8e5)
+
+ auth_debug_passwords: Add a warning to AUTH/CONT lines about them having
+ sensitive data.
+
+
+M src/auth/auth-client-connection.c
+
+2013-02-22 16:21:20 +0200 Timo Sirainen <tss@iki.fi> (afb5de6acd)
+
+ pop3: Fixed infinite looping
+
+
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+
+2013-02-22 16:03:00 +0200 Timo Sirainen <tss@iki.fi> (26ada766cf)
+
+ quota-fs: Support NetBSD 6.0 libquota. Patch by Emmanuel Dreyfus.
+
+
+M configure.ac
+M src/plugins/quota/Makefile.am
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-fs.h
+
+2013-02-22 15:49:35 +0200 Timo Sirainen <tss@iki.fi> (2dadd5dace)
+
+ lib-index: Fixed assert-crash on some error conditions.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2013-02-22 15:34:59 +0200 Timo Sirainen <tss@iki.fi> (e8c5da6c25)
+
+ doveadm user: Write an error if user doesn't exist.
+
+
+M src/doveadm/doveadm-auth.c
+
+2013-02-22 15:24:01 +0200 Timo Sirainen <tss@iki.fi> (4114cc5b5f)
+
+ doveconf: Discourage using plain "doveconf" by recommending -n parameter in
+ the output.
+
+
+M src/config/doveconf.c
+
+2013-02-22 15:14:19 +0200 Timo Sirainen <tss@iki.fi> (82f71aaa55)
+
+ auth: userdb passwd iteration no longer skips shells. Some systems are using
+ passwd for mail users with shell set to nologin. Maybe first_valid_uid check
+ is good enough alone?
+
+
+M src/auth/userdb-passwd.c
+
+2013-02-22 14:49:27 +0200 Timo Sirainen <tss@iki.fi> (5ad4895773)
+
+ fts-solr: Truncate header if it's over 1 MB. Previously we just warned about
+ it.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2013-02-22 13:51:02 +0200 Timo Sirainen <tss@iki.fi> (79b0f6ec3e)
+
+ lib-dict: Fixed hang if async commit's callback did more dict access.
+ Specifically this fixes a hang with dict-quota plugin when user didn't exist
+ and quota was changed before calculating it.
+
+
+M src/lib-dict/dict-client.c
+
+2013-02-22 13:21:09 +0200 Timo Sirainen <tss@iki.fi> (3ad4568a3f)
+
+ mail_shared_explicit_inbox: Switched the default from "yes" to "no".
+
+
+M NEWS
+M doc/example-config/conf.d/10-mail.conf
+M src/lib-storage/mail-storage-settings.c
+
+2013-02-22 13:05:21 +0200 Timo Sirainen <tss@iki.fi> (1df1abcfee)
+
+ auth: Use real_lip for proxy_maybe checks.
+
+
+M src/auth/auth-request.c
+
+2013-02-22 13:04:45 +0200 Timo Sirainen <tss@iki.fi> (325d17cdbb)
+
+ auth: Added real_[lr]ip, real_[lr]port variables. The unreal ones differ
+ when a trusted proxy overrides them.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.h
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/main.c
+M src/login-common/sasl-server.c
+
+2013-02-22 12:42:26 +0200 Timo Sirainen <tss@iki.fi> (9508ac436f)
+
+ proxying cleanup: Send TTL=1 (instead of TTL=0) as "no more proxying".
+
+
+M src/imap-login/imap-proxy.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/lmtp-client.h
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/login-common/login-proxy.c
+M src/pop3-login/pop3-proxy.c
+
+2013-02-22 12:19:36 +0200 Timo Sirainen <tss@iki.fi> (2a43c6f097)
+
+ lib-lda: Give a better error message if dotlocking duplicate db fails.
+
+
+M src/lib-lda/duplicate.c
+
+2013-02-22 12:12:26 +0200 Timo Sirainen <tss@iki.fi> (9d12bcb796)
+
+ dict-sql: Iterating with multiple SQL queries didn't free all the queries.
+
+
+M src/lib-dict/dict-sql.c
+
+2013-02-22 10:42:40 +0200 Timo Sirainen <tss@iki.fi> (5cba8fd913)
+
+ indexer-worker: Fixed keeping config connection open before dropping root
+ privileges. The initial settings reading doesn't really do anything, since
+ the real settings are again read by mail-storage-service.
+
+
+M src/indexer/indexer-worker.c
+
+2013-02-22 10:32:05 +0200 Timo Sirainen <tss@iki.fi> (196124a734)
+
+ lib-storage: Make sure mailbox_get_open_status() can't be used with items
+ that can fail.
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2013-02-22 10:31:38 +0200 Timo Sirainen <tss@iki.fi> (c337f1e179)
+
+ doveadm, indexer: Don't crash if STATUS_LAST_CACHED_SEQ lookup fails. (I'm
+ sure I did this change already once, where did it go?..)
+
+
+M src/doveadm/doveadm-mail-index.c
+M src/indexer/master-connection.c
+
+2013-03-24 12:09:39 +0200 Timo Sirainen <tss@iki.fi> (bdb026e2dc)
+
+ "Mailbox doesn't exist" error mixed up using storage and virtual mailbox
+ names. This could have allowed a user to figure out existence of a mailbox
+ without having lookup ACL.
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mailbox-list-private.h
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/virtual/virtual-config.c
+
+2013-02-22 10:31:38 +0200 Timo Sirainen <tss@iki.fi> (7e7c61c704)
+
+ doveadm, indexer: Don't crash if STATUS_LAST_CACHED_SEQ lookup fails. (I'm
+ sure I did this change already once, where did it go?..)
+
+
+M src/doveadm/doveadm-mail-index.c
+M src/indexer/master-connection.c
+
+2013-02-22 10:17:14 +0200 Timo Sirainen <tss@iki.fi> (e6231264be)
+
+ fts: Don't send binary MIME parts to backend through UTF8 text conversion.
+ Based on patch by Mike Abbott / Apple.
+
+
+M src/plugins/fts/fts-build-mail.c
+
+2013-02-22 10:09:19 +0200 Timo Sirainen <tss@iki.fi> (cf4354e1b4)
+
+ lib-storage: Fixed assert-crash when saving mails if UIDs weren't assigned.
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2013-02-22 10:01:06 +0200 Timo Sirainen <tss@iki.fi> (2f705f3d22)
+
+ mdbox: If m.X file has no mails, don't try to fix it infinitely in storage
+ rebuild.
+
+
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.h
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+
+2013-02-22 09:43:59 +0200 Timo Sirainen <tss@iki.fi> (2a3a06974c)
+
+ mdbox: Don't try to undelete any mailboxes in storage rebuild to avoid
+ assert-crashes.
+
+
+M src/lib-storage/mail-storage.c
+
+2013-02-22 07:37:18 +0200 Timo Sirainen <tss@iki.fi> (53febe0236)
+
+ quota-status: Fixed compiling with older autotools.
+
+
+M src/plugins/quota/Makefile.am
+
+2013-02-21 19:58:39 +0200 Timo Sirainen <tss@iki.fi> (94cd1e3ed5)
+
+ imap: Allocate LIST patterns from command pool so they don't get corrupted
+ in long runs.
+
+
+M src/imap/cmd-list.c
+
+2013-02-21 19:30:38 +0200 Timo Sirainen <tss@iki.fi> (4d3b139862)
+
+ mailbox_list_index=yes: Don't crash if destroying list before its init
+ finished.
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2013-02-21 17:09:08 +0200 Timo Sirainen <tss@iki.fi> (ffa32909ff)
+
+ Added signature for changeset 018de2aa893a
+
+
+M .hgsigs
+
+2013-02-21 17:09:02 +0200 Timo Sirainen <tss@iki.fi> (e87dcdb048)
+
+ Added tag 2.2.beta2 for changeset 018de2aa893a
+
+
+M .hgtags
+
+2013-02-21 17:07:55 +0200 Timo Sirainen <tss@iki.fi> (784762b5f7)
+
+ Released v2.2.beta1.
+
+
+M configure.ac
+
+2013-02-21 17:06:27 +0200 Stephan Bosch <stephan@rename-it.nl> (c367bee430)
+
+ lib-http: Fixed hanging on errors
+
+
+M src/lib-http/http-client-connection.c
+
+2013-02-21 14:16:45 +0200 Timo Sirainen <tss@iki.fi> (0f5bce9305)
+
+ Removed dead assignments.
+
+
+M src/lib-http/test-http-transfer.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2013-02-21 14:15:15 +0200 Timo Sirainen <tss@iki.fi> (99fedfc2ad)
+
+ dsync: Fixed hiding the "remote command returned error" message when it was
+ unnecessary.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-02-21 13:27:42 +0200 Timo Sirainen <tss@iki.fi> (96f7cae325)
+
+ quota-status: Fixed compiling
+
+
+M src/plugins/quota/Makefile.am
+
+2013-02-21 13:22:33 +0200 Timo Sirainen <tss@iki.fi> (7bf25e7b9f)
+
+ TODO updated
+
+
+M TODO
+
+2013-02-21 13:21:18 +0200 Timo Sirainen <tss@iki.fi> (09baabc97c)
+
+ Merged changes from v2.1 tree.
+
+
+2013-02-21 10:23:08 +0200 Stephan Bosch <stephan@rename-it.nl> (5b23fb78a6)
+
+ lib-http: Minor improvements.
+
+
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/test-http-client.c
+
+2013-02-21 10:21:31 +0200 Timo Sirainen <tss@iki.fi> (fb02594261)
+
+ lib-http: Fixed hangs/crashes with chunked ostream. Based on patch by
+ Stephan Bosch.
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-transfer-chunked.c
+
+2013-02-21 07:55:24 +0200 Timo Sirainen <tss@iki.fi> (3a53aff14d)
+
+ Added quota plugin's headers to LIBDOVECOT_STORAGE_INCLUDE. This allows
+ creating external plugins that depend on the quota plugin (similar to trash
+ plugin).
+
+
+M dovecot-config.in.in
+M src/plugins/quota/Makefile.am
+
+2013-02-21 06:22:40 +0200 Timo Sirainen <tss@iki.fi> (ab98519fd7)
+
+ lib-storage: Fixed crash with mailbox_list_index=no
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2013-02-20 19:34:51 +0200 Stephan Bosch <stephan@rename-it.nl> (57e1401ef9)
+
+ lib-http: Fixed hang with failed DNS lookups
+
+
+M src/lib-http/http-client-host.c
+
+2013-02-20 16:58:45 +0200 Timo Sirainen <tss@iki.fi> (7f5c66ef0f)
+
+ quota-status: Load plugins after all. They may be needed for user
+ initialization to work (e.g. virtual plugin) or maybe even for quota itself
+ to work (external quota backend plugin).
+
+
+M src/plugins/quota/Makefile.am
+M src/plugins/quota/quota-status.c
+
+2013-02-20 16:49:14 +0200 Timo Sirainen <tss@iki.fi> (f6e11660a0)
+
+ mailbox_list_index: Delay allocating the index so mbox can override the
+ index path.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2013-02-20 16:03:53 +0200 Timo Sirainen <tss@iki.fi> (bd5825f089)
+
+ mbox: Fixed mailbox_update() to not shrink uidnext.
+
+
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2013-02-20 15:56:56 +0200 Timo Sirainen <tss@iki.fi> (0e79d0c9a7)
+
+ acl: Skip ACLs if admin user flag is set (especially dsync).
+
+
+M src/plugins/acl/acl-api.c
+
+2013-02-20 15:49:46 +0200 Timo Sirainen <tss@iki.fi> (6695fbfc49)
+
+ acl: If copy() doesn't have enough permissions, free mail_save_context
+ properly.
+
+
+M src/plugins/acl/acl-mailbox.c
+
+2013-02-20 15:49:06 +0200 Timo Sirainen <tss@iki.fi> (f3d17e90d2)
+
+ lib-storage: Added more asserts to catch missing mail_save_context frees.
+ Arguably mail_save_context could already freed at this time, but some other
+ code relies on this as well. These could be removed later if this is no
+ longer true.
+
+
+M src/lib-storage/mail-storage.c
+
+2013-02-20 15:41:17 +0200 Timo Sirainen <tss@iki.fi> (3a34692ce8)
+
+ lib-storage: If mailbox is deleted, mailbox_save_begin() should cancel
+ mail_save_context.
+
+
+M src/lib-storage/mail-storage.c
+
+2013-02-20 15:40:16 +0200 Timo Sirainen <tss@iki.fi> (47eeadbfd9)
+
+ lib-storage: Reset saving/moving/copying_via_save flag between
+ mail_save_context uses.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage.c
+
+2013-02-20 12:24:36 +0200 Timo Sirainen <tss@iki.fi> (85b5b20e19)
+
+ test-http-client: Added POST functionality also.
+
+
+M src/lib-http/test-http-client.c
+
+2013-02-20 11:58:34 +0200 Timo Sirainen <tss@iki.fi> (fc3ac5b820)
+
+ test-http-client: If given a parameter, GET it.
+
+
+M src/lib-http/test-http-client.c
+
+2013-02-20 11:57:55 +0200 Timo Sirainen <tss@iki.fi> (fb1be3de01)
+
+ lib-http: Avoid hanging in http_client_wait() while there's nothing to do.
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+
+2013-02-20 11:18:59 +0200 Timo Sirainen <tss@iki.fi> (069b28a2ef)
+
+ lib-http: Minor API change: Added http_client_request_finish_payload()
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+M src/plugins/fts-solr/solr-connection.c
+
+2013-02-20 10:58:02 +0200 Timo Sirainen <tss@iki.fi> (9edd88a9da)
+
+ mailbox_list_index: Removed race conditions from index updates.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2013-02-20 10:57:13 +0200 Timo Sirainen <tss@iki.fi> (a42fa06d62)
+
+ lib-index: Added assert.
+
+
+M src/lib-index/mail-index-sync.c
+
+2013-02-19 17:36:59 +0200 Timo Sirainen <tss@iki.fi> (c0699d9e08)
+
+ Added quota-status service for asking if user is over quota. Implemented
+ Postfix-compatible policy server protocol initially. Usage:
+
+ service quota-status {
+ executable = quota-status -p postfix
+ unix_listener /var/spool/postfix/private/quota-status {
+ user = postfix
+ }
+ client_limit = 1
+ }
+
+ Postfix:
+
+ smtpd_recipient_restrictions =
+ ...
+ check_policy_service unix:private/quota-status
+
+M .hgignore
+M src/plugins/quota/Makefile.am
+A src/plugins/quota/quota-status.c
+
+2013-02-19 15:52:21 +0200 Timo Sirainen <tss@iki.fi> (90d105df6e)
+
+ hostpid_init() should die if hostname is invalid. This was accidentally
+ changes during last commit.
+
+
+M src/lib/hostpid.c
+
+2013-02-19 13:43:42 +0200 Timo Sirainen <tss@iki.fi> (1deffbbcd7)
+
+ lib-index: Give a better error message if index is readonly and log is tried
+ to be locked.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2013-02-19 13:18:38 +0200 Timo Sirainen <tss@iki.fi> (68b968ad67)
+
+ LAYOUT=index: Index is the only source for mailbox info, don't try any
+ syncing with storage.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2013-02-19 13:17:42 +0200 Timo Sirainen <tss@iki.fi> (3a2f2adf56)
+
+ lib-storage: Fixed mailbox_update() when using mailbox_list_index=yes
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2013-02-19 13:17:05 +0200 Timo Sirainen <tss@iki.fi> (40ac30b926)
+
+ Added guid_128_equals() helper function.
+
+
+M src/lib/guid.c
+M src/lib/guid.h
+
+2013-02-19 11:25:21 +0200 Timo Sirainen <tss@iki.fi> (241c0b8f9a)
+
+ auth: Fix to previous change.
+
+
+M src/auth/userdb-passwd-file.c
+
+2013-02-19 11:22:57 +0200 Timo Sirainen <tss@iki.fi> (f003421d82)
+
+ auth: userdb passwd-file iteration now skips passdb-only entries if there
+ are other userdbs.
+
+
+M src/auth/userdb-passwd-file.c
+
+2013-02-19 11:08:49 +0200 Timo Sirainen <tss@iki.fi> (d24f5d5563)
+
+ dsync: Added more debug logging.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+
+2013-02-19 10:38:51 +0200 Timo Sirainen <tss@iki.fi> (953e717f0e)
+
+ auth: If user in passwd-file has no userdb info, userdb lookup now returns
+ it as nonexistent.
+
+
+M src/auth/db-passwd-file.c
+M src/auth/userdb-passwd-file.c
+
+2013-02-19 10:14:04 +0200 Timo Sirainen <tss@iki.fi> (9ed42a54be)
+
+ dsync: Improved debug output.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+
+2013-02-19 09:45:12 +0200 Timo Sirainen <tss@iki.fi> (2e86ce0239)
+
+ dsync: Assert-crashfix for handling conflicting private flags.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-02-19 09:35:10 +0200 Timo Sirainen <tss@iki.fi> (9b47801c11)
+
+ replicator plugin: And crashfix for the previous change..
+
+
+M src/plugins/replication/replication-plugin.c
+
+2013-02-19 09:32:11 +0200 Timo Sirainen <tss@iki.fi> (152a3748e4)
+
+ replication plugin: Notify replicator also for changes in public mailboxes.
+
+
+M src/plugins/replication/replication-plugin.c
+
+2013-02-19 08:54:32 +0200 Timo Sirainen <tss@iki.fi> (ad58254389)
+
+ lib-storage: Copy initial private message flags from shared flags for public
+ mailboxes.
+
+
+M src/lib-storage/index/index-sync-pvt.c
+
+2013-02-19 08:35:57 +0200 Timo Sirainen <tss@iki.fi> (4cb8546b36)
+
+ replicator: Use -N parameter for dsync (replicate all visible namespaces).
+
+
+M src/replication/replicator/doveadm-connection.c
+
+2013-02-19 08:35:23 +0200 Timo Sirainen <tss@iki.fi> (4fa4166f9b)
+
+ dsync: Renamed -a parameter to -N. It also now skips invisible namespaces.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-02-19 08:27:40 +0200 Timo Sirainen <tss@iki.fi> (e2d268e953)
+
+ lib-storage: Saving/copying no longer discards private message flags.
+
+
+M src/lib-storage/index/index-sync-private.h
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/virtual/virtual-save.c
+
+2013-02-19 08:17:50 +0200 Timo Sirainen <tss@iki.fi> (ea26d341b1)
+
+ log: Recent log parser change started logging "Invalid log line" errors
+ unintentionally.
+
+
+M src/log/log-connection.c
+
+2013-02-18 15:14:05 +0200 Timo Sirainen <tss@iki.fi> (93ded1a45a)
+
+ log: Don't crash if log client sends line with pid=0.
+
+
+M src/log/log-connection.c
+
+2013-02-18 15:12:26 +0200 Timo Sirainen <tss@iki.fi> (9c50c41ab7)
+
+ my_hostname was broken because of recent change.
+
+
+M src/lib/hostpid.c
+
+2013-02-18 08:46:06 +0200 Timo Sirainen <tss@iki.fi> (6272a4aa4b)
+
+ doveconf: Added -H parameter to check for hostname hash duplicates.
+
+
+M src/config/doveconf.c
+
+2013-02-18 08:45:54 +0200 Timo Sirainen <tss@iki.fi> (af49da69a1)
+
+ Added guid_128_host_hash_get().
+
+
+M src/lib/guid.c
+M src/lib/guid.h
+
+2013-02-18 07:20:03 +0200 Timo Sirainen <tss@iki.fi> (a8aec60b53)
+
+ Master looks up system hostdomain now and sends it to child processes via
+ environment. This avoids doing a gethostbyname() lookup at startup for each
+ process that needs it.
+
+
+M src/lib/hostpid.c
+M src/lib/hostpid.h
+M src/master/service-process.c
+
+2013-02-18 07:12:44 +0200 Timo Sirainen <tss@iki.fi> (16e1bc9ee2)
+
+ master: Don't close stderr. If log process fails at startup, the errors are
+ logged there.
+
+
+M src/master/main.c
+
+2013-02-18 06:49:57 +0200 Timo Sirainen <tss@iki.fi> (9e0a2abef1)
+
+ Free my_hostdomain at deinit.
+
+
+M src/lib/hostpid.c
+M src/lib/hostpid.h
+M src/lib/lib.c
+
+2013-02-18 06:35:41 +0200 Timo Sirainen <tss@iki.fi> (45b9cabc8d)
+
+ example-config: Updated hostname setting's comments.
+
+
+M doc/example-config/conf.d/15-lda.conf
+
+2013-02-18 06:31:51 +0200 Timo Sirainen <tss@iki.fi> (49985fd8bc)
+
+ dsync: Fix to checking which side should do the locking.
+
+
+M src/doveadm/dsync/dsync-brain.c
+
+2013-02-17 12:03:06 +0200 Timo Sirainen <tss@iki.fi> (8e817ed80f)
+
+ mbox: If namespace prefix is used, don't show <prefix>/inbox mailbox.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2013-02-17 11:48:16 +0200 Timo Sirainen <tss@iki.fi> (8b3a4836da)
+
+ dsync: Fixes to handling local changes during dsync.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-02-17 11:47:32 +0200 Timo Sirainen <tss@iki.fi> (9d8f243a87)
+
+ dsync: Fail if changing mailbox GUID update doesn't work.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+
+2013-02-17 11:46:14 +0200 Timo Sirainen <tss@iki.fi> (f828be2029)
+
+ mbox: Fixed mailbox_update() for changing mailbox GUID.
+
+
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2013-02-17 10:47:40 +0200 Timo Sirainen <tss@iki.fi> (795aeec896)
+
+ lib-index: Make sure unused_old_sync_* fields are cleared in header in old
+ inedx files.
+
+
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index.h
+
+2013-02-17 10:15:04 +0200 Timo Sirainen <tss@iki.fi> (add74aa767)
+
+ dsync: Fixed infinite loop in importer.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-02-17 10:14:49 +0200 Timo Sirainen <tss@iki.fi> (9bbfe7f5ff)
+
+ dsync: Improved unexpected error logging.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-02-17 10:11:20 +0200 Timo Sirainen <tss@iki.fi> (20cf8d14fc)
+
+ maildir: Don't try to preserve old filename when saving if uidlist couldn't
+ be locked.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2013-02-17 10:10:45 +0200 Timo Sirainen <tss@iki.fi> (6f1936d4f5)
+
+ maildir: If we see old maildir file reappear, re-read uidlist before logging
+ error. Sometimes the old file gets added back intentionally and the
+ dovecot-uidlist is recreated (if necessary) to give it a new UID. Existing
+ processes should handle this situation.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2013-02-17 08:50:18 +0200 Timo Sirainen <tss@iki.fi> (0cffbb35d3)
+
+ dsync: If locking fails, fail instead of continuing.
+
+
+M src/doveadm/dsync/dsync-brain.c
+
+2013-02-17 07:05:08 +0200 Timo Sirainen <tss@iki.fi> (564aa838fe)
+
+ dsync: Use full hostname+domain when comparing if hosts are different in
+ locking.
+
+
+M src/doveadm/dsync/dsync-brain.c
+
+2013-02-16 19:06:18 +0200 Timo Sirainen <tss@iki.fi> (44aaf30598)
+
+ login-common: Updated obsolete login_process_size setting in error log
+ message.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2013-02-16 18:57:33 +0200 Timo Sirainen <tss@iki.fi> (c3fcfca0df)
+
+ Merged changes from v2.1 tree.
+
+
+2013-02-16 18:24:28 +0200 Timo Sirainen <tss@iki.fi> (4927162e7b)
+
+ NEWS file updated.
+
+
+M NEWS
+
+2013-02-16 18:22:23 +0200 Timo Sirainen <tss@iki.fi> (99fca73446)
+
+ pop3_lock_session: Use a separate dovecot-pop3-session.lock file instead of
+ mailbox lock. This changes the behavior in a way that it's now possible for
+ IMAP sessions to expunge mails during a POP3 session. But now it's no longer
+ possible for POP3 sessions to hang new mail deliveries.
+
+
+M doc/example-config/conf.d/20-pop3.conf
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+
+2013-02-16 17:58:20 +0200 Timo Sirainen <tss@iki.fi> (279ac7e278)
+
+ pop3: Minor code cleanup
+
+
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+
+2013-02-16 17:54:57 +0200 Timo Sirainen <tss@iki.fi> (348d897426)
+
+ pop3: Use RFC 3206 [SYS/*] and [AUTH] response codes.
+
+
+M README
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client.c
+M src/pop3-login/client.h
+M src/pop3/main.c
+M src/pop3/pop3-capability.h
+M src/pop3/pop3-client.c
+
+2013-02-16 17:33:27 +0200 Timo Sirainen <tss@iki.fi> (7268a99fe5)
+
+ pop3: Code cleanup: INBOX always exists, no need to check for it here.
+
+
+M src/pop3/pop3-client.c
+
+2013-02-16 17:17:14 +0200 Timo Sirainen <tss@iki.fi> (3442174692)
+
+ dsync: Merge last-common-* values from both local and remote when they
+ differ.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox-state.h
+
+2013-02-16 16:47:40 +0200 Timo Sirainen <tss@iki.fi> (0e03baa885)
+
+ dsync: -l parameter locking is now done on the server with "lower" hostname.
+ This allows running multi-master replication on two servers without two
+ dsyncs mixing up changes by running at the same time.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+
+2013-02-16 16:45:47 +0200 Timo Sirainen <tss@iki.fi> (264c6bd26d)
+
+ dsync: If unexpected changes happen during sync, return a safe
+ last-common-uid for state.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-02-16 16:44:13 +0200 Timo Sirainen <tss@iki.fi> (54b50eb561)
+
+ dsync: Don't hide the final error messages from remote.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-02-16 14:51:50 +0200 Timo Sirainen <tss@iki.fi> (c3aebe3bd1)
+
+ dsync: Fixed last-common-uid lookup when local UID was expunged but remote
+ wasn't.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-02-16 14:09:42 +0200 Timo Sirainen <tss@iki.fi> (fadb1a39a4)
+
+ dsync: Assert-crashfix for previous importer changes.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-02-16 13:58:14 +0200 Timo Sirainen <tss@iki.fi> (03860f6dd7)
+
+ lib-index: Avoid getting expunged-status in index lookups when not
+ necessary. This especially improves dsync performance.
+
+
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-transaction.c
+
+2013-02-16 13:51:05 +0200 Timo Sirainen <tss@iki.fi> (03010dbaa7)
+
+ mdbox, mbox, virtual: Avoid getting expunged-status in index lookups when
+ not necessary. This especially improves dsync performance with mdbox.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-sync.c
+
+2013-02-16 13:38:10 +0200 Timo Sirainen <tss@iki.fi> (e49e973f36)
+
+ lib-index: Don't lookup mail's expunge-state in transaction log view if
+ caller doesn't care. This was especially bad with dsync, which could trigger
+ sorting of the expunges array each time after processing a mail (=
+ potentially tens of thousands of sorts).
+
+
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-view.c
+
+2013-02-16 13:34:13 +0200 Timo Sirainen <tss@iki.fi> (b09eaeb9a8)
+
+ lib-storage: Assert-crash if mailbox_save_context isn't properly freed
+ before reusing.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2013-02-16 13:32:57 +0200 Timo Sirainen <tss@iki.fi> (385b27ed5f)
+
+ mdbox: mailbox_copy() didn't properly free the save context.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2013-02-16 13:32:57 +0200 Timo Sirainen <tss@iki.fi> (08df28a63b)
+
+ mdbox: mailbox_copy() didn't properly free the save context.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2013-02-16 13:31:37 +0200 Timo Sirainen <tss@iki.fi> (0c47c20967)
+
+ dsync: Various importer fixes.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2013-02-16 08:09:41 +0200 Timo Sirainen <tss@iki.fi> (0b39c7b1ce)
+
+ fts-solr: Don't assert-crash on failures.
+
+
+M src/plugins/fts-solr/solr-connection.c
+
+2013-02-16 08:01:10 +0200 Timo Sirainen <tss@iki.fi> (d52f5dcb05)
+
+ dsync: Avoid possibly long function recursion.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-02-16 08:00:51 +0200 Timo Sirainen <tss@iki.fi> (ba98350087)
+
+ dsync: Don't log "remote failed with 75" if we already logged an error from
+ remote. This reduces number of log lines when dsync fails.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-02-16 07:59:44 +0200 Timo Sirainen <tss@iki.fi> (d42cfc2e04)
+
+ dsync: Don't log a redundant "importing mailbox failed" error.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+
+2013-02-16 07:53:17 +0200 Timo Sirainen <tss@iki.fi> (7a6136f81b)
+
+ dsync: Don't log read() failed: EOF when remote intentionally fails early.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-02-16 07:15:55 +0200 Timo Sirainen <tss@iki.fi> (d9b9687bf8)
+
+ dsync: Various importer fixes. Handle unexpectedly wrong mailbox state
+ better.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2013-02-16 07:12:18 +0200 Timo Sirainen <tss@iki.fi> (1bf8e5a225)
+
+ dsync: Wait for child process to close only after closing the stdin/out/err
+ to it. Otherwise the ssh process doesn't shutdown.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-02-13 12:43:34 +0200 Timo Sirainen <tss@iki.fi> (26b996251b)
+
+ fs layout: Don't assert-crash if namespace prefix begins with the separator.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2013-02-13 11:27:32 +0100 Timo Sirainen <tss@iki.fi> (50ecf65993)
+
+ Renamed quota_last_extra to quota_grace.
+
+
+M NEWS
+M doc/example-config/conf.d/90-quota.conf
+M src/plugins/quota/quota.c
+
+2013-02-13 12:22:22 +0200 Timo Sirainen <tss@iki.fi> (ac1c78cce5)
+
+ auth: When receiving SIGUSR2 log also about current cache usage.
+
+
+M src/auth/auth-cache.c
+
+2013-02-11 03:13:45 +0200 Timo Sirainen <tss@iki.fi> (57c78fc3f2)
+
+ NEWS, example-config: Add a note about quota_last_extra
+
+
+M NEWS
+M doc/example-config/conf.d/90-quota.conf
+
+2013-02-11 03:07:24 +0200 Timo Sirainen <tss@iki.fi> (a2f5f69de8)
+
+ quota: Use quota_last_extra only for LDA/LMTP (not for IMAP).
+
+
+M src/plugins/quota/quota.c
+
+2013-02-11 03:03:12 +0200 Timo Sirainen <tss@iki.fi> (342a5014a9)
+
+ lib-lda: Assert-crashfix when sending a rejection mail failed.
+
+
+M src/lib-lda/smtp-client.c
+
+2013-02-11 03:02:49 +0200 Timo Sirainen <tss@iki.fi> (bc7a4cf2c0)
+
+ quota: Added quota_last_extra setting, which defaults to 10% This can be
+ used to save the last message when user is almost over quota. So by default
+ the last message can bring the quota over 10% of the total quota limit. The
+ setting allows also explicit values. Setting it to 0 brings it back to
+ previous behavior.
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2013-02-11 02:03:43 +0200 Timo Sirainen <tss@iki.fi> (7b9197b917)
+
+ lib-imap-urlauth: Use MAILBOX_ATTRIBUTE_PREFIX_DOVECOT for the imap-urlauth
+ key.
+
+
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+
+2013-02-11 02:03:13 +0200 Timo Sirainen <tss@iki.fi> (440b8b6666)
+
+ lib-storage: Added MAILBOX_ATTRIBUTE_DOVECOT_PREFIX macro.
+
+
+M src/lib-storage/mail-storage.h
+
+2013-02-11 01:43:25 +0200 Stephan Bosch <stephan@rename-it.nl> (2d7df7973f)
+
+ fts-solr: Use built-in lib-http instead of libcurl. Removed libcurl
+ dependency.
+
+
+M configure.ac
+M src/plugins/fts-solr/Makefile.am
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-connection.h
+
+2013-02-11 01:22:51 +0200 Timo Sirainen <tss@iki.fi> (8576eb5abb)
+
+ dsync: Minor fix to deciding when to use GUIDs vs. header hashes.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-02-11 01:10:57 +0200 Timo Sirainen <tss@iki.fi> (975a784c2e)
+
+ dsync: Fixes for syncing without GUIDs.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2013-02-11 01:07:53 +0200 Timo Sirainen <tss@iki.fi> (ccaaf1874b)
+
+ dsync: When doing a header-based sync, convert all linefeeds to LFs. Fixes
+ syncing where one side used CRLFs and the other side used LFs.
+
+
+M src/doveadm/dsync/dsync-mail.c
+
+2013-02-11 00:29:40 +0200 Timo Sirainen <tss@iki.fi> (30c795b3ee)
+
+ i_stream_sync() for file should reset eof flag immediately.
+
+
+M src/lib/istream-file.c
+
+2013-02-11 00:28:28 +0200 Timo Sirainen <tss@iki.fi> (979d89c147)
+
+ dsync: Automatically figure out which mailboxes can sync with message GUIDs.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mailbox.h
+
+2013-02-11 00:26:15 +0200 Timo Sirainen <tss@iki.fi> (8b31f966d9)
+
+ lib-storage: Added mailbox_status.have_guids flag
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+
+2013-02-11 00:25:29 +0200 Timo Sirainen <tss@iki.fi> (fee8ee58c0)
+
+ lib-storage: Minor code cleanup
+
+
+M src/lib-storage/fail-mailbox.c
+
+2013-02-11 00:24:56 +0200 Timo Sirainen <tss@iki.fi> (f0efc5a8ea)
+
+ lib-storage: Don't unnecessarily clear mailbox_status multiple times.
+
+
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2013-02-11 00:23:07 +0200 Timo Sirainen <tss@iki.fi> (458e154ebe)
+
+ lib-storage: mailbox_status.nonpermanent_modseqs is now only set with
+ STATUS_HIGHESTMODSEQ
+
+
+M src/lib-storage/index/index-status.c
+
+2013-02-10 23:27:49 +0200 Timo Sirainen <tss@iki.fi> (271ba0b2a1)
+
+ dsync: When looking up header hashes, use only Date: and Message-Id: headers
+ This makes it more efficient, at least in future when imapc backend
+ optimizes this.
+
+
+M src/doveadm/dsync/dsync-mail.c
+
+2013-02-10 23:11:52 +0200 Timo Sirainen <tss@iki.fi> (887a9fbbb2)
+
+ dsync: Renamed "guid_requests" to "mail_requests" The mails aren't
+ necessarily requested by their GUID.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-02-10 23:09:55 +0200 Timo Sirainen <tss@iki.fi> (c267b52441)
+
+ dsync: Removed unused DSYNC_MAILBOX_IMPORT_FLAG_MAILS_HAVE_GUIDS flag.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2013-02-10 23:05:46 +0200 Timo Sirainen <tss@iki.fi> (266fdb27c8)
+
+ dsync: Fixed mailbox tree sync with some backends (imapc)
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+
+2013-02-08 16:42:21 +0200 Timo Sirainen <tss@iki.fi> (183aac2ac8)
+
+ mdbox: Crashfix for storage rebuild
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2013-02-08 15:05:40 +0200 Timo Sirainen <tss@iki.fi> (9aac330837)
+
+ Added signature for changeset fc75811f3c08
+
+
+M .hgsigs
+
+2013-02-08 15:05:37 +0200 Timo Sirainen <tss@iki.fi> (154dd25b4c)
+
+ Added tag 2.1.15 for changeset fc75811f3c08
+
+
+M .hgtags
+
+2013-02-08 15:05:36 +0200 Timo Sirainen <tss@iki.fi> (b2aa4eabd7)
+
+ Released v2.1.15.
+
+
+M NEWS
+M configure.in
+
+2013-02-06 19:00:52 +0200 Timo Sirainen <tss@iki.fi> (386fe825af)
+
+ lib-storage: Convert INBOX to uppercase also when namespace has inbox=no.
+ This fixes assert-crash in mailbox_check_mismatching_separators().
+
+
+M src/lib-storage/mail-storage.c
+
+2013-02-06 18:29:22 +0200 Timo Sirainen <tss@iki.fi> (4f7fea346c)
+
+ lib-index: Avoid assert-crashing later if mmap(dovecot.index.cache) fails.
+
+
+M src/lib-index/mail-cache.c
+
+2013-02-05 16:48:29 +0200 Timo Sirainen <tss@iki.fi> (30fc0b14f0)
+
+ lmtp: If verbose_proctitle=yes, update the process state in the title.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2013-02-05 03:53:40 +0200 Timo Sirainen <tss@iki.fi> (9c32eb25e7)
+
+ lib-storage: Changed mailbox_attribute_get() to return a struct for value.
+ This allows returning flags for the values in future. Mainly readonly-flag
+ for internal attributes and when restricted by ACL plugin.
+
+
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2013-02-05 03:37:47 +0200 Timo Sirainen <tss@iki.fi> (d11111fc53)
+
+ lib-fs: Changed FS_OPEN_FLAG_UNIMPORTANT to a reversed FS_OPEN_FLAG_FSYNC.
+ This explains its behavior better.
+
+
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-posix.c
+M src/lib-storage/index/index-attachment.c
+
+2013-02-05 03:30:01 +0200 Timo Sirainen <tss@iki.fi> (6772f52a7b)
+
+ fs-metawrap: Don't duplicate work if fs_get_metadata() is called multiple
+ times.
+
+
+M src/lib-fs/fs-metawrap.c
+M src/lib-fs/istream-metawrap.c
+
+2013-02-05 03:24:45 +0200 Timo Sirainen <tss@iki.fi> (a4d796994b)
+
+ cydir, dbox, maildir: Don't leak the stream if mail.istream_opened() fails
+
+
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2013-02-05 03:23:59 +0200 Timo Sirainen <tss@iki.fi> (67641f44b6)
+
+ lib-index: Memory leak fix
+
+
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/test-mail-index-transaction-update.c
+
+2013-02-05 03:23:46 +0200 Timo Sirainen <tss@iki.fi> (0e6e2c5ca5)
+
+ fs-metawrap: Memory leak fixes
+
+
+M src/lib-fs/fs-metawrap.c
+
+2013-02-05 03:23:30 +0200 Timo Sirainen <tss@iki.fi> (ef064b29e2)
+
+ lib-fs: Avoid memory leaks if file was closed before fs_read()/fs_copy() was
+ finished.
+
+
+M src/lib-fs/fs-api.c
+
+2013-02-05 01:16:48 +0200 Timo Sirainen <tss@iki.fi> (26aa7d1e62)
+
+ fs-metawrap: Set underlying file async only for fs_read_stream() lookups.
+
+
+M src/lib-fs/fs-metawrap.c
+
+2013-02-04 22:15:59 +0200 Timo Sirainen <tss@iki.fi> (c096257fbd)
+
+ iostream-temp: Set a name for the returned istream.
+
+
+M src/lib/iostream-temp.c
+
+2013-02-04 22:07:14 +0200 Timo Sirainen <tss@iki.fi> (4521d35c26)
+
+ lib-http: If http_client_request_set_payload() fails to get stream size, log
+ an error.
+
+
+M src/lib-http/http-client-request.c
+
+2013-02-04 22:03:10 +0200 Timo Sirainen <tss@iki.fi> (e44028b5df)
+
+ iostream-temp: Don't try to dup() the stream fd if it's already closed.
+
+
+M src/lib/iostream-temp.c
+
+2013-02-04 22:02:42 +0200 Timo Sirainen <tss@iki.fi> (deed044188)
+
+ fs-metawrap: Delay writing the metadata headers until first data is written.
+ Also some other read/write fixes.
+
+
+M src/lib-fs/Makefile.am
+M src/lib-fs/fs-metawrap.c
+A src/lib-fs/ostream-metawrap.c
+A src/lib-fs/ostream-metawrap.h
+
+2013-02-04 20:18:22 +0200 Timo Sirainen <tss@iki.fi> (a06af8e117)
+
+ lib-fs: Added FS_OPEN_FLAG_SEEKABLE. Globally handle fs_read_stream()
+ seekability and waits.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-metawrap.c
+
+2013-02-04 20:17:14 +0200 Timo Sirainen <tss@iki.fi> (05d80389f3)
+
+ fs-metawrap: Fixed stat() to work when parent file's input stream didn't
+ have a parent.
+
+
+M src/lib-fs/fs-metawrap.c
+
+2013-02-04 20:15:32 +0200 Timo Sirainen <tss@iki.fi> (5ca0738418)
+
+ fs-metawrap: Error handling fixes
+
+
+M src/lib-fs/fs-metawrap.c
+
+2013-02-04 20:14:16 +0200 Timo Sirainen <tss@iki.fi> (b2c16f3a54)
+
+ i_stream_create(): Copy stream_errno/eof immediately from the parent stream.
+ This makes wrapper istream behavior more reliable when the original istream
+ is an istream-error.
+
+
+M src/lib/istream.c
+
+2013-02-04 20:13:26 +0200 Timo Sirainen <tss@iki.fi> (d5b3f66491)
+
+ istream: Fail in the default stat() implementation if stream_errno is set.
+
+
+M src/lib/istream.c
+
+2013-02-04 20:12:10 +0200 Timo Sirainen <tss@iki.fi> (2a8b891366)
+
+ istream-seekable: Fail stat() if stream_errno is set.
+
+
+M src/lib/istream-seekable.c
+
+2013-02-04 20:10:59 +0200 Timo Sirainen <tss@iki.fi> (4124bebe6d)
+
+ lib-http: Added http_client_request_set_destroy_callback() This is useful
+ for io_remove()ing the payload stream's fd at the right time.
+
+
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.h
+
+2013-02-04 18:17:21 +0200 Timo Sirainen <tss@iki.fi> (c911297407)
+
+ lib-http: Added http_url_escape_param()
+
+
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+
+2013-02-04 17:06:40 +0200 Timo Sirainen <tss@iki.fi> (97144a3468)
+
+ lib-index: Bug in cache file size verification caused the whole cache file
+ to be mapped.
+
+
+M src/lib-index/mail-cache.c
+
+2013-02-04 16:10:50 +0200 Timo Sirainen <tss@iki.fi> (722a8fc90a)
+
+ lib-storage: If message parser's input stream is closed early, don't treat
+ it as error. This seems to happen sometimes during message saving(?),
+ although I'm not exactly sure why. In any case it shouldn't log an error
+ about it. This behavior is probably better than failing. The caller should
+ be the one to figure out if saving has failed or not.
+
+
+M src/lib-storage/index/index-mail.c
+
+2013-02-04 16:03:54 +0200 Timo Sirainen <tss@iki.fi> (e41e4ac648)
+
+ imap: Set [io]stream name for imap client connections.
+
+
+M src/imap/imap-client.c
+
+2013-02-04 15:59:50 +0200 Timo Sirainen <tss@iki.fi> (d3e02d997e)
+
+ istream-tee: Copy the parent stream's name to child streams.
+
+
+M src/lib/istream-tee.c
+
+2013-02-04 15:59:12 +0200 Timo Sirainen <tss@iki.fi> (8f28cbec73)
+
+ i_stream_close(): Set stream_errno to EPIPE instead of ENOENT.
+
+
+M src/lib/istream.c
+
+2013-02-03 21:53:24 +0200 Timo Sirainen <tss@iki.fi> (baf346e71e)
+
+ iostream-temp: Avoid copying data if IOSTREAM_TEMP_FLAG_TRY_FD_DUP is set.
+
+
+M src/lib/iostream-temp.c
+M src/lib/iostream-temp.h
+
+2013-02-03 21:52:48 +0200 Timo Sirainen <tss@iki.fi> (d14e62b7b3)
+
+ i_stream_create_error() should have set eof=TRUE immediately.
+
+
+M src/lib/istream.c
+
+2013-02-03 21:52:19 +0200 Timo Sirainen <tss@iki.fi> (f6754d90ea)
+
+ lib-fs: fs_write_stream_finish(file, NULL) is now alias to
+ fs_write_stream_finish_async(file) This makes wrapper implementations
+ easier.
+
+
+M src/lib-fs/fs-api.c
+
+2013-02-03 21:51:40 +0200 Timo Sirainen <tss@iki.fi> (1c9cfe77c6)
+
+ lib-fs: fs-posix now allows reading from the same file that was created.
+
+
+M src/lib-fs/fs-posix.c
+
+2013-02-03 21:48:58 +0200 Timo Sirainen <tss@iki.fi> (0e1b468a72)
+
+ lib-fs: istream-metawrap is a bit more flexible now, allowing stat()ing and
+ reading from fd
+
+
+M src/lib-fs/istream-metawrap.c
+
+2013-02-02 22:21:36 +0200 Timo Sirainen <tss@iki.fi> (5b7cf8d961)
+
+ fts-solr: Compile warning fix
+
+
+M src/plugins/fts-solr/fts-solr-plugin.c
+
+2013-02-02 17:02:55 +0200 Timo Sirainen <tss@iki.fi> (5a580c3a38)
+
+ Oops :) Update copyrights to 2013 without breaking all .c files.
+
+
+M src/anvil/anvil-connection.c
+M src/anvil/anvil-settings.c
+M src/anvil/connect-limit.c
+M src/anvil/main.c
+M src/anvil/penalty.c
+M src/anvil/test-penalty.c
+M src/auth/auth-cache.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-fields.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-penalty.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-token.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/auth.c
+M src/auth/db-checkpassword.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/auth/db-sql.c
+M src/auth/main.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-dovecot-token.c
+M src/auth/mech-external.c
+M src/auth/mech-plain.c
+M src/auth/mech.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-checkpassword.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-imap.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb-template.c
+M src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme.c
+M src/auth/test-auth-cache.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-checkpassword.c
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-nss.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-prefetch.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb-template.c
+M src/auth/userdb-vpopmail.c
+M src/auth/userdb.c
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/config-request.c
+M src/config/config-settings.c
+M src/config/doveconf.c
+M src/config/main.c
+M src/config/old-set-parser.c
+M src/config/sysinfo-get.c
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/dict/dict-settings.c
+M src/dict/main.c
+M src/director/auth-connection.c
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director-request.c
+M src/director/director-settings.c
+M src/director/director-test.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/mail-host.c
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+M src/dns/dns-client-settings.c
+M src/dns/dns-client.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/doveadm-dump-thread.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-instance.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/doveadm-master.c
+M src/doveadm/doveadm-mount.c
+M src/doveadm/doveadm-mutf7.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-print-flow.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/doveadm-print-tab.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-proxy.c
+M src/doveadm/doveadm-pw.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-sis.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm-zlib.c
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-deserializer.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-state.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-serializer.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+M src/doveadm/main.c
+M src/doveadm/server-connection.c
+M src/imap-login/client-authenticate.c
+M src/imap-login/client.c
+M src/imap-login/imap-login-settings.c
+M src/imap-login/imap-proxy.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-login-settings.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/imap-urlauth/imap-urlauth-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/cmd-append.c
+M src/imap/cmd-cancelupdate.c
+M src/imap/cmd-capability.c
+M src/imap/cmd-check.c
+M src/imap/cmd-close.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-enable.c
+M src/imap/cmd-examine.c
+M src/imap/cmd-expunge.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-genurlauth.c
+M src/imap/cmd-id.c
+M src/imap/cmd-idle.c
+M src/imap/cmd-list.c
+M src/imap/cmd-logout.c
+M src/imap/cmd-lsub.c
+M src/imap/cmd-namespace.c
+M src/imap/cmd-noop.c
+M src/imap/cmd-notify.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-resetkey.c
+M src/imap/cmd-search.c
+M src/imap/cmd-select.c
+M src/imap/cmd-sort.c
+M src/imap/cmd-status.c
+M src/imap/cmd-store.c
+M src/imap/cmd-subscribe.c
+M src/imap/cmd-thread.c
+M src/imap/cmd-uid.c
+M src/imap/cmd-unselect.c
+M src/imap/cmd-unsubscribe.c
+M src/imap/cmd-urlfetch.c
+M src/imap/cmd-x-cancel.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands.c
+M src/imap/imap-expunge.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-list.c
+M src/imap/imap-notify.c
+M src/imap/imap-search-args.c
+M src/imap/imap-search.c
+M src/imap/imap-settings.c
+M src/imap/imap-status.c
+M src/imap/imap-sync.c
+M src/imap/mail-storage-callbacks.c
+M src/imap/main.c
+M src/indexer/indexer-client.c
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-settings.c
+M src/indexer/indexer-worker-settings.c
+M src/indexer/indexer-worker.c
+M src/indexer/indexer.c
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-pool.c
+M src/ipc/client.c
+M src/ipc/ipc-connection.c
+M src/ipc/ipc-group.c
+M src/ipc/ipc-settings.c
+M src/ipc/main.c
+M src/lda/main.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/charset-utf8.c
+M src/lib-compression/compression.c
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-zlib.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict-transaction-memory.c
+M src/lib-dict/dict.c
+M src/lib-dict/test-dict.c
+M src/lib-dns/dns-lookup.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test.c
+M src/lib-fs/istream-metawrap.c
+M src/lib-fs/ostream-cmp.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-date.c
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-parser.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/http-url.c
+M src/lib-http/test-http-client.c
+M src/lib-http/test-http-date.c
+M src/lib-http/test-http-header-parser.c
+M src/lib-http/test-http-response-parser.c
+M src/lib-http/test-http-transfer.c
+M src/lib-http/test-http-url.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-msgmap.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap-urlauth/imap-urlauth.c
+M src/lib-imap/imap-arg.c
+M src/lib-imap/imap-base-subject.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-id.c
+M src/lib-imap/imap-match.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-seqset.c
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-utf7.c
+M src/lib-imap/imap-util.c
+M src/lib-imap/test-imap-bodystructure.c
+M src/lib-imap/test-imap-match.c
+M src/lib-imap/test-imap-parser.c
+M src/lib-imap/test-imap-url.c
+M src/lib-imap/test-imap-utf7.c
+M src/lib-imap/test-imap-util.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-dummy-view.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-util.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mailbox-log.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-index/test-mail-transaction-log-view.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/lda-settings.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-send.c
+M src/lib-lda/smtp-client.c
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/istream-nonuls.c
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/mail-user-hash.c
+M src/lib-mail/mbox-from.c
+M src/lib-mail/message-address.c
+M src/lib-mail/message-binary-part.c
+M src/lib-mail/message-date.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-id.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part-serialize.c
+M src/lib-mail/message-search.c
+M src/lib-mail/message-size.c
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-mail/test-istream-binary-converter.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-mail/test-mbox-from.c
+M src/lib-mail/test-message-address.c
+M src/lib-mail/test-message-date.c
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-encode.c
+M src/lib-mail/test-message-header-parser.c
+M src/lib-mail/test-message-id.c
+M src/lib-mail/test-message-parser.c
+M src/lib-mail/test-quoted-printable.c
+M src/lib-mail/test-rfc2231-parser.c
+M src/lib-master/anvil-client.c
+M src/lib-master/ipc-client.c
+M src/lib-master/ipc-server.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl.c
+M src/lib-master/master-service.c
+M src/lib-master/mountpoint-list.c
+M src/lib-master/syslog-util.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-db-cache.c
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl-params.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl-none.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib-storage/fail-mail-storage.c
+M src/lib-storage/fail-mail.c
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mailbox-check.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-search-result.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync-search.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread-links.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/istream-mail.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-filename.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-settings.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-md5-all.c
+M src/lib-storage/index/mbox/mbox-md5-apop3d.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-settings.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync-update.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/raw/raw-sync.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-notify-tree.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-error.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-parser-cmdline.c
+M src/lib-storage/mail-search-parser-imap.c
+M src/lib-storage/mail-search-parser.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search-register.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-thread.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-header.c
+M src/lib-storage/mailbox-keywords.c
+M src/lib-storage/mailbox-list-notify.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-search-result.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib-storage/test-mailbox-get.c
+M src/lib-test/test-common.c
+M src/lib/abspath.c
+M src/lib/aqueue.c
+M src/lib/array.c
+M src/lib/askpass.c
+M src/lib/backtrace-string.c
+M src/lib/base64.c
+M src/lib/bsearch-insert-pos.c
+M src/lib/buffer.c
+M src/lib/child-wait.c
+M src/lib/compat.c
+M src/lib/connection.c
+M src/lib/crc32.c
+M src/lib/data-stack.c
+M src/lib/eacces-error.c
+M src/lib/env-util.c
+M src/lib/execv-const.c
+M src/lib/failures.c
+M src/lib/fd-close-on-exec.c
+M src/lib/fd-set-nonblock.c
+M src/lib/fdatasync-path.c
+M src/lib/fdpass.c
+M src/lib/file-cache.c
+M src/lib/file-copy.c
+M src/lib/file-dotlock.c
+M src/lib/file-lock.c
+M src/lib/file-set-size.c
+M src/lib/guid.c
+M src/lib/hash-format.c
+M src/lib/hash-method.c
+M src/lib/hash.c
+M src/lib/hash2.c
+M src/lib/hex-binary.c
+M src/lib/hex-dec.c
+M src/lib/home-expand.c
+M src/lib/hostpid.c
+M src/lib/imem.c
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-notify-dn.c
+M src/lib/ioloop-notify-fd.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-none.c
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+M src/lib/iostream-rawlog.c
+M src/lib/iostream-temp.c
+M src/lib/iostream.c
+M src/lib/iso8601-date.c
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-data.c
+M src/lib/istream-file.c
+M src/lib/istream-jsonstr.c
+M src/lib/istream-limit.c
+M src/lib/istream-mmap.c
+M src/lib/istream-rawlog.c
+M src/lib/istream-seekable.c
+M src/lib/istream-sized.c
+M src/lib/istream-tee.c
+M src/lib/istream.c
+M src/lib/json-parser.c
+M src/lib/lib-signals.c
+M src/lib/lib.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-system.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/mempool.c
+M src/lib/mkdir-parents.c
+M src/lib/mmap-anon.c
+M src/lib/mmap-util.c
+M src/lib/module-dir.c
+M src/lib/mountpoint.c
+M src/lib/net.c
+M src/lib/nfs-workarounds.c
+M src/lib/numpack.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-file.c
+M src/lib/ostream-rawlog.c
+M src/lib/ostream.c
+M src/lib/primes.c
+M src/lib/printf-format-fix.c
+M src/lib/priorityq.c
+M src/lib/process-title.c
+M src/lib/randgen.c
+M src/lib/read-full.c
+M src/lib/restrict-access.c
+M src/lib/restrict-process-size.c
+M src/lib/safe-memset.c
+M src/lib/safe-mkdir.c
+M src/lib/safe-mkstemp.c
+M src/lib/sendfile-util.c
+M src/lib/seq-range-array.c
+M src/lib/str-find.c
+M src/lib/str-sanitize.c
+M src/lib/str.c
+M src/lib/strescape.c
+M src/lib/strfuncs.c
+M src/lib/strnum.c
+M src/lib/test-aqueue.c
+M src/lib/test-array.c
+M src/lib/test-base64.c
+M src/lib/test-bsearch-insert-pos.c
+M src/lib/test-buffer.c
+M src/lib/test-crc32.c
+M src/lib/test-hash-format.c
+M src/lib/test-hex-binary.c
+M src/lib/test-iso8601-date.c
+M src/lib/test-istream-base64-decoder.c
+M src/lib/test-istream-base64-encoder.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-crlf.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-istream-tee.c
+M src/lib/test-json-parser.c
+M src/lib/test-lib.c
+M src/lib/test-llist.c
+M src/lib/test-mempool-alloconly.c
+M src/lib/test-network.c
+M src/lib/test-numpack.c
+M src/lib/test-ostream-file.c
+M src/lib/test-primes.c
+M src/lib/test-priorityq.c
+M src/lib/test-seq-range-array.c
+M src/lib/test-str-find.c
+M src/lib/test-str-sanitize.c
+M src/lib/test-strescape.c
+M src/lib/test-strfuncs.c
+M src/lib/test-time-util.c
+M src/lib/test-unichar.c
+M src/lib/test-utc-mktime.c
+M src/lib/test-var-expand.c
+M src/lib/time-util.c
+M src/lib/unichar.c
+M src/lib/unix-socket-create.c
+M src/lib/unlink-directory.c
+M src/lib/unlink-old-files.c
+M src/lib/uri-util.c
+M src/lib/utc-mktime.c
+M src/lib/utc-offset.c
+M src/lib/var-expand.c
+M src/lib/write-full.c
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/main.c
+M src/log/doveadm-connection.c
+M src/log/log-connection.c
+M src/log/log-error-buffer.c
+M src/log/log-settings.c
+M src/log/main.c
+M src/login-common/access-lookup.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/main.c
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.c
+M src/master/capabilities-posix.c
+M src/master/dup2-array.c
+M src/master/main.c
+M src/master/master-settings.c
+M src/master/service-anvil.c
+M src/master/service-listen.c
+M src/master/service-log.c
+M src/master/service-monitor.c
+M src/master/service-process-notify.c
+M src/master/service-process.c
+M src/master/service.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-plugin.c
+M src/plugins/acl/acl-shared-storage.c
+M src/plugins/acl/acl-storage.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/expire/expire-set.c
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/fts-squat-plugin.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+M src/plugins/fts/doveadm-fts.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-parser-html.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-search-serialize.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/xml2text.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-stats/imap-stats-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/listescape/listescape-plugin.c
+M src/plugins/mail-log/mail-log-plugin.c
+M src/plugins/mailbox-alias/mailbox-alias-plugin.c
+M src/plugins/notify/notify-plugin.c
+M src/plugins/notify/notify-storage.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-plugin.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/replication/replication-plugin.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/stats/stats-connection.c
+M src/plugins/stats/stats-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-plugin.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/virtual/virtual-transaction.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client.c
+M src/pop3-login/pop3-login-settings.c
+M src/pop3-login/pop3-proxy.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-settings.c
+M src/replication/aggregator/aggregator-settings.c
+M src/replication/aggregator/aggregator.c
+M src/replication/aggregator/notify-connection.c
+M src/replication/aggregator/replicator-connection.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/notify-connection.c
+M src/replication/replicator/replicator-brain.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-settings.c
+M src/replication/replicator/replicator.c
+M src/ssl-params/main.c
+M src/ssl-params/ssl-params-openssl.c
+M src/ssl-params/ssl-params-settings.c
+M src/ssl-params/ssl-params.c
+M src/stats/client-export.c
+M src/stats/client.c
+M src/stats/global-memory.c
+M src/stats/mail-command.c
+M src/stats/mail-domain.c
+M src/stats/mail-ip.c
+M src/stats/mail-server-connection.c
+M src/stats/mail-session.c
+M src/stats/mail-stats.c
+M src/stats/mail-user.c
+M src/stats/main.c
+M src/stats/stats-settings.c
+M src/util/gdbhelper.c
+M src/util/maildirlock.c
+M src/util/rawlog.c
+M src/util/script-login.c
+M src/util/script.c
+M src/util/tcpwrap-settings.c
+M src/util/tcpwrap.c
+
+2013-02-02 17:01:07 +0200 Timo Sirainen <tss@iki.fi> (cca4ba2a50)
+
+ Updated copyright notices to include year 2013.
+
+
+M src/anvil/anvil-connection.c
+M src/anvil/anvil-settings.c
+M src/anvil/connect-limit.c
+M src/anvil/main.c
+M src/anvil/penalty.c
+M src/anvil/test-penalty.c
+M src/auth/auth-cache.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-fields.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-penalty.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-token.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/auth.c
+M src/auth/db-checkpassword.c
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/auth/db-sql.c
+M src/auth/main.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-dovecot-token.c
+M src/auth/mech-external.c
+M src/auth/mech-plain.c
+M src/auth/mech.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-checkpassword.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-imap.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb-template.c
+M src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme.c
+M src/auth/test-auth-cache.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-checkpassword.c
+M src/auth/userdb-dict.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-nss.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-prefetch.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb-template.c
+M src/auth/userdb-vpopmail.c
+M src/auth/userdb.c
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/config-request.c
+M src/config/config-settings.c
+M src/config/doveconf.c
+M src/config/main.c
+M src/config/old-set-parser.c
+M src/config/sysinfo-get.c
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/dict/dict-settings.c
+M src/dict/main.c
+M src/director/auth-connection.c
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director-request.c
+M src/director/director-settings.c
+M src/director/director-test.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/mail-host.c
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+M src/dns/dns-client-settings.c
+M src/dns/dns-client.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/doveadm-dump-thread.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-instance.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/doveadm-master.c
+M src/doveadm/doveadm-mount.c
+M src/doveadm/doveadm-mutf7.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-print-flow.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/doveadm-print-tab.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-proxy.c
+M src/doveadm/doveadm-pw.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-sis.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm-zlib.c
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-deserializer.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-state.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-serializer.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+M src/doveadm/main.c
+M src/doveadm/server-connection.c
+M src/imap-login/client-authenticate.c
+M src/imap-login/client.c
+M src/imap-login/imap-login-settings.c
+M src/imap-login/imap-proxy.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-login-settings.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/imap-urlauth/imap-urlauth-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap-urlauth/imap-urlauth.c
+M src/imap/cmd-append.c
+M src/imap/cmd-cancelupdate.c
+M src/imap/cmd-capability.c
+M src/imap/cmd-check.c
+M src/imap/cmd-close.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-enable.c
+M src/imap/cmd-examine.c
+M src/imap/cmd-expunge.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-genurlauth.c
+M src/imap/cmd-id.c
+M src/imap/cmd-idle.c
+M src/imap/cmd-list.c
+M src/imap/cmd-logout.c
+M src/imap/cmd-lsub.c
+M src/imap/cmd-namespace.c
+M src/imap/cmd-noop.c
+M src/imap/cmd-notify.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-resetkey.c
+M src/imap/cmd-search.c
+M src/imap/cmd-select.c
+M src/imap/cmd-sort.c
+M src/imap/cmd-status.c
+M src/imap/cmd-store.c
+M src/imap/cmd-subscribe.c
+M src/imap/cmd-thread.c
+M src/imap/cmd-uid.c
+M src/imap/cmd-unselect.c
+M src/imap/cmd-unsubscribe.c
+M src/imap/cmd-urlfetch.c
+M src/imap/cmd-x-cancel.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands.c
+M src/imap/imap-expunge.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-list.c
+M src/imap/imap-notify.c
+M src/imap/imap-search-args.c
+M src/imap/imap-search.c
+M src/imap/imap-settings.c
+M src/imap/imap-status.c
+M src/imap/imap-sync.c
+M src/imap/mail-storage-callbacks.c
+M src/imap/main.c
+M src/indexer/indexer-client.c
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-settings.c
+M src/indexer/indexer-worker-settings.c
+M src/indexer/indexer-worker.c
+M src/indexer/indexer.c
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-pool.c
+M src/ipc/client.c
+M src/ipc/ipc-connection.c
+M src/ipc/ipc-group.c
+M src/ipc/ipc-settings.c
+M src/ipc/main.c
+M src/lda/main.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/charset-utf8.c
+M src/lib-compression/compression.c
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-zlib.c
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-zlib.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict-transaction-memory.c
+M src/lib-dict/dict.c
+M src/lib-dict/test-dict.c
+M src/lib-dns/dns-lookup.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test.c
+M src/lib-fs/istream-metawrap.c
+M src/lib-fs/ostream-cmp.c
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-date.c
+M src/lib-http/http-header-parser.c
+M src/lib-http/http-parser.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/http-url.c
+M src/lib-http/test-http-client.c
+M src/lib-http/test-http-date.c
+M src/lib-http/test-http-header-parser.c
+M src/lib-http/test-http-response-parser.c
+M src/lib-http/test-http-transfer.c
+M src/lib-http/test-http-url.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-msgmap.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap-urlauth/imap-urlauth.c
+M src/lib-imap/imap-arg.c
+M src/lib-imap/imap-base-subject.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-id.c
+M src/lib-imap/imap-match.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-seqset.c
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-utf7.c
+M src/lib-imap/imap-util.c
+M src/lib-imap/test-imap-bodystructure.c
+M src/lib-imap/test-imap-match.c
+M src/lib-imap/test-imap-parser.c
+M src/lib-imap/test-imap-url.c
+M src/lib-imap/test-imap-utf7.c
+M src/lib-imap/test-imap-util.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-dummy-view.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-util.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mailbox-log.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-index/test-mail-transaction-log-view.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/lda-settings.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-send.c
+M src/lib-lda/smtp-client.c
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/istream-nonuls.c
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/mail-user-hash.c
+M src/lib-mail/mbox-from.c
+M src/lib-mail/message-address.c
+M src/lib-mail/message-binary-part.c
+M src/lib-mail/message-date.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-id.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part-serialize.c
+M src/lib-mail/message-search.c
+M src/lib-mail/message-size.c
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-mail/test-istream-binary-converter.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-mail/test-mbox-from.c
+M src/lib-mail/test-message-address.c
+M src/lib-mail/test-message-date.c
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-encode.c
+M src/lib-mail/test-message-header-parser.c
+M src/lib-mail/test-message-id.c
+M src/lib-mail/test-message-parser.c
+M src/lib-mail/test-quoted-printable.c
+M src/lib-mail/test-rfc2231-parser.c
+M src/lib-master/anvil-client.c
+M src/lib-master/ipc-client.c
+M src/lib-master/ipc-server.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service-ssl.c
+M src/lib-master/master-service.c
+M src/lib-master/mountpoint-list.c
+M src/lib-master/syslog-util.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-db-cache.c
+M src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl-params.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl-none.c
+M src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib-storage/fail-mail-storage.c
+M src/lib-storage/fail-mail.c
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mailbox-check.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-search-result.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync-search.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread-links.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/istream-mail.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-filename.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-settings.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-md5-all.c
+M src/lib-storage/index/mbox/mbox-md5-apop3d.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-settings.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync-update.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/raw/raw-sync.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-notify-tree.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-error.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-parser-cmdline.c
+M src/lib-storage/mail-search-parser-imap.c
+M src/lib-storage/mail-search-parser.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search-register.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-thread.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-header.c
+M src/lib-storage/mailbox-keywords.c
+M src/lib-storage/mailbox-list-notify.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-search-result.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib-storage/test-mailbox-get.c
+M src/lib-test/test-common.c
+M src/lib/abspath.c
+M src/lib/aqueue.c
+M src/lib/array.c
+M src/lib/askpass.c
+M src/lib/backtrace-string.c
+M src/lib/base64.c
+M src/lib/bsearch-insert-pos.c
+M src/lib/buffer.c
+M src/lib/child-wait.c
+M src/lib/compat.c
+M src/lib/connection.c
+M src/lib/crc32.c
+M src/lib/data-stack.c
+M src/lib/eacces-error.c
+M src/lib/env-util.c
+M src/lib/execv-const.c
+M src/lib/failures.c
+M src/lib/fd-close-on-exec.c
+M src/lib/fd-set-nonblock.c
+M src/lib/fdatasync-path.c
+M src/lib/fdpass.c
+M src/lib/file-cache.c
+M src/lib/file-copy.c
+M src/lib/file-dotlock.c
+M src/lib/file-lock.c
+M src/lib/file-set-size.c
+M src/lib/guid.c
+M src/lib/hash-format.c
+M src/lib/hash-method.c
+M src/lib/hash.c
+M src/lib/hash2.c
+M src/lib/hex-binary.c
+M src/lib/hex-dec.c
+M src/lib/home-expand.c
+M src/lib/hostpid.c
+M src/lib/imem.c
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-notify-dn.c
+M src/lib/ioloop-notify-fd.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-none.c
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+M src/lib/iostream-rawlog.c
+M src/lib/iostream-temp.c
+M src/lib/iostream.c
+M src/lib/ipwd.c
+M src/lib/iso8601-date.c
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-data.c
+M src/lib/istream-file.c
+M src/lib/istream-jsonstr.c
+M src/lib/istream-limit.c
+M src/lib/istream-mmap.c
+M src/lib/istream-rawlog.c
+M src/lib/istream-seekable.c
+M src/lib/istream-sized.c
+M src/lib/istream-tee.c
+M src/lib/istream.c
+M src/lib/json-parser.c
+M src/lib/lib-signals.c
+M src/lib/lib.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-system.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/mempool.c
+M src/lib/mkdir-parents.c
+M src/lib/mmap-anon.c
+M src/lib/mmap-util.c
+M src/lib/module-dir.c
+M src/lib/mountpoint.c
+M src/lib/net.c
+M src/lib/nfs-workarounds.c
+M src/lib/numpack.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-file.c
+M src/lib/ostream-rawlog.c
+M src/lib/ostream.c
+M src/lib/primes.c
+M src/lib/printf-format-fix.c
+M src/lib/priorityq.c
+M src/lib/process-title.c
+M src/lib/randgen.c
+M src/lib/read-full.c
+M src/lib/restrict-access.c
+M src/lib/restrict-process-size.c
+M src/lib/safe-memset.c
+M src/lib/safe-mkdir.c
+M src/lib/safe-mkstemp.c
+M src/lib/sendfile-util.c
+M src/lib/seq-range-array.c
+M src/lib/str-find.c
+M src/lib/str-sanitize.c
+M src/lib/str.c
+M src/lib/strescape.c
+M src/lib/strfuncs.c
+M src/lib/strnum.c
+M src/lib/test-aqueue.c
+M src/lib/test-array.c
+M src/lib/test-base64.c
+M src/lib/test-bsearch-insert-pos.c
+M src/lib/test-buffer.c
+M src/lib/test-crc32.c
+M src/lib/test-hash-format.c
+M src/lib/test-hex-binary.c
+M src/lib/test-iso8601-date.c
+M src/lib/test-istream-base64-decoder.c
+M src/lib/test-istream-base64-encoder.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-crlf.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-istream-tee.c
+M src/lib/test-json-parser.c
+M src/lib/test-lib.c
+M src/lib/test-llist.c
+M src/lib/test-mempool-alloconly.c
+M src/lib/test-network.c
+M src/lib/test-numpack.c
+M src/lib/test-ostream-file.c
+M src/lib/test-primes.c
+M src/lib/test-priorityq.c
+M src/lib/test-seq-range-array.c
+M src/lib/test-str-find.c
+M src/lib/test-str-sanitize.c
+M src/lib/test-strescape.c
+M src/lib/test-strfuncs.c
+M src/lib/test-time-util.c
+M src/lib/test-unichar.c
+M src/lib/test-utc-mktime.c
+M src/lib/test-var-expand.c
+M src/lib/time-util.c
+M src/lib/unichar.c
+M src/lib/unix-socket-create.c
+M src/lib/unlink-directory.c
+M src/lib/unlink-old-files.c
+M src/lib/uri-util.c
+M src/lib/utc-mktime.c
+M src/lib/utc-offset.c
+M src/lib/var-expand.c
+M src/lib/write-full.c
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/main.c
+M src/log/doveadm-connection.c
+M src/log/log-connection.c
+M src/log/log-error-buffer.c
+M src/log/log-settings.c
+M src/log/main.c
+M src/login-common/access-lookup.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/main.c
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.c
+M src/master/capabilities-posix.c
+M src/master/dup2-array.c
+M src/master/main.c
+M src/master/master-settings.c
+M src/master/service-anvil.c
+M src/master/service-listen.c
+M src/master/service-log.c
+M src/master/service-monitor.c
+M src/master/service-process-notify.c
+M src/master/service-process.c
+M src/master/service.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-plugin.c
+M src/plugins/acl/acl-shared-storage.c
+M src/plugins/acl/acl-storage.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/expire/expire-set.c
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/fts-squat-plugin.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+M src/plugins/fts/doveadm-fts.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-parser-html.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-search-serialize.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/xml2text.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-stats/imap-stats-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/listescape/listescape-plugin.c
+M src/plugins/mail-log/mail-log-plugin.c
+M src/plugins/mailbox-alias/mailbox-alias-plugin.c
+M src/plugins/notify/notify-plugin.c
+M src/plugins/notify/notify-storage.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-plugin.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/replication/replication-plugin.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/stats/stats-connection.c
+M src/plugins/stats/stats-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-plugin.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/virtual/virtual-transaction.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client.c
+M src/pop3-login/pop3-login-settings.c
+M src/pop3-login/pop3-proxy.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-settings.c
+M src/replication/aggregator/aggregator-settings.c
+M src/replication/aggregator/aggregator.c
+M src/replication/aggregator/notify-connection.c
+M src/replication/aggregator/replicator-connection.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/notify-connection.c
+M src/replication/replicator/replicator-brain.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-settings.c
+M src/replication/replicator/replicator.c
+M src/ssl-params/main.c
+M src/ssl-params/ssl-params-openssl.c
+M src/ssl-params/ssl-params-settings.c
+M src/ssl-params/ssl-params.c
+M src/stats/client-export.c
+M src/stats/client.c
+M src/stats/global-memory.c
+M src/stats/mail-command.c
+M src/stats/mail-domain.c
+M src/stats/mail-ip.c
+M src/stats/mail-server-connection.c
+M src/stats/mail-session.c
+M src/stats/mail-stats.c
+M src/stats/mail-user.c
+M src/stats/main.c
+M src/stats/stats-settings.c
+M src/util/gdbhelper.c
+M src/util/maildirlock.c
+M src/util/rawlog.c
+M src/util/script-login.c
+M src/util/script.c
+M src/util/tcpwrap-settings.c
+M src/util/tcpwrap.c
+
+2013-02-02 16:52:23 +0200 Timo Sirainen <tss@iki.fi> (683d9f2076)
+
+ fts-solr: Deinit solr connection at plugin unload.
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/fts-solr-plugin.h
+
+2013-02-02 00:31:44 +0200 Timo Sirainen <tss@iki.fi> (f3ef965d5c)
+
+ dbox: Fail if trying to create a mailbox that already exists.
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2013-02-01 02:25:18 +0200 Timo Sirainen <tss@iki.fi> (d62bcaa9e2)
+
+ fts-solr: Reverted previous change, it only crashes. The plugin is already
+ unloaded at lib_atexit() time.
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2013-02-01 02:18:54 +0200 Timo Sirainen <tss@iki.fi> (cdabeadb17)
+
+ fts-solr: Free the solr_connection at exit.
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2013-02-01 01:39:41 +0200 Stephan Bosch <stephan@rename-it.nl> (eb325a5a90)
+
+ lib-http: Various bugfixes
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-host.c
+M src/lib-http/http-client-peer.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-client.c
+M src/lib-http/http-client.h
+M src/lib-http/test-http-client.c
+
+2013-02-01 01:03:05 +0200 Timo Sirainen <tss@iki.fi> (f01eb1f51d)
+
+ auth: first/last_valid_uid settings shouldn't have had auth_ prefix.
+
+
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+
+2013-01-31 22:59:13 +0200 Timo Sirainen <tss@iki.fi> (4881b4b19c)
+
+ ostream: If stream is closed with stream_errno=0, set it to EPIPE.
+
+
+M src/lib/ostream.c
+
+2013-01-31 22:58:24 +0200 Timo Sirainen <tss@iki.fi> (d78be924ad)
+
+ ostream: Default seek&write_at implementations should fail with ESPIPE, not
+ EPIPE.
+
+
+M src/lib/ostream.c
+
+2013-01-31 22:14:12 +0200 Timo Sirainen <tss@iki.fi> (ea664cc5ad)
+
+ replicator: Don't try to reuse doveadm connections (and have them
+ immediately fail)
+
+
+M src/replication/replicator/doveadm-connection.c
+
+2013-01-31 22:13:36 +0200 Timo Sirainen <tss@iki.fi> (e3b36e4506)
+
+ replicator plugin: Use non-blocking open for the replicator fifo. This fixes
+ an infinite hang if the replicator process isn't running.
+
+
+M src/plugins/replication/replication-plugin.c
+
+2013-01-31 21:49:00 +0200 Timo Sirainen <tss@iki.fi> (5c88745f67)
+
+ replicator: Use locking when running dsync.
+
+
+M src/replication/replicator/doveadm-connection.c
+
+2013-01-31 21:01:09 +0200 Timo Sirainen <tss@iki.fi> (3edcc1d78b)
+
+ replicator: Crashfix at deinit
+
+
+M src/replication/replicator/replicator-brain.c
+
+2013-01-31 19:58:34 +0200 Timo Sirainen <tss@iki.fi> (5446576156)
+
+ dsync: More fixes to merging flag/keyword changes.
+
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-31 19:45:50 +0200 Timo Sirainen <tss@iki.fi> (5e46f82843)
+
+ doveadm fetch: Added "modseq" field.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2013-01-31 19:45:33 +0200 Timo Sirainen <tss@iki.fi> (252f5c6a63)
+
+ dsync: Fixed syncing message keywords. "add" and "final" can't be mixed
+ together always without causing keywords to be added back unintentionally.
+
+
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-31 19:44:28 +0200 Timo Sirainen <tss@iki.fi> (cf848255bf)
+
+ dsync: If both local and remote have the same message flags, don't go
+ changing them.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-31 19:05:55 +0200 Timo Sirainen <tss@iki.fi> (53c384be5f)
+
+ dsync: When we know that remote does a flag update, try to guess the
+ remote's new modseq and set it
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-31 18:47:20 +0200 Timo Sirainen <tss@iki.fi> (4aefbee3c3)
+
+ dsync: If mailbox UIDVALIDITY is 0, sync it to assign it instead of
+ assert-crashing.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+
+2013-01-31 18:39:44 +0200 Timo Sirainen <tss@iki.fi> (59bf1df595)
+
+ dsync: Fixed syncing keyword removals.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-31 18:27:22 +0200 Timo Sirainen <tss@iki.fi> (a5f2ad4bd3)
+
+ lib-ssl-iostream: Pass the plain istream's fd to ssl_istream.
+
+
+M src/lib-ssl-iostream/istream-openssl.c
+
+2013-01-31 18:17:10 +0200 Timo Sirainen <tss@iki.fi> (38780588be)
+
+ iostream-rawlog: Ignore 0 byte writes instead of assert-crashing.
+
+
+M src/lib/iostream-rawlog.c
+
+2013-01-31 17:03:16 +0200 Timo Sirainen <tss@iki.fi> (6c3293c2e1)
+
+ dsync: Increased "remote cmd exit wait" from 5 to 30 seconds.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-01-31 17:01:46 +0200 Timo Sirainen <tss@iki.fi> (d097ad375f)
+
+ dsync: Ignore GUID mismatch on expunged message pair.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-31 00:27:17 +0200 Timo Sirainen <tss@iki.fi> (3bdc09026f)
+
+ auth: Removed assert-checks, allowing plugins to set skip_password_check.
+
+
+M src/auth/auth-request.c
+
+2013-01-31 00:14:28 +0200 Timo Sirainen <tss@iki.fi> (5bac4693a3)
+
+ dsync: If remote command child process doesn't die at exit, kill -9 it.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-01-30 23:45:10 +0200 Timo Sirainen <tss@iki.fi> (70d732b529)
+
+ Added signature for changeset b314c97d4bbf
+
+
+M .hgsigs
+
+2013-01-30 23:45:06 +0200 Timo Sirainen <tss@iki.fi> (4b1041c273)
+
+ Added tag 2.1.14 for changeset b314c97d4bbf
+
+
+M .hgtags
+
+2013-01-30 23:45:06 +0200 Timo Sirainen <tss@iki.fi> (e9cbc7950c)
+
+ Released v2.1.14.
+
+
+M NEWS
+M configure.in
+
+2013-01-30 23:24:20 +0200 Timo Sirainen <tss@iki.fi> (8521def0d8)
+
+ auth: Fixed compiling GSSAPI after recent changes.
+
+
+M src/auth/mech-gssapi.c
+
+2013-01-30 22:44:48 +0200 Timo Sirainen <tss@iki.fi> (559f278a4c)
+
+ auth: Added passdb { result_* and skip } settings.
+
+ passdb { skip = never | authenticated | unauthenticated } can be used to
+ skip over a passdb lookup based on previous passdb lookups.
+
+ passdb { result_success, result_failure, result_internalfail } can be used
+ to specify what to do on those conditions. Choices as continue, continue-ok,
+ continue-fail, return, return-ok, return-fail. The -ok and
+ -fail variants update the current "success" flag, while continue/return uses
+ the current flag. The authentication succeeds only if the success flag is
+ set after the last lookup. The continue variants continue to the next
+ passdb, while return variants finish the lookup immediately.
+
+M src/auth/auth-fields.c
+M src/auth/auth-fields.h
+M src/auth/auth-master-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+M src/auth/auth-worker-client.c
+M src/auth/auth.c
+M src/auth/auth.h
+M src/auth/mech-gssapi.c
+M src/auth/passdb-blocking.c
+
+2013-01-30 22:23:09 +0200 Timo Sirainen <tss@iki.fi> (c3e50b854d)
+
+ auth: Code cleanup: Renamed some fields used in internal communication with
+ worker.
+
+
+M src/auth/auth-request.c
+
+2013-01-30 22:19:13 +0200 Timo Sirainen <tss@iki.fi> (83d2e37f06)
+
+ auth: Auth requests' flag fields were never passed to worker processes.
+
+
+M src/auth/auth-worker-client.c
+
+2013-01-30 22:18:09 +0200 Timo Sirainen <tss@iki.fi> (420d037be8)
+
+ auth: Fixed login USER reply broken by recent changes.
+
+
+M src/auth/auth-request-handler.c
+
+2013-01-30 21:08:58 +0200 Timo Sirainen <tss@iki.fi> (31633d6766)
+
+ auth: Cleaned up flags in auth request. Removed those that already exist in
+ extra_fields. It's now slightly slower to check for those flags in
+ extra_fields, but it's going to be easier to make commit/rollback feature to
+ extra_fields.
+
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-worker-client.c
+M src/auth/db-checkpassword.c
+M src/auth/mech-gssapi.c
+M src/auth/passdb-dict.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-sql.c
+
+2013-01-30 20:06:43 +0200 Timo Sirainen <tss@iki.fi> (32e0da4449)
+
+ auth: Allocate auth-fields array lazily. Also some naming cleanups.
+
+
+M src/auth/auth-fields.c
+M src/auth/auth-fields.h
+
+2013-01-30 19:57:20 +0200 Timo Sirainen <tss@iki.fi> (ee6df9526e)
+
+ auth: Code cleanup: Renamed auth-stream to auth-fields.
+
+
+M src/auth/Makefile.am
+M src/auth/auth-client-connection.c
+R052 src/auth/auth-stream.c src/auth/auth-fields.c
+A src/auth/auth-fields.h
+M src/auth/auth-master-connection.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+D src/auth/auth-stream.h
+M src/auth/auth-worker-client.c
+M src/auth/db-checkpassword.c
+M src/auth/passdb-blocking.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb.h
+
+2013-01-30 19:46:58 +0200 Timo Sirainen <tss@iki.fi> (2f35a2fbe2)
+
+ auth: Code cleanup: Merged extra_cache_fields into extra_fields. They are
+ separated using a hidden-flag in the extra field. This required a new
+ implementation for auth-streams.
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-stream.c
+M src/auth/auth-stream.h
+M src/auth/auth-worker-client.c
+M src/auth/db-checkpassword.c
+M src/auth/userdb-blocking.c
+
+2013-01-30 19:11:30 +0200 Timo Sirainen <tss@iki.fi> (273b7c451e)
+
+ auth: Code cleanup: Minor auth_stream API simplifications.
+
+
+M src/auth/auth-stream.c
+M src/auth/auth-stream.h
+
+2013-01-30 19:08:00 +0200 Timo Sirainen <tss@iki.fi> (eb7b8855cc)
+
+ auth: Code cleanup: Avoid using auth_stream_reply as temporary strings.
+
+
+M src/auth/auth-client-connection.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-master-connection.h
+M src/auth/auth-request-handler.c
+M src/auth/auth-request-handler.h
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2013-01-30 18:40:49 +0200 Timo Sirainen <tss@iki.fi> (cd5a70b520)
+
+ auth: Code cleanup: Removed unnecessary userdb_ prefix checks. The userdb_
+ fields are nowadays placed to userdb_reply immediately.
+
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.h
+
+2013-01-30 18:35:02 +0200 Timo Sirainen <tss@iki.fi> (b0e9375a1f)
+
+ auth: Code cleanup: Removed unnecessary auth_stream_reply usage from
+ auth-worker communication.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-stream.c
+M src/auth/auth-stream.h
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/auth-worker-server.h
+M src/auth/passdb-blocking.c
+M src/auth/userdb-blocking.c
+
+2013-01-30 18:12:23 +0200 Timo Sirainen <tss@iki.fi> (7926d224db)
+
+ auth: Code cleanup - removed auth_stream_split()
+
+
+M src/auth/auth-request.c
+M src/auth/auth-stream.c
+M src/auth/auth-stream.h
+
+2013-01-29 17:55:20 +0200 Timo Sirainen <tss@iki.fi> (b14bdce468)
+
+ lib-index: Fixed invalidating buffered cache file with map_with_read.
+
+
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache.c
+
+2013-01-29 13:31:05 +0200 Timo Sirainen <tss@iki.fi> (c2a800e3d0)
+
+ README: Added RFC 6851
+
+
+M README
+
+2013-01-28 14:37:59 +0200 Timo Sirainen <tss@iki.fi> (b66f5d51fd)
+
+ lib-storage: Allow mail_storage_copy_error() with the same source and dest.
+ If it was used without checking it would try to free the error string and
+ after that strdup() it.
+
+
+M src/lib-storage/mail-storage.c
+
+2013-01-28 13:56:24 +0200 Timo Sirainen <tss@iki.fi> (f5d3d7a0e1)
+
+ dsync: When syncing locally, mailbox_copy() the mail to attempt a fast copy.
+
+
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-28 13:48:09 +0200 Timo Sirainen <tss@iki.fi> (620be64316)
+
+ dsync: Fixed syncing locally when GUIDs weren't available.
+
+
+M src/doveadm/dsync/dsync-ibc-pipe.c
+
+2013-01-24 16:30:33 +0200 Timo Sirainen <tss@iki.fi> (f9c0883a53)
+
+ lib-storage: Fixed mailbox_exists() for LAYOUT=index.
+
+
+M src/lib-storage/index/index-storage.c
+
+2013-01-22 16:53:52 +0200 Timo Sirainen <tss@iki.fi> (9bd08aa09e)
+
+ lib-index: Fixes to handling broken cache records that point outside file.
+ Especially try to avoid failing by trying to allocate gigabytes of memory.
+
+
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache.c
+
+2013-01-22 16:31:17 +0200 Timo Sirainen <tss@iki.fi> (49be238e25)
+
+ lib-storage: Catch input stream errors when parsing mail.
+
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2013-01-22 12:59:32 +0200 Timo Sirainen <tss@iki.fi> (63f01d5e4c)
+
+ dsync: Error handling crashfix
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+
+2013-01-22 12:59:22 +0200 Timo Sirainen <tss@iki.fi> (6bb12832eb)
+
+ imapc: Handle mailbox_update() when possible, instead of always just
+ failing.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2013-01-22 12:58:56 +0200 Timo Sirainen <tss@iki.fi> (14e45b91d0)
+
+ imapc: Return INTERNALDATE as save-date (better than error).
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2013-01-22 12:49:04 +0200 Timo Sirainen <tss@iki.fi> (40c0aad390)
+
+ imapc: Avoid unnecessarily selecting a mailbox when looking up its GUID.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2013-01-21 19:45:13 +0200 Timo Sirainen <tss@iki.fi> (16349f13ae)
+
+ Increased initial memory pool sizes.
+
+
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/lib-storage/index/index-status.c
+
+2013-01-21 19:43:39 +0200 Timo Sirainen <tss@iki.fi> (9eef11df88)
+
+ dsync: Added a quick way to debug unexpected changes.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-21 19:41:24 +0200 Timo Sirainen <tss@iki.fi> (03936179f8)
+
+ dsync: Fixes to handling storage formats that don't use 128bit GUIDs.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-21 18:33:55 +0200 Timo Sirainen <tss@iki.fi> (f86f5b0a32)
+
+ dict-cdb: Handle cdb_read() errors.
+
+
+M src/lib-dict/dict-cdb.c
+
+2013-01-21 18:31:08 +0200 Timo Sirainen <tss@iki.fi> (09b15d7b06)
+
+ dict: Added support for cdb backend. Based on patch by Hleb Valoshka.
+
+
+M configure.ac
+M src/dict/main.c
+M src/lib-dict/Makefile.am
+A src/lib-dict/dict-cdb.c
+M src/lib-dict/dict-private.h
+
+2013-01-21 18:12:41 +0200 Timo Sirainen <tss@iki.fi> (c9dcbfeaeb)
+
+ dsync: Fixed infinite loop when message suddenly got expunged.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-21 18:12:12 +0200 Timo Sirainen <tss@iki.fi> (1731683fb0)
+
+ lib-index: Fixed sorting appended messages when some were assigned new UIDs.
+
+
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+
+2013-01-21 17:57:18 +0200 Timo Sirainen <tss@iki.fi> (1c95b8403d)
+
+ dsync: If remote doesn't send some message bodies, log an error about each
+ one separately.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-21 17:56:36 +0200 Timo Sirainen <tss@iki.fi> (471a6b2b4e)
+
+ dsync backup: Old unwanted messages weren't deleted as they should have.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-21 17:45:18 +0200 Timo Sirainen <tss@iki.fi> (1e16e4fb4b)
+
+ lib-index: mail_transaction_log_view_set_all() didn't necessarily scan
+ .log.2 file.
+
+
+M src/lib-index/mail-transaction-log-view.c
+
+2013-01-21 17:44:16 +0200 Timo Sirainen <tss@iki.fi> (45ce71b797)
+
+ dsync: GUIDs weren't set properly to expunge records, causing non-optimal
+ behavior.
+
+
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+
+2013-01-21 16:57:49 +0200 Timo Sirainen <tss@iki.fi> (89f0ab8c7d)
+
+ dsync: Fixed crashes when sending already expunged messages.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-21 16:52:49 +0200 Timo Sirainen <tss@iki.fi> (cd70f7aec3)
+
+ dsync: Verify messages' GUIDs better.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-21 16:44:33 +0200 Timo Sirainen <tss@iki.fi> (a0b769af89)
+
+ dsync: Fixed syncing to non-remote locations.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-01-21 14:43:09 +0200 Timo Sirainen <tss@iki.fi> (84669c7124)
+
+ lib-fs: Added "metawrap" wrapper to implement metadata as headers in the
+ file content.
+
+
+M src/lib-fs/Makefile.am
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+A src/lib-fs/fs-metawrap.c
+A src/lib-fs/istream-metawrap.c
+A src/lib-fs/istream-metawrap.h
+
+2013-01-21 14:42:10 +0200 Timo Sirainen <tss@iki.fi> (c0b1543512)
+
+ i_stream_read_next_line() should have also set eof=TRUE on ENOBUFS errors.
+
+
+M src/lib/istream.c
+
+2013-01-21 14:19:21 +0200 Timo Sirainen <tss@iki.fi> (3dcb9fd82c)
+
+ lib-fs: fs_file_path() is now a virtual function. This fixes it returning
+ the correct filename when file was created using
+ FS_OPEN_MODE_CREATE_UNIQUE_128 and a wrapper fs.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+
+2013-01-21 11:40:38 +0200 Timo Sirainen <tss@iki.fi> (63e94e8f57)
+
+ lib-fs: Added flags to iteration, and FS_ITER_FLAG_DIRS as the first flag.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/fs-test.c
+
+2013-01-17 09:00:54 +0200 Timo Sirainen <tss@iki.fi> (2a15ce3abe)
+
+ doveadm: Compiling fix
+
+
+M src/doveadm/doveadm-mail.h
+
+2013-01-16 12:02:18 +0200 Timo Sirainen <tss@iki.fi> (badb675af0)
+
+ sdbox: Fixed rebuilding index when UIDVALIDITY is missing.
+
+
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2013-01-16 09:15:38 +0200 Timo Sirainen <tss@iki.fi> (c97431cae1)
+
+ sdbox: next-uid may have been set wrong when rebuilding indexes for empty
+ mailbox.
+
+
+M src/lib-storage/index/index-rebuild.c
+
+2013-01-16 08:01:40 +0200 Timo Sirainen <tss@iki.fi> (dc7102740b)
+
+ dsync_remote_cmd: The -l parameter no longer exists.
+
+
+M src/doveadm/doveadm-settings.c
+
+2013-01-15 08:39:30 +0200 Timo Sirainen <tss@iki.fi> (4a49e25282)
+
+ lib-index: Newly added messages weren't always sorted by UIDs.
+
+
+M src/lib-index/mail-index-transaction-update.c
+
+2013-01-15 08:30:57 +0200 Timo Sirainen <tss@iki.fi> (612c4777cc)
+
+ dovecot-config: Removed unnecessary/duplicate ssl library links.
+
+
+M Makefile.am
+M configure.ac
+
+2013-01-15 08:30:03 +0200 Timo Sirainen <tss@iki.fi> (8e4a702a1f)
+
+ buffer: Always keep +1 byte available for str_c()'s NUL.
+
+
+M src/lib/Makefile.am
+M src/lib/buffer.c
+M src/lib/str.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+A src/lib/test-str.c
+
+2013-01-14 18:24:19 +0200 Timo Sirainen <tss@iki.fi> (4b6ec040fd)
+
+ lib-index: Added asserts.
+
+
+M src/lib-index/mail-index-transaction-finish.c
+
+2013-01-14 17:58:09 +0200 Timo Sirainen <tss@iki.fi> (e925f00793)
+
+ lib-index: Fixed marking transaction log file corrupted due to added
+ O_APPEND flag.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2013-01-14 13:01:33 +0200 Timo Sirainen <tss@iki.fi> (f6aaa31ebe)
+
+ doveadm acl: Added "recalc" command to rebuild acl_lookup_dict for the user.
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2013-01-14 12:56:09 +0200 Timo Sirainen <tss@iki.fi> (c952f362b5)
+
+ doveadm user: Avoid initializing the user as much as possible.
+
+
+M src/doveadm/doveadm-auth.c
+
+2013-01-14 08:38:36 +0200 Timo Sirainen <tss@iki.fi> (29a6405eef)
+
+ example-config: Added mail_attribute_dict
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2013-01-14 08:01:47 +0200 Timo Sirainen <tss@iki.fi> (f5d8b6d737)
+
+ Several fixes to handling "istream input line too long" conditions.
+
+
+M src/auth/db-passwd-file.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/server-connection.c
+M src/lib-lda/lmtp-client.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-parser-script.c
+
+2013-01-14 07:57:39 +0200 Timo Sirainen <tss@iki.fi> (a0b6b441fc)
+
+ i_stream_read_next_line() now sets stream_errno=ENOBUFS if input buffer gets
+ full. Previously the caller couldn't easily separate this condition from
+ "more data needed", potentially causing infinite loops.
+
+
+M src/lib/istream.c
+M src/lib/istream.h
+
+2013-01-13 19:15:37 +0200 Timo Sirainen <tss@iki.fi> (44d5bf8e6d)
+
+ doveadm: Increased doveadm client's max command line length.
+
+
+M src/doveadm/client-connection.c
+
+2013-01-11 06:18:36 +0200 Timo Sirainen <tss@iki.fi> (90b2203b03)
+
+ lib-imap-storage: Removed broken optimization for seeking to partial offset.
+ The optimization worked only when physical_start=0. It would have been
+ possible to fix it by finding the message_part where its header of body
+ offset is physical_start and only then start decreasing virtual_skip, but
+ probably too much complexity to be worth the trouble, especially since
+ clients rarely would benefit from this optimization.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2013-01-11 03:59:50 +0200 Timo Sirainen <tss@iki.fi> (e689e77716)
+
+ lib-imap-storage: Added imap_msgpart_get_partial_size() missing from
+ previous commit.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-storage/imap-msgpart.h
+
+2013-01-11 03:58:54 +0200 Timo Sirainen <tss@iki.fi> (00ad194782)
+
+ imap: Improved unexpected FETCH error messages.
+
+
+M src/imap/imap-fetch-body.c
+
+2013-01-10 14:20:07 +0200 Timo Sirainen <tss@iki.fi> (aa7a40090b)
+
+ dsync: Added "remoteprefix:" destination, which is same as "remote:" except
+ sends "username\n" prefix.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-01-10 14:00:10 +0200 Timo Sirainen <tss@iki.fi> (437421ed88)
+
+ dsync: Wait for remote command to finish before shutting down. This makes
+ sure that any error messages during deinit stage are logged. Also non-zero
+ exit codes are logged.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-01-10 13:56:59 +0200 Timo Sirainen <tss@iki.fi> (b991ad9a6e)
+
+ dsync server: Fixed crash at deinit
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-01-10 12:12:50 +0200 Timo Sirainen <tss@iki.fi> (f476a2abe4)
+
+ dsync: Close mail streams earlier on failures to avoid assert-crashing
+
+
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-private.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-ibc.h
+
+2013-01-10 11:52:27 +0200 Timo Sirainen <tss@iki.fi> (a58e63b492)
+
+ lib-storage: Maildir++ layout shouldn't disallow "cur", "new" or "tmp"
+ mailbox names.
+
+
+M src/lib-storage/mailbox-list.c
+
+2013-01-10 10:23:44 +0200 Timo Sirainen <tss@iki.fi> (dbc8674893)
+
+ lib-storage: Improved "Using permissions" debug message.
+
+
+M src/lib-storage/mailbox-list.c
+
+2013-01-10 10:21:27 +0200 Timo Sirainen <tss@iki.fi> (4306246063)
+
+ dsync: Added support back for dsync locking. Only the source directory is
+ now locked to avoid deadlocks when both source and destination are locked.
+ This of course now means that both source and destination is allowed to run
+ dsync at the same time, which isn't ideal either..
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-01-10 10:02:47 +0200 Timo Sirainen <tss@iki.fi> (113ad88e95)
+
+ dsync: Attempt to preserve \Recent flag as well
+
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2013-01-10 09:33:19 +0200 Timo Sirainen <tss@iki.fi> (875d5305dd)
+
+ dsync: Handle syncing mailboxes with same name but different GUIDs.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2013-01-10 08:07:19 +0200 Timo Sirainen <tss@iki.fi> (183b3fb003)
+
+ dsync: Removed unnecessary -n parameter from dsync-server. The setting is
+ sent within dsync protocol.
+
+
+M src/doveadm/doveadm-settings.c
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-01-10 07:54:39 +0200 Timo Sirainen <tss@iki.fi> (593bf2d333)
+
+ replicator: Use stateful dsyncing whenever possible.
+
+
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/doveadm-connection.h
+M src/replication/replicator/replicator-brain.c
+M src/replication/replicator/replicator-queue.c
+M src/replication/replicator/replicator-queue.h
+
+2013-01-10 07:53:26 +0200 Timo Sirainen <tss@iki.fi> (97ad3cac32)
+
+ replicator: doveadm connections weren't reset properly
+
+
+M src/replication/replicator/doveadm-connection.c
+
+2013-01-10 07:39:02 +0200 Timo Sirainen <tss@iki.fi> (200c47440b)
+
+ dsync: Fixed parsing state string.
+
+
+M src/doveadm/dsync/dsync-mailbox-state.c
+
+2013-01-10 07:31:51 +0200 Timo Sirainen <tss@iki.fi> (a3054152e7)
+
+ mdbox: Crashfix for storage rebuild
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2013-01-10 06:52:37 +0200 Timo Sirainen <tss@iki.fi> (7c3df7b7e9)
+
+ dsync: Fixed printing output state when running via doveadm-server.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-01-10 06:51:19 +0200 Timo Sirainen <tss@iki.fi> (9269bbf0d2)
+
+ doveadm: Added assert.
+
+
+M src/doveadm/doveadm-print.c
+
+2013-01-09 11:03:43 +0200 Timo Sirainen <tss@iki.fi> (a5f297ac8c)
+
+ dsync: Another fix to handling expunges from the end of mailbox.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-09 09:11:09 +0200 Timo Sirainen <tss@iki.fi> (c45baa0238)
+
+ dsync: Mailbox syncing fix
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-09 07:53:53 +0200 Timo Sirainen <tss@iki.fi> (91ec3b77f0)
+
+ dsync: Error handling fix.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-09 07:02:28 +0200 Timo Sirainen <tss@iki.fi> (631913684c)
+
+ Merged changes from v2.1 tree.
+
+
+2013-01-09 07:01:41 +0200 Timo Sirainen <tss@iki.fi> (8a743d6403)
+
+ mdbox rebuild: Update to previous commit
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2013-01-09 06:59:51 +0200 Timo Sirainen <tss@iki.fi> (b707e097fa)
+
+ mdbox rebuild: Don't always duplicate messages that have conflicting GUIDs.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2013-01-09 06:57:34 +0200 Timo Sirainen <tss@iki.fi> (054e0ccbe7)
+
+ mdbox rebuild: Use mail size instead of record size when guessing if the
+ mails are the same.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2013-01-09 05:43:09 +0200 Timo Sirainen <tss@iki.fi> (14460e21d9)
+
+ dsync: Fixed handling UID renumbering when new mail was saved during dsync.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-09 05:42:03 +0200 Timo Sirainen <tss@iki.fi> (307ec6c2c3)
+
+ dsync: Don't wrongly log errors about missing message bodies. Also added
+ some debug logging related to it.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2013-01-09 05:35:20 +0200 Timo Sirainen <tss@iki.fi> (553cf4f8a8)
+
+ mdbox: Allow reflink-copying a mail when wanted GUID matches the current
+ GUID.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2013-01-09 05:33:32 +0200 Timo Sirainen <tss@iki.fi> (817b0fcafd)
+
+ lib-storage: dest_mail wasn't reset if previous save was aborted. This could
+ have happened only with dsync.
+
+
+M src/lib-storage/index/index-mail.c
+
+2013-01-09 05:30:06 +0200 Timo Sirainen <tss@iki.fi> (b0e62f0a40)
+
+ dbox: Give a name to the file's output stream (for improved error logging).
+
+
+M src/lib-storage/index/dbox-common/dbox-file.c
+
+2013-01-09 05:28:58 +0200 Timo Sirainen <tss@iki.fi> (4561272542)
+
+ o_stream_send_istream(): Fixed copying within same file, when istream's size
+ is unknown. This fixes copying a mail from mdbox's m.* file to the end of
+ the same file.
+
+
+M src/lib/ostream-file.c
+
+2013-01-09 05:29:13 +0200 Timo Sirainen <tss@iki.fi> (d488609221)
+
+ lib-index: Comment update
+
+
+M src/lib-index/mail-index.h
+
+2013-01-09 05:38:13 +0200 Timo Sirainen <tss@iki.fi> (61279c3c77)
+
+ Merged changes from v2.1 tree.
+
+
+2013-01-08 16:24:20 +0200 Timo Sirainen <tss@iki.fi> (4e5f5ed63c)
+
+ dsync: Make remote's stderr fd nonblocking to avoid hanging.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-01-08 10:57:34 +0200 Timo Sirainen <tss@iki.fi> (151a807134)
+
+ dsync: Fixes to printing remote's stderr output.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-01-08 10:25:21 +0200 Timo Sirainen <tss@iki.fi> (9d3025fa9f)
+
+ dsync: Print remote's stderr line-buffered. Especially when debugging is
+ enabled there can be a lot of output, which makes this useful.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2013-01-08 07:43:29 +0200 Timo Sirainen <tss@iki.fi> (66088eb614)
+
+ dsync: Fixes to handling output stream buffering.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-private.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.c
+M src/doveadm/dsync/dsync-ibc.h
+
+2013-01-08 07:42:38 +0200 Timo Sirainen <tss@iki.fi> (c596b18e23)
+
+ replicator: Send only one sync command to doveadm-server per connection.
+ This fixes setuid()/setgid() problems when multiple UIDs are used.
+
+
+M src/replication/replicator/doveadm-connection.c
+
+2013-01-08 06:41:56 +0200 Timo Sirainen <tss@iki.fi> (4e5b49c548)
+
+ dsync: Minor fix for talking with remote dsync.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-01-08 05:37:43 +0200 Timo Sirainen <tss@iki.fi> (bfdef55e14)
+
+ DEBUG: buffer_verify_pool() crashed with empty buffer.
+
+
+M src/lib/buffer.c
+
+2013-01-08 05:23:06 +0200 Timo Sirainen <tss@iki.fi> (d8504a5ac7)
+
+ dsync: Crashfix for handling expunges from end of mailbox.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-08 05:19:37 +0200 Timo Sirainen <tss@iki.fi> (f3053c3637)
+
+ dsync: Fixed syncing expunge for last mail in mailbox.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-08 04:58:08 +0200 Timo Sirainen <tss@iki.fi> (ccd7b4e0a5)
+
+ dsync: Avoid updating modseqs unnecessarily. lib-index perhaps should do
+ this automatically as well.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2013-01-08 04:33:01 +0200 Timo Sirainen <tss@iki.fi> (b16de4d0b7)
+
+ dsync: Avoid infinite looping.
+
+
+M src/doveadm/dsync/dsync-brain-mails.c
+
+2013-01-08 04:00:04 +0200 Timo Sirainen <tss@iki.fi> (a5bf21895b)
+
+ dsync: Assert-crashfix for handling keywords.
+
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+
+2013-01-08 03:44:14 +0200 Timo Sirainen <tss@iki.fi> (6e37fcb7fe)
+
+ DEBUG: buffer_verify_pool() crashed with static sized buffers.
+
+
+M src/lib/buffer.c
+
+2013-01-08 03:39:34 +0200 Timo Sirainen <tss@iki.fi> (650441dd82)
+
+ lib-index: Fixed failing transaction log test.
+
+
+M src/lib-index/test-mail-transaction-log-append.c
+
+2013-01-08 03:31:36 +0200 Timo Sirainen <tss@iki.fi> (e54a0fb598)
+
+ test-imap-bodystructure: Fixed the test to pass with new imap-quote logic.
+
+
+M src/lib-imap/test-imap-bodystructure.c
+
+2013-01-08 03:25:55 +0200 Timo Sirainen <tss@iki.fi> (54073bf335)
+
+ run-test.sh didn't exit with failure code when the test failed
+
+
+M run-test.sh
+
+2013-01-08 03:25:55 +0200 Timo Sirainen <tss@iki.fi> (9570664a8f)
+
+ run-test.sh didn't exit with failure code when the test failed
+
+
+M run-test.sh
+
+2013-01-08 03:19:14 +0200 Timo Sirainen <tss@iki.fi> (cd19bab478)
+
+ net_connect_unix(): If path is too long, return ENAMETOOLONG if it's
+ available.
+
+
+M src/lib/network.c
+
+2013-01-08 03:03:21 +0200 Timo Sirainen <tss@iki.fi> (49beae176b)
+
+ Makefile: Removed test-http-client from "make check". Not really a good idea
+ to connect to remote servers (that might fail) during a normal make check.
+
+
+M src/lib-http/Makefile.am
+
+2013-01-07 12:25:01 +0200 Timo Sirainen <tss@iki.fi> (3f8cd756f3)
+
+ Added signature for changeset 86bccdf46d17
+
+
+M .hgsigs
+
+2013-01-07 12:24:58 +0200 Timo Sirainen <tss@iki.fi> (2bf81fc7e5)
+
+ Added tag 2.2.beta1 for changeset 86bccdf46d17
+
+
+M .hgtags
+
+2013-01-07 12:24:58 +0200 Timo Sirainen <tss@iki.fi> (1b48b9102e)
+
+ Released v2.2.beta1.
+
+
+M configure.ac
+
+2013-01-07 12:24:29 +0200 Timo Sirainen <tss@iki.fi> (65c0e43da8)
+
+ lib-http: Various fixes Patch by Stephan Bosch.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/test-http-client.c
+
+2013-01-07 10:55:27 +0200 Timo Sirainen <tss@iki.fi> (6fa505bf33)
+
+ Added signature for changeset cf9d62fd0b14
+
+
+M .hgsigs
+
+2013-01-07 10:55:17 +0200 Timo Sirainen <tss@iki.fi> (4a8d76f01e)
+
+ Added tag 2.1.13 for changeset cf9d62fd0b14
+
+
+M .hgtags
+
+2013-01-07 10:55:17 +0200 Timo Sirainen <tss@iki.fi> (8c46dcd6ba)
+
+ Released v2.1.13.
+
+
+M NEWS
+M configure.in
+
+2013-01-05 01:14:11 +0200 Timo Sirainen <tss@iki.fi> (70a2782edc)
+
+ Merged changes from v2.1 tree.
+
+
+2013-01-05 00:50:04 +0200 Timo Sirainen <tss@iki.fi> (d1a27d8dd5)
+
+ auth: Fixed handling usernames with the same name as userdb extra fields.
+ This is a bit kludgy fix, but pretty much guaranteed not to break anything.
+ v2.2 has a cleaner fix, but it's a bit more invasive.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-stream.c
+M src/auth/auth-stream.h
+
+2013-01-05 00:37:26 +0200 Timo Sirainen <tss@iki.fi> (548193b7d6)
+
+ auth: Don't keep username duplicated in userdb_reply string. This fixes bugs
+ where userdb_reply is accessed via auth_stream_*() functions that
+ remove/replace existing fields, which may have ended up removing/replacing
+ the username.
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+
+2013-01-05 00:12:54 +0200 Timo Sirainen <tss@iki.fi> (f2b491e479)
+
+ lazy_expunge: Allow expunging from lazy_expunge namespace via virtual
+ mailbox. (Instead of copying the message all over again to the lazy_expunge
+ namespace.)
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2013-01-04 23:59:42 +0200 Timo Sirainen <tss@iki.fi> (1f5670bce3)
+
+ quota: Don't crash if shared namespace's owner doesn't have quota enabled
+ (but you have).
+
+
+M src/plugins/quota/quota-storage.c
+
+2013-01-04 23:24:26 +0200 Timo Sirainen <tss@iki.fi> (86763e4c68)
+
+ uni_utf8_*(): Treat overlong UTF8 sequences as invalid.
+
+
+M src/lib/Makefile.am
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+A src/lib/test-unichar.c
+M src/lib/unichar.c
+
+2013-01-04 21:39:07 +0200 Timo Sirainen <tss@iki.fi> (4578f6ac39)
+
+ example-config: Added a note about protocol/local/remote {} sections.
+
+
+M doc/example-config/dovecot.conf
+
+2013-01-04 05:49:33 +0200 Timo Sirainen <tss@iki.fi> (2bfa4f4e04)
+
+ configure: Use pkg-config with clucene if available.
+
+
+M configure.ac
+M src/plugins/fts-lucene/Makefile.am
+
+2013-01-04 05:29:25 +0200 Timo Sirainen <tss@iki.fi> (8813889171)
+
+ acl: Treat empty plugin { acl } setting the same as if it didn't exist. This
+ allows using -o plugin/acl= to disable ACLs.
+
+
+M src/plugins/acl/acl-storage.c
+
+2013-01-04 03:50:35 +0200 Timo Sirainen <tss@iki.fi> (0cc3ea4982)
+
+ DEBUG: Call buffer_verify_pool() on str_c*()
+
+
+M src/lib/str.c
+
+2013-01-04 03:50:18 +0200 Timo Sirainen <tss@iki.fi> (a94f166ade)
+
+ Added buffer_verify_pool()
+
+
+M src/lib/buffer.c
+M src/lib/buffer.h
+
+2013-01-04 01:43:59 +0200 Timo Sirainen <tss@iki.fi> (13e130c3af)
+
+ lib-storage: Bypass virtual storage when copying mail to allow
+ optimizations. As a side effect this also causes all plugins to see the
+ backend mail instead of the virtual mail. This probably isn't bad in most
+ situations, but for those where it's unwanted mail_private.vmail can be used
+ to access the virtual mail. mail_log plugin does this to log the original
+ virtual mailbox name for copy operations.
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/plugins/mail-log/mail-log-plugin.c
+M src/plugins/virtual/virtual-mail.c
+
+2013-01-04 01:13:05 +0200 Timo Sirainen <tss@iki.fi> (6abf66a373)
+
+ dsync: Use private modseqs to support syncing private flags in shared
+ mailboxes.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-mail.c
+M src/doveadm/dsync/dsync-mail.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-export.h
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+M src/doveadm/dsync/dsync-mailbox-state.c
+M src/doveadm/dsync/dsync-mailbox-state.h
+M src/doveadm/dsync/dsync-mailbox.h
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/dsync/dsync-transaction-log-scan.h
+
+2013-01-04 01:12:24 +0200 Timo Sirainen <tss@iki.fi> (f46885a5b7)
+
+ lib-storage: Added support for "private modseqs" for INDEXPVT index. Used by
+ dsync (next commit).
+
+
+M src/lib-storage/fail-mail.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+M src/plugins/virtual/virtual-mail.c
+
+2013-01-03 22:53:18 +0200 Timo Sirainen <tss@iki.fi> (33738ccbd3)
+
+ dsync: Fixed parsing mailbox state from remote dsync.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2013-01-03 07:30:54 +0200 Timo Sirainen <tss@iki.fi> (45d47bc466)
+
+ virtual storage: get_first_header() always returned "doesn't exist",
+ breaking SORT/THREAD.
+
+
+M src/plugins/virtual/virtual-mail.c
+
+2012-12-28 17:02:18 +0200 Timo Sirainen <tss@iki.fi> (c5c51ded95)
+
+ configure: Use -lrt for check_gettime() only if needed.
+
+
+M configure.ac
+
+2012-12-19 23:34:21 +0200 Timo Sirainen <tss@iki.fi> (a45c5bbebf)
+
+ lib-http: Compile fix for previous change.
+
+
+M src/lib-http/http-client-host.c
+
+2012-12-19 14:41:01 +0200 Timo Sirainen <tss@iki.fi> (f06cc4cb65)
+
+ json-parser: Fixed infinite looping in some situations.
+
+
+M src/lib/json-parser.c
+
+2012-12-19 14:39:55 +0200 Timo Sirainen <tss@iki.fi> (86bd046ecb)
+
+ lib-http: Host entries were added to hash table using wrong hostname
+ pointer.
+
+
+M src/lib-http/http-client-host.c
+
+2012-12-18 18:56:59 +0200 Timo Sirainen <tss@iki.fi> (0cc875d288)
+
+ auth: When auto-loading auth mechanisms from plugins, generate the name
+ better.
+
+
+M src/auth/mech.c
+
+2012-12-18 18:55:00 +0200 Timo Sirainen <tss@iki.fi> (57962a937b)
+
+ lib-http: Fixed a crash when http_client_request_submit() failed immediately
+
+
+M src/lib-http/http-client-request.c
+
+2012-12-18 18:54:31 +0200 Timo Sirainen <tss@iki.fi> (787d28c5d6)
+
+ uri-util: Control characters weren't properly escaped. e.g. "%0a" is
+ correct, "% a" is not.
+
+
+M src/lib/uri-util.c
+
+2012-12-18 10:44:28 +0200 Timo Sirainen <tss@iki.fi> (e67ccfba72)
+
+ lib-storage: Fixed assert-crash when trying to fetch a binary section for
+ empty message.
+
+
+M src/lib-storage/index/index-mail-binary.c
+
+2012-12-15 15:33:12 +0200 Timo Sirainen <tss@iki.fi> (9f542af929)
+
+ lib-storage: Refresh private index before syncing to make sure we see latest
+ changes.
+
+
+M src/lib-storage/index/index-sync-pvt.c
+
+2012-12-15 14:37:20 +0200 Timo Sirainen <tss@iki.fi> (69e0316307)
+
+ maildir: Fixed a crash caused by previous mailbox_update() change
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2012-12-15 14:27:56 +0200 Timo Sirainen <tss@iki.fi> (94f6821d69)
+
+ dsync: Minor (probably unnecessary) fix for i_stream_read() API usage. Avoid
+ the first read returning -2.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2012-12-15 14:24:41 +0200 Timo Sirainen <tss@iki.fi> (a1543aa561)
+
+ dsync: Fixed hang when sending mail stream to remote dsync.
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2012-12-15 13:56:16 +0200 Timo Sirainen <tss@iki.fi> (bca1c5f831)
+
+ dsync: Fixed remote syncing due to recent changes
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2012-12-15 13:55:33 +0200 Timo Sirainen <tss@iki.fi> (1d54bf820c)
+
+ dsync: Set doveadm exit codes properly on errors.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2012-12-15 13:48:22 +0200 Timo Sirainen <tss@iki.fi> (6556f02c70)
+
+ i_stream_close(): Set stream_errno to EPIPE instead of ENOENT. ENOENT
+ implies that this stream pointed to a file that never existed. EPIPE isn't
+ perfect either, but probably clearer than the alternatives.
+
+
+M src/lib/istream.c
+
+2012-12-15 13:43:44 +0200 Timo Sirainen <tss@iki.fi> (df16c7e875)
+
+ i_stream_next_line(): Don't reset stream_errno if stream is already closed.
+
+
+M src/lib/istream.c
+
+2012-12-15 13:31:31 +0200 Timo Sirainen <tss@iki.fi> (c7be65f5ad)
+
+ dsync: Don't start reading a mailbox until we know we actually need to sync
+ it.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain-private.h
+
+2012-12-15 13:30:02 +0200 Timo Sirainen <tss@iki.fi> (e69a4b1f35)
+
+ mbox: Removed assert that caused dsync to crash. This is valid:
+
+ 1. dsync opened an internal transaction and locked mbox 2. dsync opened an
+ external transaction, which didn't lock mbox 3. dsync committed internal
+ transaction
+ <assert crash fixed> 4. dsync locks mbox with external transaction
+
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2012-12-15 13:28:04 +0200 Timo Sirainen <tss@iki.fi> (3028a9180c)
+
+ mbox: Mailbox GUID generation re-opened the mailbox using wrong name,
+ possibly crashing.
+
+
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2012-12-15 13:26:48 +0200 Timo Sirainen <tss@iki.fi> (1aaed980f2)
+
+ mbox: Mailbox GUID lookup unnecessarily always synced mbox.
+
+
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2012-12-15 13:25:49 +0200 Timo Sirainen <tss@iki.fi> (0f0e729b16)
+
+ mbox: If mailbox_update() doesn't affect the mbox file, don't sync it.
+
+
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2012-12-15 13:25:34 +0200 Timo Sirainen <tss@iki.fi> (491319353d)
+
+ maildir: If mailbox_update() doesn't affect dovecot-uidlist file, don't lock
+ it.
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2012-12-15 13:01:09 +0200 Timo Sirainen <tss@iki.fi> (707f172cd4)
+
+ dsync: Added back support for syncing only one mailbox (-m parameter)
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-pipe.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+
+2012-12-15 12:31:56 +0200 Timo Sirainen <tss@iki.fi> (e0c10ab25f)
+
+ dsync: Error handling fix when mailbox is unexpectedly lost.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2012-12-14 15:34:56 +0200 Timo Sirainen <tss@iki.fi> (ec66a68735)
+
+ dsync: Added -a parameter to sync all namespaces, not just the default one.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2012-12-14 15:34:00 +0200 Timo Sirainen <tss@iki.fi> (ad859755ef)
+
+ dsync: Mark mailbox tree memory pool as "growing" to avoid warnings.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree.c
+
+2012-12-14 15:32:43 +0200 Timo Sirainen <tss@iki.fi> (805f510bb8)
+
+ dsync: Fixes to creating/renaming mailboxes This gets rid of unnecessary
+ mailbox renames when they should have simply been created. The algorithm
+ appears to work, but again really should be fully thought out later to
+ figure out why exactly it works. I only wanted to get it working now for
+ other tests..
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2012-12-14 12:03:55 +0200 Timo Sirainen <tss@iki.fi> (a99b87c2b0)
+
+ dsync: Never try to create INBOX via temporary name and rename.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2012-12-14 11:45:54 +0200 Timo Sirainen <tss@iki.fi> (9d4c027e7d)
+
+ lib-storage: Fixed vname -> storage name conversion for some nonexistent
+ mailbox names. For example prefix=INBOX/ name=INBOX-foo would have converted
+ the name to "" instead of keeping "INBOX-foo".
+
+
+M src/lib-storage/mailbox-list.c
+
+2012-12-14 11:20:04 +0200 Timo Sirainen <tss@iki.fi> (5332128f69)
+
+ dsync: Added debugging and rawlogging support.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+
+2012-12-14 11:17:19 +0200 Timo Sirainen <tss@iki.fi> (e65600bfe1)
+
+ dsync: Fixed hangs with remote dsyncing
+
+
+M src/doveadm/dsync/dsync-ibc-stream.c
+
+2012-12-13 12:24:32 +0200 Timo Sirainen <tss@iki.fi> (9345a14605)
+
+ dbox: dbox-alt-root symlink now points to the alt root directory, not to
+ mailboxes dir. Existing mailboxes/ symlinks are silently changed to new
+ ones. This also means that accessing the dbox with an older version will log
+ a warning about the change.
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2012-12-12 15:21:45 +0200 Timo Sirainen <tss@iki.fi> (02da50edce)
+
+ lib-http: Fixed sending HTTP request's payload.
+
+
+M src/lib-http/http-client-request.c
+
+2012-12-12 11:34:09 +0200 Stephan Bosch <stephan@rename-it.nl> (50a6d26bd9)
+
+ lib-http: Added support for chunked input/output streams and some bugfixes.
+
+
+M src/lib-http/http-client-connection.c
+M src/lib-http/http-client-private.h
+M src/lib-http/http-client-request.c
+M src/lib-http/http-response-parser.c
+M src/lib-http/http-transfer-chunked.c
+M src/lib-http/http-transfer.h
+M src/lib-http/test-http-client.c
+M src/lib-http/test-http-transfer.c
+
+2012-12-11 08:08:12 +0200 Timo Sirainen <tss@iki.fi> (406ea4e54d)
+
+ quota: Fixed quota calculation with mailbox_move().
+
+
+M src/plugins/quota/quota-storage.c
+
+2012-12-08 09:37:21 +0200 Timo Sirainen <tss@iki.fi> (201437e07f)
+
+ layout=index: If MAILBOX_LIST_FLAG_NO_MAIL_FILES is set, don't try to delete
+ any mail files.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2012-12-08 09:36:54 +0200 Timo Sirainen <tss@iki.fi> (bba5900b66)
+
+ lib-storage: Copy MAIL_STORAGE_CLASS_FLAG_NO_ROOT to
+ MAILBOX_LIST_FLAG_NO_MAIL_FILES
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.h
+
+2012-12-08 09:18:43 +0200 Timo Sirainen <tss@iki.fi> (e298b83684)
+
+ lib-fs: Added FS_PROPERTY_DIRECTORIES. This is a hint for fs API users if
+ they should call fs_delete() for directories.
+
+
+M src/lib-fs/fs-api.h
+
+2012-12-07 08:50:35 +0400 lion@ubuntu.ubuntu-domain <lion@ubuntu.ubuntu-domain> (d95065a4ca)
+
+ lib-index: Optimized single sequence lookup of newly created mails in
+ transaction view.
+
+
+M src/lib-index/mail-index-transaction-view.c
+
+2012-12-07 08:50:35 +0400 lion@ubuntu.ubuntu-domain <lion@ubuntu.ubuntu-domain> (90d077832b)
+
+ lib-index: Fixed sequence lookup of newly created mails in transaction view.
+
+
+M src/lib-index/mail-index-transaction-view.c
+
+2012-12-19 15:00:45 +0200 Timo Sirainen <tss@iki.fi> (de9b2ee787)
+
+ lib-index: If map_with_read gets disabled, reset the cache buffers properly.
+
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache.c
+
+2012-12-18 22:13:48 +0200 Timo Sirainen <tss@iki.fi> (5028f44d64)
+
+ auth: Added CLEAR as yet another alias to PLAIN/CLEARTEXT password scheme.
+ This apparently is used by Sun LDAP server.
+
+
+M src/auth/password-scheme.c
+
+2012-12-18 22:07:36 +0200 Timo Sirainen <tss@iki.fi> (dad1d7b721)
+
+ lib-index: MAIL_INDEX_OPEN_FLAG_SAVEONLY was buggy when reading data near
+ end of dovecot.index.cache. We assumed that we read as much as we requested,
+ even if the file was smaller.
+
+
+M src/lib-index/mail-cache.c
+
+2012-12-18 22:05:55 +0200 Timo Sirainen <tss@iki.fi> (05d1312c84)
+
+ lib-index: Make sure a corrupted mail_cache_header_fields.size doesn't cause
+ crashes.
+
+
+M src/lib-index/mail-cache-fields.c
+
+2012-12-18 21:45:08 +0200 Timo Sirainen <tss@iki.fi> (b512e566e8)
+
+ raw storage: Make sure "from envelope" isn't returned as NULL.
+
+
+M src/lib-storage/index/raw/raw-mail.c
+
+2012-12-18 21:37:57 +0200 Timo Sirainen <tss@iki.fi> (1af33d3c48)
+
+ config: Notify process creation success to master only after parsing config
+ file
+
+
+M src/config/main.c
+
+2012-12-18 21:20:38 +0200 Timo Sirainen <tss@iki.fi> (c5c509ac29)
+
+ example-config: Added missing dovecot-dict-auth.conf.ext
+
+
+M doc/example-config/Makefile.am
+
+2012-12-18 21:15:19 +0200 Timo Sirainen <tss@iki.fi> (4bed2aacac)
+
+ lib-index: If sure mail_index_alloc_cache_destroy_unrefed() closes indexes
+ it alone keeps open. This makes sure that all index files are closed within
+ process when mailbox is deleted.
+
+
+M src/lib-index/mail-index-alloc-cache.c
+
+2012-12-18 20:48:36 +0200 Timo Sirainen <tss@iki.fi> (cc3baa5b92)
+
+ indexer-worker: Don't assert-crash with some mailbox names in some
+ configurations. Virtual mailbox name shouldn't be accessed directly using
+ mailbox_list_*() functions, since they expect a storage name. In some
+ configurations this could have caused assert-crashes with mailbox names that
+ contained invalid characters.
+
+
+M src/indexer/master-connection.c
+
+2012-12-18 18:57:41 +0200 Timo Sirainen <tss@iki.fi> (665bb236cf)
+
+ auth: When auto-loading auth mechanisms from plugins, generate the name
+ better.
+
+
+M src/auth/mech.c
+
+2012-12-13 12:14:57 +0200 Timo Sirainen <tss@iki.fi> (97943a36e0)
+
+ dict-file: Automatically mkdir missing parent directories if they don't
+ exist.
+
+
+M src/lib-dict/dict-file.c
+
+2012-12-13 12:14:03 +0200 Timo Sirainen <tss@iki.fi> (2eb22deb4b)
+
+ lib-storage: Use stat_first_parent() instead of doing it ourself.
+
+
+M src/lib-storage/mailbox-list.c
+
+2012-12-13 12:13:42 +0200 Timo Sirainen <tss@iki.fi> (766814de3f)
+
+ Added stat_first_parent() helper function.
+
+
+M src/lib/mkdir-parents.c
+M src/lib/mkdir-parents.h
+
+2012-12-11 20:04:10 +0200 Timo Sirainen <tss@iki.fi> (8a524e87e4)
+
+ virtual plugin: Don't fail if mailbox patterns don't match anything.
+
+
+M src/plugins/virtual/virtual-config.c
+
+2012-12-08 11:13:51 +0200 Timo Sirainen <tss@iki.fi> (62dc0ce640)
+
+ lib-master: Ignore /Volumes and /private/tmp mountpoints with OSX (only).
+
+
+M src/lib-master/mountpoint-list.c
+
+2012-12-08 11:12:10 +0200 Timo Sirainen <tss@iki.fi> (22f3ce803a)
+
+ lib-master: Ignore mountpoints under /Volumes by default.
+
+
+M src/lib-master/mountpoint-list.c
+
+2012-12-08 10:48:23 +0200 Timo Sirainen <tss@iki.fi> (69b728ce94)
+
+ doveadm: table formatter supports now writing by streaming. This fixes it to
+ work with doveadm server, which sometimes may use streaming.
+
+
+M src/doveadm/doveadm-print-table.c
+
+2012-12-08 10:43:21 +0200 Timo Sirainen <tss@iki.fi> (1973c7c4f4)
+
+ imap: If mailbox doesn't have read ACL, hide APPENDUID/COPYUID resp-codes.
+
+
+M src/imap/cmd-append.c
+M src/imap/cmd-copy.c
+M src/lib-storage/mail-storage.h
+M src/plugins/acl/acl-mailbox.c
+
+2012-12-08 09:35:33 +0200 Timo Sirainen <tss@iki.fi> (dafbec2c6b)
+
+ fts-solr: Fixed memory leak
+
+
+M src/plugins/fts-solr/solr-connection.c
+
+2012-12-07 05:53:53 +0200 Timo Sirainen <tss@iki.fi> (b7eccb91e4)
+
+ ostream-buffer: Fixed o_stream_sendv() with multiple iovs. Patch by Stephan
+ Bosch
+
+
+M src/lib/ostream-buffer.c
+
+2012-12-05 07:57:35 +0200 Timo Sirainen <tss@iki.fi> (267aae3d13)
+
+ lib-http: Parser didn't always fully skip over the previous request's
+ payload.
+
+
+M src/lib-http/http-response-parser.c
+
+2012-12-04 14:10:34 +0200 Timo Sirainen <tss@iki.fi> (e4f1a5fdad)
+
+ lib-mail: Detect errors in quoted-printable input.
+
+
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/quoted-printable.h
+M src/lib-mail/test-istream-qp-decoder.c
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-quoted-printable.c
+
+2012-12-04 13:04:59 +0200 Timo Sirainen <tss@iki.fi> (d186b3a650)
+
+ imap: Don't crash in IDLE if remote IP isn't known (PREAUTH)
+
+
+M src/imap/cmd-idle.c
+
+2012-12-04 13:02:22 +0200 Timo Sirainen <tss@iki.fi> (56b134799a)
+
+ imap: Fixed handling FETCH BINARY for broken content.
+
+
+M src/doveadm/doveadm-mail.c
+M src/imap/cmd-fetch.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-fetch-body.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/mail-error.h
+
+2012-12-04 11:40:35 +0200 Timo Sirainen <tss@iki.fi> (c7e810d05c)
+
+ lib-mail: quoted-printable decoder istream shouldn't treat trailing "=" as
+ error.
+
+
+M src/lib-mail/istream-qp-decoder.c
+
+2012-12-04 11:33:16 +0200 Timo Sirainen <tss@iki.fi> (07725eacef)
+
+ lib-storage: Set name for the "binary istream".
+
+
+M src/lib-storage/index/index-mail-binary.c
+
+2012-12-04 07:18:03 +0200 Timo Sirainen <tss@iki.fi> (251457b819)
+
+ lib-fs: Added a default fs_read() implementation using the fs_read_stream().
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2012-12-04 07:04:54 +0200 Timo Sirainen <tss@iki.fi> (03c4172a13)
+
+ lib-http: Increased initial memory pool size
+
+
+M src/lib-http/http-response-parser.c
+
+2012-12-04 07:04:32 +0200 Timo Sirainen <tss@iki.fi> (0fb5804c1c)
+
+ lib-fs: Added a default fs_write() implementation using the
+ fs_write_stream*().
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+
+2012-12-04 05:39:36 +0200 Timo Sirainen <tss@iki.fi> (8bfb2ecbe6)
+
+ lib-fs: Comment update
+
+
+M src/lib-fs/fs-api.h
+
+2012-12-03 02:21:54 +0200 Timo Sirainen <tss@iki.fi> (3a916a3c77)
+
+ Makefile: Added missing \
+
+
+M src/Makefile.am
+
+2012-12-02 02:35:05 +0200 Timo Sirainen <tss@iki.fi> (32f0278969)
+
+ Makefile: Reordered directories to fix build failure
+
+
+M src/Makefile.am
+
+2012-12-01 06:56:02 +0200 Timo Sirainen <tss@iki.fi> (89a43b20d2)
+
+ lib-fs: Added fs-test to easily test FS API calls.
+
+
+M .hgignore
+M src/lib-fs/Makefile.am
+A src/lib-fs/fs-test.c
+
+2012-12-01 06:54:55 +0200 Timo Sirainen <tss@iki.fi> (4ca2ccd50a)
+
+ Added json_append_escaped()
+
+
+M src/lib/json-parser.c
+M src/lib/json-parser.h
+
+2012-12-01 02:41:34 +0200 Timo Sirainen <tss@iki.fi> (9a5fadfa10)
+
+ lib-http: Don't free connection immediately in payload-destroyed callback.
+ This caused a crash in http_client_connection_return_response() after the
+ stream was unrefed.
+
+
+M src/lib-http/http-client-connection.c
+
+2012-11-30 08:56:55 +0200 Timo Sirainen <tss@iki.fi> (37de9a0b60)
+
+ Added signature for changeset 75bfda4a7c6c
+
+
+M .hgsigs
+
+2012-11-30 08:56:44 +0200 Timo Sirainen <tss@iki.fi> (d5aeb2b76c)
+
+ Added tag 2.1.12 for changeset 75bfda4a7c6c
+
+
+M .hgtags
+
+2012-11-30 08:56:44 +0200 Timo Sirainen <tss@iki.fi> (ab932cc0bc)
+
+ Released v2.1.12.
+
+
+M NEWS
+M configure.in
+
+2012-11-30 03:14:10 +0200 Timo Sirainen <tss@iki.fi> (a8281b7c77)
+
+ expire plugin: Don't crash when doveadm is run with proxying
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail.h
+M src/plugins/expire/doveadm-expire.c
+
+2012-11-29 12:43:54 +0200 Timo Sirainen <tss@iki.fi> (5c11e02669)
+
+ Makefile: dovecot-config was missing quotes in LIBDOVECOT_LOGIN
+
+
+M Makefile.am
+
+2012-11-29 10:29:19 +0200 Timo Sirainen <tss@iki.fi> (86bdb644d1)
+
+ JSON parser: Added support for arrays. The parser should be complete now.
+
+
+M src/lib/json-parser.c
+M src/lib/json-parser.h
+M src/lib/test-json-parser.c
+
+2012-11-29 09:38:34 +0200 Timo Sirainen <tss@iki.fi> (2eccb2637d)
+
+ JSON parser: Added json_parse_skip_next() to skip over unwanted values.
+
+
+M src/lib/json-parser.c
+M src/lib/json-parser.h
+M src/lib/test-json-parser.c
+
+2012-11-29 08:41:28 +0200 Timo Sirainen <tss@iki.fi> (41c6bfad3b)
+
+ Added signature for changeset 741d800a192f
+
+
+M .hgsigs
+
+2012-11-29 08:41:21 +0200 Timo Sirainen <tss@iki.fi> (e976194db6)
+
+ Added tag 2.1.11 for changeset 741d800a192f
+
+
+M .hgtags
+
+2012-11-29 08:41:21 +0200 Timo Sirainen <tss@iki.fi> (efdf7a064e)
+
+ Released v2.1.11.
+
+
+M NEWS
+M configure.in
+
+2012-11-29 08:35:51 +0200 Timo Sirainen <tss@iki.fi> (80fbf2394f)
+
+ doveadm: Don't truncate printed output that contain NUL bytes. doveadm fetch
+ text output especially could have been truncated.
+
+
+M src/doveadm/doveadm-print-flow.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print-tab.c
+
+2012-11-29 07:52:51 +0200 Timo Sirainen <tss@iki.fi> (7877db7b5d)
+
+ JSON parser: Added support for reading string value as istream.
+
+
+M src/lib/Makefile.am
+A src/lib/istream-jsonstr.c
+A src/lib/istream-jsonstr.h
+M src/lib/json-parser.c
+M src/lib/json-parser.h
+M src/lib/test-json-parser.c
+
+2012-11-29 07:30:23 +0200 Timo Sirainen <tss@iki.fi> (4e8e7a9362)
+
+ JSON parser fixes
+
+
+M src/lib/json-parser.c
+M src/lib/test-json-parser.c
+
+2012-11-29 06:26:29 +0200 Timo Sirainen <tss@iki.fi> (ae9691f7ef)
+
+ JSON parser supports now nested objects and parsing from non-blocking input
+ stream.
+
+
+M src/auth/db-dict.c
+M src/lib/Makefile.am
+M src/lib/json-parser.c
+M src/lib/json-parser.h
+A src/lib/test-json-parser.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2012-11-29 02:30:15 +0200 Timo Sirainen <tss@iki.fi> (58833e2101)
+
+ uri-util.h always requires net.h to compile, #include it
+
+
+M src/lib/uri-util.h
+
+2012-11-29 02:12:54 +0200 Timo Sirainen <tss@iki.fi> (9f8559a5ac)
+
+ lib-http: http-url.h always requires net.h to compile, #include it
+
+
+M src/lib-http/http-url.h
+
+2012-11-29 02:01:56 +0200 Timo Sirainen <tss@iki.fi> (63caffb9cc)
+
+ lib-http: http_url_parse() didn't allocate all strings from the given pool.
+
+
+M src/lib-http/http-url.c
+
+2012-11-29 01:57:40 +0200 Timo Sirainen <tss@iki.fi> (d45ab3fff7)
+
+ lib-http: http_url_parse() now returns the http_url allocated from given
+ memory pool.
+
+
+M src/lib-http/http-client-request.c
+M src/lib-http/http-url.c
+M src/lib-http/http-url.h
+M src/lib-http/test-http-url.c
+
+2012-11-28 09:14:33 +0200 Timo Sirainen <tss@iki.fi> (1d40278513)
+
+ dsync: Don't crash when syncing multiple namespaces.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree.c
+
+2012-11-28 07:25:18 +0200 Timo Sirainen <tss@iki.fi> (2d05af5ce2)
+
+ lib-storage: Notify about \Seen flag changes in private index. Some earlier
+ "don't send unnecessary flag changes" optimizations caused this.
+
+
+M src/lib-storage/index/index-sync-private.h
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync.c
+
+2012-11-28 07:24:01 +0200 Timo Sirainen <tss@iki.fi> (4cff388b61)
+
+ lib-storage: When updating flags in private index and nothing changes, don't
+ increase modseq.
+
+
+M src/lib-storage/index/index-mail.c
+
+2012-11-28 06:51:16 +0200 Timo Sirainen <tss@iki.fi> (764ba36a11)
+
+ lib-storage: Fixed assert-crash with private indexes when looking for first
+ unseen msg.
+
+
+M src/lib-storage/index/index-status.c
+
+2012-11-28 06:43:55 +0200 Timo Sirainen <tss@iki.fi> (0bb5699d56)
+
+ Make static analyzer happier
+
+
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/lib-index/mail-transaction-log-file.c
+
+2012-11-28 06:42:40 +0200 Timo Sirainen <tss@iki.fi> (daf0035ef3)
+
+ lib-index: Fixed randomly failing to write to dovecot.index.cache file
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2012-11-28 04:29:58 +0200 Timo Sirainen <tss@iki.fi> (27c534a367)
+
+ stats: Log username and service for invalid UPDATE-SESSIONs
+
+
+M src/stats/mail-session.c
+
+2012-11-28 04:21:03 +0200 Timo Sirainen <tss@iki.fi> (14d7b92eac)
+
+ stats: Fixed crash when handling multiple users within same process.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2012-11-28 03:56:06 +0200 Timo Sirainen <tss@iki.fi> (9af06b7653)
+
+ lib-index: Fixed assert-crash caused by recent cache file changes.
+
+
+M src/lib-index/mail-cache.c
+
+2012-11-28 03:55:25 +0200 Timo Sirainen <tss@iki.fi> (122ee3c9e8)
+
+ lib-index: Fixed memory leak with MAIL_INDEX_OPEN_FLAG_SAVEONLY
+
+
+M src/lib-index/mail-cache.c
+
+2012-11-28 03:32:31 +0200 Timo Sirainen <tss@iki.fi> (cd8bd47fd5)
+
+ doveadm: Log better errors for failing passdb proxy lookups.
+
+
+M src/doveadm/doveadm-mail-server.c
+
+2012-11-28 03:32:01 +0200 Timo Sirainen <tss@iki.fi> (89fda66c5c)
+
+ lib-auth: Added auth_master_get_socket_path()
+
+
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+
+2012-11-28 02:35:37 +0200 Timo Sirainen <tss@iki.fi> (3f7b9d04c1)
+
+ ostream-rawlog: Make sure rawlog logs only the data that got actually sent.
+
+
+M src/lib/ostream-rawlog.c
+
+2012-11-28 02:35:15 +0200 Timo Sirainen <tss@iki.fi> (949b368882)
+
+ iostream-rawlog: Buffered output kept logging the same data over and over
+ again.
+
+
+M src/lib/iostream-rawlog.c
+
+2012-11-28 01:52:32 +0200 Timo Sirainen <tss@iki.fi> (91dad1ec26)
+
+ lib-storage: Don't assert-crash when fetching BINARY contents for empty
+ body.
+
+
+M src/lib-storage/index/index-mail-binary.c
+
+2012-11-28 01:44:53 +0200 Timo Sirainen <tss@iki.fi> (898e99166f)
+
+ lib-fs: Don't crash when trying to initialize nonexistent fs driver.
+
+
+M src/lib-fs/fs-api.c
+
+2012-11-28 01:43:24 +0200 Timo Sirainen <tss@iki.fi> (9db5ade1c1)
+
+ i_stream_default_stat(): If we can't know the size, return -1 instead of
+ assert crash. This fixes a crash saving to mdbox when input stream's size
+ wasn't known.
+
+
+M src/lib/istream.c
+
+2012-11-27 23:06:38 +0200 Timo Sirainen <tss@iki.fi> (52a16a4a39)
+
+ fts-solr: XML-encode non-body fields as well
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2012-11-27 10:49:41 +0200 Timo Sirainen <tss@iki.fi> (8722fa5c65)
+
+ lib-storage: Handle better when attempting to access shared mailboxes for
+ nonexistent users.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+
+2012-11-27 10:49:18 +0200 Timo Sirainen <tss@iki.fi> (4961845780)
+
+ lib-storage: Added struct mail_user.nonexistent flag, which is filled by
+ userdb lookup.
+
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2012-11-27 10:48:11 +0200 Timo Sirainen <tss@iki.fi> (4e22f1ec83)
+
+ fts_parser: Minor error logging improvement
+
+
+M src/plugins/fts/fts-parser-script.c
+
+2012-11-27 10:39:26 +0200 Timo Sirainen <tss@iki.fi> (c50bf33ef1)
+
+ mdbox: When rebuilding storage, fsck the map index first to make sure it's
+ valid. This fixes assert-crash when the map index contained records with
+ UIDs in wrong order.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2012-11-27 10:02:59 +0200 Timo Sirainen <tss@iki.fi> (f67c2a7415)
+
+ mailbox-alias plugin: Error handling fix.
+
+
+M src/plugins/mailbox-alias/mailbox-alias-plugin.c
+
+2012-11-27 10:00:42 +0200 Timo Sirainen <tss@iki.fi> (691759a455)
+
+ NEWS updated
+
+
+M NEWS
+
+2012-11-27 09:53:33 +0200 Timo Sirainen <tss@iki.fi> (285e73e049)
+
+ lib-index: Added v2.2+ forwards compatibility to dovecot.index.cache
+
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-transaction.c
+
+2012-11-27 09:13:57 +0200 Timo Sirainen <tss@iki.fi> (fbe2c18c83)
+
+ login: Reverted previous fix attempt for SSL_accept() busy-looping.
+ Apparently didn't work. Probably this patch doesn't help anything then, so
+ just remove the extra complexity.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2012-11-27 08:43:15 +0200 Timo Sirainen <tss@iki.fi> (fd7a5919cf)
+
+ auth: userdb passwd lookups should have been done via worker processes by
+ default.
+
+
+M src/auth/userdb-passwd.c
+
+2012-11-27 08:08:50 +0200 Timo Sirainen <tss@iki.fi> (636f1fc2ef)
+
+ fts-solr: Removed deprecated waitFlush parameter from commit.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2012-11-27 07:50:06 +0200 Timo Sirainen <tss@iki.fi> (c51afc0ab2)
+
+ Reversed recent "short utf8" changes. Solr code needs to parse the UTF8
+ input explicitly anyway to encode the XML characters. And all the character
+ checks were already done in it.
+
+
+M src/lib/unichar.c
+M src/lib/unichar.h
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-parser.h
+
+2012-11-27 06:21:18 +0200 Timo Sirainen <tss@iki.fi> (5a26150fe4)
+
+ doveadm-server: Reset headers in print output between running commands.
+
+
+M src/doveadm/client-connection.c
+
+2012-11-27 06:20:44 +0200 Timo Sirainen <tss@iki.fi> (47e89f0f02)
+
+ doveadm-server: Avoid eating CPU when client disconnects before
+ authentication is done.
+
+
+M src/doveadm/client-connection.c
+
+2012-11-27 06:19:57 +0200 Timo Sirainen <tss@iki.fi> (ceae307cf6)
+
+ doveadm: Don't disconnect from server too early while there are still
+ commands.
+
+
+M src/doveadm/server-connection.c
+
+2012-11-27 06:19:10 +0200 Timo Sirainen <tss@iki.fi> (ab530005cb)
+
+ doveadm: Include username in internal errors and "no such user" errors when
+ running via server.
+
+
+M src/doveadm/doveadm-mail-server.c
+
+2012-11-27 03:49:36 +0200 Timo Sirainen <tss@iki.fi> (ba28af0881)
+
+ fts-solr: Marked as FTS_BACKEND_FLAG_BUILD_SHORT_UTF8
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2012-11-27 03:49:25 +0200 Timo Sirainen <tss@iki.fi> (119cbc046f)
+
+ fts: Added FTS_BACKEND_FLAG_BUILD_SHORT_UTF8 to require sending only short
+ UTF8 data to backend.
+
+
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-parser.h
+
+2012-11-27 03:48:15 +0200 Timo Sirainen <tss@iki.fi> (cb0b320bea)
+
+ liblib: Added uni_utf8_short_*() for handling UTF8 data where [56]-byte
+ sequences are invalid.
+
+
+M src/lib/unichar.c
+M src/lib/unichar.h
+
+2012-11-27 02:41:53 +0200 Timo Sirainen <tss@iki.fi> (95d50c6f87)
+
+ quota: mailbox_get_status(STATUS_CHECK_OVER_QUOTA) returned wrong value on
+ success. This fixes lmtp_rcpt_check_quota=yes
+
+
+M src/plugins/quota/quota-storage.c
+
+2012-11-27 02:20:37 +0200 Timo Sirainen <tss@iki.fi> (4eda07effc)
+
+ man: Added -d parameter to doveadm expunge. Patch by Pascal Volk.
+
+
+M doc/man/doveadm-expunge.1.in
+
+2012-11-27 00:44:34 +0200 Timo Sirainen <tss@iki.fi> (87c1c4f838)
+
+ dovecot-config: LIBDOVECOT_INCLUDE was missing path to lib-http
+
+
+M dovecot-config.in.in
+
+2012-11-27 00:43:53 +0200 Timo Sirainen <tss@iki.fi> (6e8fce0589)
+
+ lib-fs: Automatically try to load missing driver as plugin.
+
+
+M src/lib-fs/Makefile.am
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+
+2012-11-27 00:43:23 +0200 Timo Sirainen <tss@iki.fi> (9d78abdbff)
+
+ liblib: Added lib_atexit() to register process deinit callbacks.
+
+
+M src/lib/lib.c
+M src/lib/lib.h
+
+2012-11-27 00:31:40 +0200 Timo Sirainen <tss@iki.fi> (73cf221148)
+
+ liblib: Added module_dir_find()
+
+
+M src/lib/module-dir.c
+M src/lib/module-dir.h
+
+2012-11-26 23:24:48 +0200 Timo Sirainen <tss@iki.fi> (1be4d775c3)
+
+ doveadm dump: Added support for "obox" index records.
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2012-11-26 23:23:52 +0200 Timo Sirainen <tss@iki.fi> (9b0284ea5d)
+
+ lib-imap-storage: When returning an error istream, give it a useful name.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2012-11-26 23:20:59 +0200 Timo Sirainen <tss@iki.fi> (2954318846)
+
+ lib-storage: Fixes to LAYOUT=index backend.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/mailbox-list-private.h
+
+2012-11-26 23:19:04 +0200 Timo Sirainen <tss@iki.fi> (d9a129b491)
+
+ lib-storage: Comment update for mail_prefetch()
+
+
+M src/lib-storage/mail-storage-private.h
+
+2012-11-26 23:18:30 +0200 Timo Sirainen <tss@iki.fi> (0aa9422140)
+
+ lib-storage: If MAIL_STORAGE_CLASS_FLAG_NO_ROOT is set, don't even try to
+ mkdir it.
+
+
+M src/lib-storage/mail-storage.c
+
+2012-11-26 23:16:41 +0200 Timo Sirainen <tss@iki.fi> (6eb0981541)
+
+ lib-storage: Don't crash when trying to sync private index, if syncing had
+ already failed.
+
+
+M src/lib-storage/index/index-sync.c
+
+2012-11-26 23:16:00 +0200 Timo Sirainen <tss@iki.fi> (c6227d7ecc)
+
+ sdbox: Verify that mail_attachment_fs backend supports RENAME property. This
+ isn't needed by mdbox.
+
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2012-11-26 23:15:01 +0200 Timo Sirainen <tss@iki.fi> (0001f76bf7)
+
+ lib-storage: Code cleanup: dbox_save_context.cur_file doesn't need to be in
+ dbox-common.
+
+
+M src/lib-storage/index/dbox-common/dbox-save.h
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+
+2012-11-26 23:12:29 +0200 Timo Sirainen <tss@iki.fi> (bf5015e723)
+
+ Added libhttp to libdovecot.so
+
+
+M configure.ac
+M src/lib-dovecot/Makefile.am
+
+2012-11-26 23:11:57 +0200 Timo Sirainen <tss@iki.fi> (905fb741e6)
+
+ lib-http: Removed explicit safe-memset.lo links At least in all my systems
+ they just complain about duplicates..
+
+
+M src/lib-http/Makefile.am
+
+2012-11-26 23:09:25 +0200 Timo Sirainen <tss@iki.fi> (884cc4cc72)
+
+ lib-dns: Added DNS_CLIENT_SOCKET_NAME macro for the default socket name.
+
+
+M src/lib-dns/dns-lookup.h
+
+2012-11-26 23:08:50 +0200 Timo Sirainen <tss@iki.fi> (eed08ce5de)
+
+ unlink_directory(): Added UNLINK_DIRECTORY_FLAG_FILES_ONLY
+
+
+M src/lib/unlink-directory.c
+M src/lib/unlink-directory.h
+
+2012-11-26 23:08:10 +0200 Timo Sirainen <tss@iki.fi> (cf636afb38)
+
+ Added iostream-temp for easily creating a temporary istream (to
+ memory/file).
+
+
+M src/lib/Makefile.am
+A src/lib/iostream-temp.c
+A src/lib/iostream-temp.h
+
+2012-11-26 23:06:24 +0200 Timo Sirainen <tss@iki.fi> (f0a386b29f)
+
+ liblib: Added assert-check to epoll code to make sure we don't wait
+ infinitely with no events.
+
+
+M src/lib/ioloop-epoll.c
+
+2012-11-26 23:03:09 +0200 Timo Sirainen <tss@iki.fi> (1680fed502)
+
+ lib-fs: Added a temp_dir setting that the caller can specify.
+
+
+M src/lib-fs/fs-api.h
+
+2012-11-26 23:02:51 +0200 Timo Sirainen <tss@iki.fi> (8804300e6c)
+
+ lib-fs: Added ITER and RELIABLEITER properties for backends.
+
+
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-posix.c
+
+2012-11-26 23:01:53 +0200 Timo Sirainen <tss@iki.fi> (6937ddd8bd)
+
+ lib-fs: Fixed iteration with POSIX backend.
+
+
+M src/lib-fs/fs-posix.c
+
+2012-11-26 23:01:28 +0200 Timo Sirainen <tss@iki.fi> (a58b73c69e)
+
+ lib-fs: Iterating a nonexistent directory should be the same as iterating an
+ empty directory.
+
+
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-posix.c
+
+2012-11-26 22:59:37 +0200 Timo Sirainen <tss@iki.fi> (2766f1de81)
+
+ lib-fs: fs_wait_async() can now return an error.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+
+2012-11-24 00:32:56 +0200 Timo Sirainen <tss@iki.fi> (216455c400)
+
+ lib-http: Compiler warning fixes
+
+
+M src/lib-http/Makefile.am
+M src/lib-http/http-client-host.c
+D src/lib-http/test-http-responses.c
+
+2012-11-24 00:30:14 +0200 Stephan Bosch <stephan@rename-it.nl> (7384b4e78e)
+
+ lib-http: Added initial HTTP client implementation.
+
+
+M src/lib-http/Makefile.am
+A src/lib-http/http-client-connection.c
+A src/lib-http/http-client-host.c
+A src/lib-http/http-client-peer.c
+A src/lib-http/http-client-private.h
+A src/lib-http/http-client-request.c
+A src/lib-http/http-client.c
+A src/lib-http/http-client.h
+A src/lib-http/http-header-parser.c
+A src/lib-http/http-header-parser.h
+A src/lib-http/http-parser.c
+A src/lib-http/http-parser.h
+A src/lib-http/http-response-parser.c
+A src/lib-http/http-response-parser.h
+A src/lib-http/http-transfer-chunked.c
+A src/lib-http/http-transfer.h
+A src/lib-http/test-http-client.c
+M src/lib-http/test-http-header-parser.c
+A src/lib-http/test-http-response-parser.c
+A src/lib-http/test-http-responses.c
+A src/lib-http/test-http-transfer.c
+
+2012-11-23 23:49:39 +0200 Timo Sirainen <tss@iki.fi> (c61b8f90a4)
+
+ bsdauth: Use "auth-<service>" as the auth type.
+
+
+M src/auth/passdb-bsdauth.c
+
+2012-11-23 08:52:06 +0200 Timo Sirainen <tss@iki.fi> (d765b8ed45)
+
+ login: Try to avoid busy-looping on SSL_accept() when client doesn't behave
+ nicely.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2012-11-23 08:32:13 +0200 Timo Sirainen <tss@iki.fi> (74d5f3c4e3)
+
+ auth: Added a way to set default values for nonexistent LDAP attributes.
+ %{ldap:attrName:default_value} expands to default_value if attrName doesn't
+ exist.
+
+
+M src/auth/db-ldap.c
+
+2012-11-16 17:39:25 +0200 Timo Sirainen <tss@iki.fi> (3d24361e64)
+
+ lib-imap: imap_append_string_for_humans() was broken for empty input string.
+
+
+M src/lib-imap/imap-quote.c
+
+2012-11-09 00:31:07 +0200 Timo Sirainen <tss@iki.fi> (fe91058faf)
+
+ iostream-rawlog: Don't assert-crash if trying to write 0 bytes.
+
+
+M src/lib/iostream-rawlog.c
+
+2012-11-07 18:14:20 +0200 Timo Sirainen <tss@iki.fi> (4240acc84d)
+
+ auth: Give a better error message for "client doesn't have lookup
+ permissions".
+
+
+M src/auth/auth-master-connection.c
+
+2012-11-07 17:44:32 +0200 Timo Sirainen <tss@iki.fi> (aafdd20353)
+
+ Makefile: Add -lssl to installed dovecot-config's LIBDOVECOT_LOGIN if
+ needed.
+
+
+M Makefile.am
+
+2012-11-07 17:37:16 +0200 Timo Sirainen <tss@iki.fi> (3fc62f5a9b)
+
+ var_expand*(): Don't use a data stack frame when expanding long %{variables}
+ This avoids potential crashes if the destination string is also allocated
+ from data stack and requires growing.
+
+
+M src/lib/var-expand.c
+
+2012-11-07 17:05:47 +0200 Timo Sirainen <tss@iki.fi> (3c40cf45bb)
+
+ mdbox: Don't leave extra records to dovecot.map.index if mailbox index
+ locking fails. Fixes errors such as: Corrupted dbox file /mdbox/storage/m.1
+ (around offset=2652): EOF reading msg header (got 0/30 bytes)
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2012-11-06 23:53:11 +0200 Timo Sirainen <tss@iki.fi> (1a108b2aea)
+
+ module_dir_unload(): Don't dlclose() modules if GDB environment is set.
+
+
+M src/lib/module-dir.c
+
+2012-11-06 23:49:57 +0200 Timo Sirainen <tss@iki.fi> (d8e54934fb)
+
+ lib-ssl-iostream: Unload ssl_iostream_openssl plugin at exit.
+
+
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2012-11-06 23:49:24 +0200 Timo Sirainen <tss@iki.fi> (6ca79dbc2a)
+
+ module_dir_deinit(): If no modules were actually initialized, avoid doing
+ memory allocation. This allows calling module_dir_unload() with atexit(), as
+ long as the module doesn't need to call deinit().
+
+
+M src/lib/module-dir.c
+
+2012-11-06 23:23:19 +0200 Timo Sirainen <tss@iki.fi> (d39da67847)
+
+ auth: Require auth-token-secret.dat owner to be auth process's uid, not
+ necessarily root.
+
+
+M src/auth/auth-token.c
+
+2012-11-06 22:15:51 +0200 Timo Sirainen <tss@iki.fi> (270f00aeab)
+
+ imap: Various fixes for handling expunges in mailbox sync.
+
+
+M src/imap/imap-sync.c
+
+2012-11-06 22:13:13 +0200 Timo Sirainen <tss@iki.fi> (591cdcb3a9)
+
+ imap: Avoid sending multiple unnecessary VANISHED lines when sync had lots
+ of changes.
+
+
+M src/imap/imap-sync.c
+
+2012-11-06 17:40:34 +0200 Timo Sirainen <tss@iki.fi> (8d56f3334e)
+
+ istream-seekable: Underlying stream errors weren't handled correctly.
+
+
+M src/lib/istream-seekable.c
+
+2012-11-06 14:20:00 +0200 Timo Sirainen <tss@iki.fi> (37938a05ec)
+
+ lib-ssl-iostream: Compiler warning fix when compiling without ssl
+
+
+M src/lib-ssl-iostream/iostream-ssl.c
+
+2012-11-06 02:33:38 +0200 Timo Sirainen <tss@iki.fi> (4e9410678e)
+
+ Makefile: Build lib-ssl-iostream before lib-http
+
+
+M src/Makefile.am
+
+2012-11-06 01:40:17 +0200 Timo Sirainen <tss@iki.fi> (bc64a795f4)
+
+ Makefile: Fixed building libdovecot.so
+
+
+M src/lib-dovecot/Makefile.am
+
+2012-11-06 01:16:20 +0200 Timo Sirainen <tss@iki.fi> (c75dd2d03a)
+
+ dovecot-config: Removed LIBDOVECOT_SSL, which is no longer needed.
+
+
+M dovecot-config.in.in
+
+2012-11-06 01:11:03 +0200 Timo Sirainen <tss@iki.fi> (0db42260be)
+
+ Reverted 269104a0821b (Build imapc and pop3c always as plugins.) This is no
+ longer needed now that lib-ssl-iostream can be linked without linking
+ openssl.
+
+
+M configure.ac
+M src/lib-storage/index/imapc/Makefile.am
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+D src/lib-storage/index/imapc/imapc-plugin.c
+D src/lib-storage/index/imapc/imapc-plugin.h
+D src/lib-storage/index/imapc/imapc-setting-storage.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/pop3c/Makefile.am
+D src/lib-storage/index/pop3c/pop3c-plugin.c
+D src/lib-storage/index/pop3c/pop3c-plugin.h
+D src/lib-storage/index/pop3c/pop3c-setting-storage.c
+M src/lib-storage/index/pop3c/pop3c-settings.h
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-storage.h
+
+2012-11-06 01:04:24 +0200 Timo Sirainen <tss@iki.fi> (3faa1040e5)
+
+ lib-ssl-iostream now dynamically loads openssl library instead of linking to
+ it. This allowed removing the separate libdovecot-ssl library. In future if
+ GnuTLS/NSS support is added it would also allow switching between them
+ dynamically.
+
+
+M configure.ac
+M src/auth/Makefile.am
+M src/lib-dovecot/Makefile.am
+M src/lib-master/Makefile.am
+M src/lib-ssl-iostream/Makefile.am
+A src/lib-ssl-iostream/iostream-openssl-common.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl-params.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+A src/lib-ssl-iostream/iostream-ssl-private.h
+A src/lib-ssl-iostream/iostream-ssl.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/login-common/Makefile.am
+
+2012-11-05 18:16:56 +0200 Timo Sirainen <tss@iki.fi> (6f5a72c978)
+
+ lib-ssl-iostream: Call all of the OpenSSL deinit functions at exit
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2012-11-05 14:28:24 +0200 Timo Sirainen <tss@iki.fi> (19ebf930ec)
+
+ lib-ssl-iostream: [io]streams were added an unnecessary reference, causing
+ memory leaks.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2012-11-05 14:27:52 +0200 Timo Sirainen <tss@iki.fi> (942dc91178)
+
+ lib-ssl-iostream: [io]streams were added an unnecessary reference, causing
+ memory leaks.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2012-11-04 20:04:21 +0200 Timo Sirainen <tss@iki.fi> (c01803010e)
+
+ lib-ssl-iostream: Fixed potential assert-crash when reading.
+
+
+M src/lib-ssl-iostream/istream-openssl.c
+
+2012-11-04 19:16:59 +0200 Timo Sirainen <tss@iki.fi> (adbca485f5)
+
+ lib-ssl-iostream: Copy the original istream's fd to the ssl istream.
+
+
+M src/lib-ssl-iostream/istream-openssl.c
+
+2012-11-04 17:26:24 +0200 Timo Sirainen <tss@iki.fi> (bba52ecbb0)
+
+ lib-index: MAIL_INDEX_OPEN_FLAG_SAVEONLY may have caused stale data to be
+ read from cache.
+
+
+M src/lib-index/mail-cache.c
+
+2012-11-03 20:25:17 +0200 Timo Sirainen <tss@iki.fi> (f0ff961282)
+
+ lib-index: Replaced cache's deleted_space with deleted_record_count. This
+ way when expunging messages we don't need to actually read through the cache
+ file and calculate how many bytes will be freed, we can simply increase the
+ deleted_record_count by 1. We'll still compress the cache file approximately
+ after 20% of the space (records) has been deleted.
+
+ This also converts the old "hole offset" header field to tracking the number
+ of records in the cache file. Otherwise we'd have to assume that all of the
+ messages in mailbox have a cache record, but that isn't true for users who
+ have only temporary cache fields. This "hole offset" cannot be trusted
+ completely, because nothing prevents old Dovecot version from simply writing
+ a hole offset there and messing up the record counts. Because of this there
+ are a couple of extra sanity checks for it. (Unfortunately there wasn't any
+ easy way to simply add a new field to header without breaking backwards
+ compatibility.)
+
+M src/doveadm/doveadm-dump-index.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+
+2012-11-03 19:37:47 +0200 Timo Sirainen <tss@iki.fi> (920b9f0fdf)
+
+ lib-index: Added minor version to dovecot.index.cache file header.
+
+
+M src/doveadm/doveadm-dump-index.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+
+2012-11-03 19:35:54 +0200 Timo Sirainen <tss@iki.fi> (330d54e9e3)
+
+ lib-index: If a cache record is larger than 64 kB, don't add it to cache
+ file. This shouldn't affect anything except mails that probably shouldn't
+ exist in the first place.
+
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-transaction.c
+
+2012-11-03 19:25:35 +0200 Timo Sirainen <tss@iki.fi> (131b073bdc)
+
+ lib-index: Cache record linking is now while writing new records, not later
+ with pwrite(). This should make performance somewhat better. It also means
+ that now the only overwrites to cache file are to the file header and the
+ fields header. This means that we no longer have to invalidate file_cache
+ (with mmap_disable=yes) except when reading the headers, which is always
+ done anyway.
+
+ It would be nice to move the overwritten fields in the headers to a cache
+ header in dovecot.index file, but this is a bit tricky currently. When
+ writing these headers the cache file needs to be locked to avoid race
+ conditions. To avoid deadlocks the transaction log would have to be locked
+ before the cache. The code to do all this would still be a bit complex, and
+ to keep backwards compatibility with old Dovecot versions it would still
+ have to do the overwriting until the backwards compatibility code is
+ disabled.
+
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+
+2012-11-03 19:13:24 +0200 Timo Sirainen <tss@iki.fi> (3ef21e8aea)
+
+ lib-index: Transaction view shouldn't return ext records if the ext was
+ already reset.
+
+
+M src/lib-index/mail-index-transaction-view.c
+
+2012-11-03 18:43:00 +0200 Timo Sirainen <tss@iki.fi> (600848916e)
+
+ lib-index: Recent cache file changes broke writing.
+
+
+M src/lib-index/mail-cache.c
+
+2012-11-03 18:43:00 +0200 Timo Sirainen <tss@iki.fi> (c028c93338)
+
+ lib-index: Recent cache file changes broke writing.
+
+
+M src/lib-index/mail-cache.c
+
+2012-11-03 14:11:29 +0200 Timo Sirainen <tss@iki.fi> (6494ec1398)
+
+ lib-storage: Crashfix when doing userdb lookup.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2012-11-03 13:47:55 +0200 Timo Sirainen <tss@iki.fi> (bd503f12eb)
+
+ lib-index: Write to transaction log using O_APPEND flag. Most OSes should do
+ the writes atomically so that reads won't see partially written data. We
+ don't currently rely on this, but it would be possible in future to remove
+ locking entirely from writing to transaction log.
+
+
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log.h
+
+2012-11-01 12:32:30 +0200 Timo Sirainen <tss@iki.fi> (a21489e654)
+
+ lib-storage: Error logging fixes.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-pvt.c
+
+2012-10-31 14:44:24 +0200 Timo Sirainen <tss@iki.fi> (0a77b33ae2)
+
+ hostpid_init(): Don't allow gethostname() to fail. Be more strict about what
+ chars it can contain.
+
+
+M src/lib/hostpid.c
+
+2012-10-31 13:34:52 +0200 Timo Sirainen <tss@iki.fi> (97155df795)
+
+ lib-storage: Don't require mailbox to be synced for MAILBOX_METADATA_GUID
+ lookup None of the mailbox formats currently require it, and lib-lda code
+ assert-crashes with it since syncing is done with a transaction already
+ open.
+
+
+M src/lib-storage/mail-storage.h
+
+2012-10-31 13:29:16 +0200 Timo Sirainen <tss@iki.fi> (3371db2010)
+
+ lib-storage: When mailbox_get_status/metadata() auto-syncs mailbox, use
+ MAILBOX_SYNC_FLAG_FAST
+
+
+M src/lib-storage/index/index-status.c
+
+2012-10-31 13:24:49 +0200 Timo Sirainen <tss@iki.fi> (4b51bdad1c)
+
+ Makefile: Add -lssl to installed dovecot-config's LIBDOVECOT_STORAGE if
+ needed.
+
+
+M Makefile.am
+
+2012-10-31 13:12:22 +0200 Stephan Bosch <stephan@rename-it.nl> (96e3a90451)
+
+ lib-dns: Added dns_lookup_switch_ioloop()
+
+
+M src/lib-dns/dns-lookup.c
+M src/lib-dns/dns-lookup.h
+
+2012-10-31 13:11:11 +0200 Timo Sirainen <tss@iki.fi> (a98f0fc93c)
+
+ auth: Don't assert-crash in auth-token writing if process isn't running as
+ root.
+
+
+M src/auth/auth-token.c
+
+2012-10-30 15:05:45 +0200 Timo Sirainen <tss@iki.fi> (f69cd5cc51)
+
+ lib-lda: Avoid doing a costly mailbox sync when delivering mail to multiple
+ recipients.
+
+
+M src/lib-lda/mail-deliver.c
+M src/lib-storage/index/index-sync.c
+
+2012-10-29 23:03:59 +0200 Timo Sirainen <tss@iki.fi> (9d60b2ea60)
+
+ doveadm sync/backup: Added -s parameter to usage string.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2012-10-29 22:47:35 +0200 Timo Sirainen <tss@iki.fi> (12b1956587)
+
+ Added signature for changeset f5941f3ac762
+
+
+M .hgsigs
+
+2012-10-29 22:47:32 +0200 Timo Sirainen <tss@iki.fi> (be061d4055)
+
+ Added tag 2.2.alpha1 for changeset f5941f3ac762
+
+
+M .hgtags
+
+2012-10-29 22:47:32 +0200 Timo Sirainen <tss@iki.fi> (5ae069c932)
+
+ Released v2.2.alpha1.
+
+
+M NEWS
+M TODO
+M configure.ac
+
+2012-10-29 22:42:28 +0200 Timo Sirainen <tss@iki.fi> (0ed3607990)
+
+ anvil: Added a comment to remind what the anvil checksums are all about.
+
+
+M src/anvil/penalty.c
+
+2012-10-29 22:03:25 +0200 Timo Sirainen <tss@iki.fi> (9b706b3450)
+
+ If prefix="" namespace isn't defined, autocreate it as an unusable
+ namespace. This avoids having to handle mail_namespace_find() errors all
+ over the place. Instead now the mailbox accesses will simply fail.
+
+
+M configure.ac
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain.c
+M src/imap/cmd-list.c
+M src/imap/imap-commands-util.c
+M src/indexer/master-connection.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-lda/mail-deliver.c
+M src/lib-storage/fail-mail-storage.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-namespace.h
+M src/lib-storage/mail-storage.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/pop3/pop3-client.c
+
+2012-10-29 21:54:51 +0200 Timo Sirainen <tss@iki.fi> (c396c5cdd5)
+
+ lib-storage: Use const pointers for mail_namespace.(set|unexpanded_set)
+
+
+M src/lib-storage/mail-namespace.h
+M src/plugins/autocreate/autocreate-plugin.c
+
+2012-10-29 21:42:32 +0200 Timo Sirainen <tss@iki.fi> (955f066e93)
+
+ autocreate plugin logs now a "deprecated" warning at startup
+
+
+M src/plugins/autocreate/autocreate-plugin.c
+
+2012-10-29 21:31:39 +0200 Timo Sirainen <tss@iki.fi> (c73415e93e)
+
+ Make static analyzer happier.
+
+
+M src/lib-dict/dict-file.c
+M src/lib-index/mail-transaction-log.c
+
+2012-10-29 21:28:45 +0200 Timo Sirainen <tss@iki.fi> (4c05697a4f)
+
+ iostream-rawlog: Avoid crashing more if write() to rawlog fails.
+
+
+M src/lib/iostream-rawlog.c
+
+2012-10-29 20:48:08 +0200 Timo Sirainen <tss@iki.fi> (c1b9c45311)
+
+ Make static analyzer happier.
+
+
+M src/director/director-connection.c
+M src/director/director-test.c
+M src/imap/cmd-urlfetch.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-mail/message-parser.c
+
+2012-10-29 20:45:41 +0200 Timo Sirainen <tss@iki.fi> (ce8244c05b)
+
+ maildir: Fixed potential crash when maildir suddenly loses some directories.
+
+
+M src/lib-storage/index/maildir/maildir-util.c
+
+2012-10-29 20:42:00 +0200 Timo Sirainen <tss@iki.fi> (31159b598c)
+
+ layout=index: Fixed a crash in mailbox_rename() race condition.
+
+
+M src/lib-storage/list/mailbox-list-index-backend.c
+
+2012-10-29 20:34:31 +0200 Timo Sirainen <tss@iki.fi> (640c1f9731)
+
+ iostream-rawlog: Avoid crashing if write() to rawlog fails.
+
+
+M src/lib/iostream-rawlog.c
+
+2012-10-29 20:17:07 +0200 Timo Sirainen <tss@iki.fi> (13eb655174)
+
+ imap: imap_id_send default changed to send name=Dovecot to client.
+
+
+M src/imap-login/imap-login-settings.c
+M src/imap/imap-settings.c
+
+2012-10-29 20:09:42 +0200 Timo Sirainen <tss@iki.fi> (eb22514ae8)
+
+ doveadm user: Removed -m parameter and made it default. Added -u for old
+ functionality. -u meaning "userdb lookup only".
+
+
+M src/doveadm/doveadm-auth.c
+
+2012-10-29 20:07:13 +0200 Timo Sirainen <tss@iki.fi> (45d2975c61)
+
+ doveadm user -m: Show all returned userdb fields.
+
+
+M src/doveadm/doveadm-auth.c
+
+2012-10-29 20:06:53 +0200 Timo Sirainen <tss@iki.fi> (3482fee0e3)
+
+ lib-storage: Added mail_storage_service_save_userdb_fields()
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2012-10-29 19:54:50 +0200 Timo Sirainen <tss@iki.fi> (1f1ee8db68)
+
+ lib-storage: Renamed mail_storage_set_index_error() to
+ mailbox_set_index_error()
+
+
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/index/raw/raw-sync.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/plugins/virtual/virtual-sync.c
+
+2012-10-29 19:52:21 +0200 Timo Sirainen <tss@iki.fi> (8c909e451d)
+
+ Replaced *_INDEX_PREFIX macros with a common MAIL_INDEX_PREFIX.
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/cydir/cydir-storage.h
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-storage.h
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-storage.h
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-storage.h
+M src/lib-storage/mail-storage-private.h
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+
+2012-10-29 19:04:36 +0200 Timo Sirainen <tss@iki.fi> (fb541fdd82)
+
+ login proxy: For connect() failures log also the used local IP:port if
+ available.
+
+
+M src/login-common/login-proxy.c
+
+2012-10-29 18:32:40 +0200 Timo Sirainen <tss@iki.fi> (2d06f521ae)
+
+ master: Ignore service {} blocks with empty executable settings.
+
+
+M src/master/master-settings.c
+M src/master/service.c
+
+2012-10-29 18:29:07 +0200 Timo Sirainen <tss@iki.fi> (b203ee2724)
+
+ master: Removed unnecessary code duplication. The settings parsing already
+ does this.
+
+
+M src/master/service.c
+
+2012-10-29 18:01:54 +0200 Timo Sirainen <tss@iki.fi> (52ef4fcf94)
+
+ Renamed configure.in to configure.ac. Apparently automakes in future won't
+ support configure.in anymore.
+
+
+M TODO
+R100 configure.in configure.ac
+
+2012-10-29 17:55:35 +0200 Timo Sirainen <tss@iki.fi> (c25dfa96bc)
+
+ Merged changes from v2.1 tree.
+
+
+2012-10-29 16:51:46 +0200 Timo Sirainen <tss@iki.fi> (2a45e92538)
+
+ lib-fs: Compile fix for OSes that don't support
+ posix_fadvise(POSIX_FADV_WILLNEED)
+
+
+M src/lib-fs/fs-posix.c
+
+2012-10-29 16:36:59 +0200 Timo Sirainen <tss@iki.fi> (b529524e92)
+
+ lib-dict: Abort async transaction commits if client gets disconnected from
+ dict server.
+
+
+M src/lib-dict/dict-client.c
+
+2012-10-29 15:32:44 +0200 Timo Sirainen <tss@iki.fi> (aa767dbd15)
+
+ TODO updated
+
+
+M TODO
+
+2012-10-29 15:30:59 +0200 Timo Sirainen <tss@iki.fi> (1453e7c587)
+
+ lib-storage: Handle better when attempting to access shared mailboxes for
+ nonexistent users.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+
+2012-10-29 15:29:52 +0200 Timo Sirainen <tss@iki.fi> (117a55d426)
+
+ lib-storage: Added struct mail_user.nonexistent flag, which is filled by
+ userdb lookup.
+
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2012-10-29 15:18:34 +0200 Timo Sirainen <tss@iki.fi> (9fd2181788)
+
+ lib-storage: Fixes to handling separation of private/shared attributes.
+
+
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2012-10-29 15:17:17 +0200 Timo Sirainen <tss@iki.fi> (4253a4a663)
+
+ lib-index: Fixes to replacing message's keywords.
+
+
+M src/lib-index/mail-index-transaction.c
+
+2012-10-29 15:13:54 +0200 Timo Sirainen <tss@iki.fi> (045e41df5a)
+
+ lib-storage: Crashfix to previous stream error checking change.
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2012-10-29 14:50:11 +0200 Timo Sirainen <tss@iki.fi> (c6afd72606)
+
+ lib-storage: Moved mail attribute dict to struct mail_storage. This also
+ means that index_storage_destroy() must always be called, so removed now
+ unnecessary mail_storage.destroy=NULL checks.
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-attribute.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/virtual/virtual-storage.c
+
+2012-10-29 14:31:04 +0200 Timo Sirainen <tss@iki.fi> (e68fc7dc8c)
+
+ Treat modseq updates explicitly instead of as if they were flag changes.
+
+
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index.h
+M src/lib-storage/index/index-sync.c
+
+2012-10-29 14:19:53 +0200 Timo Sirainen <tss@iki.fi> (5376aea86a)
+
+ lib-storage: Mailbox list indexes are now enabled also for shared/public
+ mailboxes.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+
+2012-10-29 14:19:24 +0200 Timo Sirainen <tss@iki.fi> (0440855f9c)
+
+ lib-storage: Allow calling mailbox_get_private_flags_mask() without mailbox
+ being open. Most importantly used by mailbox list indexes to determine if it
+ can optimize a STATUS (UNSEEN) call.
+
+
+M src/lib-storage/mail-storage.c
+
+2012-10-29 14:16:02 +0200 Timo Sirainen <tss@iki.fi> (7891195e39)
+
+ imap: Commit temporary mail's transaction before finishing sync. Fixes
+ assert-crash with mailbox list indexes.
+
+
+M src/imap/imap-sync.c
+
+2012-10-29 14:17:40 +0200 Timo Sirainen <tss@iki.fi> (88cc3155c0)
+
+ lib-storage: Avoid assert-crashing when updating mailbox list index.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2012-10-29 13:23:30 +0200 Timo Sirainen <tss@iki.fi> (50de467214)
+
+ lib-storage: Check and log stream errors when parsing/searching messages.
+
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-search.c
+
+2012-10-29 13:01:37 +0200 Timo Sirainen <tss@iki.fi> (a81d416d29)
+
+ lib-storage: Make sure mailbox was synced at least once when getting
+ status/metadata.
+
+
+M src/lib-storage/index/index-status.c
+M src/lib-storage/mail-storage.h
+
+2012-10-29 13:00:36 +0200 Timo Sirainen <tss@iki.fi> (2956f45993)
+
+ dsync: Make sure we're not trying to use uidvalidity=0 for existing
+ mailboxes.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+
+2012-10-29 12:44:43 +0200 Timo Sirainen <tss@iki.fi> (c889df3092)
+
+ lib-index: MAIL_INDEX_TRANSACTION_FLAG_AVOID_FLAG_UPDATES didn't work well
+ enough for keywords. Removed the code that attempted to optimize some CPU
+ usage at the cost of writing too many changes.
+
+
+M src/lib-index/mail-index-transaction-update.c
+
+2012-10-29 12:43:29 +0200 Timo Sirainen <tss@iki.fi> (b90e0895e3)
+
+ lib-index: Avoid assert-crashing when syncing an old "keyword reset" from
+ transaction log.
+
+
+M src/lib-index/mail-index-transaction-update.c
+
+2012-10-29 12:40:14 +0200 Timo Sirainen <tss@iki.fi> (a9dbce68b8)
+
+ acl: Avoid assert-crashing when trying to access shared namespace root
+ "mailboxes".
+
+
+M src/plugins/acl/acl-mailbox.c
+
+2012-10-26 13:05:43 +0300 Timo Sirainen <tss@iki.fi> (170db287b4)
+
+ lib-storage: Fixed listing layout=fs when namespace prefix part included
+ wildcards.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-10-26 12:09:03 +0300 Timo Sirainen <tss@iki.fi> (7b8f9e3a8e)
+
+ stats: Refresh user statistics during long maildir syncs.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2012-10-26 11:43:05 +0300 Timo Sirainen <tss@iki.fi> (ab1e5b156d)
+
+ lib-index: Optimize cache file reads with MAIL_INDEX_OPEN_FLAG_SAVEONLY
+
+
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache.c
+
+2012-10-26 11:37:07 +0300 Timo Sirainen <tss@iki.fi> (f81801789c)
+
+ lib-index: After recent cache changes, cache was often wrongly being thought
+ of as unusable
+
+
+M src/lib-index/mail-cache.c
+
+2012-10-26 11:34:25 +0300 Timo Sirainen <tss@iki.fi> (58f931fc19)
+
+ lib-index: If cache file unexpectedly shrinks in header lookup, log an
+ error.
+
+
+M src/lib-index/mail-cache-lookup.c
+
+2012-10-26 11:33:22 +0300 Timo Sirainen <tss@iki.fi> (20536ef019)
+
+ Increased initial memory pool size
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-10-26 11:17:51 +0300 Timo Sirainen <tss@iki.fi> (4dc26d9b56)
+
+ lib-storage: Listing multiple mailbox patterns may have returned duplicates
+ with fs layout.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-10-26 11:12:36 +0300 Timo Sirainen <tss@iki.fi> (66a1eb6554)
+
+ dbox: Log a better error if we have external attachments, but
+ mail_attachment_dir is unset.
+
+
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+
+2012-10-26 11:07:43 +0300 Timo Sirainen <tss@iki.fi> (6322eca1c1)
+
+ doveadm backup: Don't assert-crash trying to delete noselect-mailboxes too
+ early.
+
+
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+
+2012-10-26 10:36:43 +0300 Timo Sirainen <tss@iki.fi> (93d08c32af)
+
+ lib-index: mail_index_transaction_lookup_latest_keywords() didn't work
+ properly. It wasn't actually looking up the latest keywords.
+
+
+M src/lib-index/mail-index-transaction.c
+
+2012-10-24 15:05:40 +0300 Timo Sirainen <tss@iki.fi> (efeb133037)
+
+ doveadm backup: Revert all local changes.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-import.h
+
+2012-10-24 15:05:15 +0300 Timo Sirainen <tss@iki.fi> (818b051472)
+
+ dsync: Crashfix for scanning keyword changes in transaction log.
+
+
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+
+2012-10-24 13:04:38 +0300 Timo Sirainen <tss@iki.fi> (01e3a9b57a)
+
+ NEWS updated
+
+
+M NEWS
+
+2012-10-24 12:47:34 +0300 Timo Sirainen <tss@iki.fi> (0bf25546c9)
+
+ lib-storage: When mkdir()ing home, copy permissions from parent if it has
+ setgid-bit and we're using %h/~. When using %d/%n instead of %h in the
+ location directories, use the earlier methods.
+
+
+M src/lib-storage/mailbox-list.c
+
+2012-10-24 12:23:36 +0300 Timo Sirainen <tss@iki.fi> (2cb0a0438b)
+
+ lib-storage: When creating user directory under domain, set its setgid-bit
+ on. The previous mkdir_parents_chown() change changed this behavior. I'm not
+ entirely sure if the setgid-bit is a good idea or not in here, but we'll
+ just continue the existing behavior.
+
+
+M src/lib-storage/mailbox-list.c
+
+2012-10-24 12:15:19 +0300 Timo Sirainen <tss@iki.fi> (a3e3650e98)
+
+ mkdir_parents_chown(): If gid is set, make sure setgid-bit isn't copied from
+ parent.
+
+
+M src/lib/mkdir-parents.c
+M src/lib/mkdir-parents.h
+
+2012-10-24 11:52:14 +0300 Timo Sirainen <tss@iki.fi> (744543d840)
+
+ raw storage: Don't set NAMESPACE_FLAG_INBOX_USER for the created namespace.
+
+
+M src/lib-storage/index/raw/raw-storage.c
+
+2012-10-24 11:30:09 +0300 Timo Sirainen <tss@iki.fi> (eea128bec7)
+
+ lib-imap: Replaced last traces of imap_quote*() with
+ imap_append_string_for_humans() Also the imap_append_*string() functions now
+ decide whether to use quoted-string or literal based on the output string
+ length (if both would work).
+
+
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-quote.h
+
+2012-10-24 11:28:38 +0300 Timo Sirainen <tss@iki.fi> (2ef24f8d82)
+
+ lib-imap: ENVELOPE parsing/writing no longer strips whitespace from machine
+ readable fields.
+
+
+M src/lib-imap/imap-envelope.c
+
+2012-10-24 11:22:28 +0300 Timo Sirainen <tss@iki.fi> (1a197a6f7b)
+
+ lib-imap: bodystructure parsing now uses imap_append_string() instead of
+ imap_quote*() Some of the fields are parsed through rfc822_*() which
+ guarantees that they contain proper clean input. Other fields are also
+ machine-readable and don't benefit from having whitespace compressed or of
+ any other things that imap_quote*(fix_text=TRUE) did.
+
+ None of the fields in
+
+M src/lib-imap/imap-bodystructure.c
+
+2012-10-24 10:14:17 +0300 Timo Sirainen <tss@iki.fi> (44f93baa7b)
+
+ Use imap_append_astring() instead of imap_append_string() where possible.
+
+
+M src/imap/cmd-list.c
+M src/imap/cmd-notify.c
+M src/imap/imap-fetch.c
+M src/imap/imap-notify.c
+M src/imap/imap-status.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+
+2012-10-24 10:08:06 +0300 Timo Sirainen <tss@iki.fi> (0b1929455d)
+
+ lib-imap: Added imap_append_astring()
+
+
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-quote.h
+
+2012-10-24 10:05:37 +0300 Timo Sirainen <tss@iki.fi> (73592a4e11)
+
+ lib-imap: Changed public IS_ATOM*() macros to match RFC 3501 exactly. Move
+ the imap-parser specific "atom plus some more" parsing macro inside
+ imap-parser.c so it's not used by anyone else.
+
+
+M src/lib-imap/imap-arg.h
+M src/lib-imap/imap-parser.c
+M src/lib-storage/mailbox-keywords.c
+
+2012-10-24 09:39:52 +0300 Timo Sirainen <tss@iki.fi> (686ad6d723)
+
+ Use imap_append_*string() instead of imap_quote_append*() where possible.
+ This makes it clearer what types of output should be sent.
+
+
+M src/imap-login/imap-proxy.c
+M src/imap/cmd-list.c
+M src/imap/cmd-namespace.c
+M src/imap/cmd-notify.c
+M src/imap/imap-fetch.c
+M src/imap/imap-notify.c
+M src/imap/imap-search.c
+M src/imap/imap-status.c
+M src/imap/imap-sync.c
+M src/lib-imap/imap-id.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+
+2012-10-24 09:38:06 +0300 Timo Sirainen <tss@iki.fi> (169d60e972)
+
+ lib-imap: Added imap_append_string() and imap_append_nstring()
+
+
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-quote.h
+
+2012-10-24 09:21:46 +0300 Timo Sirainen <tss@iki.fi> (2ca9d7b518)
+
+ lib-imap: Renamed imap_dquote_append() to imap_append_quoted()
+
+
+M src/imap/imap-fetch-body.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap/imap-id.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-quote.h
+
+2012-10-24 09:21:00 +0300 Timo Sirainen <tss@iki.fi> (dde059304d)
+
+ imap: Avoid double-quoting non-atom header field
+
+
+M src/imap/imap-fetch-body.c
+
+2012-10-23 20:46:35 +0300 Timo Sirainen <tss@iki.fi> (553ad921d1)
+
+ mailbox_list_index=yes: Fixed refreshing list index after mailbox was
+ created.
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2012-10-23 20:46:12 +0300 Timo Sirainen <tss@iki.fi> (2f5256b477)
+
+ maildir: Don't assert-crash on mailbox creation.
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2012-10-23 20:30:41 +0300 Timo Sirainen <tss@iki.fi> (000361b8c6)
+
+ imap: Another fix for handling partial FETCHes.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2012-10-23 20:15:36 +0300 Timo Sirainen <tss@iki.fi> (e53ab6c708)
+
+ imap: URLFETCH BINARY BODYPARTSTRUCTURE returns binary-decoded line counts.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-mail/message-binary-part.c
+M src/lib-mail/message-binary-part.h
+M src/lib-storage/fail-mail.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+
+2012-10-23 20:09:35 +0300 Timo Sirainen <tss@iki.fi> (81b1d14891)
+
+ istream-seekable: When read() reaches EOF, unreference underlying streams.
+ This was already done when the stream was kept in memory, but not when when
+ the stream was written to temporary file.
+
+
+M src/lib/istream-seekable.c
+
+2012-10-23 20:07:06 +0300 Timo Sirainen <tss@iki.fi> (84a31ddebc)
+
+ imap: URLFETCH error handling fixes.
+
+
+M src/imap/cmd-urlfetch.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.h
+
+2012-10-23 12:59:41 +0300 Timo Sirainen <tss@iki.fi> (a618726eb3)
+
+ connection API: Track the number of connections.
+
+
+M src/lib/connection.c
+M src/lib/connection.h
+
+2012-10-23 12:34:42 +0300 Timo Sirainen <tss@iki.fi> (3e6903afa5)
+
+ dsync: Use mailbox_move() to reassign UIDs instead of copy+expunge.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+
+2012-10-22 18:59:20 +0300 Timo Sirainen <tss@iki.fi> (ec7a751d45)
+
+ auth: Log a nicer message if client timeouts authentication in the middle.
+
+
+M src/auth/auth-request-handler.c
+
+2012-10-22 18:35:56 +0300 Timo Sirainen <tss@iki.fi> (dfd297466b)
+
+ decode2text.sh: Assume xmlunzip exists in the same directory as this script.
+ This avoids hardcoding /usr/local/libexec/dovecot/ path in it.
+
+
+M src/plugins/fts/decode2text.sh
+
+2012-10-22 15:35:59 +0300 Timo Sirainen <tss@iki.fi> (1df39b8998)
+
+ director: -D parameter now enables extensive debug logging.
+
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director.c
+M src/director/director.h
+M src/director/main.c
+
+2012-10-22 15:32:04 +0300 Timo Sirainen <tss@iki.fi> (a6c2d3d605)
+
+ director: Don't remove user's weak flag from notify connection. If notify
+ connection worked properly, the weak flag should never have been set in the
+ first place. And if it's just suddenly removed, it won't finish the pending
+ requests properly.
+
+
+M src/director/notify-connection.c
+
+2012-10-22 15:30:01 +0300 Timo Sirainen <tss@iki.fi> (38eee54ced)
+
+ director: Minor code cleanup
+
+
+M src/director/director-connection.c
+
+2012-10-22 15:29:27 +0300 Timo Sirainen <tss@iki.fi> (d40c98b71d)
+
+ director: If user's weak-flag appears to have gotten stuck, unset it.
+
+
+M src/director/director-request.c
+M src/director/user-directory.c
+
+2012-10-22 15:23:25 +0300 Timo Sirainen <tss@iki.fi> (98811ad98a)
+
+ director: Log more clearly why a request timeouts.
+
+
+M src/director/director-request.c
+
+2012-10-22 15:20:57 +0300 Timo Sirainen <tss@iki.fi> (3ee8a7ee69)
+
+ director: Don't handle pending requests from all around the code. I'm not
+ sure if this actually fixes any bugs, but it definitely makes the state
+ cleaner.
+
+
+M src/director/director.c
+M src/director/director.h
+
+2012-10-22 15:17:39 +0300 Timo Sirainen <tss@iki.fi> (d3211a8014)
+
+ director: Fixed previous broken change for handling USER-WEAK commands.
+
+
+M src/director/director-connection.c
+
+2012-10-21 12:20:30 +0300 Timo Sirainen <tss@iki.fi> (c307328f59)
+
+ doveadm sync/backup: Added -s <state> parameter to do a fast stateful sync.
+ Initially use an empty string for the input state. The output state is
+ written to stdout.
+
+
+M src/doveadm/dsync/Makefile.am
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+D src/doveadm/dsync/dsync-mailbox-state-export.h
+M src/doveadm/dsync/dsync-mailbox-state.c
+M src/doveadm/dsync/dsync-mailbox-state.h
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+
+2012-10-21 10:01:54 +0300 Timo Sirainen <tss@iki.fi> (e831268667)
+
+ doveadm: "backup" command is working again.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-ibc.h
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+
+2012-10-21 08:22:20 +0300 Timo Sirainen <tss@iki.fi> (ed157532da)
+
+ lib-storage: Fixed deleting mailbox when mail_attribute_dict wasn't set.
+
+
+M src/lib-storage/index/index-attribute.c
+
+2012-10-21 07:29:04 +0300 Timo Sirainen <tss@iki.fi> (ba886767d3)
+
+ lib-fs: Fixes to async APIs.
+
+
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+
+2012-10-21 07:13:44 +0300 Timo Sirainen <tss@iki.fi> (9e04a4a3c7)
+
+ redis dict: Log an error if we get disconnected unexpectedly.
+
+
+M src/lib-dict/dict-redis.c
+
+2012-10-18 06:58:01 +0300 Timo Sirainen <tss@iki.fi> (aa92329a18)
+
+ lib-imap-urlauth: Minor fix to avoiding timing attacks against mailbox
+ existence. random_fill() is slightly slower than random_fill_weak().
+ Probably even better way to handle timing attacks would be to always add a
+ short random pause before returning verification failure.
+
+
+M src/lib-imap-urlauth/imap-urlauth.c
+
+2012-10-18 06:55:04 +0300 Timo Sirainen <tss@iki.fi> (70375a5099)
+
+ Moved random_init() from lib-imap-urlauth to imap/imap-urlauth main(). This
+ way if the processes are chrooted they are still able to open /dev/urandom.
+
+
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/main.c
+M src/lib-imap-urlauth/imap-urlauth.c
+
+2012-10-18 06:45:39 +0300 Timo Sirainen <tss@iki.fi> (bb86f8f22f)
+
+ lib-index: Crashfix for MAIL_INDEX_OPEN_FLAG_SAVEONLY change.
+
+
+M src/lib-index/mail-cache.c
+
+2012-10-18 06:21:25 +0300 Timo Sirainen <tss@iki.fi> (da62041ae4)
+
+ login_log_format_elements: Added %{real_rip} variable. It differs from %r
+ when Dovecot proxy sends an updated client IP address. Patch by Jack Bates.
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2012-10-18 06:00:18 +0300 Timo Sirainen <tss@iki.fi> (4fcee75502)
+
+ lib-index: Fixed handling of finding a duplicate dovecot.index.log file_seq
+ Previously we assumed that the already opened file was always the wrong one,
+ but more common was that the newly opened file was .log.2 which should have
+ been deleted.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2012-10-18 05:55:30 +0300 Timo Sirainen <tss@iki.fi> (b222354c95)
+
+ lib-index: Handle better race condition there dovecot.index.log and .log.2
+ are the same link.
+
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+
+2012-10-18 05:23:27 +0300 Timo Sirainen <tss@iki.fi> (8f76fdf79a)
+
+ lib-storage: Open index with MAIL_INDEX_OPEN_FLAG_SAVEONLY if mailbox has
+ MAILBOX_FLAG_SAVEONLY
+
+
+M src/lib-storage/index/index-storage.c
+
+2012-10-18 05:22:36 +0300 Timo Sirainen <tss@iki.fi> (18d92dbbb7)
+
+ lib-index: Added MAIL_INDEX_OPEN_FLAG_SAVEONLY to do only minimal reads from
+ cache file.
+
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index.h
+
+2012-10-18 05:16:54 +0300 Timo Sirainen <tss@iki.fi> (8ac66221e8)
+
+ lib-index: Code cleanup: Removed mail_cache.data
+
+
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+
+2012-10-18 05:10:29 +0300 Timo Sirainen <tss@iki.fi> (82ed69779f)
+
+ lib-index: mail_cache_map() API cleanup
+
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+
+2012-10-16 03:34:51 +0300 Timo Sirainen <tss@iki.fi> (048e40f936)
+
+ dict quota: Fixed a potential crash if quota recalculation was triggered at
+ deinit.
+
+
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+
+2012-10-16 03:08:21 +0300 Timo Sirainen <tss@iki.fi> (4511a1f49e)
+
+ lib-master: Fixed -i <instance name> parameter handling. It previously
+ worked only if the default config socket wasn't usable.
+
+
+M src/lib-master/master-service.c
+
+2012-10-13 04:30:17 +0300 Timo Sirainen <tss@iki.fi> (8bad545017)
+
+ lib-storage: Added missing file from previous mailbox attribute commit.
+
+
+A src/lib-storage/index/index-attribute.c
+
+2012-10-13 04:28:09 +0300 Timo Sirainen <tss@iki.fi> (4abdade2cb)
+
+ imap-urlauth: Store urlauth keys to the new mailbox attributes.
+
+
+M doc/example-config/conf.d/20-imap.conf
+M src/imap-urlauth/imap-urlauth-worker-settings.c
+M src/imap-urlauth/imap-urlauth-worker-settings.h
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/imap-client.c
+M src/imap/imap-settings.c
+M src/imap/imap-settings.h
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-imap-urlauth/imap-urlauth-backend.h
+M src/lib-imap-urlauth/imap-urlauth-private.h
+M src/lib-imap-urlauth/imap-urlauth.c
+M src/lib-imap-urlauth/imap-urlauth.h
+
+2012-10-13 04:27:14 +0300 Timo Sirainen <tss@iki.fi> (62041dfb7d)
+
+ lib-storage: Added support to get/set/iterate mailbox attributes. The
+ attributes are stored in a dict specified by mail_attribute_dict setting.
+ The idea is to use this as storage for extensions that require per-mailbox
+ key=value pairs, such as METADATA.
+
+
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/Makefile.am
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/plugins/virtual/virtual-storage.c
+
+2012-10-13 04:18:26 +0300 Timo Sirainen <tss@iki.fi> (6b3c7d7396)
+
+ dict: If DICT_ITERATE_FLAG_NO_VALUE is set, don't send values to dict
+ client.
+
+
+M src/dict/dict-commands.c
+M src/dict/dict-connection.h
+
+2012-10-13 04:17:45 +0300 Timo Sirainen <tss@iki.fi> (63b9388219)
+
+ lib-dict: Added DICT_ITERATE_FLAG_NO_VALUE This allows iterating dictionary
+ without wasting extra time on returning values that aren't needed.
+
+
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.h
+
+2012-10-13 01:57:24 +0300 Timo Sirainen <tss@iki.fi> (d49214c558)
+
+ imap-urlauth: Use mailbox GUID instead of mailbox name for dict keys
+
+
+M src/imap/cmd-resetkey.c
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-imap-urlauth/imap-urlauth-backend.h
+M src/lib-imap-urlauth/imap-urlauth.c
+
+2012-10-13 01:38:48 +0300 Timo Sirainen <tss@iki.fi> (c02db5c3a0)
+
+ example-config: Added imap_urlauth_* settings
+
+
+M doc/example-config/conf.d/20-imap.conf
+
+2012-10-13 01:36:13 +0300 Timo Sirainen <tss@iki.fi> (ca16588e70)
+
+ imap urlauth: Don't autofill imap_urlauth_host. Use "*" value to mean "any
+ host".
+
+
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/imap-client.c
+M src/lib-imap-urlauth/imap-urlauth.c
+
+2012-10-13 01:09:37 +0300 Timo Sirainen <tss@iki.fi> (eca38954bc)
+
+ lib-dict: dict_init() now returns error string instead of logging it
+
+
+M src/auth/db-dict.c
+M src/dict/dict-connection.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql-settings.h
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/quota/quota-dict.c
+
+2012-10-13 01:03:13 +0300 Timo Sirainen <tss@iki.fi> (803197abb1)
+
+ lib-settings: settings_read*() now returns an error string instead of
+ logging itself
+
+
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-sql.c
+M src/lib-dict/dict-sql-settings.c
+M src/lib-settings/settings.c
+M src/lib-settings/settings.h
+
+2012-10-13 00:40:41 +0300 Timo Sirainen <tss@iki.fi> (4605cab112)
+
+ Moved doveadm zlib commands from zlib plugin to doveadm directly. Previously
+ it was a plugin, because the istream-zlib existed only in zlib plugin. Now
+ there's a lib-compression that implements it.
+
+
+M src/doveadm/Makefile.am
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-dump.h
+R090 src/plugins/zlib/doveadm-zlib.c src/doveadm/doveadm-zlib.c
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+M src/plugins/zlib/Makefile.am
+
+2012-10-13 00:32:34 +0300 Timo Sirainen <tss@iki.fi> (439dd06aec)
+
+ istream: Added internal try_alloc_limit to limit size returned by
+ i_stream_try_alloc() This was required by the previous SSL change.
+
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2012-10-13 00:24:47 +0300 Timo Sirainen <tss@iki.fi> (739125f23e)
+
+ lib-ssl-iostream: Make the input buffering behave the same as in
+ file-istream Previously i_stream_read(ssl_input) could have still left some
+ data buffered into the underlying file-istream, which meant that I/O loop
+ didn't detect any new input from the fd and the connection got stuck.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/istream-openssl.c
+
+2012-10-12 23:18:58 +0300 Timo Sirainen <tss@iki.fi> (7020f569b4)
+
+ config: Added lib-master's settings parsers back to config's knowledge
+
+
+M src/config/settings-get.pl
+
+2012-10-12 23:05:43 +0300 Timo Sirainen <tss@iki.fi> (309107ef37)
+
+ configure: Make sure MYSQL_LIBS has -lmysqlclient even if it's not
+ explicitly found.
+
+
+M configure.in
+
+2012-10-12 08:48:25 +0300 Timo Sirainen <tss@iki.fi> (5a2b30ed0b)
+
+ lib-storage: Fixed crash when attempting to remove subscriptions for
+ nonexistent shared users.
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2012-10-12 08:39:31 +0300 Timo Sirainen <tss@iki.fi> (b71e08759c)
+
+ lib-index: dovecot.index file is no longer overwritten, so it doesn't need
+ to be locked.
+
+
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index.c
+
+2012-10-12 08:31:15 +0300 Timo Sirainen <tss@iki.fi> (b886e3df92)
+
+ lib-index: Log a warning if locking transaction log takes longer than 30
+ secs.
+
+
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+
+2012-10-12 07:58:17 +0300 Timo Sirainen <tss@iki.fi> (d817aa1ebc)
+
+ maildir: If INDEXPVT is set, assume private \Seen flags even if
+ dovecot-shared doesn't exist.
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2012-10-12 05:45:42 +0300 Timo Sirainen <tss@iki.fi> (69af83d4e6)
+
+ lib-storage: Added support for "broken_char" setting for escaping invalid
+ mailbox names. This is currently enabled only for imapc backend, where '~'
+ character is used for it.
+
+ Most importantly this allows migrating mailboxes from other IMAP servers
+ that contain mailbox names that Dovecot's imapc backend couldn't otherwise
+ access.
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2012-10-12 03:47:41 +0300 Timo Sirainen <tss@iki.fi> (917498e6f8)
+
+ lib-storage: Added optional mailbox_list.init(), which can check for
+ failure. "index" backend now gives a nice error message instead of crashing
+ when mailbox_list_index=no
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+
+2012-10-12 03:17:56 +0300 Timo Sirainen <tss@iki.fi> (83b97bc778)
+
+ Build imapc and pop3c always as plugins. This avoids having to link openssl
+ library to all binaries that use lib-storage. It appears that simply by
+ linking with openssl causes each such process to use 100-200 kB of more
+ memory. With 10k imap processes this is 1-2 GB of wasted memory.
+
+ The imapc and pop3c are still registered as stubs, and their plugins are
+ automatically loaded when needed.
+
+M configure.in
+M src/lib-storage/index/imapc/Makefile.am
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+A src/lib-storage/index/imapc/imapc-plugin.c
+A src/lib-storage/index/imapc/imapc-plugin.h
+A src/lib-storage/index/imapc/imapc-setting-storage.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/pop3c/Makefile.am
+A src/lib-storage/index/pop3c/pop3c-plugin.c
+A src/lib-storage/index/pop3c/pop3c-plugin.h
+A src/lib-storage/index/pop3c/pop3c-setting-storage.c
+M src/lib-storage/index/pop3c/pop3c-settings.h
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-storage.h
+
+2012-10-12 03:12:19 +0300 Timo Sirainen <tss@iki.fi> (87ca4b209c)
+
+ lib-storage: Added mail_user_get_storage_class(), which auto-loads storage
+ plugins. The auto-loading is done only if there's already a stub storage
+ registered.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2012-10-12 03:09:27 +0300 Timo Sirainen <tss@iki.fi> (ad8fdcb7e3)
+
+ Makefile: Added cc-wrapper.sh.in missing from last commit
+
+
+M Makefile.am
+
+2012-10-12 03:08:13 +0300 Timo Sirainen <tss@iki.fi> (d80a9e1ca1)
+
+ --without-shared-libs: Link Dovecot libraries with --whole-archive flag for
+ binaries. This removes the need for the ugly unused_objects lists for
+ binaries, which were needed to avoid plugins from failing because they were
+ missing some functions.
+
+ Apparently there's no easy way to use --whole-archive properly with libtool,
+ so there's now a rather ugly cc-wrapper.sh that does it. Also this is done
+ only when GNU ld is deted. Most people are going to use --with-shared-libs
+ though, so I don't think any of this is going to be a real problem.
+
+M .hgignore
+A cc-wrapper.sh.in
+M configure.in
+M src/doveadm/Makefile.am
+M src/indexer/Makefile.am
+M src/lda/Makefile.am
+M src/lmtp/Makefile.am
+M src/pop3/Makefile.am
+
+2012-10-12 02:59:59 +0300 Timo Sirainen <tss@iki.fi> (7e22696da3)
+
+ config: Don't include lib-master/*.c files in all-settings.c lib-master is
+ already being linked to the binaries anyway.
+
+
+M configure.in
+
+2012-10-12 01:21:30 +0300 Timo Sirainen <tss@iki.fi> (14ee25b3a5)
+
+ imap: Don't waste data stack memory at startup.
+
+
+M src/imap/main.c
+
+2012-10-12 01:17:05 +0300 Timo Sirainen <tss@iki.fi> (ce9a7b1f31)
+
+ hostpid_init(): Don't waste memory from data stack. Even though it's only a
+ few bytes, it was being wasted permanently for all processes.
+
+
+M src/lib/hostpid.c
+
+2012-10-12 01:06:13 +0300 Timo Sirainen <tss@iki.fi> (ca4526e3b5)
+
+ i_set_failure_prefix() now takes printf-like parameters. This avoids using
+ t_strdup_printf() with it, which was done very commonly.
+
+
+M src/doveadm/doveadm-mail.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service.c
+M src/lib-storage/mail-storage-service.c
+M src/lib/failures.c
+M src/lib/failures.h
+M src/lmtp/commands.c
+M src/log/log-connection.c
+M src/master/main.c
+
+2012-10-12 01:03:49 +0300 Timo Sirainen <tss@iki.fi> (c58c35722c)
+
+ lib-index: Error handling fix to cache transaction flushing.
+
+
+M src/lib-index/mail-cache-transaction.c
+
+2012-10-12 00:51:41 +0300 Timo Sirainen <tss@iki.fi> (bd63b5b860)
+
+ Plugin ABI version checking improvements. Previously the plugin version was
+ checked against the version string returned by the currently running Dovecot
+ master process, not necessarily the same as the binary. Also
+ version_ignore=yes setting skipped the version check entirely.
+
+ Now there's a new DOVECOT_ABI_VERSION macro that can (at least in theory) be
+ updated only when the ABI actually changes. The version is in format
+ "2.2.ABIv1(2.2.15)", where the (2.2.15) would be the actual Dovecot version
+ number that gets ignored when comparing the strings.
+
+ Also now the plugin version is compared to the actually running binary's
+ ABI, not the master's version, and it can't be ignored with a setting.
+
+M configure.in
+M src/auth/main.c
+M src/config/config-parser.c
+M src/dict/main.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-util.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+M src/lib-storage/mail-storage-service.c
+M src/lib/module-dir.c
+M src/lib/module-dir.h
+M src/plugins/acl/acl-plugin.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-squat/fts-squat-plugin.c
+M src/plugins/fts/doveadm-fts.c
+M src/plugins/fts/fts-plugin.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-stats/imap-stats-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/listescape/listescape-plugin.c
+M src/plugins/mailbox-alias/mailbox-alias-plugin.c
+M src/plugins/notify/notify-plugin.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-plugin.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/stats/stats-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-plugin.c
+M src/plugins/zlib/doveadm-zlib.c
+M src/plugins/zlib/zlib-plugin.c
+
+2012-10-12 00:30:23 +0300 Timo Sirainen <tss@iki.fi> (abceedfdab)
+
+ sdbox: Make sure mail_attachment_fs=sis-queue isn't attempted to be used. It
+ could be fixed, but nobody seems to have used it so far..
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2012-10-12 00:29:41 +0300 Timo Sirainen <tss@iki.fi> (c94d8d6cd2)
+
+ sdbox: Class didn't have MAIL_STORAGE_CLASS_FLAG_FILE_PER_MSG set This
+ currently only meant that mail_prefetch_count setting wasn't working.
+
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2012-10-12 00:22:19 +0300 Timo Sirainen <tss@iki.fi> (c59b9c273b)
+
+ lib-fs API cleanups and improvements
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-common.h
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/index-attachment.c
+
+2012-10-11 23:01:13 +0300 Timo Sirainen <tss@iki.fi> (2b01d76300)
+
+ Compiler warning fix.
+
+
+M src/lib-http/http-url.c
+
+2012-10-10 23:59:12 +0300 Stephan Bosch <stephan@rename-it.nl> (1bd20e2a57)
+
+ Add HTTP date parsing support.
+
+
+M src/lib-http/Makefile.am
+A src/lib-http/http-date.c
+A src/lib-http/http-date.h
+A src/lib-http/test-http-date.c
+A src/lib-http/test-http-header-parser.c
+
+2012-10-10 23:57:56 +0300 Stephan Bosch <stephan@rename-it.nl> (5394bed8aa)
+
+ Adds HTTP URL parse support.
+
+
+M configure.in
+M src/Makefile.am
+A src/lib-http/Makefile.am
+A src/lib-http/http-url.c
+A src/lib-http/http-url.h
+A src/lib-http/test-http-url.c
+
+2012-10-10 23:56:01 +0300 Stephan Bosch <stephan@rename-it.nl> (17c29e3e22)
+
+ Adjust IMAP URL parser to changes in uri-util.
+
+
+M src/lib-imap/imap-url.c
+M src/lib-imap/test-imap-url.c
+
+2012-10-10 23:55:21 +0300 Stephan Bosch <stephan@rename-it.nl> (05262e3132)
+
+ uri-util: Fix handling of '..' and '.' segments in URI paths. As specified
+ by RFC 3986
+
+
+M src/lib/uri-util.c
+
+2012-10-08 08:53:54 +0300 Timo Sirainen <tss@iki.fi> (3654618ca0)
+
+ master: If service { protocol } is set and not included in "protocols",
+ ignore its settings
+
+
+M src/master/master-settings.c
+
+2012-10-08 03:14:12 +0300 Timo Sirainen <tss@iki.fi> (854255e62c)
+
+ fts-lucene: doveadm fts rescan crashed with mailbox_list_index=yes
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2012-10-08 00:48:55 +0300 Timo Sirainen <tss@iki.fi> (b07cb607ae)
+
+ fts-lucene: Compile fix for previous unlink_directory() change
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2012-10-08 00:00:55 +0300 Timo Sirainen <tss@iki.fi> (e85a9aa0cc)
+
+ unlink_directory(): Added UNLINK_DIRECTORY_FLAG_SKIP_DOTFILES flag.
+
+
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib/unlink-directory.c
+M src/lib/unlink-directory.h
+
+2012-10-05 00:15:01 +0300 Timo Sirainen <tss@iki.fi> (5ae75c7e30)
+
+ lib-storage: Don't crash when searching multiple keywords. Fixed by simply
+ removing the keyword merging code. mail_search_args_simplify() is called
+ before mail_search_args_init(), so the keywords are still NULL and merging
+ can't be done. Alternative fix would have been to add string array to
+ mail_search_arg.value containing the keywords, but all of this is a pretty
+ unnecessary optimization.
+
+
+M src/lib-storage/mail-search.c
+
+2012-10-04 02:34:53 +0300 Timo Sirainen <tss@iki.fi> (289064eb21)
+
+ lib-index: Simplified writing to dovecot.index.cache file. The old method
+ was basically: - write max. 32 kB to internal buffer - flush it by writing
+ to reserved areas (with no locks)
+
+ The reserved areas were acquired by doing (whenever needed):
+ - lock dovecot.index.cache
+ - reserve data from dovecot.index.cache for writing, potentially increasing
+ the file size by writing 0 bytes. the reserved area size varies.
+ - unlock dovecot.index.cache
+
+ This worked, but if multiple processes were writing to the cache file it
+ could have left incomplete reserved areas as holes. The holes were attempted
+ to be filled if they were large enough.
+
+ The new method is:
+ - write max. 256 kB to internal buffer
+ - lock dovecot.index.cache
+ - append the buffer to dovecot.index.cache
+ - unlock dovecot.index.cache
+
+ No reserved areas, holes or anything else weird going on.
+
+ Ideally no data would be overwritten in the dovecot.index.cache file, only
+ appended. Unfortunately currently some data is still overwritten:
+ - mail_cache_header.{deleted_space,continued_record_count}
+ - mail_cache_header_fields.next_offset when writing a new one
+ - mail_cache_header_fields.{last_used,decision}
+ - mail_cache_record.prev_offset
+
+ The changing headers could eventually be moved to dovecot.index. This
+ however is a backwards-incompatible change. The record's prev_offset could
+ maybe simply just not be written in those (somewhat rare) problematic
+ situations.
+
+M src/doveadm/doveadm-dump-index.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+
+2012-10-04 02:08:23 +0300 Timo Sirainen <tss@iki.fi> (330206f291)
+
+ dbox: Index rebuilding didn't open dovecot.index.backup file. Recent changes
+ broke it, and it was attemting to use dovecot.index/.backup file instead.
+
+
+M src/lib-storage/index/index-rebuild.c
+
+2012-10-04 00:56:14 +0300 Timo Sirainen <tss@iki.fi> (12d535f8c4)
+
+ Added/updated some copyright comments.
+
+
+M AUTHORS
+M src/doveadm/doveadm-pw.c
+M src/lib-imap/test-imap-url.c
+M src/lib-sql/driver-sqlite.c
+M src/lib/ioloop-epoll.c
+M src/lib/iso8601-date.c
+M src/lib/primes.c
+M src/lib/test-iso8601-date.c
+M src/master/capabilities-posix.c
+M src/plugins/notify/notify-plugin.c
+M src/plugins/notify/notify-storage.c
+
+2012-10-03 18:17:26 +0300 Timo Sirainen <tss@iki.fi> (bdd36cfdba)
+
+ Renamed network.[ch] to net.[ch]. The function prefixes already started with
+ net_ instead of network_. And icecap wants to use network.h for other
+ purpose. :)
+
+
+M src/auth/auth-client-connection.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-penalty.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.h
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/db-ldap.c
+M src/auth/main.c
+M src/auth/passdb-pam.c
+M src/config/config-filter.h
+M src/config/settings-get.pl
+M src/director/auth-connection.c
+M src/director/director-connection.c
+M src/director/director-host.h
+M src/director/director.h
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/mail-host.h
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/server-connection.c
+M src/imap-login/client-authenticate.c
+M src/imap-login/client.h
+M src/imap-urlauth/imap-urlauth-client.c
+M src/imap-urlauth/imap-urlauth-login.c
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/cmd-idle.c
+M src/imap/cmd-urlfetch.c
+M src/imap/imap-client.c
+M src/lib-auth/auth-client.h
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+M src/lib-auth/auth-server-connection.c
+M src/lib-dict/dict-client.c
+M src/lib-dns/dns-lookup.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+M src/lib-imap/imap-url.c
+M src/lib-imap/test-imap-url.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/lmtp-client.h
+M src/lib-master/anvil-client.c
+M src/lib-master/ipc-client.c
+M src/lib-master/ipc-server.c
+M src/lib-master/master-auth.h
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service.h
+M src/lib-settings/settings-parser.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/mail-storage-service.h
+M src/lib-storage/mail-user.c
+M src/lib/Makefile.am
+M src/lib/connection.c
+M src/lib/connection.h
+M src/lib/failures.c
+M src/lib/fd-close-on-exec.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/istream-file.c
+R099 src/lib/network.c src/lib/net.c
+R099 src/lib/network.h src/lib/net.h
+M src/lib/ostream-file.c
+M src/lib/sendfile-util.c
+M src/lib/test-network.c
+M src/lib/unix-socket-create.c
+M src/lib/uri-util.c
+M src/lmtp/client.h
+M src/lmtp/lmtp-proxy.h
+M src/login-common/access-lookup.c
+M src/login-common/client-common.h
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy.h
+M src/login-common/ssl-proxy-gnutls.c
+M src/login-common/ssl-proxy-openssl.c
+M src/master/master-settings.c
+M src/master/service-listen.c
+M src/master/service.h
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/quota/quota.c
+M src/plugins/replication/replication-plugin.c
+M src/plugins/stats/stats-connection.c
+M src/plugins/zlib/doveadm-zlib.c
+M src/pop3-login/client.h
+M src/pop3/pop3-client.c
+M src/replication/aggregator/notify-connection.c
+M src/replication/aggregator/replicator-connection.c
+M src/replication/replicator/doveadm-connection.c
+M src/stats/client-export.c
+M src/stats/mail-stats.h
+M src/util/rawlog.c
+
+2012-10-03 16:57:28 +0300 Timo Sirainen <tss@iki.fi> (32fabcfd45)
+
+ auth: More error checking and cleanups to SCRAM-SHA-1.
+
+
+M src/auth/mech-scram-sha1.c
+M src/auth/password-scheme-scram.c
+M src/auth/password-scheme.h
+
+2012-10-03 05:43:27 +0300 Timo Sirainen <tss@iki.fi> (3f360d072a)
+
+ lib-storage: Fixed potential memory leak when
+ mailbox_transaction_commit_get_changes() failed
+
+
+M src/lib-storage/mail-storage.c
+
+2012-10-03 05:42:55 +0300 Timo Sirainen <tss@iki.fi> (a00b7f49d2)
+
+ lib-storage: When configuring mailbox INBOX {}, make sure INBOX is
+ uppercased.
+
+
+M src/lib-storage/mailbox-list-iter.c
+
+2012-10-03 05:41:46 +0300 Timo Sirainen <tss@iki.fi> (ffb79efcac)
+
+ lib-index: Fix for handling view syncing for already deleted transaction
+ logs. The sync changes' hidden-flag was set randomly, which could have
+ caused flag changes to get lost.
+
+
+M src/lib-index/mail-index-view-sync.c
+
+2012-10-03 05:20:29 +0300 Timo Sirainen <tss@iki.fi> (ca26874b18)
+
+ imap: LIST (SPECIAL-USE) shouldn't send INBOX reply.
+
+
+M src/imap/cmd-list.c
+
+2012-10-03 05:15:11 +0300 Timo Sirainen <tss@iki.fi> (7e418deb5f)
+
+ maildir: Fixed crash with mailbox_list_index=yes
+
+
+M src/lib-storage/index/maildir/maildir-sync-index.c
+
+2012-10-03 04:14:33 +0300 Timo Sirainen <tss@iki.fi> (8f2eb1ee9e)
+
+ lib-dict: Fixed error handling on initialization.
+
+
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+
+2012-10-03 04:09:23 +0300 Timo Sirainen <tss@iki.fi> (d9515a2eaa)
+
+ lib-master: Fixed crashing with -i <instance> parameter handling.
+
+
+M src/lib-master/master-service.c
+
+2012-10-03 04:01:59 +0300 Timo Sirainen <tss@iki.fi> (97cb20eb77)
+
+ Typofix: s/TRANSCATION/TRANSACTION/
+
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+
+2012-10-03 01:38:20 +0300 Timo Sirainen <tss@iki.fi> (9a790c932a)
+
+ sdbox: Fix to handling transactions with partially failed saves.
+
+
+M src/lib-storage/index/dbox-single/sdbox-save.c
+
+2012-10-03 01:26:42 +0300 Timo Sirainen <tss@iki.fi> (60f5757c64)
+
+ mdbox: Fix to handling transactions with partially failed saves.
+
+
+M src/lib-storage/index/dbox-common/dbox-file.c
+
+2012-10-03 01:20:22 +0300 Timo Sirainen <tss@iki.fi> (1e5c0372cf)
+
+ lib-storage: mailbox_save_cancel() now makes sure that dest_mail is reset.
+ This fixes e.g. doveadm import, which continues import even though some
+ messages couldn't be saved.
+
+
+M src/lib-storage/mail-storage.c
+
+2012-10-03 01:19:19 +0300 Timo Sirainen <tss@iki.fi> (4906414a3e)
+
+ lib-storage: struct mail.close() now clears all of its data.
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2012-10-03 01:12:13 +0300 Timo Sirainen <tss@iki.fi> (c3d9da3955)
+
+ dbox: Small code cleanup.
+
+
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+
+2012-10-02 23:24:10 +0300 Timo Sirainen <tss@iki.fi> (231f124bb5)
+
+ lib-storage: When index mkdir() fails with EPERM, create the dir anyway with
+ 0700 mode. This avoids failing entirely when /var/mail/user has 0660
+ permissions and we don't have access to the group. The error message is
+ still logged.
+
+
+M src/lib-storage/mailbox-list.c
+
+2012-10-02 23:12:07 +0300 Timo Sirainen <tss@iki.fi> (0b617d3e07)
+
+ lib-master: Fixed crashes with settings cache.
+
+
+M src/lib-master/master-service-settings-cache.c
+
+2012-10-02 22:37:49 +0300 Timo Sirainen <tss@iki.fi> (da5bcae5bb)
+
+ doveadm: Fixed printing large input from doveadm-server.
+
+
+M src/doveadm/server-connection.c
+
+2012-10-02 21:56:09 +0300 Timo Sirainen <tss@iki.fi> (a7e1fd461a)
+
+ mbox: Fixed getting filesystem permissions when parent dir has setgid-bit
+ enabled.
+
+
+M src/lib-storage/mailbox-list.c
+
+2012-10-02 21:36:43 +0300 Timo Sirainen <tss@iki.fi> (a00cebfb6c)
+
+ lmtp: Fixed hanging on proxying if remote server was down. Patch by Jack
+ Bates.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2012-09-28 15:12:28 +0300 Timo Sirainen <tss@iki.fi> (a092650c6e)
+
+ Compiling fix for HURD
+
+
+M src/lib/compat.h
+
+2012-09-28 15:11:30 +0300 Timo Sirainen <tss@iki.fi> (cf9abf15ed)
+
+ Avoid using PATH_MAX.
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2012-09-28 15:07:11 +0300 Timo Sirainen <tss@iki.fi> (63998e49b1)
+
+ Avoid using PATH_MAX.
+
+
+M src/lib-master/master-instance.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2012-09-27 02:55:14 +0300 Timo Sirainen <tss@iki.fi> (0c4eca80c4)
+
+ mdbox: Don't crash in storage rebuild if mail's "original mailbox" metadata
+ is missing.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2012-09-27 00:19:41 +0300 Timo Sirainen <tss@iki.fi> (ab406f5c4f)
+
+ doveadm altmove: Make sure all storages get purged (and not more than once)
+
+
+M src/doveadm/doveadm-mail-altmove.c
+
+2012-09-26 21:14:23 +0300 Timo Sirainen <tss@iki.fi> (9a1a4c2ca1)
+
+ i_getpwnam(): Ignore EINVAL errors silently. At least FreeBSD returns it
+ when attempting to lookup user@domain.
+
+
+M src/lib/ipwd.c
+
+2012-09-26 21:12:37 +0300 Timo Sirainen <tss@iki.fi> (a94f37b8cc)
+
+ lazy-expunge: Fixed handling non-default namespace separator.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2012-09-24 17:03:42 +0300 Timo Sirainen <tss@iki.fi> (be83284aff)
+
+ auth ldap: Previous change broke %$ variable.
+
+
+M src/auth/auth-request.c
+M src/auth/db-ldap.c
+
+2012-09-24 16:49:29 +0300 Timo Sirainen <tss@iki.fi> (4bbc8a478b)
+
+ ldap auth: Update %variables after each field update. The previous behavior
+ was a bit confusing. "uid=user" at the beginning updated the %u variable,
+ but if it was after templates it didn't update it. Also "=user=%{uid}" that
+ was supposed to be equivalent wasn't. Now the behavior is consistent across
+ all ways to set the fields.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/db-ldap.c
+
+2012-09-24 14:42:38 +0300 Timo Sirainen <tss@iki.fi> (360123b1b4)
+
+ lib-storage: Added ALTNOCHECK option to mail_location. By default Dovecot
+ verifies that $rootdir/dbox-alt-root symlink matches the ALT directory
+ location, and logs an error if not. This is mainly to avoid accidents during
+ initial configuration when for example alt dir was set in global
+ mail_location but was forgotten to be set in userdb reply's mail_location.
+ The ALTNOCHECK setting simply doesn't check or create this symlink, giving a
+ (very) small performance improvement.
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2012-09-24 14:33:52 +0300 Timo Sirainen <tss@iki.fi> (02e8b5f552)
+
+ lmtp: Added lmtp_rcpt_check_quota setting to check quota already on RCPT TO.
+
+
+M doc/example-config/conf.d/20-lmtp.conf
+M src/lmtp/commands.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2012-09-24 14:31:16 +0300 Timo Sirainen <tss@iki.fi> (9357960a30)
+
+ lib-storage: Added STATUS_CHECK_OVER_QUOTA for checking if user is over
+ quota.
+
+
+M src/lib-storage/mail-storage.h
+M src/plugins/quota/quota-storage.c
+
+2012-09-24 14:24:58 +0300 Timo Sirainen <tss@iki.fi> (812c65b842)
+
+ imapc: And another compile fix.. Using the macro would have required
+ config/all-settings.c to include imapc-client.h, which is a bit too much
+ trouble just for this.
+
+
+M src/lib-storage/index/imapc/imapc-settings.c
+
+2012-09-24 14:22:40 +0300 Timo Sirainen <tss@iki.fi> (25351f434e)
+
+ imapc: Compile fix for previous change.
+
+
+M src/lib-storage/index/imapc/imapc-settings.c
+
+2012-09-24 14:16:41 +0300 Timo Sirainen <tss@iki.fi> (b5bdc43c49)
+
+ auth: passdb imap assert-crashed always
+
+
+M src/auth/passdb-imap.c
+
+2012-09-24 14:16:32 +0300 Timo Sirainen <tss@iki.fi> (bf5a238894)
+
+ imapc: Added IMAPC_DEFAULT_MAX_IDLE_TIME macro.
+
+
+M src/lib-imap-client/imapc-client.h
+M src/lib-storage/index/imapc/imapc-settings.c
+
+2012-09-22 19:23:15 +0300 Timo Sirainen <tss@iki.fi> (eaccbf33a2)
+
+ lib-lda: After auto-creating mailbox only open it, don't bother syncing it.
+
+
+M src/lib-lda/mail-deliver.c
+
+2012-09-21 11:44:17 +0200 Timo Sirainen <tss@iki.fi> (c684835114)
+
+ mdbox: Delay getting permissions for map/message files. This avoids a stat()
+ if no mailbox is opened.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-map-private.h
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2012-09-21 09:26:10 +0200 Timo Sirainen <tss@iki.fi> (a795ff053b)
+
+ lmtp: After successful proxying RCPT TO, the second one to nonexistent user
+ gave tempfail error. Instead of "unknown user" it gave "Can't handle mixed
+ proxy/non-proxy destinations".
+
+
+M src/lmtp/commands.c
+
+2012-09-21 09:23:58 +0200 Timo Sirainen <tss@iki.fi> (e8694bd462)
+
+ lmtp: RSET/LHLO should reset any pending proxy connections.
+
+
+M src/lmtp/client.c
+
+2012-09-21 09:22:54 +0200 Timo Sirainen <tss@iki.fi> (059b4bb561)
+
+ config: Don't ignore invalid network/mask in local/remote blocks
+
+
+M src/config/config-parser.c
+
+2012-09-19 03:13:39 +0200 Florian Zeitz <florob@babelmonkeys.de> (8455d9a9d1)
+
+ auth: Add and use SCRAM-SHA-1 password scheme
+
+
+M src/auth/Makefile.am
+M src/auth/mech-scram-sha1.c
+A src/auth/password-scheme-scram.c
+M src/auth/password-scheme.c
+M src/auth/password-scheme.h
+
+2012-10-03 03:20:57 +0300 Timo Sirainen <tss@iki.fi> (11db8fc48c)
+
+ imap: If CLOSE/EXPUNGE fails with "permission denied", return tagged OK
+ anyway.
+
+
+M src/imap/cmd-close.c
+M src/imap/cmd-expunge.c
+
+2012-10-03 03:20:15 +0300 Timo Sirainen <tss@iki.fi> (742230f6ea)
+
+ acl: Don't silently ignore permission error on expunge.
+
+
+M src/plugins/acl/acl-mailbox.c
+
+2012-10-03 03:19:20 +0300 Timo Sirainen <tss@iki.fi> (24491cfd5e)
+
+ imap: Removed unnecessary code.
+
+
+M src/imap/cmd-expunge.c
+M src/imap/imap-client.h
+M src/imap/imap-sync.c
+
+2012-10-03 02:29:02 +0300 Timo Sirainen <tss@iki.fi> (8c5eeb1ab1)
+
+ imap: Fixed partial FETCHes.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2012-10-03 02:28:44 +0300 Timo Sirainen <tss@iki.fi> (714611c561)
+
+ lib-mail: Moved message_skip_virtual() to message-size.[ch] and changed API
+
+
+M src/lib-mail/Makefile.am
+D src/lib-mail/message-send.c
+D src/lib-mail/message-send.h
+M src/lib-mail/message-size.c
+M src/lib-mail/message-size.h
+
+2012-10-03 02:28:31 +0300 Timo Sirainen <tss@iki.fi> (9e1d2c85b7)
+
+ imap: Removed unnecessary #includes
+
+
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+
+2012-09-30 19:11:55 +0300 Timo Sirainen <tss@iki.fi> (0c1835a90d)
+
+ Added [io]_stream_create_error() for creating streams that always fail
+ reads/writes.
+
+
+M src/lib/istream.c
+M src/lib/istream.h
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2012-10-03 00:41:18 +0300 Timo Sirainen <tss@iki.fi> (e31bf6003e)
+
+ auth: Don't add proxy/pass fields when we're only authenticating (not
+ logging in). For example SMTP server doesn't need these fields when doing
+ SMTP AUTH.
+
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2012-09-18 21:42:34 +0300 Timo Sirainen <tss@iki.fi> (3f1d004a63)
+
+ Added signature for changeset 1a6c3b4e92e4
+
+
+M .hgsigs
+
+2012-09-18 21:42:27 +0300 Timo Sirainen <tss@iki.fi> (54955c2bc9)
+
+ Added tag 2.1.10 for changeset 1a6c3b4e92e4
+
+
+M .hgtags
+
+2012-09-18 21:42:27 +0300 Timo Sirainen <tss@iki.fi> (01ebee3689)
+
+ Released v2.1.10.
+
+
+M NEWS
+M configure.in
+
+2012-09-18 20:53:50 +0300 Timo Sirainen <tss@iki.fi> (ff057a48c1)
+
+ fts-lucene: Compiling fix for previous change
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2012-09-18 20:48:25 +0300 Timo Sirainen <tss@iki.fi> (3f902db3a7)
+
+ director: Fixed weak-user handling when there is only one director.
+
+
+M src/director/director-request.c
+
+2012-09-18 20:09:03 +0300 Timo Sirainen <tss@iki.fi> (6dbe040bde)
+
+ fts-lucene: Added "normalize" option to put data through user's normalizer
+ function.
+
+
+M src/plugins/fts-lucene/Snowball.cc
+M src/plugins/fts-lucene/SnowballAnalyzer.h
+M src/plugins/fts-lucene/SnowballFilter.h
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/fts-lucene-plugin.h
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2012-09-18 20:07:21 +0300 Timo Sirainen <tss@iki.fi> (d74c9540cd)
+
+ Backported parts of normalizer_func_t changes from v2.2 tree.
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+M src/lib/unichar.h
+
+2012-09-18 20:06:56 +0300 Timo Sirainen <tss@iki.fi> (65cca8364f)
+
+ lib-storage: Compiling fix for previous alias symlink change
+
+
+M src/lib-storage/mailbox-list.c
+
+2012-09-18 19:57:48 +0300 Timo Sirainen <tss@iki.fi> (eefd884934)
+
+ auth: userdb static used auth caching wrong when verifying user existence
+ with passdb lookup. Cache entries were being looked/added for userdbs
+ instead of passdbs. This caused problems at least with:
+
+ a) Multiple userdbs (where static userdb was the last). Passdb results were
+ added as cache entries to the first userdbs, possibly causing some
+ confusion.
+
+ b) Multiple passdbs, because the first passdb result was added to cache and
+ used for the rest of the passdbs.
+
+M src/auth/userdb-static.c
+
+2012-09-18 19:16:04 +0300 Timo Sirainen <tss@iki.fi> (d7babe048f)
+
+ quota: Allow negative percentage rules up to -99%
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2012-09-18 18:44:46 +0300 Timo Sirainen <tss@iki.fi> (7313101ef0)
+
+ Added mailbox-alias plugin. Aliases can be created like:
+
+ plugin {
+ mailbox_alias_old = Sent
+ mailbox_alias_new = Sent Messages
+ mailbox_alias_old2 = Sent
+ mailbox_alias_new2 = Sent Items
+ }
+
+ When creating an alias, the original mailbox is also created. The alias
+ itself is a symlink to the original. Deleting an alias deletes the symlink.
+ The original mailbox can't be deleted or renamed while it has aliases.
+ Aliases cannot be renamed. Aliases are skipped when recalculating quota.
+
+ If a mailbox with the alias's name was already created before the aliasing
+ was enabled, it's not treated as alias until it's first deleted.
+
+M configure.in
+M src/plugins/Makefile.am
+A src/plugins/mailbox-alias/Makefile.am
+A src/plugins/mailbox-alias/mailbox-alias-plugin.c
+A src/plugins/mailbox-alias/mailbox-alias-plugin.h
+
+2012-09-18 18:41:01 +0300 Timo Sirainen <tss@iki.fi> (9dfd7d4365)
+
+ fts-solr: Skip alias symlinks when rescanning.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2012-09-18 18:40:46 +0300 Timo Sirainen <tss@iki.fi> (09b4a50740)
+
+ quota: Skip alias symlinks when calculating quota
+
+
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-maildir.c
+
+2012-09-18 18:40:17 +0300 Timo Sirainen <tss@iki.fi> (77b5fd56e5)
+
+ lib-storage: MAILBOX_LIST_ITER_SKIP_ALIASES now skips also "alias symlinks"
+ An "alias symlink" is a symlink that points to the same directory. These can
+ safely be skipped when iterating through all mails in all mailboxes (unlike
+ other symlinks that may point to external storages).
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2012-09-14 20:51:02 +0300 Timo Sirainen <tss@iki.fi> (fcb5f4cd72)
+
+ pop3c: Fetching message size could have returned wrong value
+
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+
+2012-09-12 00:20:47 +0300 Timo Sirainen <tss@iki.fi> (dff32d11a4)
+
+ director: Improved logging related to disconnections.
+
+
+M src/director/director-connection.c
+M src/director/director-connection.h
+M src/director/director.c
+M src/director/director.h
+
+2012-09-12 00:04:34 +0300 Timo Sirainen <tss@iki.fi> (33e3cf3775)
+
+ director: Already seen USER-WEAK command caused director to disconnect.
+
+
+M src/director/director-connection.c
+
+2012-09-11 20:45:38 +0300 Timo Sirainen <tss@iki.fi> (002858d285)
+
+ imapc: Fixed parsing "text" input after OK/NO/BAD/BYE.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2012-09-11 20:44:37 +0300 Timo Sirainen <tss@iki.fi> (0bd9face89)
+
+ lib-imap: Added IMAP_PARSE_FLAG_SERVER_TEXT that fixes parsing input from
+ IMAP server.
+
+
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-parser.h
+
+2012-09-11 19:14:09 +0300 Dafan Zhai <dafan.zhai@securepoint.de> (55a2e570d6)
+
+ lib-storage: Fixed memory leak getting MAILBOX_METADATA_VIRTUAL_SIZE
+ Function virtual_size_add_new forgets to free the 'search_args' object after
+ it searches the mails. --- src/lib-storage/index/index-status.c | 1 + 1
+ files changed, 1 insertions(+), 0 deletions(-)
+
+
+M src/lib-storage/index/index-status.c
+
+2012-09-11 18:42:05 +0300 Timo Sirainen <tss@iki.fi> (2984b6b095)
+
+ Decrease minimum memory allocations. This is mainly to avoid wasting
+ settings-related memory for IMAP processes. Probably something more radical
+ should be done at some point.
+
+
+M src/lib-imap/imap-parser.c
+M src/lib-settings/settings-parser.c
+M src/lib-storage/mail-storage-service.c
+M src/lib/hash.c
+
+2012-09-11 18:26:33 +0300 Timo Sirainen <tss@iki.fi> (1439ac8e65)
+
+ lib-master: Decrease initial memory pool size
+
+
+M src/lib-master/master-service-settings-cache.c
+
+2012-09-11 17:13:51 +0300 Timo Sirainen <tss@iki.fi> (ee2f574898)
+
+ acl: Don't add sameuser -> sameuser entries to ACL dict.
+
+
+M src/plugins/acl/acl-lookup-dict.c
+
+2012-09-06 16:50:00 +0300 Timo Sirainen <tss@iki.fi> (f2a1955d99)
+
+ doveadm: Added exec command to easily execute commands from libexec_dir. For
+ example: doveadm exec imap -u user@domain
+
+
+M src/doveadm/Makefile.am
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/doveadm.c
+
+2012-09-04 17:18:08 +0300 Timo Sirainen <tss@iki.fi> (12976f028a)
+
+ lib-storage: Added "disabled" setting for namespaces.
+
+
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2012-09-02 16:06:45 +0300 Timo Sirainen <tss@iki.fi> (9a312bf5e7)
+
+ Various fixes to listing mailboxes. Some of these are a bit kludgy, v2.2 has
+ a larger rewrite of the code to implement them more nicely.
+
+
+M src/imap/cmd-list.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-08-31 16:19:21 +0300 Timo Sirainen <tss@iki.fi> (e5c3a8099b)
+
+ mbox: Fix to previous public namespace location detection crashfix.
+
+
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2012-08-31 16:17:23 +0300 Timo Sirainen <tss@iki.fi> (860e6dd603)
+
+ lib-storage: Don't crash when trying to detect public namespace's
+ mail_location. Public namespaces have no owner.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2012-08-30 21:56:43 +0300 Timo Sirainen <tss@iki.fi> (4396b62b90)
+
+ layout=fs mailbox listing: Fix to prefix=INBOX/ handling
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-08-30 00:43:56 +0200 Florian Zeitz <florob@babelmonkeys.de> (0a3769a4ef)
+
+ lib: Generalize hmac to be hash independent
+
+
+M src/auth/auth-token.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-scram-sha1.c
+M src/auth/password-scheme.c
+M src/lib-imap-urlauth/imap-urlauth.c
+M src/lib-ntlm/ntlm-encrypt.c
+M src/lib/Makefile.am
+A src/lib/hmac-cram-md5.c
+A src/lib/hmac-cram-md5.h
+D src/lib/hmac-md5.c
+D src/lib/hmac-md5.h
+D src/lib/hmac-sha1.c
+D src/lib/hmac-sha1.h
+A src/lib/hmac.c
+A src/lib/hmac.h
+
+2012-10-02 22:45:34 +0300 Timo Sirainen <tss@iki.fi> (54fa2c9c1f)
+
+ lib-imap: Minor fix to imap_url_parse()
+
+
+M src/lib-imap/imap-url.c
+
+2012-09-28 15:11:54 +0300 Timo Sirainen <tss@iki.fi> (cf637d2adc)
+
+ Compiler warning fix for previous change
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2012-09-28 15:07:11 +0300 Timo Sirainen <tss@iki.fi> (afc8d11e88)
+
+ Avoid using PATH_MAX.
+
+
+M src/lib-master/master-instance.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2012-09-28 02:19:07 +0300 Timo Sirainen <tss@iki.fi> (8820df7958)
+
+ maildir: Directories were created without execute-permissions Broken by
+ recent changes.
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2012-09-28 00:11:19 +0300 Timo Sirainen <tss@iki.fi> (e0aff4c7e3)
+
+ lib-storage: Added initial implementation for layout=index. The idea is that
+ all of the mailbox names only exist in the mailbox list index. Storage
+ directories use mailbox GUIDs. This avoids all kinds of race conditions with
+ mailbox renames. mailbox_list_index=yes is required for this layout to work.
+
+ There are probably still some race conditions within the indexing code
+ itself. Also error recovery is missing.
+
+M configure.in
+M src/lib-storage/list/Makefile.am
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-delete.h
+M src/lib-storage/list/mailbox-list-fs.c
+A src/lib-storage/list/mailbox-list-index-backend.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-status.c
+A src/lib-storage/list/mailbox-list-index-storage.h
+M src/lib-storage/list/mailbox-list-index-sync.c
+A src/lib-storage/list/mailbox-list-index-sync.h
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/list/mailbox-list-maildir.c
+
+2012-09-28 00:03:12 +0300 Timo Sirainen <tss@iki.fi> (8e853397a7)
+
+ lib-storage: Do mailbox autocreation elsewhere also besides just
+ mailbox_open()
+
+
+M src/lib-storage/mail-storage.c
+
+2012-09-28 00:00:16 +0300 Timo Sirainen <tss@iki.fi> (68664df76f)
+
+ lib-storage: If trying to rename mailbox over itself, fail early.
+
+
+M src/lib-storage/mail-storage.c
+
+2012-09-27 23:58:54 +0300 Timo Sirainen <tss@iki.fi> (bb6301e257)
+
+ doveadm dump -t index: Added support for mailbox list index records.
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2012-09-26 20:50:08 +0300 Timo Sirainen <tss@iki.fi> (9fc97c8aa8)
+
+ lib-storage: mailbox_get_path() and friends can now return an error. An
+ upcoming "index" mailbox_list backend uses mailbox GUIDs as the directory
+ names. Doing a name => GUID lookup may fail, so the path lookup may fail.
+
+ This is a somewhat annoying change and perhaps it can be removed in future,
+ but for now it looks like it can't be avoided.
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/indexer/master-connection.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/mailbox-alias/mailbox-alias-plugin.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota.c
+
+2012-09-26 18:01:01 +0300 Timo Sirainen <tss@iki.fi> (fca7aa88ab)
+
+ Merged changes from v2.1 tree.
+
+
+2012-09-26 17:17:08 +0300 Timo Sirainen <tss@iki.fi> (25ad65a0d1)
+
+ lib-storage: Cleanup, use the new mailbox_*() instead of mailbox_list_*()
+ when possible.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage.c
+
+2012-09-26 17:11:22 +0300 Timo Sirainen <tss@iki.fi> (94f84d1c3f)
+
+ lib-storage: Cleanups to mailbox mkdir() related functions.
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2012-09-26 02:31:33 +0300 Timo Sirainen <tss@iki.fi> (67131ca00f)
+
+ lib-storage: Make sure permissions are refreshed after creating mailbox
+ directory.
+
+
+M src/lib-storage/index/index-storage.c
+
+2012-09-26 01:47:21 +0300 Timo Sirainen <tss@iki.fi> (3d5d5a26ff)
+
+ lib-storage: Fixed creating selectable mailbox when it was already \Noselect
+
+
+M src/lib-storage/index/index-storage.c
+
+2012-09-26 01:38:59 +0300 Timo Sirainen <tss@iki.fi> (76b91bac78)
+
+ lib-storage: mailbox_list_get_root_permissions() now returns struct
+ mailbox_permissions.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-map-private.h
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/lib-storage/mailbox-uidvalidity.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/quota/quota-maildir.c
+
+2012-09-26 00:56:08 +0300 Timo Sirainen <tss@iki.fi> (6c75379a3d)
+
+ lib-storage: Invalid subscription entries weren't removed always with
+ subscriptions=no namespaces.
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2012-09-26 00:38:45 +0300 Timo Sirainen <tss@iki.fi> (569a849220)
+
+ lib-storage: Allow mailbox name to begin with separator if
+ mail_full_filesystem_access=yes
+
+
+M src/lib-storage/mail-storage.c
+
+2012-09-26 00:35:10 +0300 Timo Sirainen <tss@iki.fi> (3d6fdafca1)
+
+ lib-storage: Removed mailbox_list.create_mailbox_dir() virtual function. It
+ really didn't need to be virtual. Some storages didn't care about it, others
+ wanted it to work basically the same.
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list-private.h
+M src/plugins/acl/acl-mailbox-list.c
+
+2012-09-26 00:25:21 +0300 Timo Sirainen <tss@iki.fi> (da1c31ec55)
+
+ maildir: Minor fixes and code cleanup to mailbox creation.
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2012-09-26 00:23:02 +0300 Timo Sirainen <tss@iki.fi> (48ce03445e)
+
+ lib-storage: Improved mailbox_list_mkdir() error handling.
+
+
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2012-09-25 23:38:14 +0300 Timo Sirainen <tss@iki.fi> (e2f29d05aa)
+
+ lib-storage: Create "maildirfolder" file only with maildir storage.
+ Previously it was created for all storages, as long as they used
+ LAYOUT=maildir++. The file is mainly meant for MDAs that want to update
+ maildirsize quota, but that's only available for Maildir storage.
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/list/mailbox-list-maildir.c
+
+2012-09-25 23:23:53 +0300 Timo Sirainen <tss@iki.fi> (a71cf79a95)
+
+ lib-storage: Removed unused MAILBOX_DIR_CREATE_TYPE_ONLY_NOSELECT
+
+
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mailbox-list-private.h
+
+2012-09-25 22:53:36 +0300 Timo Sirainen <tss@iki.fi> (e9df0f2854)
+
+ Various cleanups to checking if mailbox name is valid.
+
+
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/plugins/acl/acl-backend-vfile.c
+
+2012-09-25 22:51:46 +0300 Timo Sirainen <tss@iki.fi> (753f22d1ce)
+
+ lib-storage: Fixed shared namespace autocreation after previous mailbox list
+ changes. mailbox_list_is_valid_existing_name() no longer goes all the way
+ through to shared-list backend, but mailbox_list_join_refpattern() does.
+
+
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2012-09-25 22:40:55 +0300 Timo Sirainen <tss@iki.fi> (c9160ac09e)
+
+ lib-fs: Fix to previous change
+
+
+M src/lib-fs/fs-api.c
+
+2012-09-25 21:45:00 +0300 Timo Sirainen <tss@iki.fi> (442b4c6c0d)
+
+ lib-storage: Removed mailbox list backend-specific mailbox name/pattern
+ validation. The virtual name validity is independent of the backend. The
+ physical name is always used for paths in filesystem, so it can also be
+ verified with common code. Backend's mailbox_dir and storage's internal
+ directories can also be checked. There's nothing else left really.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-fs.h
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-maildir.h
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+
+2012-09-25 21:31:41 +0300 Timo Sirainen <tss@iki.fi> (1f149331f2)
+
+ lib-storage: Removed unused mailbox_list_create_dir()
+
+
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2012-09-25 21:27:30 +0300 Timo Sirainen <tss@iki.fi> (d508ab8db2)
+
+ lib-storage: If list escape_char is set, allow ".", ".." and "dbox-Mails"
+ mailbox names.
+
+
+M src/lib-storage/mailbox-list.c
+
+2012-09-25 20:51:07 +0300 Timo Sirainen <tss@iki.fi> (dd98481a87)
+
+ lib-storage: Added asserts to make sure mailbox_open() is called early
+ enough.
+
+
+M src/lib-storage/mail-storage.c
+
+2012-09-25 20:15:58 +0300 Timo Sirainen <tss@iki.fi> (feaa6a3d82)
+
+ lib-storage: Added mailbox_get_path_to() wrapper for
+ mailbox_list_get_path(). Changed the code to use as much of
+ mailbox_get_path_to() and mailbox_get_path() as possible.
+
+
+M src/indexer/Makefile.am
+M src/indexer/master-connection.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/index-rebuild.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/quota/quota-fs.c
+
+2012-09-25 17:44:37 +0300 Timo Sirainen <tss@iki.fi> (4630728250)
+
+ lib-fs: Minor code cleanup
+
+
+M src/lib-fs/fs-api.c
+
+2012-09-25 17:42:44 +0300 Timo Sirainen <tss@iki.fi> (268b72128f)
+
+ lib-storage: Added mail_storage_copy_error()
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2012-09-25 17:41:58 +0300 Timo Sirainen <tss@iki.fi> (5921647936)
+
+ lib-index: Transaction log creation crashed if required extension name
+ length wasn't divisible by 4.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2012-09-25 17:37:55 +0300 Timo Sirainen <tss@iki.fi> (27635b9f23)
+
+ lib-storage: Moved dbox-sync-rebuild API to more generic index-rebuild.
+
+
+M src/lib-storage/index/Makefile.am
+M src/lib-storage/index/dbox-common/Makefile.am
+D src/lib-storage/index/dbox-common/dbox-sync-rebuild.h
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+R078 src/lib-storage/index/dbox-common/dbox-sync-rebuild.c src/lib-storage/index/index-rebuild.c
+A src/lib-storage/index/index-rebuild.h
+
+2012-09-25 17:31:15 +0300 Timo Sirainen <tss@iki.fi> (755abfa2bc)
+
+ dbox: Renamed dbox_sync_rebuild_verify_alt_storage() to
+ dbox_verify_alt_storage()
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+M src/lib-storage/index/dbox-common/dbox-sync-rebuild.c
+M src/lib-storage/index/dbox-common/dbox-sync-rebuild.h
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+
+2012-09-24 16:33:07 +0300 Timo Sirainen <tss@iki.fi> (cf1b789e26)
+
+ doveadm: Install doveadm-settings.h header
+
+
+M src/doveadm/Makefile.am
+
+2012-09-22 19:23:15 +0300 Timo Sirainen <tss@iki.fi> (bd5ef33508)
+
+ lib-lda: After auto-creating mailbox only open it, don't bother syncing it.
+
+
+M src/lib-lda/mail-deliver.c
+
+2012-09-22 19:21:58 +0300 Timo Sirainen <tss@iki.fi> (498c6beaa6)
+
+ imapc: Fixed crash when saving/copying messages.
+
+
+M src/lib-storage/index/imapc/imapc-save.c
+
+2012-09-20 01:01:20 +0300 Timo Sirainen <tss@iki.fi> (3b3a70990a)
+
+ config: Fixes to previous module change.
+
+
+M src/config/config-connection.c
+M src/config/config-request.c
+M src/config/doveconf.c
+
+2012-09-19 18:07:46 +0300 Timo Sirainen <tss@iki.fi> (3c932c0a21)
+
+ lib-storage: Verify that the shared library's version matches the binary's
+ version.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2012-09-19 17:49:28 +0300 Timo Sirainen <tss@iki.fi> (8391619213)
+
+ imap: Fixed crashing in QRESYNC SELECT.
+
+
+M src/imap/cmd-fetch.c
+M src/imap/cmd-select.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+M src/imap/imap-search-args.c
+M src/imap/imap-search-args.h
+
+2012-09-19 15:34:00 +0300 Timo Sirainen <tss@iki.fi> (32b78da5df)
+
+ Read SSL settings only if service has SSL sockets or
+ MASTER_SERVICE_FLAG_USE_SSL_SETTINGS.
+
+
+M src/auth/auth-settings.c
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service-ssl-settings.c
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+M src/lib-storage/mail-storage-service.c
+M src/lmtp/lmtp-settings.c
+M src/login-common/login-settings.c
+M src/login-common/main.c
+
+2012-09-19 15:33:10 +0300 Timo Sirainen <tss@iki.fi> (633a3da9d3)
+
+ config: Support looking up config for multiple modules at the same time.
+
+
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-filter.h
+M src/config/config-parser-private.h
+M src/config/config-parser.c
+M src/config/config-parser.h
+M src/config/config-request.c
+M src/config/config-request.h
+M src/config/doveconf.c
+M src/config/main.c
+
+2012-09-18 05:12:28 +0300 Timo Sirainen <tss@iki.fi> (533bf074af)
+
+ lib-fs: Fix to previous API change
+
+
+M src/lib-fs/fs-api.c
+
+2012-09-17 18:13:32 +0300 Timo Sirainen <tss@iki.fi> (d4c3d55021)
+
+ lib-fs: fs_init() API changed to allow returning an error.
+
+
+M src/lib-fs/fs-api-private.h
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-api.h
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2012-09-17 17:51:03 +0300 Timo Sirainen <tss@iki.fi> (20d7236c01)
+
+ sdbox: Removed unnecessary code line.
+
+
+M src/lib-storage/index/dbox-single/sdbox-storage.h
+
+2012-09-16 16:48:48 +0300 Timo Sirainen <tss@iki.fi> (1c522e0fcb)
+
+ Makefile: Fixed building fts-squat
+
+
+M src/plugins/fts-squat/Makefile.am
+
+2012-09-16 16:42:25 +0300 Timo Sirainen <tss@iki.fi> (791230632f)
+
+ Makefile: Again changes to handling test program dependencies. .la libraries
+ need to link .lo files, .a libraries need to link .o files. Changed dsync to
+ be .la library for consistency.
+
+
+M src/doveadm/Makefile.am
+M src/doveadm/dsync/Makefile.am
+M src/lib-dict/Makefile.am
+M src/lib-imap/Makefile.am
+M src/lib-index/Makefile.am
+M src/lib-mail/Makefile.am
+M src/lib-storage/Makefile.am
+M src/plugins/fts/Makefile.am
+
+2012-09-16 16:31:32 +0300 Timo Sirainen <tss@iki.fi> (a8fe899601)
+
+ Removed all the "enum foo;" declarations. They didn't seem to be very
+ standard. Old gcc versions warn about them and C++ code doesn't like them.
+
+
+M src/auth/passdb-cache.h
+M src/config/config-request.h
+M src/config/old-set-parser.h
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.h
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/doveadm-mailbox-list-iter.h
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/imap/cmd-list.c
+M src/imap/cmd-notify.c
+M src/imap/imap-notify.c
+M src/lib-imap/imap-util.h
+M src/lib-index/mail-index-modseq.h
+M src/lib-lda/mail-deliver.h
+M src/lib-storage/Makefile.am
+M src/lib-storage/index/imapc/imapc-sync.h
+M src/lib-storage/index/maildir/maildir-sync.h
+M src/lib-storage/list/mailbox-list-delete.h
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/list/mailbox-list-subscriptions.h
+A src/lib-storage/mailbox-list-iter.h
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.h
+M src/plugins/notify/notify-plugin.h
+M src/plugins/quota/quota-count.c
+M src/plugins/virtual/virtual-config.c
+
+2012-09-16 16:12:03 +0300 Timo Sirainen <tss@iki.fi> (f561fba302)
+
+ Compiler warning fixes for 32bit systems.
+
+
+M src/director/user-directory.c
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib/json-parser.c
+
+2012-09-16 16:08:18 +0300 Timo Sirainen <tss@iki.fi> (f0cd1d0022)
+
+ Fixed compiling with OSes where NULL isn't defined as void pointer (e.g.
+ Solaris).
+
+
+M src/anvil/main.c
+M src/auth/auth-request-handler.c
+M src/auth/userdb-passwd.c
+M src/director/director-test.c
+M src/imap/imap-fetch-body.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-storage/index/index-search.c
+M src/lib/lib-signals.c
+M src/replication/replicator/replicator.c
+
+2012-09-16 16:02:22 +0300 Stephan Bosch <stephan@rename-it.nl> (4fa772eefd)
+
+ imap-urlauth: Fixed crashes when destroying client
+
+
+M src/imap-urlauth/imap-urlauth-worker.c
+
+2012-09-16 16:02:18 +0300 Stephan Bosch <stephan@rename-it.nl> (ecc3dad212)
+
+ imap-urlauth: Treat internal errors in URL fetching differently from invalid
+ URLs.
+
+
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/lib-imap-urlauth/imap-urlauth-fetch.c
+
+2012-09-16 16:02:15 +0300 Stephan Bosch <stephan@rename-it.nl> (6541da9474)
+
+ imap-urlauth: Fixes to handling anonymous user
+
+
+M src/imap-urlauth/imap-urlauth-worker.c
+M src/imap/imap-client.c
+M src/lib-imap-urlauth/imap-urlauth-private.h
+M src/lib-imap-urlauth/imap-urlauth.c
+M src/lib-imap-urlauth/imap-urlauth.h
+
+2012-09-16 16:02:11 +0300 Stephan Bosch <stephan@rename-it.nl> (dc599de609)
+
+ lib-dict: Previous API change broke dict_init()
+
+
+M src/lib-dict/dict-file.c
+
+2012-09-16 15:40:10 +0300 Timo Sirainen <tss@iki.fi> (41e6163a8c)
+
+ Makefile: Fixed test program dependencies Explicit dependencies on .o or .lo
+ files didn't seem to work properly and with high enough make -j value the
+ build failed. Depending on the entire library guarantees that all the
+ individual .o files have been built.
+
+
+M src/anvil/Makefile.am
+M src/auth/Makefile.am
+M src/director/Makefile.am
+M src/doveadm/dsync/Makefile.am
+M src/lib-dict/Makefile.am
+M src/lib-imap/Makefile.am
+M src/lib-index/Makefile.am
+M src/lib-mail/Makefile.am
+M src/lib-storage/Makefile.am
+M src/plugins/fts-squat/Makefile.am
+M src/plugins/fts/Makefile.am
+
+2012-09-16 04:16:07 +0300 Timo Sirainen <tss@iki.fi> (8204c6af88)
+
+ Makefile: Link libdovecot-ssl with libdovecot. This fixes linking with e.g.
+ OSX.
+
+
+M src/lib-dovecot/Makefile.am
+
+2012-09-16 04:05:13 +0300 Timo Sirainen <tss@iki.fi> (5ee7c64918)
+
+ Makefile: Fixed dependencies for imap-urlauth
+
+
+M src/imap-urlauth/Makefile.am
+
+2012-09-16 01:08:11 +0300 Timo Sirainen <tss@iki.fi> (22186f0044)
+
+ Makefile: Fixed imap-urlauth library dependencies
+
+
+M src/imap-urlauth/Makefile.am
+
+2012-09-16 01:06:04 +0300 Timo Sirainen <tss@iki.fi> (c6addce40a)
+
+ lib-imap-storage: imap_msgpart_size() should return size as uoff_t, not
+ size_t
+
+
+M src/imap/imap-fetch-body.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-storage/imap-msgpart.h
+
+2012-09-16 01:02:10 +0300 Timo Sirainen <tss@iki.fi> (53ba38f771)
+
+ imap: Assert-crashfix for URLFETCH command.
+
+
+M src/imap/imap-client.c
+
+2012-09-16 00:56:51 +0300 Timo Sirainen <tss@iki.fi> (d03a871a77)
+
+ Renamed str_tabescape_write() to str_append_tabescaped()
+
+
+M src/anvil/connect-limit.c
+M src/anvil/penalty.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-stream.c
+M src/auth/checkpassword-reply.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/dsync/dsync-ibc-stream.c
+M src/doveadm/dsync/dsync-serializer.c
+M src/imap-urlauth/imap-urlauth-client.c
+M src/indexer/worker-connection.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-master.c
+M src/lib-imap-urlauth/imap-urlauth-connection.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-login.c
+M src/lib/strescape.c
+M src/lib/strescape.h
+M src/log/doveadm-connection.c
+M src/master/service-process.c
+M src/plugins/replication/replication-plugin.c
+M src/plugins/stats/stats-connection.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/replicator-queue.c
+M src/stats/client-export.c
+M src/util/script-login.c
+
+2012-09-16 00:52:39 +0300 Timo Sirainen <tss@iki.fi> (1039955965)
+
+ dict_init() API changed to return int.
+
+
+M src/auth/db-dict.c
+M src/dict/dict-connection.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+M src/lib-imap-urlauth/imap-urlauth-backend.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/quota/quota-dict.c
+
+2012-09-15 23:57:08 +0300 Stephan Bosch <stephan@rename-it.nl> (f9511e6848)
+
+ Added support for IMAP URLAUTH and URLAUTH=BINARY extensions
+
+ Extends imap service with URLAUTH and URLAUTH=BINARY support:
+ - Adds new commands URLFETCH, GENURLAUTH and RESETKEY.
+
+ Creates imap-urlauth service in src/imap-urlauth.
+
+ Functionality common to both the imap and imap-urlauth services is located
+ in src/lib-imap-urlauth.
+
+ TODO:
+ - use mailbox GUIDs instead of names
+ - doveadm command to delete stale urlauth entries?
+ - add delay when attempting to access nonexistent user
+ - create urlauth-worker queue, similar to how indexer-worker works
+ (could we share code?..)
+
+M .hgignore
+M README
+M configure.in
+M src/Makefile.am
+A src/imap-urlauth/Makefile.am
+A src/imap-urlauth/imap-urlauth-client.c
+A src/imap-urlauth/imap-urlauth-client.h
+A src/imap-urlauth/imap-urlauth-common.h
+A src/imap-urlauth/imap-urlauth-login-settings.c
+A src/imap-urlauth/imap-urlauth-login-settings.h
+A src/imap-urlauth/imap-urlauth-login.c
+A src/imap-urlauth/imap-urlauth-settings.c
+A src/imap-urlauth/imap-urlauth-settings.h
+A src/imap-urlauth/imap-urlauth-worker-settings.c
+A src/imap-urlauth/imap-urlauth-worker-settings.h
+A src/imap-urlauth/imap-urlauth-worker.c
+A src/imap-urlauth/imap-urlauth.c
+M src/imap/Makefile.am
+A src/imap/cmd-genurlauth.c
+A src/imap/cmd-resetkey.c
+A src/imap/cmd-urlfetch.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands.c
+M src/imap/imap-commands.h
+M src/imap/imap-settings.c
+M src/imap/imap-settings.h
+M src/imap/main.c
+A src/lib-imap-urlauth/Makefile.am
+A src/lib-imap-urlauth/imap-urlauth-backend.c
+A src/lib-imap-urlauth/imap-urlauth-backend.h
+A src/lib-imap-urlauth/imap-urlauth-connection.c
+A src/lib-imap-urlauth/imap-urlauth-connection.h
+A src/lib-imap-urlauth/imap-urlauth-fetch.c
+A src/lib-imap-urlauth/imap-urlauth-fetch.h
+A src/lib-imap-urlauth/imap-urlauth-private.h
+A src/lib-imap-urlauth/imap-urlauth.c
+A src/lib-imap-urlauth/imap-urlauth.h
+
+2012-09-15 21:00:54 +0300 Timo Sirainen <tss@iki.fi> (109de6bdee)
+
+ lib-imap-storage: imap_msgpart_bodypartstructure() returned freed data.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2012-09-15 19:56:47 +0300 Timo Sirainen <tss@iki.fi> (7c33226656)
+
+ lib-index: Removed MAIL_INDEX_SYNC_TYPE_APPEND. No backend cares about it.
+
+
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index.h
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/index-sync-changes.c
+M src/plugins/virtual/virtual-sync.c
+
+2012-09-15 19:54:21 +0300 Timo Sirainen <tss@iki.fi> (724b7fcf28)
+
+ lib-index: Changed mail_index_set_fsync_mode() to use a separate enum for
+ the mask.
+
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2012-09-15 19:12:04 +0300 Timo Sirainen <tss@iki.fi> (0c6b584193)
+
+ lib-imap: Fixed Content-Language parsing from BODYSTRUCTURE
+
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/test-imap-bodystructure.c
+
+2012-09-15 19:08:55 +0300 Timo Sirainen <tss@iki.fi> (ebe49ef9cc)
+
+ imap-bodystructure.h comment fix
+
+
+M src/lib-imap/imap-bodystructure.h
+
+2012-09-15 19:08:11 +0300 Timo Sirainen <tss@iki.fi> (a32e42550e)
+
+ imap-bodystructure.h comment update
+
+
+M src/lib-imap/imap-bodystructure.h
+
+2012-09-15 19:06:37 +0300 Timo Sirainen <tss@iki.fi> (7717e3cd13)
+
+ lib-imap: Updated test-imap-bodystructure
+
+
+M src/lib-imap/test-imap-bodystructure.c
+
+2012-09-15 19:00:32 +0300 Timo Sirainen <tss@iki.fi> (d65184737a)
+
+ lib-imap-storage: Added support for getting BODYPARTSTRUCTURE Based on patch
+ by Stephan Bosch.
+
+
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart-url.h
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-storage/imap-msgpart.h
+
+2012-09-15 18:58:48 +0300 Timo Sirainen <tss@iki.fi> (405615248f)
+
+ lib-imap: Added support for parsing IMAP BODYSTRUCTURE and writing out a
+ modified version.
+
+
+M src/lib-imap/Makefile.am
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-bodystructure.h
+A src/lib-imap/test-imap-bodystructure.c
+
+2012-09-15 16:13:02 +0300 Timo Sirainen <tss@iki.fi> (0000bf8b0e)
+
+ imap_body_parse_from_bodystructure() now returns the error instead of
+ logging it.
+
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-bodystructure.h
+M src/lib-storage/index/index-mail.c
+
+2012-09-15 15:46:01 +0300 Timo Sirainen <tss@iki.fi> (5f44975ec6)
+
+ lib-storage: Moved index_mail.data_pool to mail_private.data_pool
+
+
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/plugins/virtual/virtual-mail.c
+
+2012-09-15 03:49:23 +0300 Timo Sirainen <tss@iki.fi> (88b9f9eb91)
+
+ fts-lucene: Added "normalize" option to put data through normalize().
+
+
+M src/plugins/fts-lucene/Snowball.cc
+M src/plugins/fts-lucene/SnowballAnalyzer.h
+M src/plugins/fts-lucene/SnowballFilter.h
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/fts-lucene-plugin.h
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2012-09-15 03:12:20 +0300 Timo Sirainen <tss@iki.fi> (d9076f5939)
+
+ Replaced "decomposed titlecase" conversions with more generic normalizer
+ function. Plugins can now change mail_user.default_normalizer. Specific
+ searches can also use different normalizers by changing
+ mail_search_context.normalizer.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/charset-utf8.c
+M src/lib-charset/charset-utf8.h
+M src/lib-imap/imap-base-subject.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-decoder.h
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-header-decode.h
+M src/lib-mail/message-search.c
+M src/lib-mail/message-search.h
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+M src/lib/unichar.h
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-build-mail.c
+
+2012-09-15 03:09:57 +0300 Timo Sirainen <tss@iki.fi> (3412b625dd)
+
+ uni_utf8_to_decomposed_titlecase(): Require input length to be exact now.
+ Most of the callers did that already anyway
+
+
+M src/lib-storage/index/index-sort.c
+M src/lib/unichar.c
+M src/lib/unichar.h
+
+2012-09-14 23:11:27 +0300 Timo Sirainen <tss@iki.fi> (46ec5983bf)
+
+ Use "tokenlogin" socket name (instead of "token-login") after all. Auth code
+ has special checks for '-', which breaks "token-login" and fixing it is
+ rather annoying.
+
+
+M src/auth/auth-settings.c
+M src/login-common/login-common.h
+
+2012-09-14 22:10:49 +0300 Timo Sirainen <tss@iki.fi> (5b89f4d0c7)
+
+ auth: Auth workers don't need to read token secret.
+
+
+M src/auth/main.c
+
+2012-09-14 21:48:45 +0300 Stephan Bosch <stephan@rename-it.nl> (ab90f702ce)
+
+ Added support to perform token-based service process authentication.
+
+ Creates hidden SASL method DOVECOT-TOKEN. This method is not available on
+ the normal auth login socket and thus never presented to clients.
+
+ Creates new auth socket type 'tokenlogin'. This otherwise normal login
+ socket only offers authentication using the DOVECOT-TOKEN mechanism.
+
+ Creates new token-login directory in base_dir to separate token logins from
+ normal logins. This directory is otherwise completely identical to the
+ normal login dir, i.e. it contains sockets for the service backends, used to
+ chroot login processes to, etc.
+
+ Makes default login socket configurable.
+
+ Performs some minor changes to src/login-common to build very sparse
+ protocols, e.g. avoid the need to implement methods that are not needed.
+
+M src/auth/Makefile.am
+M src/auth/auth-client-connection.c
+M src/auth/auth-client-connection.h
+M src/auth/auth-master-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request-handler.h
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-settings.c
+A src/auth/auth-token.c
+A src/auth/auth-token.h
+M src/auth/main.c
+A src/auth/mech-dovecot-token.c
+M src/auth/mech.h
+M src/imap/main.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login-auth.h
+M src/lib-master/master-login.c
+M src/lib-master/master-login.h
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.h
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-common.h
+M src/login-common/main.c
+M src/master/master-settings.c
+
+2012-09-14 21:31:45 +0300 Timo Sirainen <tss@iki.fi> (8d9c4869a4)
+
+ hmac_sha1_init(): Use void pointer for the key.
+
+
+M src/lib/hmac-sha1.c
+M src/lib/hmac-sha1.h
+
+2012-09-14 21:11:42 +0300 Stephan Bosch <stephan@rename-it.nl> (a22f62ebb0)
+
+ lib-imap-storage: Changed imap_msgpart_url API.
+
+ Adds enum mail_error return value to imap_msgpart_url_open_mailbox().
+
+ Now parses msgpart at the beginning and adds function to access underlying
+ imap_msgpart object directly.
+
+M src/imap/cmd-append.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart-url.h
+
+2012-09-14 21:04:01 +0300 Stephan Bosch <stephan@rename-it.nl> (cc77966cac)
+
+ Fixes IMAP LOGIN REFERRAL to properly encode IMAP URL.
+
+
+M src/imap-login/client-authenticate.c
+
+2012-09-14 21:02:23 +0300 Stephan Bosch <stephan@rename-it.nl> (4d955db590)
+
+ Added support for creating IMAP URLs.
+
+
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-url.h
+M src/lib-imap/test-imap-url.c
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2012-09-13 17:12:59 +0300 Timo Sirainen <tss@iki.fi> (1a18848722)
+
+ lib-storage: Message size/sent date could have been set as 0 in some cases.
+ It doesn't look like it ever happened with the current storage backends or
+ use cases.
+
+
+M src/lib-storage/index/index-mail.c
+
+2012-09-13 12:01:08 +0300 Timo Sirainen <tss@iki.fi> (cf1797248b)
+
+ lib-storage: Allow #including mailbox-list-private.h from C++ code
+
+
+M src/lib-storage/mailbox-list-private.h
+
+2012-09-13 11:05:10 +0300 Timo Sirainen <tss@iki.fi> (f2ce19592c)
+
+ dovecot-config: Added lib-storage/list to be in LIBDOVECOT_STORAGE_INCLUDE
+
+
+M dovecot-config.in.in
+
+2012-09-13 10:53:38 +0300 Timo Sirainen <tss@iki.fi> (f318b3dbe2)
+
+ lib-storage API change to allow using it from C++ code
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/notify/notify-storage.c
+
+2012-09-13 10:52:52 +0300 Timo Sirainen <tss@iki.fi> (7a2d48763b)
+
+ lib-storage: Moved mail_storage_settings_to_index_flags to
+ mail-storage-private.h This is mainly to allow #including
+ mail-storage-settings.h from C++ code without having to #include
+ mail-index.h from mail-storage-settings.h
+
+
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/lib-storage/mail-storage.c
+
+2012-09-11 18:56:07 +0300 Timo Sirainen <tss@iki.fi> (c8555d0f66)
+
+ i_get(pw|gr)(nam|uid): Use small initial buffer sizes. For processes that
+ need to do only a single lookup there's no point in wasting a lot of memory
+ for the maximum buffer size.
+
+
+M src/lib/ipwd.c
+
+2012-09-10 17:19:43 +0300 Timo Sirainen <tss@iki.fi> (71e88fae3b)
+
+ lib-storage: Removed rename_children parameter from mailbox_rename() The
+ children are now always renamed. The only reason this feature was added in
+ the first place was to make dsync's job easier, but this is no longer
+ needed.
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+M src/imap/cmd-rename.c
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mailbox-list-private.h
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/mail-log/mail-log-plugin.c
+M src/plugins/notify/notify-plugin-private.h
+M src/plugins/notify/notify-plugin.c
+M src/plugins/notify/notify-plugin.h
+M src/plugins/notify/notify-storage.c
+M src/plugins/replication/replication-plugin.c
+
+2012-09-07 16:43:44 +0300 Timo Sirainen <tss@iki.fi> (a85473f7c1)
+
+ dsync: Renamed "slave" to "ibc" (= inter-brain communicator)
+
+
+M src/doveadm/dsync/Makefile.am
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+A src/doveadm/dsync/dsync-ibc-pipe.c
+A src/doveadm/dsync/dsync-ibc-private.h
+R057 src/doveadm/dsync/dsync-slave-stream.c src/doveadm/dsync/dsync-ibc-stream.c
+A src/doveadm/dsync/dsync-ibc.c
+A src/doveadm/dsync/dsync-ibc.h
+D src/doveadm/dsync/dsync-slave-pipe.c
+D src/doveadm/dsync/dsync-slave-private.h
+D src/doveadm/dsync/dsync-slave.c
+D src/doveadm/dsync/dsync-slave.h
+
+2012-09-07 16:19:35 +0300 Timo Sirainen <tss@iki.fi> (81b97c019a)
+
+ dsync: Renamed "io" slave to "stream".
+
+
+M src/doveadm/dsync/Makefile.am
+M src/doveadm/dsync/doveadm-dsync.c
+R082 src/doveadm/dsync/dsync-slave-io.c src/doveadm/dsync/dsync-slave-stream.c
+M src/doveadm/dsync/dsync-slave.h
+
+2012-09-06 01:25:23 +0300 Timo Sirainen <tss@iki.fi> (39ee82dad4)
+
+ dsync: Rewritten syncing for mailbox renames. A few things didn't go as I
+ originally intended in the algorithm, but it appears to give consistent
+ results now. :) But the algorithm should probably be looked at more closely
+ at some point.
+
+
+M src/doveadm/dsync/Makefile.am
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree-private.h
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-mailbox-tree.h
+M src/doveadm/dsync/dsync-slave-io.c
+A src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
+
+2012-09-06 01:13:03 +0300 Timo Sirainen <tss@iki.fi> (3281669db4)
+
+ Renamed buffer_create_*data() to buffer_create_from_*data() for consistency.
+ Especially i_stream_create_from_data() was a very similar function, which
+ made it difficult to remember which one should have "from" and which one
+ shouldn't.
+
+
+M src/auth/auth-master-connection.c
+M src/auth/mech-digest-md5.c
+M src/imap/main.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/istream-qp-decoder.c
+M src/lib-mail/test-message-header-encode.c
+M src/lib-otp/otp-parse.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/mail.c
+M src/lib/askpass.c
+M src/lib/buffer.c
+M src/lib/buffer.h
+M src/lib/guid.c
+M src/lib/iostream-rawlog.c
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+M src/lib/str.c
+M src/login-common/sasl-server.c
+M src/plugins/fts-lucene/Snowball.cc
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts/fts-expunge-log.c
+M src/pop3-login/client.c
+M src/pop3/main.c
+
+2012-09-06 01:04:57 +0300 Timo Sirainen <tss@iki.fi> (49d9165e32)
+
+ buffer_create_data(): Clear the memory area immediately.
+
+
+M src/lib/buffer.c
+
+2012-09-06 01:04:28 +0300 Timo Sirainen <tss@iki.fi> (743c3ba9d4)
+
+ str_*printfa(): Avoid (harder!) growing underlying buffer if possible. The
+ previous change for this didn't work properly.
+
+
+M src/lib/str.c
+
+2012-09-04 19:58:59 +0300 Timo Sirainen <tss@iki.fi> (33e9f5b46f)
+
+ doveadm dump -t mailboxlog: Added support for MAILBOX_LOG_RECORD_CREATE_DIR
+
+
+M src/doveadm/doveadm-dump-mailboxlog.c
+
+2012-09-04 19:05:44 +0300 Timo Sirainen <tss@iki.fi> (9a6409b557)
+
+ TODO updated
+
+
+M TODO
+
+2012-09-04 19:05:18 +0300 Timo Sirainen <tss@iki.fi> (98bd9a8b6d)
+
+ NOTIFY: Fixed "subscribed" mailbox filter to actually work.
+
+
+M src/imap/cmd-notify.c
+M src/imap/imap-notify.c
+
+2012-09-04 19:04:52 +0300 Timo Sirainen <tss@iki.fi> (eef3caf619)
+
+ lib-storage: Added mailbox_is_subscribed()
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2012-09-04 18:51:43 +0300 Timo Sirainen <tss@iki.fi> (24acd68c82)
+
+ NOTIFY: Implemented SubscriptionChange
+
+
+M src/imap/imap-notify.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/mailbox-list-notify.h
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-tree.h
+
+2012-09-04 17:26:37 +0300 Timo Sirainen <tss@iki.fi> (ec1b0f9b12)
+
+ lib-storage: Log mailbox directory creations to mailbox log.
+
+
+M src/lib-index/mailbox-log.h
+M src/lib-storage/mailbox-list.c
+
+2012-09-04 17:18:08 +0300 Timo Sirainen <tss@iki.fi> (57b819d3aa)
+
+ lib-storage: Added "disabled" setting for namespaces.
+
+
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2012-09-04 17:13:47 +0300 Timo Sirainen <tss@iki.fi> (7ffa9e9809)
+
+ lmtp proxying: Don't auto-set mail_max_lock_timeout higher than it was.
+
+
+M src/lmtp/commands.c
+
+2012-09-04 17:12:21 +0300 Timo Sirainen <tss@iki.fi> (544a946df4)
+
+ lib-storage: Added mail_storage_service_user_get_mail_set()
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2012-09-04 16:37:55 +0300 Timo Sirainen <tss@iki.fi> (f68a8568c0)
+
+ mailbox_list_index=yes: Fixed listing nonexistent subscribed mailboxes
+
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+
+2012-09-04 16:23:12 +0300 Timo Sirainen <tss@iki.fi> (edb39c4e2b)
+
+ Minor code cleanup
+
+
+M src/lib-mail/istream-attachment-extractor.c
+
+2012-09-04 16:22:14 +0300 Timo Sirainen <tss@iki.fi> (abed24374d)
+
+ imap: Fixed LIST (SPECIAL-USE RECURSIVEMATCH) to actually return CHILDINFOs.
+
+
+M src/lib-storage/list/mailbox-list-iter.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-namespace.h
+M src/lib-storage/mailbox-list.h
+
+2012-09-04 16:06:29 +0300 Timo Sirainen <tss@iki.fi> (d05913105e)
+
+ LIST: Fixes to handling subscriptions
+
+
+M src/imap/cmd-list.c
+M src/lib-storage/list/mailbox-list-iter.c
+
+2012-09-04 16:05:26 +0300 Timo Sirainen <tss@iki.fi> (70eaa48fb7)
+
+ lib-storage: Moved mailbox-list-iter.c to list/
+
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/list/Makefile.am
+R100 src/lib-storage/mailbox-list-iter.c src/lib-storage/list/mailbox-list-iter.c
+
+2012-09-04 15:03:17 +0300 Timo Sirainen <tss@iki.fi> (f7eeb7b688)
+
+ mailbox_list_index: Assert-crashfix when seeing a new mailbox with children.
+
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+
+2012-09-04 14:56:13 +0300 Timo Sirainen <tss@iki.fi> (74b0ef7d14)
+
+ quota: Removed quota_ignore_save_errors setting and made it enabled always.
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2012-09-03 13:20:32 +0300 Timo Sirainen <tss@iki.fi> (e5d809128c)
+
+ lib-imap-client: Added support for NAMESPACE capability Required by previous
+ imapc commit
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+
+2012-09-02 19:52:31 +0300 Timo Sirainen <tss@iki.fi> (d6c06730a0)
+
+ lib-storage: Added MAILBOX_METADATA_BACKEND_NAMESPACE
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/index-status.c
+M src/lib-storage/mail-storage.h
+
+2012-09-02 19:32:55 +0300 Timo Sirainen <tss@iki.fi> (3a85bb8129)
+
+ Comment update.
+
+
+M src/lib-storage/mail-storage.h
+
+2012-09-02 19:22:13 +0300 Timo Sirainen <tss@iki.fi> (3e0bae44b6)
+
+ Renamed enum namespace_type to enum mail_namespace_type
+
+
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/imap/cmd-list.c
+M src/imap/cmd-namespace.c
+M src/imap/cmd-notify.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-namespace.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list-iter.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-shared-storage.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/virtual/virtual-config.c
+
+2012-09-02 18:16:06 +0300 Timo Sirainen <tss@iki.fi> (caa2f73783)
+
+ imap: MOVE didn't send EXPUNGE when delay-newmail workaround was enabled.
+
+
+M src/imap/cmd-copy.c
+
+2012-09-02 17:18:41 +0300 Timo Sirainen <tss@iki.fi> (d2930bd708)
+
+ imap-msgpart-url: Attempt to reuse selected mailbox instead of reallocating
+ a new one. Besides giving slightly better performace, this also fixes
+ CATENATE for mbox when source and destination mailboxes are the same.
+
+
+M src/lib-imap-storage/imap-msgpart-url.c
+
+2012-09-02 17:15:09 +0300 Timo Sirainen <tss@iki.fi> (a81f332d8d)
+
+ Moved mailbox_equals() to lib-storage.
+
+
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands-util.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2012-09-02 16:48:25 +0300 Timo Sirainen <tss@iki.fi> (86c6b2546b)
+
+ mbox: Added support for copy/move/catenate within same mailbox.
+
+
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-lock.h
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-storage.h
+
+2012-08-31 15:25:20 +0300 Timo Sirainen <tss@iki.fi> (4afd5082f3)
+
+ istream-chain/concat: Various fixes. Also made the chain code look more like
+ concat code. They should be merged at some point.
+
+
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+
+2012-08-31 14:14:50 +0300 Timo Sirainen <tss@iki.fi> (30ffa7cf4e)
+
+ lib-storage: Fixed listing list=children namespaces that had child
+ namespaces.
+
+
+M src/lib-storage/mailbox-list-iter.c
+
+2012-08-30 22:05:02 +0300 Timo Sirainen <tss@iki.fi> (d163fac99c)
+
+ Merged changes from v2.1 tree.
+
+
+2012-08-30 21:12:23 +0300 Timo Sirainen <tss@iki.fi> (7174e94025)
+
+ Moved most of the IMAP LIST code to lib-storage. Also removed
+ MAILBOX_LIST_ITER_SHOW_EXISTING_PARENT flag, since there wasn't any clearly
+ good way to handle it. Some clients got confused when they saw that foo/
+ mailbox was returned with \Noselect flag. Either they thought that the
+ mailbox was named foo/ or that foo was \Noselect. Pretty much the only sane
+ way to handle this would be to not make return \Noselect and to treat foo
+ and foo/ as equivalent in all commands, but that might cause trouble with
+ ACLs and similar checks..
+
+
+M src/imap/cmd-list.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/mailbox-list-iter.c
+M src/lib-storage/mailbox-list.h
+
+2012-08-30 18:44:43 +0300 Timo Sirainen <tss@iki.fi> (5d84dfbcfd)
+
+ imap: Fixed MULTIAPPEND CATENATE that contained only URLs
+
+
+M src/imap/cmd-append.c
+
+2012-08-29 23:16:05 +0300 Timo Sirainen <tss@iki.fi> (f16414db98)
+
+ Minor code cleanup
+
+
+M src/imap/cmd-append.c
+
+2012-08-29 23:15:56 +0300 Timo Sirainen <tss@iki.fi> (82908dad4d)
+
+ imap: Don't hang with zero size CATENATE TEXT parts.
+
+
+M src/imap/cmd-append.c
+
+2012-08-29 23:13:56 +0300 Timo Sirainen <tss@iki.fi> (7f4a494083)
+
+ imap-parser: Fixed imap_parser_read_last_literal() to work again
+
+
+M src/lib-imap/imap-parser.c
+
+2012-08-29 22:42:26 +0300 Timo Sirainen <tss@iki.fi> (63ea4ca540)
+
+ NEWS updated
+
+
+M NEWS
+
+2012-08-29 21:08:08 +0300 Timo Sirainen <tss@iki.fi> (14195da06a)
+
+ imap: Allow very long MULTIAPPEND CATENATE lines that contain only URLs.
+
+
+M src/imap/cmd-append.c
+
+2012-08-29 21:04:45 +0300 Timo Sirainen <tss@iki.fi> (24d136690a)
+
+ imap-parser: Allow calling imap_parser_read_args() multiple times with
+ larger count parameter.
+
+
+M src/lib-imap/imap-parser.c
+
+2012-08-29 21:04:09 +0300 Timo Sirainen <tss@iki.fi> (1b86c77db0)
+
+ imap-parser: Removed filling missing parameters with NILs. No code was
+ relying on this behavior.
+
+
+M src/lib-imap/imap-parser.c
+
+2012-08-29 20:16:13 +0300 Timo Sirainen <tss@iki.fi> (29d6ddd378)
+
+ imap: Fixed crashes in THREAD=ORDEREDSUBJECT
+
+
+M src/imap/cmd-thread.c
+
+2012-08-29 20:00:03 +0300 Timo Sirainen <tss@iki.fi> (7d3aac4c79)
+
+ imap: CATENATE fix
+
+
+M src/imap/cmd-append.c
+
+2012-08-29 19:59:42 +0300 Timo Sirainen <tss@iki.fi> (5afe997e79)
+
+ istream-chain: Unreference also the last stream when it reaches EOF.
+
+
+M src/lib/istream-chain.c
+
+2012-08-29 19:07:47 +0300 Timo Sirainen <tss@iki.fi> (59fde98aaf)
+
+ imap: More APPEND error handling fixes.
+
+
+M src/imap/cmd-append.c
+
+2012-08-29 18:34:43 +0300 Timo Sirainen <tss@iki.fi> (ce85eb246b)
+
+ imap: Send BAD replies with client_send_command_error()
+
+
+M src/imap/cmd-cancelupdate.c
+M src/imap/cmd-uid.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-status.c
+
+2012-08-29 18:32:13 +0300 Timo Sirainen <tss@iki.fi> (2db714ba6e)
+
+ imap: Various fixes to APPEND error handling.
+
+
+M src/imap/cmd-append.c
+
+2012-08-29 18:32:01 +0300 Timo Sirainen <tss@iki.fi> (945b6f8c7d)
+
+ imap: Added asserts to make sure a tagline isn't sent twice to the same
+ command.
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2012-08-29 17:15:34 +0300 Timo Sirainen <tss@iki.fi> (1b6c4fdd2b)
+
+ dbox: Don't try to finish saving attachments if saving has already failed.
+ Fixes an assert crash with failed CATENATE.
+
+
+M src/lib-storage/index/dbox-common/dbox-save.c
+
+2012-08-29 16:55:33 +0300 Timo Sirainen <tss@iki.fi> (87b9e370cc)
+
+ imap CATENATE: Do one more mailbox_save_continue() after adding EOF to
+ stream. Fixes a crash with external mail attachments (mail_attachment_dir).
+
+
+M src/imap/cmd-append.c
+
+2012-08-29 16:45:25 +0300 Timo Sirainen <tss@iki.fi> (6e2ec95789)
+
+ iostream_rawlog_create_path(): Avoid double-closing the rawlog fd
+
+
+M src/lib/iostream-rawlog.c
+
+2012-08-29 16:18:56 +0300 Timo Sirainen <tss@iki.fi> (f1ed4fa248)
+
+ iostream-rawlog: Added possibility to save input/output to the same file.
+
+
+M src/lib/iostream-rawlog-private.h
+M src/lib/iostream-rawlog.c
+M src/lib/iostream-rawlog.h
+M src/lib/istream-rawlog.c
+M src/lib/istream-rawlog.h
+M src/lib/ostream-rawlog.c
+M src/lib/ostream-rawlog.h
+
+2012-08-29 16:12:08 +0300 Timo Sirainen <tss@iki.fi> (22c1ec434d)
+
+ str_*printfa(): Avoid growing underlying buffer if possible.
+
+
+M src/lib/str.c
+
+2012-08-29 08:56:40 +0300 Timo Sirainen <tss@iki.fi> (60626b57f0)
+
+ Reverted some of the last hash table changes. They caused hash table
+ operations to dereference pointers, which caused a compiler error if the
+ type wasn't known.
+
+
+M src/lib/hash-decl.h
+M src/lib/hash.h
+
+2012-08-28 22:40:57 +0300 Timo Sirainen <tss@iki.fi> (01f4ee4a02)
+
+ i_stream_stat() API changed. This fixes also one missing error check.
+
+
+M src/lib-compression/istream-bzlib.c
+M src/lib-compression/istream-zlib.c
+M src/lib-fs/fs-sis.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/list/subscription-file.c
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-file.c
+M src/lib/istream-limit.c
+M src/lib/istream-mmap.c
+M src/lib/istream-private.h
+M src/lib/istream-seekable.c
+M src/lib/istream-sized.c
+M src/lib/istream-tee.c
+M src/lib/istream.c
+M src/lib/istream.h
+
+2012-08-28 22:20:17 +0300 Timo Sirainen <tss@iki.fi> (0fe713fb1d)
+
+ o_stream_send_istream(): Get input stream size with i_stream_get_size()
+ instead of _stat().
+
+
+M src/lib/ostream-file.c
+
+2012-08-28 22:15:57 +0300 Timo Sirainen <tss@iki.fi> (6f0d9b27da)
+
+ istream-chain: Removed default get_size() implementation and panicing on
+ stat() This works around crashes in mdbox/quota code. Patch by Stephan
+ Bosch.
+
+
+M src/lib/istream-chain.c
+
+2012-08-28 22:15:49 +0300 Timo Sirainen <tss@iki.fi> (46908da82c)
+
+ mdbox: Replaced non-error-checking i_stream_stat() with potentially faster
+ i_stream_get_size().
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2012-08-28 19:06:01 +0300 Timo Sirainen <tss@iki.fi> (aecc59fc5c)
+
+ imapc: If imapc_list_prefix=INBOX, don't treat INBOX/INBOX as the INBOX
+ itself.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2012-08-28 18:53:30 +0300 Timo Sirainen <tss@iki.fi> (3350b29fce)
+
+ dict file: Fixed corruption with large values. Patch by Ewald Dieterich.
+
+
+M src/lib-dict/dict-file.c
+
+2012-08-28 15:57:22 +0300 Timo Sirainen <tss@iki.fi> (bd389fdd39)
+
+ imapc: max_idle_time setting didn't actually work.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+
+2012-08-28 14:46:16 +0300 Timo Sirainen <tss@iki.fi> (a566d9f879)
+
+ lmtp proxy: Forward proxy_timeout to backend and set mail_max_lock_timeout
+ based on it. This automatically avoids duplicate mail deliveries caused by
+ long lock waits.
+
+
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/lmtp-client.h
+M src/lmtp/client.h
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+
+2012-08-28 13:23:37 +0300 Timo Sirainen <tss@iki.fi> (eaa33f0152)
+
+ lmtp proxy: Include session ID string in timeout reply text.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2012-08-26 19:23:48 +0300 Timo Sirainen <tss@iki.fi> (531ddc880d)
+
+ dict-redis: Fixed infinite looping
+
+
+M src/lib-dict/dict-redis.c
+
+2012-08-25 12:05:34 +0300 Timo Sirainen <tss@iki.fi> (548d8f6272)
+
+ istream-concat: Bugfix
+
+
+M src/lib/istream-concat.c
+
+2012-08-24 19:44:43 +0000 Pascal Volk <user@localhost.localdomain.org> (fcf3527cee)
+
+ imap IDLE: Added back fc00::/7 (RFC 4193) to private networks. This time the
+ check is done correctly.
+
+
+M src/imap/cmd-idle.c
+
+2012-08-24 09:41:55 +0300 Timo Sirainen <tss@iki.fi> (3c42e7cdb0)
+
+ imap IDLE: Reverted the IPv6 change, it doesn't work like that.
+
+
+M src/imap/cmd-idle.c
+
+2012-08-23 23:20:57 +0000 Pascal Volk <user@localhost.localdomain.org> (8534886b95)
+
+ imap IDLE: Add also fc00::/7 (RFC 4193) to private networks.
+
+
+M src/imap/cmd-idle.c
+
+2012-08-23 23:50:55 +0300 Timo Sirainen <tss@iki.fi> (f03e38bcaa)
+
+ imap IDLE: Add also 172.168/12 to private networks.
+
+
+M src/imap/cmd-idle.c
+
+2012-08-23 21:49:15 +0300 Timo Sirainen <tss@iki.fi> (9511f7431c)
+
+ imap IDLE: Time "still here" packet sends based on client IP address if
+ possible.
+
+
+M src/imap/cmd-idle.c
+
+2012-08-23 15:29:43 +0300 Timo Sirainen <tss@iki.fi> (98950c9167)
+
+ Compiler warning fix
+
+
+M src/lib/istream-concat.c
+
+2012-08-23 11:54:46 +0300 Timo Sirainen <tss@iki.fi> (99695d9993)
+
+ lib-storage: Moved per-mail data in struct mail_save_context to separate
+ struct. This fixes previous save leaking metadata to the next save.
+
+
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/zlib/zlib-plugin.c
+
+2012-08-23 11:26:13 +0300 Timo Sirainen <tss@iki.fi> (c6f644533e)
+
+ Increased initial memory pool size
+
+
+M src/lib-mail/istream-attachment-extractor.c
+
+2012-08-22 16:55:27 +0300 Timo Sirainen <tss@iki.fi> (2e533fb128)
+
+ Made PKG_STATEDIR configurable with state_dir setting. Based on patch by
+ Chris Webb.
+
+ Normally this isn't needed, since the data in the state_dir can be shared
+ across multiple Dovecot instances, but in some specific use cases this may
+ be useful (e.g. users running their own Dovecots).
+
+M src/config/Makefile.am
+M src/doveadm/doveadm-instance.c
+M src/doveadm/doveadm-mount.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/doveadm.c
+M src/lib-master/master-instance.h
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service-ssl.c
+M src/lib-master/master-service.c
+M src/login-common/ssl-proxy-openssl.c
+M src/master/main.c
+M src/master/master-settings.c
+M src/master/master-settings.h
+M src/replication/replicator/replicator.c
+M src/ssl-params/main.c
+
+2012-08-22 15:19:19 +0300 Timo Sirainen <tss@iki.fi> (dc9bac02a4)
+
+ lib-storage: Added mail_save_copy_default_metadata()
+
+
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-copy.h
+
+2012-08-22 15:18:39 +0300 Timo Sirainen <tss@iki.fi> (13984f1ae4)
+
+ istream-base64: Fixed returning -2 too early.
+
+
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+
+2012-08-22 15:13:21 +0300 Timo Sirainen <tss@iki.fi> (a91f2c465f)
+
+ istream-concat bugfixes
+
+
+M src/lib/istream-concat.c
+
+2012-08-22 11:44:46 +0300 Timo Sirainen <tss@iki.fi> (e869616aca)
+
+ Added a test for istream-attachment-extractor hash size
+
+
+M src/lib-mail/test-istream-attachment.c
+
+2012-08-22 11:43:15 +0300 Timo Sirainen <tss@iki.fi> (97c8ebb3d0)
+
+ istream-attachment-extractor didn't return hash strings correctly.
+
+
+M src/lib-mail/istream-attachment-extractor.c
+
+2012-08-22 10:18:44 +0300 Timo Sirainen <tss@iki.fi> (f5f8bd05b5)
+
+ istream-attachment-connector: Avoid seeking in the base stream, it may not
+ be seekable.
+
+
+M src/lib-mail/istream-attachment-connector.c
+
+2012-08-22 10:18:08 +0300 Timo Sirainen <tss@iki.fi> (bdcb00145a)
+
+ Added i_stream_create_range()
+
+
+M src/lib/istream-limit.c
+M src/lib/istream.h
+
+2012-08-21 10:18:38 +0300 Timo Sirainen <tss@iki.fi> (5a7acd6780)
+
+ imap: Fixed command output locking.
+
+
+M src/imap/cmd-idle.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-fetch.c
+M src/imap/imap-sync.c
+M src/imap/main.c
+
+2012-08-21 10:02:44 +0300 Timo Sirainen <tss@iki.fi> (2d9019dc21)
+
+ dict redis: Fixed dict_lookup() to skip all previous pending replies.
+
+
+M src/lib-dict/dict-redis.c
+
+2012-08-24 15:12:32 +0300 Timo Sirainen <tss@iki.fi> (b82590193a)
+
+ auth: Don't add "master" to passdb reply if the passdb itself already added
+ it.
+
+
+M src/auth/auth-request-handler.c
+
+2012-08-24 12:25:55 +0300 Timo Sirainen <tss@iki.fi> (d85f713cc9)
+
+ auth: Make it clearer in debug messages if the replies are passdb or userdb.
+
+
+M src/auth/auth-client-connection.c
+M src/auth/auth-master-connection.c
+
+2012-08-23 23:46:15 +0300 Timo Sirainen <tss@iki.fi> (cdfdb67422)
+
+ doveadm copy/move: Added "user" parameter to specify the source user.
+
+
+M src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2012-08-23 22:56:56 +0300 Timo Sirainen <tss@iki.fi> (2c8dd018fc)
+
+ imap: Fixes to handling UTF-8 namespace prefixes
+
+
+M src/imap/cmd-list.c
+M src/imap/cmd-namespace.c
+M src/imap/imap-commands-util.c
+
+2012-08-23 22:33:23 +0300 Timo Sirainen <tss@iki.fi> (938fbc319f)
+
+ lib-storage: Verify that namespace prefix is valid UTF8 string.
+
+
+M src/lib-storage/mail-storage-settings.c
+
+2012-08-23 22:21:42 +0300 Timo Sirainen <tss@iki.fi> (d92ef0c237)
+
+ mbox: Fixed listing mailboxes under INBOX directory.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-08-23 21:29:40 +0300 Timo Sirainen <tss@iki.fi> (01cb291416)
+
+ doveadm: Added "copy" command.
+
+
+M src/doveadm/Makefile.am
+R073 src/doveadm/doveadm-mail-move.c src/doveadm/doveadm-mail-copymove.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2012-08-23 11:56:56 +0300 Timo Sirainen <tss@iki.fi> (619828b399)
+
+ lib-storage: Make sure a save context doesn't leak metadata to the next
+ save.
+
+
+M src/lib-storage/index/index-storage.c
+
+2012-08-22 17:42:06 +0300 Timo Sirainen <tss@iki.fi> (23e54e221d)
+
+ configure: Removed OpenBSD /dev/arandom checking. Patch by Brad Smith
+
+ "The use of arandom was never a requirement for Dovecot and I had submitted
+ the use of arandom due to ports policy to do so anyway."
+
+M configure.in
+
+2012-08-22 15:17:53 +0300 Timo Sirainen <tss@iki.fi> (fcc905a7e9)
+
+ istream-concat bugfixes
+
+
+M src/lib/istream-concat.c
+
+2012-08-22 07:49:55 +0300 Timo Sirainen <tss@iki.fi> (81419a8dd6)
+
+ auth: Unregister SCRAM-SHA-1 at deinit.
+
+
+M src/auth/mech.c
+
+2012-08-21 10:02:44 +0300 Timo Sirainen <tss@iki.fi> (97d5d23d41)
+
+ dict redis: Fixed dict_lookup() to skip all previous pending replies.
+
+
+M src/lib-dict/dict-redis.c
+
+2012-08-20 16:13:49 +0300 Timo Sirainen <tss@iki.fi> (c395e7d730)
+
+ i_stream_create_seekable_path() created memory corruption
+
+
+M src/lib/istream-seekable.c
+
+2012-08-20 11:09:42 +0300 Timo Sirainen <tss@iki.fi> (59153e6c62)
+
+ Merged changes from v2.1 tree.
+
+
+2012-08-20 10:54:04 +0300 Timo Sirainen <tss@iki.fi> (08e9fec5ba)
+
+ Simplified hash table union now that it again works only with pointers.
+
+
+M TODO
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/dsync/dsync-transaction-log-scan.h
+M src/lib/hash-decl.h
+M src/lib/hash.h
+
+2012-08-20 10:19:57 +0300 Timo Sirainen <tss@iki.fi> (b171ffe6e7)
+
+ Fixed some aliasing warnings with hash table API.
+
+
+M src/lib/hash.h
+
+2012-08-20 10:01:03 +0300 Timo Sirainen <tss@iki.fi> (7444cc5dea)
+
+ imap: Allow fetching [x.MIME] for message/rfc822 again. It's not clear which
+ is the correct behavior.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2012-08-20 09:47:28 +0300 Timo Sirainen <tss@iki.fi> (a75d470c92)
+
+ Reverted "support for non-pointers" part of the hash table API changes.
+ Originally I wrote it using clang, which didn't give as many warnings as gcc
+ did. I guess this way is safer anyway..
+
+
+M src/anvil/connect-limit.c
+M src/auth/auth-request-handler.c
+M src/auth/db-checkpassword.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/director/director-test.c
+M src/director/user-directory.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/dsync/dsync-transaction-log-scan.h
+M src/imap/imap-client.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-auth/auth-server-connection.h
+M src/lib-dict/dict-file.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+M src/lib-lda/duplicate.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-login-auth.c
+M src/lib-settings/settings-parser.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib/child-wait.c
+M src/lib/hash.c
+M src/lib/hash.h
+M src/log/log-connection.c
+M src/login-common/ssl-proxy-openssl.c
+M src/master/service-monitor.c
+M src/master/service-process.c
+M src/master/service.c
+M src/master/service.h
+M src/plugins/acl/acl-cache.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts/fts-expunge-log.c
+M src/pop3/pop3-commands.c
+M src/replication/aggregator/replicator-connection.c
+
+2012-08-20 08:31:00 +0300 Timo Sirainen <tss@iki.fi> (ab750f2469)
+
+ Compiler error fix due to hash table changes.
+
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/dsync/dsync-transaction-log-scan.h
+
+2012-08-19 16:17:32 +0300 Timo Sirainen <tss@iki.fi> (27a44fcfd8)
+
+ Removed CONTEXT_TYPE_SAFETY macro and reimplemented its functionality
+ better. gcc/clang now gives a compiler error in many places if callback
+ isn't exactly what was expected. It's also now much easier to add more of
+ these checks.
+
+
+M src/anvil/anvil-connection.c
+M src/auth/auth-request-handler.h
+M src/auth/db-dict.c
+M src/auth/db-ldap.c
+M src/auth/db-sql.c
+M src/config/config-connection.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm.c
+M src/imap/imap-fetch.h
+M src/indexer/indexer-client.c
+M src/lib-dns/dns-lookup.c
+M src/lib-dns/dns-lookup.h
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-index/mail-index-util.c
+M src/lib-lda/mail-send.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/istream-header-filter.h
+M src/lib-mail/message-header-parser.h
+M src/lib-mail/message-parser.h
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-master/master-service.c
+M src/lib-settings/settings.c
+M src/lib-settings/settings.h
+M src/lib-sql/sql-api.h
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-storage.h
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/mail-search.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mailbox-header.c
+M src/lib/array.h
+M src/lib/bsearch-insert-pos.c
+M src/lib/bsearch-insert-pos.h
+M src/lib/child-wait.h
+M src/lib/connection.c
+M src/lib/ioloop.h
+M src/lib/istream.h
+M src/lib/macros.h
+M src/lib/module-dir.c
+M src/lib/ostream.h
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/lib/test-bsearch-insert-pos.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2012-08-19 14:21:37 +0300 Timo Sirainen <tss@iki.fi> (4ee00532a2)
+
+ Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name Easy way to
+ update your existing code: perl -i -pe 's:ARRAY_DEFINE\(([^,]+),
+ *([^)]+)\);:ARRAY($2) $1;:' **/*.[ch]
+
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+M src/auth/auth-worker-server.c
+M src/auth/auth.c
+M src/auth/db-ldap.h
+M src/auth/main.c
+M src/auth/passdb-template.c
+M src/auth/passdb.c
+M src/auth/userdb-template.c
+M src/auth/userdb.c
+M src/config/config-parser-private.h
+M src/config/config-parser.c
+M src/dict/dict-connection.h
+M src/dict/dict-settings.h
+M src/director/director-test.c
+M src/director/director.h
+M src/director/mail-host.c
+M src/director/main.c
+M src/director/user-directory.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/doveadm-print-flow.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-server.h
+M src/doveadm/doveadm-settings.h
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-tree-private.h
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-slave-pipe.c
+M src/imap/cmd-list.c
+M src/imap/imap-client.h
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+M src/imap/imap-notify.h
+M src/imap/imap-search.h
+M src/indexer/worker-connection.c
+M src/ipc/ipc-connection.h
+M src/ipc/ipc-group.c
+M src/lib-auth/auth-server-connection.h
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql-settings.h
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict-transaction-memory.h
+M src/lib-dict/dict.c
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-private.h
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-view-private.h
+M src/lib-index/mail-transaction-log-view-private.h
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/mail-deliver.h
+M src/lib-mail/istream-attachment-connector.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/test-istream-attachment.c
+M src/lib-master/anvil-client.c
+M src/lib-master/ipc-client.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/mountpoint-list.c
+M src/lib-settings/settings-parser.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api-private.h
+M src/lib-storage/index/dbox-common/dbox-file.h
+M src/lib-storage/index/dbox-multi/mdbox-map-private.h
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.h
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-search-private.h
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/mbox/mbox-sync-private.h
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage-settings.h
+M src/lib-storage/mail-user.h
+M src/lib-storage/mailbox-keywords.c
+M src/lib-storage/mailbox-list-iter.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-tree.c
+M src/lib/array-decl.h
+M src/lib/array.h
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-kqueue.c
+M src/lib/ioloop-private.h
+M src/lib/lib.h
+M src/lib/module-context.h
+M src/lib/priorityq.c
+M src/lib/test-aqueue.c
+M src/lib/test-array.c
+M src/lib/var-expand.c
+M src/lmtp/client.h
+M src/lmtp/lmtp-proxy.c
+M src/log/log-connection.c
+M src/master/service-listen.c
+M src/master/service-process-notify.c
+M src/master/service.h
+M src/plugins/acl/acl-backend-vfile.h
+M src/plugins/acl/acl-cache.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-set.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-storage.h
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/virtual/virtual-transaction.h
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+M src/replication/replicator/replicator-brain.c
+M src/replication/replicator/replicator-queue.c
+M src/ssl-params/main.c
+
+2012-08-19 14:01:15 +0300 Timo Sirainen <tss@iki.fi> (ad044cd01e)
+
+ Added missing hash-decl.h
+
+
+M src/lib/Makefile.am
+A src/lib/hash-decl.h
+
+2012-08-19 13:55:34 +0300 Timo Sirainen <tss@iki.fi> (678d046384)
+
+ Hash table API is now (mostly) type safe.
+
+
+M src/anvil/connect-limit.c
+M src/anvil/penalty.c
+M src/auth/auth-cache.c
+M src/auth/auth-request-handler.c
+M src/auth/db-checkpassword.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/auth/db-passwd-file.h
+M src/auth/mech-otp-skey-common.c
+M src/config/config-request.c
+M src/director/director-test.c
+M src/director/user-directory.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm-who.h
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/doveadm/dsync/dsync-mailbox-tree-private.h
+M src/doveadm/dsync/dsync-mailbox-tree-sync.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/doveadm/dsync/dsync-transaction-log-scan.h
+M src/indexer/indexer-queue.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-auth/auth-server-connection.h
+M src/lib-dict/dict-file.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+M src/lib-lda/duplicate.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-settings/settings-parser.c
+M src/lib-sql/sql-db-cache.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/maildir/maildir-filename.c
+M src/lib-storage/index/maildir/maildir-filename.h
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib/child-wait.c
+M src/lib/guid.c
+M src/lib/guid.h
+M src/lib/hash.c
+M src/lib/hash.h
+M src/lib/lib.h
+M src/lib/macros.h
+M src/log/log-connection.c
+M src/login-common/login-proxy-state.c
+M src/login-common/ssl-proxy-openssl.c
+M src/master/service-monitor.c
+M src/master/service-process.c
+M src/master/service.c
+M src/master/service.h
+M src/plugins/acl/acl-cache.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-lucene/lucene-wrapper.h
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts/fts-expunge-log.c
+M src/pop3/pop3-commands.c
+M src/replication/aggregator/replicator-connection.c
+M src/replication/replicator/replicator-queue.c
+M src/stats/mail-domain.c
+M src/stats/mail-ip.c
+M src/stats/mail-session.c
+M src/stats/mail-user.c
+
+2012-08-19 12:53:06 +0300 Timo Sirainen <tss@iki.fi> (30f8c62534)
+
+ replicator: Crashfix
+
+
+M src/replication/aggregator/replicator-connection.c
+
+2012-08-19 07:20:13 +0300 Timo Sirainen <tss@iki.fi> (7536dca189)
+
+ hash_table_create(): Removed table_pool parameter. Every single caller was
+ using default_pool there, so there's no point in having it.
+
+
+M src/anvil/connect-limit.c
+M src/anvil/penalty.c
+M src/auth/auth-cache.c
+M src/auth/auth-request-handler.c
+M src/auth/db-checkpassword.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/auth/mech-otp-skey-common.c
+M src/config/config-request.c
+M src/director/director-test.c
+M src/director/user-directory.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/indexer/indexer-queue.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-dict/dict-file.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index.c
+M src/lib-lda/duplicate.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-settings/settings-parser.c
+M src/lib-sql/sql-db-cache.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib/child-wait.c
+M src/lib/hash.c
+M src/lib/hash.h
+M src/log/log-connection.c
+M src/login-common/login-proxy-state.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/login-common/ssl-proxy-openssl.c
+M src/master/service.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts/fts-expunge-log.c
+M src/pop3/pop3-commands.c
+M src/replication/aggregator/replicator-connection.c
+M src/replication/replicator/replicator-queue.c
+M src/stats/mail-domain.c
+M src/stats/mail-ip.c
+M src/stats/mail-session.c
+M src/stats/mail-user.c
+
+2012-08-18 17:05:59 +0300 Timo Sirainen <tss@iki.fi> (6967fa47dd)
+
+ Added i_stream_create_seekable_path()
+
+
+M src/lib/istream-seekable.c
+M src/lib/istream-seekable.h
+
+2012-08-18 15:56:30 +0300 Timo Sirainen <tss@iki.fi> (a2ecf3b488)
+
+ ostream-file: Fixed writing with zero buffer size.
+
+
+M src/lib/ostream-file.c
+
+2012-08-18 10:31:19 +0300 Timo Sirainen <tss@iki.fi> (a21f618de2)
+
+ connection API: Allow calling connection_input_default() for buffered input.
+
+
+M src/lib/connection.c
+
+2012-08-17 19:01:03 +0300 Timo Sirainen <tss@iki.fi> (3a8c3cd184)
+
+ doveadm: Improved "passdb lookup failed" error message.
+
+
+M src/doveadm/doveadm-mail-server.c
+
+2012-08-17 11:15:21 +0300 Timo Sirainen <tss@iki.fi> (0169161bcd)
+
+ Makefile: Install the useful doveadm*.h headers.
+
+
+M src/doveadm/Makefile.am
+
+2012-08-17 09:17:48 +0300 Timo Sirainen <tss@iki.fi> (116ba2eb9e)
+
+ doveadm backup: Fixed "is source empty" check. In POP3 boxes there is only
+ INBOX, and it's possible that source becomes empty while backup has mails.
+ The check is now "has source always been empty?"
+
+
+M src/doveadm/dsync/dsync-brain.c
+
+2012-08-17 08:46:22 +0300 Timo Sirainen <tss@iki.fi> (3c7dfbbaca)
+
+ imap: FETCH[x.MIME] for message/rfc822 should produce empty result
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2012-08-17 07:47:16 +0300 Timo Sirainen <tss@iki.fi> (b5a37df669)
+
+ imap: Added more tests to return empty data when FETCHing invalid MIME
+ parts.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2012-08-16 14:57:55 +0300 Timo Sirainen <tss@iki.fi> (8ac890ce54)
+
+ dovecot-config: Added LIBDOVECOT_DOVEADM_INCLUDE
+
+
+M dovecot-config.in.in
+M dovecot.m4
+
+2012-08-16 14:25:21 +0300 Timo Sirainen <tss@iki.fi> (d7a405cac0)
+
+ Makefile: iostream-*ssl.h wasn't being installed.
+
+
+M src/lib-ssl-iostream/Makefile.am
+
+2012-08-16 06:09:22 +0300 Timo Sirainen <tss@iki.fi> (7db7fbea5d)
+
+ connection API: Fixed connected() callback to actually allow detecting
+ failed connects.
+
+
+M src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-redis.c
+M src/lib/connection.c
+M src/lib/connection.h
+
+2012-08-16 05:41:57 +0300 Timo Sirainen <tss@iki.fi> (3d95a75a81)
+
+ dict memcached-ascii bugfixes
+
+
+M src/lib-dict/dict-memcached-ascii.c
+
+2012-08-15 16:56:17 +0300 Timo Sirainen <tss@iki.fi> (75bb83681e)
+
+ lib-dict: Added memcached_ascii backend.
+
+
+M src/lib-dict/Makefile.am
+A src/lib-dict/dict-memcached-ascii.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+M src/lib-dict/test-dict.c
+
+2012-08-15 16:55:44 +0300 Timo Sirainen <tss@iki.fi> (8bf42ce5ef)
+
+ lib-dict: Moved "in-memory transaction" code from dict-file to more generic
+ API.
+
+
+M src/lib-dict/Makefile.am
+M src/lib-dict/dict-file.c
+A src/lib-dict/dict-transaction-memory.c
+A src/lib-dict/dict-transaction-memory.h
+
+2012-08-15 13:43:16 +0300 Timo Sirainen <tss@iki.fi> (cdac58636c)
+
+ imap: Implemented THREAD=ORDEREDSUBJECT extension.
+
+
+M configure.in
+M src/imap/cmd-thread.c
+M src/lib-storage/mail-thread.c
+
+2012-08-15 12:37:34 +0300 Timo Sirainen <tss@iki.fi> (6f69174880)
+
+ lib-storage: MAX_SORT_PROGRAM_SIZE was too small
+
+
+M src/lib-storage/mail-storage.h
+
+2012-08-15 12:05:28 +0300 Timo Sirainen <tss@iki.fi> (3f8303bae0)
+
+ istream-limit: Move parent stream to expected offset also at EOF.
+
+
+M src/lib/istream-limit.c
+
+2012-08-15 09:35:39 +0300 Timo Sirainen <tss@iki.fi> (bfa87344a8)
+
+ dict server: Implemented APPEND command.
+
+
+M src/dict/dict-commands.c
+
+2012-08-15 09:35:21 +0300 Timo Sirainen <tss@iki.fi> (e4f236f772)
+
+ imap: Fixed assert-crash on FETCH error disconnections.
+
+
+M src/imap/imap-client.c
+
+2012-08-14 23:09:44 +0300 Timo Sirainen <tss@iki.fi> (cee50689ea)
+
+ imapc: Added imapc_max_idle_time setting to force activity on connection.
+ Reducing this from the default 29 minutes should help when there's a
+ stateful firewall between imapc and the backend server.
+
+
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2012-08-14 10:02:14 +0300 Timo Sirainen <tss@iki.fi> (d368aabf3f)
+
+ connection: connection_disconnect_reason() didn't handle non-errors
+ correctly.
+
+
+M src/lib/connection.c
+
+2012-08-14 06:22:44 +0300 Timo Sirainen <tss@iki.fi> (2aed6c2062)
+
+ dict: Implemented dict_append()
+
+
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-client.h
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict-redis.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/dict.h
+
+2012-08-14 03:03:26 +0300 Timo Sirainen <tss@iki.fi> (af4fbe40da)
+
+ fs layout: Kludge to show INBOX/INBOX mailbox when necessary. This happens
+ with one prefix="" namespace and another prefix=INBOX/ namespace when the
+ INBOX mailbox itself has children.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-08-14 03:02:02 +0300 Timo Sirainen <tss@iki.fi> (e58f291e77)
+
+ lib-storage: mailbox_list_get_storage_name() shouldn't treat INBOX specially
+ in inbox=no namespaces.
+
+
+M src/lib-storage/mailbox-list.c
+
+2012-08-14 03:01:07 +0300 Timo Sirainen <tss@iki.fi> (7fd51f7b0b)
+
+ lib-storage: If alias_for references inbox=yes namespace, copy the inbox=yes
+ to the alias ns. So even though this still doesn't allow giving multiple
+ inbox=yes settings in configuration file, it's now possible for multiple
+ namespaces to have them. They just need to point to the exact same INBOX.
+
+
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-namespace.h
+
+2012-08-14 01:54:34 +0300 Timo Sirainen <tss@iki.fi> (1b302c5f04)
+
+ imap LIST: Don't set \haschildren flag for namespace prefix if it has
+ list=no
+
+
+M src/imap/cmd-list.c
+
+2012-08-13 15:23:32 +0300 Timo Sirainen <tss@iki.fi> (51cbc45fc1)
+
+ imap: Implemented NOTIFY extension. Requires mailbox_list_index=yes to work
+ (and to show up in capabilities). SubscriptionChange event is still
+ unimplemented.
+
+
+M src/imap/Makefile.am
+M src/imap/cmd-cancelupdate.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-idle.c
+M src/imap/cmd-list.c
+A src/imap/cmd-notify.c
+M src/imap/cmd-search.c
+M src/imap/cmd-select.c
+M src/imap/cmd-sort.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands.c
+M src/imap/imap-commands.h
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+A src/imap/imap-list.c
+A src/imap/imap-list.h
+A src/imap/imap-notify.c
+A src/imap/imap-notify.h
+M src/imap/imap-search.c
+M src/imap/imap-search.h
+M src/imap/imap-sync.c
+M src/imap/main.c
+
+2012-08-13 15:20:33 +0300 Timo Sirainen <tss@iki.fi> (8854395cdd)
+
+ lib-storage: Added mailbox-list-notify API for tracking changes in all
+ mailboxes. Requires mailbox_list_index=yes to work.
+
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/Makefile.am
+M src/lib-storage/list/mailbox-list-fs.c
+A src/lib-storage/list/mailbox-list-index-notify.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+A src/lib-storage/list/mailbox-list-notify-tree.c
+A src/lib-storage/list/mailbox-list-notify-tree.h
+A src/lib-storage/mailbox-list-notify.c
+A src/lib-storage/mailbox-list-notify.h
+M src/lib-storage/mailbox-list-private.h
+
+2012-08-13 15:15:07 +0300 Timo Sirainen <tss@iki.fi> (1ed966996e)
+
+ mailbox_list_index=yes: Don't log an error when verifying existence of
+ already deleted mailbox.
+
+
+M src/lib-storage/index/index-sync.c
+
+2012-08-13 15:12:41 +0300 Timo Sirainen <tss@iki.fi> (afd0d073a0)
+
+ lib-index: Added mail_index_view_dup_private()
+
+
+M src/lib-index/mail-index-view-private.h
+M src/lib-index/mail-index-view.c
+
+2012-08-13 15:09:30 +0300 Timo Sirainen <tss@iki.fi> (aa55fafddc)
+
+ imap: If imap_capability setting is set explicitly, don't automatically add
+ SEARCH=FUZZY.
+
+
+M src/imap/imap-client.c
+
+2012-08-13 15:03:46 +0300 Timo Sirainen <tss@iki.fi> (6ea7b0e4c5)
+
+ Added MOVE extension to capabilities. I guess the draft is close enough to
+ being ready now.
+
+
+M configure.in
+
+2012-08-13 14:23:26 +0300 Timo Sirainen <tss@iki.fi> (b8f8671057)
+
+ mailbox_list_index=yes: Don't use indexes when iterating with
+ MAILBOX_LIST_ITER_RAW_LIST.
+
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+
+2012-08-13 07:28:40 +0300 Timo Sirainen <tss@iki.fi> (6f84506cf6)
+
+ Memory leak fixes
+
+
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+
+2012-08-13 07:26:25 +0300 Timo Sirainen <tss@iki.fi> (eb493a9993)
+
+ Memory leak fix
+
+
+M src/lib/ioloop.c
+
+2012-08-13 05:45:35 +0300 Timo Sirainen <tss@iki.fi> (fbd671a3f5)
+
+ Compiler warning fixes
+
+
+M src/config/config-parser.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/master/main.c
+
+2012-08-13 02:57:37 +0300 Timo Sirainen <tss@iki.fi> (85ee28daca)
+
+ imap: Code cleanup
+
+
+M src/imap/imap-sync.c
+
+2012-08-13 02:51:09 +0300 Timo Sirainen <tss@iki.fi> (e82e363e7a)
+
+ imap: FETCH API updated to allow using the same parsed FETCH in multiple
+ mailboxes. This is in preparation for NOTIFY extension.
+
+
+M src/imap/cmd-fetch.c
+M src/imap/cmd-select.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+
+2012-08-13 02:41:08 +0300 Timo Sirainen <tss@iki.fi> (3cca614bc0)
+
+ imap_msgpart_parse() doesn't really need a mailbox parameter.
+
+
+M src/imap/imap-fetch-body.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-storage/imap-msgpart.h
+
+2012-08-13 01:47:54 +0300 Timo Sirainen <tss@iki.fi> (d10a370b26)
+
+ imap: FETCH API cleanup: keep fetch state in a separate struct.
+
+
+M src/imap/cmd-fetch.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+
+2012-08-13 01:25:12 +0300 Timo Sirainen <tss@iki.fi> (4f5f48fcfa)
+
+ imap: Made STATUS handling API more flexible.
+
+
+M src/imap/cmd-list.c
+M src/imap/cmd-status.c
+M src/imap/imap-status.c
+M src/imap/imap-status.h
+
+2012-08-13 00:36:38 +0300 Timo Sirainen <tss@iki.fi> (89cda47c3c)
+
+ lib-storage: Mailbox tree API supports now including extra data in the
+ nodes.
+
+
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-tree.h
+
+2012-08-13 00:33:47 +0300 Timo Sirainen <tss@iki.fi> (0fa842717a)
+
+ lib-index: Support clearing the whole log view with
+ mail_transaction_log_view_clear(0)
+
+
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.h
+
+2012-08-13 00:31:40 +0300 Timo Sirainen <tss@iki.fi> (8f41f9935b)
+
+ lib-index: Removed duplicate ext-intro checking code.
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2012-08-13 00:29:38 +0300 Timo Sirainen <tss@iki.fi> (cf05507f63)
+
+ lib-index: Verify validity of ext-intro records in transaction log.
+
+
+M src/lib-index/mail-transaction-log-view.c
+
+2012-08-13 00:27:07 +0300 Timo Sirainen <tss@iki.fi> (05570210e9)
+
+ Verify that mailbox_idle_check_interval setting isn't 0.
+
+
+M src/lib-storage/mail-storage-settings.c
+
+2012-08-12 09:57:20 +0300 Timo Sirainen <tss@iki.fi> (689d163c6b)
+
+ lib-ssl-iostream: Avoid assert-crash when reading a closed stream.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2012-08-12 08:36:06 +0300 Timo Sirainen <tss@iki.fi> (b009e7e399)
+
+ lib-ssl-iostream: Don't crash if protocols setting is NULL.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2012-08-12 08:35:29 +0300 Timo Sirainen <tss@iki.fi> (f1f61d8410)
+
+ ssl-params socket was missing from login/ directory
+
+
+M src/ssl-params/ssl-params-settings.c
+
+2012-08-12 08:05:49 +0300 Timo Sirainen <tss@iki.fi> (a159e0bea6)
+
+ lib-index: Message flag syncing was broken due to wrong struct cast.
+
+
+M src/lib-index/mail-index-sync.c
+
+2012-08-12 07:21:00 +0300 Timo Sirainen <tss@iki.fi> (d775ed07fc)
+
+ lib-storage: Update private index before updating saved search results.
+
+
+M src/lib-storage/index/index-sync.c
+
+2012-08-12 06:26:35 +0300 Timo Sirainen <tss@iki.fi> (6f08b98ac6)
+
+ Added i_stream_last_line_crlf()
+
+
+M src/lib/istream-private.h
+M src/lib/istream.c
+M src/lib/istream.h
+
+2012-08-12 05:42:14 +0300 Timo Sirainen <tss@iki.fi> (4e7b41f308)
+
+ lib-imap: imap_quote() was broken when called with a datastack pool.
+
+
+M src/lib-imap/imap-quote.c
+
+2012-08-12 05:21:35 +0300 Timo Sirainen <tss@iki.fi> (b09e282875)
+
+ FETCH BINARY fix.
+
+
+M src/lib-storage/index/index-mail-binary.c
+
+2012-08-12 04:54:54 +0300 Timo Sirainen <tss@iki.fi> (0d20bb8f13)
+
+ imap: More fixes to fetching messages.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2012-08-12 03:28:26 +0300 Timo Sirainen <tss@iki.fi> (d4088843b4)
+
+ lib-storage: Fixed assert-crash on subscribtion change that didn't change
+ anything.
+
+
+M src/lib-storage/list/subscription-file.c
+
+2012-08-12 02:26:12 +0300 Timo Sirainen <tss@iki.fi> (6202c9d249)
+
+ lib-storage: mail_get_header_stream() now always returns end-of-headers LF.
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2012-08-12 02:24:54 +0300 Timo Sirainen <tss@iki.fi> (3c07b1481e)
+
+ istream-header-filter: Allow adding more headers at the end of headers
+ callback.
+
+
+M src/lib-mail/istream-header-filter.c
+
+2012-08-12 02:08:30 +0300 Timo Sirainen <tss@iki.fi> (eb138bd4aa)
+
+ imap: Fixed fetching partial ranges from non-BODY[]
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2012-08-12 01:38:51 +0300 Timo Sirainen <tss@iki.fi> (a317854ef1)
+
+ imap: (non-UID) MOVE command didn't always send EXPUNGE for the moved
+ message.
+
+
+M src/imap/cmd-copy.c
+
+2012-08-12 01:29:16 +0300 Timo Sirainen <tss@iki.fi> (efb83f10b2)
+
+ dbox: Crashfixes
+
+
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+
+2012-08-11 08:10:32 +0300 Timo Sirainen <tss@iki.fi> (402e999a87)
+
+ Renamed struct mailbox_info.name to vname.
+
+
+M TODO
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-move.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/dsync/dsync-mailbox-tree-fill.c
+M src/imap/cmd-list.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-list-iter.c
+M src/lib-storage/mailbox-list.h
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/virtual/virtual-config.c
+
+2012-08-11 08:03:05 +0300 Timo Sirainen <tss@iki.fi> (fc0b202db2)
+
+ imap: Fixed FETCHing nonexistent parts.
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2012-08-11 07:48:04 +0300 Timo Sirainen <tss@iki.fi> (83fb4a1bc4)
+
+ Added BINARY to IMAP capabilities.
+
+
+M configure.in
+
+2012-08-11 07:47:29 +0300 Timo Sirainen <tss@iki.fi> (6e8f0036ca)
+
+ lib-storage: Added caching for mail_get_binary_size()
+
+
+M src/lib-mail/Makefile.am
+A src/lib-mail/message-binary-part.c
+A src/lib-mail/message-binary-part.h
+M src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/mail.c
+
+2012-08-11 07:46:42 +0300 Timo Sirainen <tss@iki.fi> (3f73764415)
+
+ liblib: Added "number packing" API.
+
+
+M src/lib/Makefile.am
+A src/lib/numpack.c
+A src/lib/numpack.h
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+A src/lib/test-numpack.c
+
+2012-08-11 05:47:03 +0300 Timo Sirainen <tss@iki.fi> (2803c51aad)
+
+ imap: Send FETCH BINARY output using literal8.
+
+
+M src/imap/imap-fetch-body.c
+M src/lib-imap-storage/imap-msgpart.c
+
+2012-08-11 05:31:46 +0300 Timo Sirainen <tss@iki.fi> (306b3f41b0)
+
+ IMAP BINARY extension supports now FETCH BINARY command.
+
+
+M src/doveadm/doveadm-mail.c
+M src/imap/cmd-fetch.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-storage/imap-msgpart.h
+M src/lib-storage/fail-mail.c
+M src/lib-storage/index/Makefile.am
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/imapc/imapc-mail.c
+A src/lib-storage/index/index-mail-binary.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-error.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail.c
+M src/plugins/virtual/virtual-mail.c
+
+2012-08-11 05:29:05 +0300 Timo Sirainen <tss@iki.fi> (f2b95f63eb)
+
+ istream-seekable: Reverted unnecessary/broken changes from the previous
+ patch.
+
+
+M src/lib/istream-seekable.c
+
+2012-08-11 05:19:58 +0300 Timo Sirainen <tss@iki.fi> (4e2d7dd2b2)
+
+ lib-mail: Added message_decoder_parse_cte()
+
+
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-decoder.h
+
+2012-08-11 05:17:58 +0300 Timo Sirainen <tss@iki.fi> (4d33a3133e)
+
+ Added istreams_merge(), which forces istream-seekable to be created.
+
+
+M src/lib/istream-seekable.c
+M src/lib/istream-seekable.h
+
+2012-08-11 05:17:19 +0300 Timo Sirainen <tss@iki.fi> (a6f281d078)
+
+ istream-seekable: When we reach EOF, unreference all the input streams.
+
+
+M src/lib/istream-seekable.c
+
+2012-08-11 05:15:00 +0300 Timo Sirainen <tss@iki.fi> (5702c81e2d)
+
+ istream-seekable: Minor code cleanup. stream->buffer and sstream->buffer
+ being two different things was a bit confusing.
+
+
+M src/lib/istream-seekable.c
+
+2012-08-11 04:09:41 +0300 Timo Sirainen <tss@iki.fi> (a0f8e90bf0)
+
+ imap: FETCH BODY[n] shouldn't include MIME headers
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2012-08-11 03:14:43 +0300 Timo Sirainen <tss@iki.fi> (f7ec15aefa)
+
+ istream-header-filter: Added i_stream_header_filter_add() to add extra
+ headers.
+
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/istream-header-filter.h
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/mbox/mbox-save.c
+
+2012-08-11 02:53:49 +0300 Timo Sirainen <tss@iki.fi> (8b247780e9)
+
+ Added o_stream_get_fd().
+
+
+M src/lib-compression/ostream-bzlib.c
+M src/lib-compression/ostream-zlib.c
+M src/lib-fs/ostream-cmp.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-file.c
+M src/lib/ostream-private.h
+M src/lib/ostream-rawlog.c
+M src/lib/ostream.c
+M src/lib/ostream.h
+
+2012-08-11 02:16:07 +0300 Timo Sirainen <tss@iki.fi> (89d8953ec9)
+
+ Makefile: Removed mountpoint.o from unused_objects, since it's now included
+ via lib-master.
+
+
+M src/doveadm/Makefile.am
+M src/imap/Makefile.am
+M src/indexer/Makefile.am
+M src/lda/Makefile.am
+M src/lmtp/Makefile.am
+M src/pop3/Makefile.am
+
+2012-08-10 07:32:14 +0300 Timo Sirainen <tss@iki.fi> (5dc71fc150)
+
+ Added istream-qp-decoder
+
+
+M src/lib-mail/Makefile.am
+A src/lib-mail/istream-qp-decoder.c
+A src/lib-mail/istream-qp.h
+A src/lib-mail/test-istream-qp-decoder.c
+
+2012-08-10 07:31:28 +0300 Timo Sirainen <tss@iki.fi> (9b74311cba)
+
+ quoted-printable decode didn't ignore whitespace at the end of soft line
+ break.
+
+
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/test-quoted-printable.c
+
+2012-08-10 07:31:28 +0300 Timo Sirainen <tss@iki.fi> (2f67f2fbb4)
+
+ quoted-printable decode didn't ignore whitespace at the end of soft line
+ break.
+
+
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/test-quoted-printable.c
+
+2012-08-10 07:01:34 +0300 Timo Sirainen <tss@iki.fi> (12467c3e1d)
+
+ Previous istream-base64 changes broke compilation
+
+
+M src/lib-mail/istream-attachment-connector.c
+
+2012-08-10 07:00:20 +0300 Timo Sirainen <tss@iki.fi> (36a50bc131)
+
+ Various fixes to istream-base64-encoder/decoder
+
+
+M src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+M src/lib/test-istream-base64-encoder.c
+
+2012-08-10 06:45:25 +0300 Timo Sirainen <tss@iki.fi> (3700eab781)
+
+ Added istream-base64-decoder.
+
+
+M src/lib/Makefile.am
+A src/lib/istream-base64-decoder.c
+M src/lib/istream-base64-encoder.c
+R071 src/lib/istream-base64-encoder.h src/lib/istream-base64.h
+A src/lib/test-istream-base64-decoder.c
+M src/lib/test-istream-base64-encoder.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2012-08-10 06:03:11 +0300 Timo Sirainen <tss@iki.fi> (72a16aec61)
+
+ istreams: When reading invalid data, fail with EINVAL instead of EIO. EINVAL
+ was already used more.
+
+
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-storage/index/istream-mail.c
+M src/lib/istream-sized.c
+M src/lib/istream-sized.h
+
+2012-08-10 05:55:13 +0300 Timo Sirainen <tss@iki.fi> (10f6041b5b)
+
+ istream-base64-encoder: Minor fix to require only 3 bytes instead of 4 per
+ input block. Base64 encoder reads 3 bytes and outputs 4 bytes, so it's ok to
+ read only 3 bytes.
+
+
+M src/lib/istream-base64-encoder.c
+
+2012-08-10 05:34:35 +0300 Timo Sirainen <tss@iki.fi> (637f9883a3)
+
+ ioloop-epoll: Fix for running with zero I/Os.
+
+
+M src/lib/ioloop-epoll.c
+
+2012-08-10 05:27:45 +0300 Timo Sirainen <tss@iki.fi> (6c94ba9653)
+
+ doveadm: Renamed "auth" command to "auth test".
+
+
+M src/doveadm/doveadm-auth.c
+
+2012-08-10 05:24:07 +0300 Timo Sirainen <tss@iki.fi> (1d2c463d23)
+
+ Merged changes from v2.1 tree.
+
+
+2012-08-10 04:56:56 +0300 Timo Sirainen <tss@iki.fi> (0a35e44976)
+
+ TODO updated
+
+
+M TODO
+
+2012-08-10 02:34:34 +0300 Timo Sirainen <tss@iki.fi> (2df335f17a)
+
+ Removed accidentally committed debug code
+
+
+M src/lib-master/master-service-settings-cache.c
+
+2012-08-10 02:33:19 +0300 Timo Sirainen <tss@iki.fi> (f098053b98)
+
+ lib-master: Another settings parser cache fix
+
+
+M src/lib-master/master-service-settings-cache.c
+
+2012-08-10 00:16:08 +0300 Timo Sirainen <tss@iki.fi> (cf64e39cef)
+
+ lib-storage: Don't save text/* MIME parts to external attachments even if
+ they're big enough.
+
+
+M src/lib-storage/index/index-attachment.c
+
+2012-08-09 18:50:31 +0300 Timo Sirainen <tss@iki.fi> (8c8f7ac580)
+
+ Added file_lock_method_to_str()
+
+
+M src/lib/file-lock.c
+M src/lib/file-lock.h
+
+2012-08-08 23:57:29 +0300 Timo Sirainen <tss@iki.fi> (a327d9301f)
+
+ connection API: Don't do error handling by default on output stream. For
+ connections the error handling is almost never wanted.
+
+
+M src/lib/connection.c
+
+2012-08-08 23:46:48 +0300 Timo Sirainen <tss@iki.fi> (f02a1a3766)
+
+ master: If service's protocol isn't in enabled protocols, don't verify its
+ settings.
+
+
+M src/master/master-settings.c
+
+2012-08-08 23:41:40 +0300 Timo Sirainen <tss@iki.fi> (24fed8aca2)
+
+ Added libtest to libdovecot.so
+
+
+M configure.in
+M dovecot-config.in.in
+M src/Makefile.am
+M src/lib-dovecot/Makefile.am
+
+2012-08-08 23:40:37 +0300 Timo Sirainen <tss@iki.fi> (eff0f02f2c)
+
+ ioloop-epoll: Allow running ioloop even without any I/Os (only timeouts).
+
+
+M src/lib/ioloop-epoll.c
+
+2012-08-08 01:13:10 +0300 Timo Sirainen <tss@iki.fi> (af5fc8ca26)
+
+ Compiler warning fixes
+
+
+M src/lib-mail/istream-attachment-extractor.h
+M src/lib-mail/test-istream-attachment.c
+
+2012-08-08 00:44:27 +0300 Timo Sirainen <tss@iki.fi> (ca8793406c)
+
+ fts-solr: Optimized expunging messages: delete more than one ID per request.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2012-08-07 17:56:24 +0300 Timo Sirainen <tss@iki.fi> (dbeedaef53)
+
+ lib-master: Settings cache crashed after config_cache_size was reached. This
+ affected login processes when local {} and/or remote {} blocks were
+ specified. Also fixed the cache behavior to be MRU.
+
+
+M src/lib-master/master-service-settings-cache.c
+
+2012-08-06 17:00:47 +0300 Timo Sirainen <tss@iki.fi> (3f878e1442)
+
+ login: s/succesful/successful/
+
+
+M src/login-common/client-common.c
+
+2012-08-03 17:39:54 +0300 Timo Sirainen <tss@iki.fi> (0e7d5ff38f)
+
+ pop3-migration: Avoid disconnection from POP3 server due to idling.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2012-08-03 14:19:03 +0300 Timo Sirainen <tss@iki.fi> (49d0c4cb38)
+
+ Makefile: Fixed -ldovecot-compression name
+
+
+M Makefile.am
+
+2012-08-02 23:56:09 +0300 Timo Sirainen <tss@iki.fi> (95eb893b9f)
+
+ Makefile: Added missing headers
+
+
+M src/lib-compression/Makefile.am
+
+2012-08-02 23:38:30 +0300 Timo Sirainen <tss@iki.fi> (1ece673f81)
+
+ Makefile: Added missing headers to tarball
+
+
+M src/lib-ssl-iostream/Makefile.am
+
+2012-08-01 23:14:19 +0300 Timo Sirainen <tss@iki.fi> (8da18b8cae)
+
+ doveadm-server: Make sure another command isn't started before previous one
+ is finished.
+
+
+M src/doveadm/client-connection.c
+
+2012-08-01 22:43:45 +0300 Timo Sirainen <tss@iki.fi> (f3bed8816e)
+
+ fts: Fixed a crash if virtual mailbox search couldn't be optimized by
+ backend.
+
+
+M src/plugins/fts/fts-api.c
+
+2012-08-01 22:39:57 +0300 Timo Sirainen <tss@iki.fi> (d05e9a7a1c)
+
+ fts: Fixed crash on error handling
+
+
+M src/plugins/fts/fts-search.c
+
+2012-08-01 21:14:30 +0300 Timo Sirainen <tss@iki.fi> (7a3d16456e)
+
+ auth: Minor code cleanup
+
+
+M src/auth/auth-cache.c
+
+2012-08-01 20:37:05 +0300 Timo Sirainen <tss@iki.fi> (d52705589a)
+
+ Added signature for changeset bc86680293d2
+
+
+M .hgsigs
+
+2012-08-01 20:36:53 +0300 Timo Sirainen <tss@iki.fi> (39d4d5ffb0)
+
+ Added tag 2.1.9 for changeset bc86680293d2
+
+
+M .hgtags
+
+2012-08-01 20:36:53 +0300 Timo Sirainen <tss@iki.fi> (b070884125)
+
+ Released v2.1.9.
+
+
+M NEWS
+M configure.in
+
+2012-08-01 20:25:26 +0300 Timo Sirainen <tss@iki.fi> (2219b375f5)
+
+ auth: Support empty ldap base (for ldap servers that support it).
+
+
+M src/auth/db-ldap.c
+
+2012-08-01 20:24:58 +0300 Timo Sirainen <tss@iki.fi> (a9c3b57f98)
+
+ auth: winbind mechanism supports now spaces in filenames.
+
+
+M src/auth/mech-winbind.c
+
+2012-08-01 20:24:00 +0300 Timo Sirainen <tss@iki.fi> (2022c25905)
+
+ fts: Fixed crash in fts_lookup_multi() for backends that can't handle it
+ (fts-squat)
+
+
+M src/plugins/fts/fts-api.c
+
+2012-08-01 18:53:52 +0300 Timo Sirainen <tss@iki.fi> (98a73e104c)
+
+ o_stream_ignore_last_errors() / o_stream_nfinish() now marks parent streams
+ also as checked.
+
+
+M src/lib/ostream.c
+
+2012-08-01 18:33:14 +0300 Timo Sirainen <tss@iki.fi> (6850575220)
+
+ Removed duplicate libdovecot-ssl
+
+
+M src/lib-dovecot/Makefile.am
+M src/lib-ssl-iostream/Makefile.am
+
+2012-08-01 18:30:40 +0300 Timo Sirainen <tss@iki.fi> (f052a44869)
+
+ Moved zlib/bzlib code to lib-compression library.
+
+
+M Makefile.am
+M configure.in
+M dovecot-config.in.in
+M dovecot.m4
+M src/Makefile.am
+A src/lib-compression/Makefile.am
+A src/lib-compression/compression.c
+A src/lib-compression/compression.h
+R100 src/plugins/zlib/istream-bzlib.c src/lib-compression/istream-bzlib.c
+R100 src/plugins/zlib/istream-zlib.c src/lib-compression/istream-zlib.c
+R100 src/plugins/zlib/istream-zlib.h src/lib-compression/istream-zlib.h
+R100 src/plugins/zlib/ostream-bzlib.c src/lib-compression/ostream-bzlib.c
+R100 src/plugins/zlib/ostream-zlib.c src/lib-compression/ostream-zlib.c
+R100 src/plugins/zlib/ostream-zlib.h src/lib-compression/ostream-zlib.h
+M src/plugins/imap-zlib/Makefile.am
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/zlib/Makefile.am
+M src/plugins/zlib/zlib-plugin.c
+M src/plugins/zlib/zlib-plugin.h
+
+2012-08-01 14:13:40 +0300 Timo Sirainen <tss@iki.fi> (46eecdfa41)
+
+ lib-storage: Fixed attempting to delete a non-symlink with Solaris Also
+ fixed error message to say it's about unlink(), not stat().
+
+
+M src/lib-storage/list/mailbox-list-delete.c
+
+2012-07-31 23:10:53 +0300 Timo Sirainen <tss@iki.fi> (cd2fc7dd28)
+
+ fts-solr: Compiler warning fix
+
+
+M src/plugins/fts-solr/solr-connection.c
+
+2012-07-31 23:02:22 +0300 Timo Sirainen <tss@iki.fi> (b09f510e3f)
+
+ imapc: Fixed crashes during mailbox close.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+
+2012-07-31 22:33:21 +0300 Timo Sirainen <tss@iki.fi> (9fc96ee0e4)
+
+ lib-storage: Improved missing namespace error messages.
+
+
+M src/lib-storage/mail-namespace.c
+
+2012-07-31 22:30:19 +0300 Timo Sirainen <tss@iki.fi> (b5b44e6c99)
+
+ script: Don't add an empty parameter to executed command line Also fixed an
+ error check
+
+
+M src/util/script.c
+
+2012-07-31 22:03:00 +0300 Timo Sirainen <tss@iki.fi> (df1713bd29)
+
+ fts-solr: Log a better error if Solr sends invalid XML input.
+
+
+M src/plugins/fts-solr/solr-connection.c
+
+2012-07-31 20:59:22 +0300 Timo Sirainen <tss@iki.fi> (4e68f62aa0)
+
+ auth: if passwd-file isn't the only userdb, don't complain about missing
+ userdb fields
+
+
+M src/auth/db-passwd-file.c
+M src/auth/db-passwd-file.h
+
+2012-07-31 19:32:03 +0300 Timo Sirainen <tss@iki.fi> (812f2e9d17)
+
+ lib-storage: Fixes to handling private message flag indexes.
+
+
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync.c
+
+2012-07-31 18:34:53 +0300 Timo Sirainen <tss@iki.fi> (30bbe0d3d8)
+
+ imap: Fixed LIST handling with reference parameter. For example "LIST
+ shared/ %" failed to list shared/user namespace prefix.
+
+
+M src/imap/cmd-list.c
+
+2012-07-31 18:33:45 +0300 Timo Sirainen <tss@iki.fi> (9de71a9113)
+
+ lib-storage: Avoid creating shared user for an empty username.
+
+
+M src/lib-storage/index/shared/shared-list.c
+
+2012-07-31 02:46:21 +0300 Timo Sirainen <tss@iki.fi> (4351efdddc)
+
+ imap: CATENATE command fixes. Patch by Stephan Bosch
+
+
+M src/imap/cmd-append.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib/uri-util.c
+
+2012-07-31 02:45:23 +0300 Timo Sirainen <tss@iki.fi> (fde095c17b)
+
+ lib-master: Assert-crashfix
+
+
+M src/lib-master/master-service-ssl.c
+
+2012-07-30 19:49:43 +0300 Timo Sirainen <tss@iki.fi> (35856ec466)
+
+ auth: EXTERNAL mechanism didn't use auth_username_* settings.
+
+
+M src/auth/mech-external.c
+
+2012-07-30 15:56:00 +0300 Timo Sirainen <tss@iki.fi> (96f89d51e8)
+
+ Added "connection" API for handling client/server connections more easily.
+
+
+M src/lib/Makefile.am
+A src/lib/connection.c
+A src/lib/connection.h
+
+2012-07-30 15:55:39 +0300 Timo Sirainen <tss@iki.fi> (01c05d9e3f)
+
+ Makefile: Fixed libdovecot-ssl to actually contain libssl-iostream
+
+
+M src/lib-dovecot/Makefile.am
+
+2012-07-30 15:06:29 +0300 Timo Sirainen <tss@iki.fi> (64347267ce)
+
+ dovecot.m4: Export also LIBDOVECOT_IMAP_INCLUDE
+
+
+M dovecot.m4
+
+2012-07-28 21:55:14 +0300 Timo Sirainen <tss@iki.fi> (b244040178)
+
+ lib-master: Check ssl_cert/ssl_key only when running in config/doveconf.
+ Also if Dovecot isn't built with SSL, default to ssl=no
+
+
+M src/lib-master/master-service-ssl-settings.c
+
+2012-07-28 20:31:30 +0300 Timo Sirainen <tss@iki.fi> (40ec8af8e0)
+
+ lib-storage: When saving a mail, set date.save to cache immediately.
+
+
+M src/lib-storage/index/index-mail.c
+
+2012-07-28 20:31:13 +0300 Timo Sirainen <tss@iki.fi> (f081cca12e)
+
+ lib-storage: When copying a mail, use a new timestamp for date.save instead
+ of preserving it.
+
+
+M src/lib-storage/index/index-storage.c
+
+2012-07-28 20:00:32 +0300 Timo Sirainen <tss@iki.fi> (3f8926ac7b)
+
+ fts-lucene: Fixed handling non-lowercase SEARCH HEADER
+ FROM/TO/SUBJECT/CC/BCC Based on patch by Matthew Powell.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2012-07-28 19:57:10 +0300 Timo Sirainen <tss@iki.fi> (a7bff77a97)
+
+ verbose_ssl=yes: Log debug messages with debug level instead of as info...
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2012-07-28 19:56:07 +0300 Timo Sirainen <tss@iki.fi> (c09d07e85a)
+
+ verbose_ssl=yes: Log debug messages with debug level instead of as warnings.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/login-common/ssl-proxy-openssl.c
+
+2012-07-28 19:33:14 +0300 Timo Sirainen <tss@iki.fi> (df27677ac4)
+
+ lib-charset: Removed unnecessary buffer size increases, which only caused
+ out-of-memory errors.
+
+
+M src/lib-charset/charset-iconv.c
+
+2012-07-28 18:03:25 +0300 Timo Sirainen <tss@iki.fi> (0f43a3eb3d)
+
+ dovecot.m4: Updates from Pigeonhole
+
+
+M dovecot.m4
+
+2012-07-28 17:55:46 +0300 Timo Sirainen <tss@iki.fi> (cf3894a2a2)
+
+ Added libdovecot-ssl for creating SSL servers more easily using
+ lib-ssl-iostream.
+
+
+M Makefile.am
+M configure.in
+M dovecot-config.in.in
+M dovecot.m4
+M src/Makefile.am
+M src/lib-dovecot/Makefile.am
+M src/lib-master/Makefile.am
+A src/lib-master/master-service-ssl.c
+A src/lib-master/master-service-ssl.h
+
+2012-07-28 17:54:19 +0300 Timo Sirainen <tss@iki.fi> (f29756821a)
+
+ Moved ssl_* settings from login-common to lib-master. This allows creating
+ other SSL servers more easily.
+
+
+M src/config/config-parser.c
+M src/lib-master/Makefile.am
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+A src/lib-master/master-service-ssl-settings.c
+A src/lib-master/master-service-ssl-settings.h
+M src/lib-master/master-service.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/login-common.h
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+M src/login-common/main.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.c
+M src/login-common/ssl-proxy.h
+M src/master/service-process.c
+
+2012-07-28 17:47:34 +0300 Timo Sirainen <tss@iki.fi> (aec5f17494)
+
+ lib-master: Added base_dir to master_service_settings.
+
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+
+2012-07-28 17:45:47 +0300 Timo Sirainen <tss@iki.fi> (9d002e7001)
+
+ lib-master: Added and used MASTER_SERVICE_INTERNAL_SET_PARSERS macro.
+
+
+M src/auth/auth-settings.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-storage/mail-storage-service.c
+M src/lmtp/lmtp-settings.c
+M src/login-common/login-settings.c
+
+2012-07-28 17:37:19 +0300 Timo Sirainen <tss@iki.fi> (a80b995573)
+
+ ssl-params: Create also base_dir/ssl-params socket.
+
+
+M src/ssl-params/ssl-params-settings.c
+
+2012-07-28 17:36:53 +0300 Timo Sirainen <tss@iki.fi> (513ca3e089)
+
+ login: Use lib-ssl-iostream code to handle ssl_protocols setting.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2012-07-28 17:36:27 +0300 Timo Sirainen <tss@iki.fi> (6a4212e6d7)
+
+ lib-ssl-iostream: Added protocols setting.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2012-07-28 17:34:11 +0300 Timo Sirainen <tss@iki.fi> (2244ec1fda)
+
+ lib-ssl-iostream: Name SSL iostreams based on parent streams.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2012-07-28 17:33:45 +0300 Timo Sirainen <tss@iki.fi> (130fadd21e)
+
+ lib-ssl-iostream: Inherit output stream's error handling from parent.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2012-07-28 17:32:14 +0300 Timo Sirainen <tss@iki.fi> (38f1423a23)
+
+ lib-ssl-iostream: Added ssl_iostream_destroy() to do a clean SSL shutdown.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl-none.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2012-07-28 16:29:22 +0300 Timo Sirainen <tss@iki.fi> (1ab2295a92)
+
+ config: Added support for plugins to contain multiple service settings. For
+ example:
+
+ const struct service_settings *foo_settings_service_settings_array[] = {
+ &foo1_settings_service_settings,
+ &foo2_settings_service_settings,
+ NULL
+ };
+
+M src/config/config-parser.c
+
+2012-07-28 15:34:28 +0300 Timo Sirainen <tss@iki.fi> (04e768a7bd)
+
+ imap: MOVE command's COPYUID reply was missing a space
+
+
+M src/imap/cmd-copy.c
+
+2012-07-25 19:31:28 +0300 Timo Sirainen <tss@iki.fi> (c24ef531ca)
+
+ i_stream_read(): Added assert to make sure EOF isn't returned too early.
+
+
+M src/lib/istream.c
+
+2012-07-25 19:30:59 +0300 Timo Sirainen <tss@iki.fi> (c48b861822)
+
+ Comment update.
+
+
+M src/lib-mail/istream-attachment-connector.h
+
+2012-07-25 19:30:55 +0300 Timo Sirainen <tss@iki.fi> (95ba0bc53d)
+
+ istream-attachment-extractor: Fixed read() returning EOF too early.
+
+
+M src/lib-mail/istream-attachment-extractor.c
+
+2012-07-25 15:39:14 +0300 Timo Sirainen <tss@iki.fi> (a67b39aac6)
+
+ pop3c: If POP3 server doesn't support CAPA command, try to use UIDL anyway.
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2012-07-23 21:43:39 +0300 Timo Sirainen <tss@iki.fi> (fefd62f9aa)
+
+ lib-dict: Added memcached backend using its binary protocol.
+
+
+M src/lib-dict/Makefile.am
+A src/lib-dict/dict-memcached.c
+M src/lib-dict/dict-private.h
+M src/lib-dict/dict.c
+M src/lib-dict/test-dict.c
+
+2012-07-23 17:24:13 +0300 Timo Sirainen <tss@iki.fi> (1c7df2f6d1)
+
+ redis dict: Added support for set/unset/atomic_inc. This allows using Redis
+ as dict quota backend.
+
+
+M src/lib-dict/dict-redis.c
+
+2012-07-23 17:23:37 +0300 Timo Sirainen <tss@iki.fi> (e3237982a4)
+
+ lib-dict: Allow backends to have iteration methods as NULL if they don't
+ support it.
+
+
+M src/lib-dict/dict.c
+
+2012-07-23 14:23:32 +0300 Timo Sirainen <tss@iki.fi> (6f42ea227d)
+
+ quota: Added quota_ignore_save_errors plugin setting. If mail is being saved
+ but current quota usage lookup fails with internal error, save the mail
+ anyway instead of failing.
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2012-07-17 16:20:20 +0300 Timo Sirainen <tss@iki.fi> (b1f02eab20)
+
+ auth: Fixed error handling in GSSAPI when __gss_userok() was used. An
+ invalid username would have been treated as successful and auth process
+ probably would have crashed.
+
+
+M src/auth/mech-gssapi.c
+
+2012-07-17 16:17:40 +0300 Timo Sirainen <tss@iki.fi> (0da7ec741f)
+
+ auth: GSSAPI RFC compliancy fixes. Patch by Ben Morrow:
+
+ The first problem is that, because of the way the client invokes libsasl, it
+ sends a GSSAPI request which does not ask for mutual authentication. This
+ means that on the server gss_accept_sec_context returns GSS_S_COMPLETE with
+ a zero-length output token. Dovecot currently sends this to the client as a
+ zero-length continuation response, but this is incorrect according to RFC
+ 4752: what it ought to do instead is proceed straight to the security layer
+ negotiations, and send a gss_wrap packet.
+
+ The second is that Cyrus sends an empty authz identity; that is, the
+ security layer negotiation packet, when gss_unwrapped, is exactly 4 bytes
+ long. Dovecot objects to this, but in RFC 4422 this is explicitly allowed,
+ and means the authz identity is identical to the authn identity.
+
+M src/auth/mech-gssapi.c
+
+2012-07-17 16:03:43 +0300 Jan Friesse <jfriesse@gmail.com> (3fccae8252)
+
+ quota: Support for fs hard limit Support for hard limit is implemented for
+ NFS, but sadly not for other filesystems. If softlimit is not set (it's 0),
+ hardlimit should be used. --- src/plugins/quota/quota-fs.c | 31
+ +++++++++++++++++++++++++++++++ 1 files changed, 31 insertions(+), 0
+ deletions(-)
+
+
+M src/plugins/quota/quota-fs.c
+
+2012-07-17 15:44:36 +0300 Timo Sirainen <tss@iki.fi> (384034c3a9)
+
+ config: Fixed error reporting when reloading settings for master process
+ fails.
+
+
+M src/config/config-connection.c
+M src/lib-settings/settings-parser.c
+
+2012-07-17 15:31:03 +0300 Timo Sirainen <tss@iki.fi> (f88134b684)
+
+ doc: Install mkcert.sh, dovecot-openssl.cnf and solr-schema.xml files.
+
+
+M doc/Makefile.am
+
+2012-07-17 15:28:24 +0300 Timo Sirainen <tss@iki.fi> (6a9e034441)
+
+ login: Don't allow STARTTLS if ssl=no in client's settings, even if ssl=yes
+ globally.
+
+
+M src/imap-login/client.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/pop3-login/client-authenticate.c
+
+2012-07-17 15:21:32 +0300 Timo Sirainen <tss@iki.fi> (efa98cba7e)
+
+ lib-master: Updated default mountpoint ignore prefix list.
+
+
+M src/lib-master/mountpoint-list.c
+
+2012-07-17 15:14:21 +0300 Timo Sirainen <tss@iki.fi> (df27aa70a3)
+
+ director: Changed director_username_hash setting's default from %u to %Lu
+ This allows potential trouble when username isn't always lowercased.
+
+
+M src/director/director-settings.c
+
+2012-07-17 15:13:21 +0300 Timo Sirainen <tss@iki.fi> (76e1aaea9f)
+
+ example-config: Added director_username_hash setting.
+
+
+M doc/example-config/conf.d/10-director.conf
+
+2012-07-17 15:10:35 +0300 Timo Sirainen <tss@iki.fi> (d4a575a5ce)
+
+ lib-mail: mail_user_hash() has now a faster code path for format=%Lu
+
+
+M src/lib-mail/mail-user-hash.c
+
+2012-07-17 14:57:44 +0300 Timo Sirainen <tss@iki.fi> (bc0e8c45ce)
+
+ master: "/X is no longer mounted" warning now points to wiki page.
+
+
+M src/master/main.c
+
+2012-07-16 23:15:19 +0300 Timo Sirainen <tss@iki.fi> (93b19ecc73)
+
+ doveconf: When looking up specific settings, ignore errors found by check
+ functions.
+
+
+M src/config/doveconf.c
+
+2012-07-16 20:41:51 +0300 Timo Sirainen <tss@iki.fi> (a4b1620c95)
+
+ imap: Updated MOVE implementation.
+
+
+M src/imap/cmd-copy.c
+M src/imap/imap-commands.c
+M src/imap/imap-commands.h
+
+2012-07-16 18:24:53 +0300 Timo Sirainen <tss@iki.fi> (981b94d1af)
+
+ master: Create missing /var/lib/dovecot/ with world-read-exec permissions.
+ There's really nothing secret in the directory and in some setups this
+ change had to be done manually anyway.
+
+
+M src/master/master-settings.c
+
+2012-07-16 18:00:21 +0300 Timo Sirainen <tss@iki.fi> (766115d2b2)
+
+ quota: ns=PREFIX setting was ignored when accessing other users' shared
+ mailboxes.
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2012-07-16 17:40:45 +0300 Timo Sirainen <tss@iki.fi> (f9142439f2)
+
+ lib-storage: %h variable didn't necessarily expand correctly for shared
+ users' settings.
+
+
+M src/lib-storage/mail-user.c
+
+2012-07-16 16:59:51 +0300 Timo Sirainen <tss@iki.fi> (c8750d1836)
+
+ lib-storage: Search crashfix.
+
+
+M src/lib-storage/index/index-search.c
+
+2012-07-16 16:49:16 +0300 Timo Sirainen <tss@iki.fi> (e5a98011c5)
+
+ login: If ssl_key parsing fails, log the reason.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2012-07-11 19:15:03 +0200 Timo Sirainen <tss@iki.fi> (bfe4a97ad6)
+
+ mail-log: Log mailbox names with UTF-8 everywhere (instead of mUTF-7)
+
+
+M src/plugins/mail-log/mail-log-plugin.c
+
+2012-07-11 09:32:18 +0200 Timo Sirainen <tss@iki.fi> (f90c6ff1ae)
+
+ Debian names libtextcat as libexttextcat. Patch by Stephan Bosch.
+
+
+M configure.in
+M src/plugins/fts-lucene/Makefile.am
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2012-07-08 10:28:38 +0300 Timo Sirainen <tss@iki.fi> (378e1583e1)
+
+ pop3c: pop3c_master_user setting broke down non-master logins.
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2012-07-08 09:18:46 +0300 Timo Sirainen <tss@iki.fi> (aa8e63009c)
+
+ redis: Fixed connection handling.
+
+
+M src/lib-dict/dict-redis.c
+M src/lib/connection.c
+M src/lib/connection.h
+
+2012-07-08 09:00:57 +0300 Timo Sirainen <tss@iki.fi> (31257b47d4)
+
+ lib-dict: Added initial version of Redis support. The code is a bit ugly and
+ doesn't handle anything except key lookups.
+
+
+M src/lib-dict/Makefile.am
+M src/lib-dict/dict-private.h
+A src/lib-dict/dict-redis.c
+M src/lib-dict/dict.c
+M src/lib-dict/test-dict.c
+
+2012-07-08 08:59:52 +0300 Timo Sirainen <tss@iki.fi> (bc151e6b8a)
+
+ Added "connection" API for handling client/server connections more easily.
+
+
+M src/lib/Makefile.am
+A src/lib/connection.c
+A src/lib/connection.h
+
+2012-07-08 07:45:17 +0300 Timo Sirainen <tss@iki.fi> (2028d80c27)
+
+ auth: Added "dict" passdb/userdb.
+
+
+A doc/example-config/conf.d/auth-dict.conf.ext
+A doc/example-config/dovecot-dict-auth.conf.ext
+M src/auth/Makefile.am
+A src/auth/db-dict.c
+A src/auth/db-dict.h
+M src/auth/main.c
+A src/auth/passdb-dict.c
+M src/auth/passdb.c
+A src/auth/userdb-dict.c
+M src/auth/userdb.c
+
+2012-07-08 07:37:28 +0300 Timo Sirainen <tss@iki.fi> (e0ba54c7f9)
+
+ Added a simple JSON parser for parsing an object.
+
+
+M src/lib/Makefile.am
+A src/lib/json-parser.c
+A src/lib/json-parser.h
+
+2012-07-07 16:27:59 +0300 Timo Sirainen <tss@iki.fi> (0d6ae58916)
+
+ pop3c: Don't get size of TOP output and cache it as message's virtual size.
+
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+
+2012-07-05 16:11:00 +0300 Timo Sirainen <tss@iki.fi> (e771c83f8d)
+
+ lib-storage: Minor code cleanup
+
+
+M src/lib-storage/index/index-search.c
+
+2012-07-05 16:08:07 +0300 Timo Sirainen <tss@iki.fi> (c185be2224)
+
+ lib-storage: Fixed searching message flags on mailboxes without private
+ index.
+
+
+M src/lib-storage/index/index-search.c
+
+2012-07-05 10:51:42 +0300 Timo Sirainen <tss@iki.fi> (39aaa66444)
+
+ imap: Fixed crashes on some FETCH commands
+
+
+M src/lib-imap-storage/imap-msgpart.c
+
+2012-07-04 13:13:56 +0300 Timo Sirainen <tss@iki.fi> (be871058b8)
+
+ lib-storage: Private index needs to be synced also when messages have been
+ expunged.
+
+
+M src/lib-storage/index/index-sync-pvt.c
+
+2012-07-04 12:37:02 +0300 Timo Sirainen <tss@iki.fi> (ee0a5025dc)
+
+ lib-storage: Don't try to sync private index files if syncing already
+ failed. This fixes a crash when opening a mailbox failed.
+
+
+M src/lib-storage/index/index-sync.c
+
+2012-07-04 11:19:44 +0300 Timo Sirainen <tss@iki.fi> (497e3c2449)
+
+ lib-master: i_close_fd() change caused environment variables to be used as
+ settings.
+
+
+M src/lib-master/master-service-settings.c
+
+2012-07-04 11:02:58 +0300 Timo Sirainen <tss@iki.fi> (277c552d3e)
+
+ doveadm auth cache flush usage string updated
+
+
+M src/doveadm/doveadm-auth.c
+
+2012-07-07 14:37:54 +0300 Timo Sirainen <tss@iki.fi> (fdb766123f)
+
+ file_preallocate() returned wrong value on success with OSX.
+
+
+M src/lib/file-set-size.c
+
+2012-07-07 05:51:37 +0300 Timo Sirainen <tss@iki.fi> (ee3dc52212)
+
+ pop3: Fixed assert crash when doing UIDL on empty mailbox on some setups.
+
+
+M src/pop3/pop3-commands.c
+
+2012-07-04 10:57:40 +0300 Timo Sirainen <tss@iki.fi> (a43145989f)
+
+ doveadm: Added "auth cache flush" command.
+
+
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+
+2012-07-04 10:56:53 +0300 Timo Sirainen <tss@iki.fi> (39dcbe101c)
+
+ auth: Added CACHE-FLUSH command to flush some/all users from auth cache.
+
+
+M src/auth/auth-cache.c
+M src/auth/auth-cache.h
+M src/auth/auth-master-connection.c
+M src/auth/auth-request.h
+M src/auth/auth.c
+M src/auth/test-auth-cache.c
+
+2012-07-03 05:15:14 +0300 Timo Sirainen <tss@iki.fi> (8b4bc126e4)
+
+ Added signature for changeset 7e5f36fd989d
+
+
+M .hgsigs
+
+2012-07-03 05:15:04 +0300 Timo Sirainen <tss@iki.fi> (953c20fae6)
+
+ Added tag 2.1.8 for changeset 7e5f36fd989d
+
+
+M .hgtags
+
+2012-07-03 05:15:04 +0300 Timo Sirainen <tss@iki.fi> (4f1789fddd)
+
+ Released v2.1.8.
+
+
+M NEWS
+M configure.in
+
+2012-07-03 04:23:03 +0300 Timo Sirainen <tss@iki.fi> (e7b1f9db01)
+
+ lmtp: Added lmtp_address_translate setting. The idea is that if you need
+ userdb lookup to be done with a special kind of a username like
+ user:domain@extrainfo, you can set lmtp_address_translate=%n:%d@ which
+ translates the address to user@domain after the userdb lookup is done.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2012-07-03 03:27:52 +0300 Timo Sirainen <tss@iki.fi> (0aaea0919a)
+
+ lib-sql db cache: Reaching max_unused_connections caused a crash later.
+
+
+M src/lib-sql/sql-db-cache.c
+
+2012-07-03 02:59:53 +0300 Timo Sirainen <tss@iki.fi> (2d1892aaeb)
+
+ doveadm server: Keep config socket open while running.
+
+
+M src/doveadm/main.c
+
+2012-07-03 01:52:00 +0300 Timo Sirainen <tss@iki.fi> (c180e9d65f)
+
+ layout=fs, mail_shared_explicit_inbox=no: Fixed listing nonexistent
+ mailboxes in root.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-07-03 01:06:24 +0300 Timo Sirainen <tss@iki.fi> (7d87a87b36)
+
+ imap-quota: GETQUOTAROOT command used UTF-8 instead of mUTF-7 encoding for
+ mailbox name.
+
+
+M src/plugins/imap-quota/imap-quota-plugin.c
+
+2012-07-03 01:06:10 +0300 Timo Sirainen <tss@iki.fi> (ec5fec7eab)
+
+ imap-acl: MYRIGHTS command used UTF-8 instead of mUTF-7 encoding for mailbox
+ name.
+
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2012-07-02 14:54:33 +0300 Timo Sirainen <tss@iki.fi> (a4f2e420eb)
+
+ imap: Mailbox names in STATUS replies were sent as UTF-8 instead of mUTF-7.
+
+
+M src/imap/cmd-list.c
+M src/imap/cmd-status.c
+M src/imap/imap-status.c
+M src/imap/imap-status.h
+
+2012-07-02 10:12:59 +0300 Timo Sirainen <tss@iki.fi> (d9b1522043)
+
+ lmtp: Fixed previous change to make sure it doesn't crash on error handling.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2012-07-02 10:09:15 +0300 Timo Sirainen <tss@iki.fi> (fb340f9dfd)
+
+ lmtp: Don't idle-timeout LMTP client while proxying waits for DATA replies.
+
+
+M src/lmtp/commands.c
+
+2012-07-02 10:05:46 +0300 Timo Sirainen <tss@iki.fi> (42876546fc)
+
+ lmtp proxy: Reset timeout each time receiving a reply lin for DATA. This
+ avoids timing out when there are a lot of RCPT TOs.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2012-07-02 08:06:19 +0300 Timo Sirainen <tss@iki.fi> (3f780bf67e)
+
+ config: Fixed IPv6 address handling for parsing v1.x style listen/ssl_listen
+ settings.
+
+
+M src/config/old-set-parser.c
+
+2012-07-02 05:14:22 +0300 Timo Sirainen <tss@iki.fi> (3bd3e8e748)
+
+ lib-storage: Fixed searching message flags with private flags index.
+
+
+M src/lib-storage/index/index-search-private.h
+M src/lib-storage/index/index-search.c
+
+2012-07-02 05:14:02 +0300 Timo Sirainen <tss@iki.fi> (7e5cba66cb)
+
+ lib-storage: Fixed STATUS_FIRST_UNSEEN_SEQ lookup with private flags index.
+
+
+M src/lib-storage/index/index-status.c
+
+2012-06-30 22:27:34 +0300 Timo Sirainen <tss@iki.fi> (ceb43cc04e)
+
+ o_stream_nsend() comment update
+
+
+M src/lib/ostream.h
+
+2012-06-29 09:15:26 +0300 Timo Sirainen <tss@iki.fi> (5df8396a7c)
+
+ istreams: Added default stat() implementation for filter streams.
+
+
+M src/lib-mail/istream-attachment-extractor.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-nonuls.c
+M src/lib-storage/index/istream-mail.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-crlf.c
+M src/lib/istream-limit.c
+M src/lib/istream-private.h
+M src/lib/istream-rawlog.c
+M src/lib/istream-sized.c
+M src/lib/istream.c
+
+2012-06-29 09:01:56 +0300 Timo Sirainen <tss@iki.fi> (032964c7cc)
+
+ istreams: Added default seek() implementation for seekable streams.
+
+
+M src/lib-storage/index/istream-mail.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-limit.c
+M src/lib/istream-private.h
+M src/lib/istream-seekable.c
+M src/lib/istream-sized.c
+M src/lib/istream.c
+
+2012-06-29 08:05:08 +0300 Timo Sirainen <tss@iki.fi> (9a68dcd35d)
+
+ lib-storage: External mail attachment parsing didn't handle CRLF linefeeds
+ correctly. This simply meant that if mail_save_crlf=yes was used,
+ base64-encoded attachments weren't saved base64-decoded.
+
+
+M src/lib-storage/index/index-attachment.c
+
+2012-06-29 08:01:08 +0300 Timo Sirainen <tss@iki.fi> (338088fe28)
+
+ lib-storage: Use the new istream-attachment-* APIs to handle external mail
+ attachments.
+
+
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/index-attachment.c
+
+2012-06-29 08:00:19 +0300 Timo Sirainen <tss@iki.fi> (8aeae03f9f)
+
+ lib-mail: Added istream-attachment-[connector|extractor].
+ istream-attachment-extractor can be used to parse messages and extract
+ attachment MIME parts from them to wanted output streams. The attachments
+ are base64-decoded if they can be later re-encoded to original input without
+ any changes.
+
+ istream-attachment-connector does the reverse by taking the base istream and
+ attachment istreams and merging them together to create the original
+ istream.
+
+M src/lib-mail/Makefile.am
+A src/lib-mail/istream-attachment-connector.c
+A src/lib-mail/istream-attachment-connector.h
+A src/lib-mail/istream-attachment-extractor.c
+A src/lib-mail/istream-attachment-extractor.h
+A src/lib-mail/test-istream-attachment.c
+
+2012-06-29 07:56:02 +0300 Timo Sirainen <tss@iki.fi> (9a75593053)
+
+ istreams: Set (file), (fd) or (buffer) as default name for those input
+ streams.
+
+
+M src/lib/istream-data.c
+M src/lib/istream-file.c
+M src/lib/ostream-buffer.c
+
+2012-06-29 06:14:51 +0300 Timo Sirainen <tss@iki.fi> (ec0e150e5a)
+
+ dbox: Fixed a potential crash when building message stream from external
+ attachments.
+
+
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+
+2012-06-28 09:28:05 +0300 Timo Sirainen <tss@iki.fi> (571fd6ff94)
+
+ Fixed ostream's new error handling not to always assert-crash.
+
+
+M src/lib/ostream.c
+
+2012-06-28 06:32:00 +0300 Timo Sirainen <tss@iki.fi> (807332e489)
+
+ imap: If selected mailbox is DELETEd, disconnect client.
+
+
+M src/imap/cmd-delete.c
+
+2012-06-28 03:20:34 +0300 Timo Sirainen <tss@iki.fi> (ddd1adf19c)
+
+ hash-format object can now be reset to build multiple hashes.
+
+
+M src/lib/hash-format.c
+M src/lib/hash-format.h
+
+2012-06-28 03:18:55 +0300 Timo Sirainen <tss@iki.fi> (c7acd38cd4)
+
+ Added i_stream_alloc()
+
+
+M src/lib-mail/istream-binary-converter.c
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2012-06-28 01:30:50 +0300 Timo Sirainen <tss@iki.fi> (dd2df6a67f)
+
+ istreams: Renamed i_stream_get_buffer_space() to i_stream_try_alloc()
+
+
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-nonuls.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-chain.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-file.c
+M src/lib/istream-private.h
+M src/lib/istream.c
+
+2012-06-28 01:01:58 +0300 Timo Sirainen <tss@iki.fi> (c00c7161db)
+
+ Renamed istream-attachment to istream-sized. The code didn't really assume
+ anything about the input being an attachment, so this allows reusing the
+ stream for other purposes.
+
+
+M src/lib-storage/index/Makefile.am
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+D src/lib-storage/index/istream-attachment.h
+M src/lib/Makefile.am
+R052 src/lib-storage/index/istream-attachment.c src/lib/istream-sized.c
+A src/lib/istream-sized.h
+
+2012-06-28 00:27:13 +0300 Timo Sirainen <tss@iki.fi> (4307c88657)
+
+ Changed i_close_fd() API to set the fd to -1 after closing.
+
+
+M src/auth/db-checkpassword.c
+M src/auth/db-passwd-file.c
+M src/auth/mech-winbind.c
+M src/config/config-parser.c
+M src/config/sysinfo-get.c
+M src/director/director-test.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/doveadm-instance.c
+M src/doveadm/doveadm-master.c
+M src/doveadm/doveadm-sis.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-slave-io.c
+M src/imap/main.c
+M src/lda/main.c
+M src/lib-dict/dict-file.c
+M src/lib-dns/dns-lookup.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-lda/smtp-client.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/mountpoint-list.c
+M src/lib-settings/settings-parser.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib/askpass.c
+M src/lib/failures.c
+M src/lib/fdatasync-path.c
+M src/lib/file-copy.c
+M src/lib/file-dotlock.c
+M src/lib/ioloop-notify-dn.c
+M src/lib/ioloop-notify-kqueue.c
+M src/lib/iostream-rawlog.c
+M src/lib/istream-seekable.c
+M src/lib/lib.c
+M src/lib/lib.h
+M src/lib/macros.h
+M src/lib/network.c
+M src/lib/nfs-workarounds.c
+M src/lib/randgen.c
+M src/lib/safe-mkstemp.c
+M src/lib/test-ostream-file.c
+M src/lib/unlink-directory.c
+M src/lmtp/commands.c
+M src/login-common/access-lookup.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/master/main.c
+M src/master/service-listen.c
+M src/master/service-monitor.c
+M src/master/service.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/zlib/doveadm-zlib.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3/main.c
+M src/ssl-params/ssl-params.c
+M src/util/gdbhelper.c
+M src/util/rawlog.c
+
+2012-06-27 12:29:42 +0300 Timo Sirainen <tss@iki.fi> (0ca3b9cb0f)
+
+ pop3c: Added pop3c_master_user setting.
+
+
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/index/pop3c/pop3c-settings.h
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2012-06-27 12:25:05 +0300 Timo Sirainen <tss@iki.fi> (b21b2d517b)
+
+ doveadm mailbox status -A -t: Reset vsize counter between users.
+
+
+M src/doveadm/doveadm-mail-mailbox-status.c
+
+2012-06-27 12:12:52 +0300 Timo Sirainen <tss@iki.fi> (b28fc85b1d)
+
+ lib-storage: Fixed handling failures when autocreating mailboxes.
+
+
+M src/lib-storage/mail-storage.c
+
+2012-06-27 12:03:51 +0300 Timo Sirainen <tss@iki.fi> (00ef253647)
+
+ gssapi: Allow logging in as users listed in "k5principals" extra field. This
+ also enables other passdb extra fields for gssapi mechanism.
+
+ Based on patch by Sam Morris.
+
+M src/auth/mech-gssapi.c
+
+2012-06-27 04:24:53 +0300 Timo Sirainen <tss@iki.fi> (4e8d6d03c2)
+
+ Try to avoid (void) casts by adding more ATTR_NOWARN_UNUSED_RESULT.
+
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-mail/message-date.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-id.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-search.c
+M src/lib-mail/rfc822-parser.h
+M src/lib-storage/index/index-attachment.c
+M src/lib/hash.c
+M src/lib/md4.c
+M src/lib/md5.c
+M src/lib/ostream.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-parser-script.c
+
+2012-06-25 19:40:24 +0300 Timo Sirainen <tss@iki.fi> (63fa2c5b8f)
+
+ imapc: Fixed crash on saving/copying if remote IMAP server didn't support
+ UIDPLUS.
+
+
+M src/lib-storage/index/imapc/imapc-save.c
+
+2012-06-25 03:21:25 +0300 Timo Sirainen <tss@iki.fi> (b66d803de8)
+
+ Avoid using (void)s by adding ATTR_NOWARN_UNUSED_RESULT attributes and other
+ ways.
+
+
+M src/auth/auth-worker-server.h
+M src/auth/passdb-blocking.c
+M src/auth/userdb-blocking.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-slave-pipe.c
+M src/doveadm/dsync/dsync-slave.c
+M src/doveadm/dsync/dsync-slave.h
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+M src/imap-login/client.c
+M src/imap/cmd-append.c
+M src/imap/imap-client.c
+M src/imap/imap-common.h
+M src/imap/imap-search.c
+M src/imap/imap-sync.c
+M src/imap/imap-sync.h
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-file.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/rfc2231-parser.h
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-lock.h
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mailbox-list.h
+M src/lib-test/test-common.c
+M src/lib/bsearch-insert-pos.h
+M src/lib/file-dotlock.c
+M src/lib/file-dotlock.h
+M src/lib/iostream-rawlog.h
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-data.c
+M src/lib/istream-private.h
+M src/lib/istream.c
+M src/lib/network.h
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+M src/login-common/login-proxy.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/login-common/ssl-proxy-openssl.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/pop3/pop3-client.c
+
+2012-06-25 02:52:33 +0300 Timo Sirainen <tss@iki.fi> (cb78bd2ad5)
+
+ Replaced (void)close(fd) and close_keep_errno() with i_close_fd().
+ i_close_fd() preserves the errno and logs an error if the close() fails.
+
+
+M src/auth/db-checkpassword.c
+M src/auth/db-passwd-file.c
+M src/auth/mech-winbind.c
+M src/config/config-parser.c
+M src/config/sysinfo-get.c
+M src/director/director-test.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/doveadm-instance.c
+M src/doveadm/doveadm-master.c
+M src/doveadm/doveadm-sis.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-slave-io.c
+M src/imap/main.c
+M src/lda/main.c
+M src/lib-dict/dict-file.c
+M src/lib-dns/dns-lookup.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-lda/smtp-client.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/mountpoint-list.c
+M src/lib-settings/settings-parser.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib/Makefile.am
+M src/lib/askpass.c
+D src/lib/close-keep-errno.c
+D src/lib/close-keep-errno.h
+M src/lib/failures.c
+M src/lib/fdatasync-path.c
+M src/lib/file-copy.c
+M src/lib/file-dotlock.c
+M src/lib/ioloop-notify-dn.c
+M src/lib/ioloop-notify-kqueue.c
+M src/lib/iostream-rawlog.c
+M src/lib/istream-seekable.c
+M src/lib/macros.h
+M src/lib/network.c
+M src/lib/nfs-workarounds.c
+M src/lib/randgen.c
+M src/lib/safe-mkstemp.c
+M src/lib/test-ostream-file.c
+M src/lib/unlink-directory.c
+M src/lmtp/commands.c
+M src/login-common/access-lookup.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/master/main.c
+M src/master/service-listen.c
+M src/master/service-monitor.c
+M src/master/service.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/zlib/doveadm-zlib.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3/main.c
+M src/ssl-params/ssl-params.c
+M src/util/gdbhelper.c
+M src/util/rawlog.c
+
+2012-06-25 02:38:29 +0300 Timo Sirainen <tss@iki.fi> (31a574fda3)
+
+ Added array_append_zero() to write a zero-filled record to an array.
+ Replaced (void)array_append_space() calls with it.
+
+
+M src/auth/auth-settings.c
+M src/auth/db-ldap.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/imap/cmd-list.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-fetch.c
+M src/lib-auth/auth-master.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap/imap-match.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-master/master-service-settings.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-storage/fail-mail.c
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/mailbox-keywords.c
+M src/lib/array.h
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-kqueue.c
+M src/lib/uri-util.c
+M src/lib/var-expand.c
+M src/master/main.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts/fts-search.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/virtual/virtual-save.c
+M src/util/script.c
+
+2012-06-25 02:22:12 +0300 Timo Sirainen <tss@iki.fi> (461ffead97)
+
+ seq-range-array: Reverted most of recent API changes. Added
+ ATTR_NOWARN_UNUSED_RESULT for the functions whose return value can safely be
+ ignored.
+
+
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/mailbox-search-result.c
+M src/lib/seq-range-array.c
+M src/lib/seq-range-array.h
+M src/lib/test-seq-range-array.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/virtual/virtual-sync.c
+
+2012-06-25 02:20:30 +0300 Timo Sirainen <tss@iki.fi> (61409be78f)
+
+ Added ATTR_NOWARN_UNUSED_RESULT, which expands to nowarn_unused_result
+ attribute if supported. Requires a patched clang.
+
+
+M src/lib/macros.h
+
+2012-06-25 02:15:22 +0300 Timo Sirainen <tss@iki.fi> (3785910c30)
+
+ Added i_stream_get_data_size(). Used it where possible.
+
+
+M src/director/director-connection.c
+M src/doveadm/dsync/dsync-slave-io.c
+M src/imap/cmd-append.c
+M src/imap/imap-client.c
+M src/lib-dict/dict-client.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/istream-nonuls.c
+M src/lib-mail/message-parser.c
+M src/lib-storage/index/istream-mail.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-crlf.c
+M src/lib/istream-seekable.c
+M src/lib/istream-tee.c
+M src/lib/istream.c
+M src/lib/istream.h
+M src/lib/test-istream-base64-encoder.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-seekable.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/zlib/istream-bzlib.c
+M src/plugins/zlib/istream-zlib.c
+
+2012-06-25 01:14:03 +0300 Timo Sirainen <tss@iki.fi> (e34d170f8f)
+
+ Make sure we check all the functions' return values. Minor API changes to
+ simplify this. Checked using a patched clang that adds
+ attribute(warn_unused_result) to all functions. This commit fixes several
+ error handling mistakes.
+
+
+M src/anvil/main.c
+M src/auth/auth-request.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-scram-sha1.c
+M src/auth/passdb-blocking.c
+M src/auth/password-scheme-otp.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-sql.c
+M src/config/doveconf.c
+M src/config/main.c
+M src/config/old-set-parser.c
+M src/dict/dict-commands.c
+M src/dict/main.c
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/mail-host.c
+M src/director/main.c
+M src/director/test-user-directory.c
+M src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/doveadm/doveadm-mount.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-mailbox-tree.c
+M src/doveadm/dsync/dsync-brain-mailbox.c
+M src/doveadm/dsync/dsync-brain-mails.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-mailbox-tree.c
+M src/doveadm/dsync/dsync-slave.c
+M src/doveadm/dsync/dsync-slave.h
+M src/doveadm/server-connection.c
+M src/doveadm/server-connection.h
+M src/imap-login/client.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-idle.c
+M src/imap/cmd-list.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-fetch-body.c
+M src/imap/imap-sync.c
+M src/imap/main.c
+M src/indexer/master-connection.c
+M src/lib-auth/auth-client.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-quote.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-part-serialize.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-ntlm/ntlm-des.c
+M src/lib-ntlm/ntlm-des.h
+M src/lib-ntlm/ntlm-encrypt.c
+M src/lib-ntlm/ntlm-encrypt.h
+M src/lib-otp/otp-hash.c
+M src/lib-otp/otp-hash.h
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-sync-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-storage.h
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib/data-stack.c
+M src/lib/hash.c
+M src/lib/hostpid.c
+M src/lib/iostream-rawlog.c
+M src/lib/md4.c
+M src/lib/md5.c
+M src/lib/mountpoint.c
+M src/lib/nfs-workarounds.c
+M src/lib/nfs-workarounds.h
+M src/lib/seq-range-array.c
+M src/lib/seq-range-array.h
+M src/lib/test-base64.c
+M src/lib/test-network.c
+M src/lib/test-ostream-file.c
+M src/lib/test-seq-range-array.c
+M src/log/log-connection.c
+M src/log/log-connection.h
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy.c
+M src/login-common/ssl-proxy-openssl.c
+M src/master/main.c
+M src/master/service-anvil.c
+M src/master/service-process.c
+M src/master/service-process.h
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota.c
+M src/plugins/stats/stats-connection.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/zlib/doveadm-zlib.c
+M src/plugins/zlib/ostream-zlib.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+M src/pop3/pop3-commands.c
+M src/replication/aggregator/notify-connection.c
+M src/replication/replicator/notify-connection.c
+M src/stats/main.c
+M src/util/rawlog.c
+
+2012-06-25 00:18:31 +0300 Timo Sirainen <tss@iki.fi> (76e24e06e7)
+
+ pop3c: Fixed losing timeout on ioloop change.
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2012-06-25 00:01:59 +0300 Timo Sirainen <tss@iki.fi> (e2a88d59c0)
+
+ Added o_stream_nsend*() and related functions to make delayed error handling
+ safer. Once o_stream_nsend*() is called, o_stream_nfinish() must be called
+ before stream is destroyed to finish checking if there were any errors. If
+ something failed and the stream is just wanted to be closed,
+ o_stream_ignore_last_errors() can be called.
+
+ For streams where errors don't really make any difference (network sockets)
+ you can call o_stream_set_no_error_handling() immediately after creating the
+ stream.
+
+M src/anvil/anvil-connection.c
+M src/anvil/connect-limit.c
+M src/anvil/penalty.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-client-connection.h
+M src/auth/auth-master-connection.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/main.c
+M src/auth/mech-winbind.c
+M src/config/config-connection.c
+M src/config/doveconf.c
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/director/auth-connection.c
+M src/director/director-connection.c
+M src/director/director-test.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/dns/dns-client.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/dsync/dsync-slave-io.c
+M src/doveadm/server-connection.c
+M src/imap-login/imap-proxy.c
+M src/imap/cmd-append.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-thread.c
+M src/imap/imap-client.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-search.c
+M src/imap/imap-sync.c
+M src/imap/mail-storage-callbacks.c
+M src/indexer/indexer-client.c
+M src/indexer/worker-connection.c
+M src/ipc/client.c
+M src/ipc/ipc-connection.c
+M src/lib-auth/auth-master.c
+M src/lib-dict/dict-file.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/ostream-cmp.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap/imap-parser.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-write.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/mail-send.c
+M src/lib-lda/smtp-client.c
+M src/lib-master/anvil-client.c
+M src/lib-master/ipc-client.c
+M src/lib-master/ipc-server.c
+M src/lib-master/master-instance.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/list/subscription-file.c
+M src/lib/ostream-file.c
+M src/lib/ostream-private.h
+M src/lib/ostream-rawlog.c
+M src/lib/ostream.c
+M src/lib/ostream.h
+M src/lib/test-ostream-file.c
+M src/lmtp/client.c
+M src/lmtp/lmtp-proxy.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/zlib/doveadm-zlib.c
+M src/plugins/zlib/ostream-bzlib.c
+M src/plugins/zlib/ostream-zlib.c
+M src/pop3-login/pop3-proxy.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+M src/replication/aggregator/notify-connection.c
+M src/replication/aggregator/replicator-connection.c
+M src/replication/replicator/doveadm-connection.c
+M src/replication/replicator/notify-connection.c
+M src/replication/replicator/replicator-queue.c
+M src/ssl-params/main.c
+M src/stats/client-export.c
+M src/stats/client.c
+M src/stats/mail-server-connection.c
+M src/util/rawlog.c
+
+2012-06-24 21:43:48 +0300 Timo Sirainen <tss@iki.fi> (121b017684)
+
+ master: Problems with creating base_dir/statedir should be fatals.
+
+
+M src/master/master-settings.c
+M src/master/master-settings.h
+
+2012-06-24 21:35:18 +0300 Timo Sirainen <tss@iki.fi> (e860b24ae1)
+
+ lib-lda: Duplicate database write failures weren't detected.
+
+
+M src/lib-lda/duplicate.c
+
+2012-06-24 21:35:18 +0300 Timo Sirainen <tss@iki.fi> (b949f048d6)
+
+ lib-lda: Duplicate database write failures weren't detected.
+
+
+M src/lib-lda/duplicate.c
+
+2012-06-24 21:29:56 +0300 Timo Sirainen <tss@iki.fi> (2738626e69)
+
+ seq_range_array_add() API change triggered a crash in buggy code.
+
+
+M src/lib-index/mail-index-transaction-finish.c
+
+2012-06-24 21:19:33 +0300 Timo Sirainen <tss@iki.fi> (4fb98a31d0)
+
+ seq_range_array_remove() now returns void. Added
+ seq_ranger_array_try_remove().
+
+
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/mailbox-search-result.c
+M src/lib/seq-range-array.c
+M src/lib/seq-range-array.h
+M src/lib/test-seq-range-array.c
+
+2012-06-24 21:14:56 +0300 Timo Sirainen <tss@iki.fi> (86bde2c183)
+
+ seq_range_array_add() API changed. Added other functions to provide the less
+ common use cases.
+
+
+M src/doveadm/dsync/dsync-mailbox-export.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/imap/cmd-store.c
+M src/imap/imap-search.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sync-search.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/mailbox-search-result.c
+M src/lib/seq-range-array.c
+M src/lib/seq-range-array.h
+M src/lib/test-seq-range-array.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-search.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+
+2012-06-24 20:58:04 +0300 Timo Sirainen <tss@iki.fi> (3ea86ed7cf)
+
+ Make static analyzer happier.
+
+
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/lib-index/mail-transaction-log-view.c
+
+2012-06-24 20:57:06 +0300 Timo Sirainen <tss@iki.fi> (caa3e6bc65)
+
+ Merged changes from v2.1 tree.
+
+
+2012-06-24 20:52:39 +0300 Timo Sirainen <tss@iki.fi> (7bd301fdbf)
+
+ Make static analyzer happier.
+
+
+M src/auth/auth-request.c
+M src/auth/db-ldap.c
+M src/auth/password-scheme.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/plugins/fts-squat/squat-uidlist.c
+
+2012-06-24 20:48:38 +0300 Timo Sirainen <tss@iki.fi> (6cb2c6ecdd)
+
+ Added file_dotlock_delete_verified() and changed file_dotlock_delete() to
+ return void.
+
+
+M src/lib-fs/fs-posix.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-master/master-instance.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/list/subscription-file.c
+M src/lib/file-dotlock.c
+M src/lib/file-dotlock.h
+
+2012-06-24 20:36:05 +0300 Timo Sirainen <tss@iki.fi> (01ca85e6e7)
+
+ lib-mail: Fixed an edge case with message header parser and very long lines.
+ If the header was exactly a specific number of bytes, the parser thought the
+ header ended there.
+
+
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/test-message-header-parser.c
+
+2012-06-24 19:51:40 +0300 Timo Sirainen <tss@iki.fi> (82d3a1d159)
+
+ lib-mail: message_header_decode_utf8() API changed to not give return value.
+ It's a rather unnecessary optimization and it wasn't even correct when the
+ input wasn't valid UTF8.
+
+
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-header-decode.h
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-storage/index/index-mail-headers.c
+
+2012-06-24 19:44:22 +0300 Timo Sirainen <tss@iki.fi> (efd9d73a7f)
+
+ dict file: Don't ignore write failures.
+
+
+M src/lib-dict/dict-file.c
+
+2012-06-24 19:35:11 +0300 Timo Sirainen <tss@iki.fi> (e5f5f896bf)
+
+ fd_set_nonblock() API changed to i_fatal() on failure. Pretty much none of
+ its users were checking if it failed, and there's really no good reason for
+ it to fail anyway.
+
+
+M src/lib/fd-set-nonblock.c
+M src/lib/fd-set-nonblock.h
+M src/lib/network.c
+
+2012-06-24 19:13:58 +0300 Timo Sirainen <tss@iki.fi> (959ce26df0)
+
+ dsync: Fixed a potential error if transaction log was completely empty.
+
+
+M src/doveadm/dsync/dsync-transaction-log-scan.c
+
+2012-06-24 19:12:26 +0300 Timo Sirainen <tss@iki.fi> (8a71f94b2a)
+
+ imap: CATENATE error handling fix
+
+
+M src/imap/cmd-append.c
+
+2012-06-24 18:58:19 +0300 Timo Sirainen <tss@iki.fi> (d13a8e2165)
+
+ Avoid a NULL warning in mysql_init() when HAVE_ATTR_NULL capable compiler is
+ used.
+
+
+M src/lib-sql/driver-mysql.c
+
+2012-06-24 03:19:17 +0300 Timo Sirainen <tss@iki.fi> (bef515a6f5)
+
+ director: Fix to handling duplicate USER-WEAK event.
+
+
+M src/director/director-connection.c
+
+2012-06-24 03:02:11 +0300 Timo Sirainen <tss@iki.fi> (03275b07f8)
+
+ mailbox_list_index=yes: Fixed a potential crash.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2012-06-24 03:02:11 +0300 Timo Sirainen <tss@iki.fi> (e364d03f22)
+
+ mailbox_list_index=yes: Fixed a potential crash.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2012-06-24 02:20:28 +0300 Timo Sirainen <tss@iki.fi> (3070d992bd)
+
+ Fixed signed integer shift overflows. These didn't actually cause any broken
+ behavior. One of these was caught by http://embed.cs.utah.edu/ioc/ and the
+ rest I grepped.
+
+
+M src/director/mail-host.c
+M src/lib/primes.c
+M src/lib/utc-mktime.c
+
+2012-06-24 00:52:57 +0300 Timo Sirainen <tss@iki.fi> (a10ed8c475)
+
+ Marked functions parameters that are allowed to be NULL. Some APIs were also
+ changed. The non-obvious APIs where NULL parameter was changed to "" are
+ master_service_init() and auth_master_user_list_init().
+
+ These checks can currently be enabled only on a patched clang:
+ http://llvm.org/bugs/show_bug.cgi?id=6786
+
+M src/anvil/main.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-master-connection.h
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/auth-settings.h
+M src/auth/auth-stream.h
+M src/auth/auth-worker-server.c
+M src/auth/auth.c
+M src/auth/auth.h
+M src/auth/db-checkpassword.h
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+M src/auth/db-passwd-file.c
+M src/auth/main.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-apop.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-ntlm.c
+M src/auth/mech-otp-skey-common.c
+M src/auth/mech-plain-common.c
+M src/auth/mech-rpa.c
+M src/auth/mech-winbind.c
+M src/auth/mech.c
+M src/auth/password-scheme-otp.c
+M src/auth/password-scheme.h
+M src/auth/userdb-passwd.c
+M src/auth/userdb-static.c
+M src/auth/userdb.h
+M src/config/config-parser-private.h
+M src/config/config-request.h
+M src/config/doveconf.c
+M src/config/main.c
+M src/dict/main.c
+M src/director/director-connection.c
+M src/director/director-test.c
+M src/director/director.h
+M src/dns/dns-client.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-iter.h
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-mailbox-import.c
+M src/doveadm/dsync/dsync-slave-io.c
+M src/doveadm/main.c
+M src/imap-login/client.c
+M src/imap-login/client.h
+M src/imap/cmd-append.c
+M src/imap/cmd-expunge.c
+M src/imap/imap-client.h
+M src/imap/imap-commands-util.h
+M src/imap/imap-expunge.h
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.h
+M src/imap/imap-search.h
+M src/imap/imap-sync.c
+M src/indexer/indexer.c
+M src/indexer/master-connection.c
+M src/ipc/client.c
+M src/ipc/main.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.h
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+M src/lib-dict/dict.h
+M src/lib-dns/dns-lookup.h
+M src/lib-imap-client/imapc-connection.h
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap/imap-base-subject.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-parser.h
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-util.h
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-alloc-cache.h
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-util.h
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+M src/lib-lda/mail-deliver.h
+M src/lib-lda/smtp-client.h
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.h
+M src/lib-mail/message-header-parser.h
+M src/lib-mail/message-parser.h
+M src/lib-mail/message-part-serialize.c
+M src/lib-mail/message-search.h
+M src/lib-mail/message-size.c
+M src/lib-mail/message-size.h
+M src/lib-mail/rfc822-parser.h
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-master/anvil-client.h
+M src/lib-master/ipc-client.h
+M src/lib-master/ipc-server.c
+M src/lib-master/master-service-settings-cache.h
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+M src/lib-master/mountpoint-list.c
+M src/lib-ntlm/ntlm-encrypt.c
+M src/lib-ntlm/ntlm-encrypt.h
+M src/lib-otp/otp-parse.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.h
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-save.h
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-sync-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync-changes.h
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-filename-flags.h
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-storage.h
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-sync.h
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-uidlist.h
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mail-namespace.h
+M src/lib-storage/mail-search.h
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail-thread.h
+M src/lib-storage/mail.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-tree.h
+M src/lib-test/test-common.h
+M src/lib/base64.h
+M src/lib/buffer.h
+M src/lib/child-wait.h
+M src/lib/eacces-error.h
+M src/lib/failures.c
+M src/lib/file-dotlock.c
+M src/lib/hash.c
+M src/lib/hash.h
+M src/lib/hash2.h
+M src/lib/ioloop-notify-fd.h
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+M src/lib/iso8601-date.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-chain.c
+M src/lib/istream-chain.h
+M src/lib/istream-crlf.c
+M src/lib/istream-private.h
+M src/lib/istream-seekable.h
+M src/lib/istream.c
+M src/lib/istream.h
+M src/lib/lib-signals.c
+M src/lib/lib-signals.h
+M src/lib/macros.h
+M src/lib/mkdir-parents.c
+M src/lib/module-dir.h
+M src/lib/network.c
+M src/lib/network.h
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+M src/lib/ostream.h
+M src/lib/restrict-access.h
+M src/lib/safe-mkstemp.c
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/lib/test-iso8601-date.c
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+M src/lib/var-expand.h
+M src/lmtp/client.h
+M src/lmtp/lmtp-proxy.h
+M src/log/main.c
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.h
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-openssl.c
+M src/master/common.h
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-plugin.h
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.h
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/squat-trie.h
+M src/plugins/fts/fts-storage.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota.c
+M src/pop3/pop3-client.h
+M src/replication/aggregator/aggregator.c
+M src/replication/replicator/replicator.c
+M src/ssl-params/main.c
+M src/stats/mail-domain.h
+M src/stats/mail-ip.h
+M src/stats/mail-session.h
+M src/stats/mail-user.h
+M src/stats/main.c
+
+2012-06-22 21:59:01 +0300 Timo Sirainen <tss@iki.fi> (9272316aea)
+
+ Makefile: Removed unnecessary code
+
+
+M doc/man/Makefile.am
+
+2012-06-22 18:51:42 +0300 Timo Sirainen <tss@iki.fi> (4b794181a0)
+
+ lib-ssl-iostream: Memory leak fixes
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2012-06-21 23:15:21 +0300 Timo Sirainen <tss@iki.fi> (5fdc11fc51)
+
+ lib-imap: Added IMAP_RESP_CODE_UNKNOWN_CTE
+
+
+M src/imap/cmd-append.c
+M src/lib-imap/imap-resp-code.h
+
+2012-06-21 22:56:15 +0300 Timo Sirainen <tss@iki.fi> (24107b28cc)
+
+ imap: Compile fix due to recent changes
+
+
+M src/imap/cmd-fetch.c
+
+2012-06-21 22:50:10 +0300 Timo Sirainen <tss@iki.fi> (db2ab21388)
+
+ Makefile: Removed message-binary-part.h which isn't finished yet.
+
+
+M src/lib-mail/Makefile.am
+
+2012-06-21 21:58:48 +0300 Timo Sirainen <tss@iki.fi> (94517d98f1)
+
+ imap: Removed unnecessary code.
+
+
+M src/imap/imap-fetch-body.c
+
+2012-06-21 21:52:56 +0300 Timo Sirainen <tss@iki.fi> (6816955a92)
+
+ imap: Rewrote FETCH command to use imap-msgpart API.
+
+
+M src/imap/cmd-select.c
+M src/imap/imap-client.h
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+
+2012-06-21 21:50:35 +0300 Timo Sirainen <tss@iki.fi> (0177594fa5)
+
+ lib-imap-storage: imap-msgpart rewrite and API change. The new API allows
+ first parsing the validity of section strings and later relying on them
+ being valid without having to re-parse it. The implementation also fixes a
+ few things and adds "partial fetch cache".
+
+
+M src/lib-imap-storage/Makefile.am
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-storage/imap-msgpart.h
+M src/lib-storage/mail-storage-private.h
+
+2012-06-21 21:47:06 +0300 Timo Sirainen <tss@iki.fi> (ed8256349d)
+
+ lib-imap: imap_quote() now skips any CR/LF characters from input.
+
+
+M src/lib-imap/imap-quote.c
+
+2012-06-21 21:44:28 +0300 Timo Sirainen <tss@iki.fi> (e587908c55)
+
+ lib-mail: Added istream-nonuls for converting NUL bytes to something else.
+
+
+M src/lib-mail/Makefile.am
+A src/lib-mail/istream-nonuls.c
+A src/lib-mail/istream-nonuls.h
+
+2012-06-21 21:25:04 +0300 Timo Sirainen <tss@iki.fi> (2e7a81ede3)
+
+ imap: If DELETE can't succeed because mailbox has children, don't give
+ [ALREADYEXISTS] code.
+
+
+M src/imap/cmd-delete.c
+
+2012-06-21 19:12:04 +0300 Timo Sirainen <tss@iki.fi> (0d5689dfa8)
+
+ quota: Don't crash at init if one of the namespaces no root dir.
+
+
+M src/plugins/quota/quota.c
+
+2012-06-21 18:48:38 +0300 Timo Sirainen <tss@iki.fi> (e160cd1c46)
+
+ imapc: Don't crash when using multiple imapc namespaces.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2012-06-21 14:51:36 +0300 Timo Sirainen <tss@iki.fi> (bf412d6587)
+
+ lib-storage: Fixed mailbox_status.unseen count for private indexes.
+
+
+M src/lib-storage/index/index-status.c
+
+2012-06-20 06:32:06 +0300 Timo Sirainen <tss@iki.fi> (8e364cb7fa)
+
+ imap MOVE: Don't commit expunge transaction before the copy transaction has
+ succeeded.
+
+
+M src/imap/cmd-copy.c
+
+2012-06-20 06:21:57 +0300 Timo Sirainen <tss@iki.fi> (d5b9f3d491)
+
+ imap parser: literal8 flag was handled in opposite way.
+
+
+M src/lib-imap/imap-parser.c
+
+2012-06-20 06:21:17 +0300 Timo Sirainen <tss@iki.fi> (09bb145210)
+
+ imap: Implemented MOVE extension.
+
+
+M src/imap/cmd-copy.c
+M src/imap/imap-commands.c
+M src/imap/imap-commands.h
+
+2012-06-20 06:17:40 +0300 Timo Sirainen <tss@iki.fi> (807b064856)
+
+ quota: Ignore quota when handling mailbox_move().
+
+
+M src/plugins/quota/quota-storage.c
+
+2012-06-20 06:17:00 +0300 Timo Sirainen <tss@iki.fi> (7ada346a0f)
+
+ acl: Optimize failing mailbox_move() when expunge right is missing.
+
+
+M src/plugins/acl/acl-mailbox.c
+
+2012-06-20 06:15:46 +0300 Timo Sirainen <tss@iki.fi> (02f8843820)
+
+ lib-storage: Added mailbox_move(), which is basically copy+expunge.
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2012-06-20 06:09:04 +0300 Timo Sirainen <tss@iki.fi> (2c26b19c54)
+
+ istream-binary-converter: Added maximum memory usage limit for header
+ parsing.
+
+
+M src/lib-mail/istream-binary-converter.c
+M src/lib-mail/test-istream-binary-converter.c
+
+2012-06-20 05:41:54 +0300 Timo Sirainen <tss@iki.fi> (5efe153308)
+
+ imap: Fixes to handling BINARY APPENDs.
+
+
+M src/imap/cmd-append.c
+
+2012-06-20 05:39:50 +0300 Timo Sirainen <tss@iki.fi> (961850d5e1)
+
+ imap: Fixed CATENATE support to send "+ OK" for literals.
+
+
+M src/imap/cmd-append.c
+
+2012-06-20 02:45:20 +0300 Timo Sirainen <tss@iki.fi> (f5c82a830d)
+
+ imap: Implemented BINARY extension support for APPEND/CATENATE.
+
+
+M src/imap/cmd-append.c
+
+2012-06-20 02:44:57 +0300 Timo Sirainen <tss@iki.fi> (8ae78760de)
+
+ lib-test: Fixed test istream
+
+
+M src/lib-test/test-common.c
+
+2012-06-20 02:44:35 +0300 Timo Sirainen <tss@iki.fi> (a84bd90eee)
+
+ imap parser: Added support for parsing literal8 (for BINARY extension)
+
+
+M src/lib-imap/imap-arg.h
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-parser.h
+
+2012-06-20 02:23:42 +0300 Timo Sirainen <tss@iki.fi> (d51bddedf8)
+
+ Added istream-binary-converter to convert binary MIME parts to base64.
+
+
+M src/lib-mail/Makefile.am
+A src/lib-mail/istream-binary-converter.c
+A src/lib-mail/istream-binary-converter.h
+A src/lib-mail/test-istream-binary-converter.c
+
+2012-06-20 02:22:27 +0300 Timo Sirainen <tss@iki.fi> (46512a5964)
+
+ message parser: Added MESSAGE_PARSER_FLAG_INCLUDE_BOUNDARIES flag.
+
+
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-parser.h
+
+2012-06-20 02:21:54 +0300 Timo Sirainen <tss@iki.fi> (d6c6713d08)
+
+ message parser: Fixed infinite loop when parsing a specific message.
+
+
+M src/lib-mail/message-parser.c
+
+2012-06-20 02:21:54 +0300 Timo Sirainen <tss@iki.fi> (e078abde59)
+
+ message parser: Fixed infinite loop when parsing a specific message.
+
+
+M src/lib-mail/message-parser.c
+
+2012-06-20 01:45:55 +0300 Timo Sirainen <tss@iki.fi> (6935756632)
+
+ message header parser: Don't skip header if header name is longer than input
+ buffer. We'll instead now just return the name in smaller blocks with
+ no_newline=TRUE. This allows the caller to reconstruct the exact same
+ message.
+
+
+M src/lib-mail/message-header-parser.c
+
+2012-06-20 01:40:14 +0300 Timo Sirainen <tss@iki.fi> (6cb3c4f427)
+
+ message header parser: Fixed handling very long multiline headers. If the
+ header's line fit exactly to input stream's buffer so that the parser
+ couldn't see the following character, it assumed that the header ended.
+
+
+M src/lib-mail/message-header-parser.c
+
+2012-06-20 00:48:08 +0300 Timo Sirainen <tss@iki.fi> (7252810924)
+
+ message parser: Fixes to handling CRLF linefeeds. An extra CR could have
+ been left to the end of a MIME part that belonged to its --boundary.
+
+
+M src/lib-mail/message-parser.c
+
+2012-06-18 17:05:27 +0300 Timo Sirainen <tss@iki.fi> (0aa8ac8b4c)
+
+ fts-squat: Fixed handling multiple SEARCH parameters.
+
+
+M src/plugins/fts-squat/fts-backend-squat.c
+
+2012-06-18 13:21:03 +0300 Timo Sirainen <tss@iki.fi> (6e9eb28a08)
+
+ lib-ssl-iostream: Don't assert-crash if underlying connection suddenly
+ disconnects.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/istream-openssl.c
+
+2012-06-18 13:19:41 +0300 Timo Sirainen <tss@iki.fi> (ad456029ce)
+
+ doveadm: Fixed crash with proxying some commands.
+
+
+M src/doveadm/doveadm-print.c
+
+2012-06-16 02:06:16 +0300 Timo Sirainen <tss@iki.fi> (524c4abaa1)
+
+ example-config: Refer to ssl=required in disable_plaintext_auth setting.
+
+
+M doc/example-config/conf.d/10-auth.conf
+
+2012-06-16 02:03:53 +0300 Timo Sirainen <tss@iki.fi> (35d6ae1135)
+
+ imapc: Removed brokenly used explicit data stack frame. Fixes crashes when a
+ message has more than 8 keywords.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2012-06-16 01:59:44 +0300 Timo Sirainen <tss@iki.fi> (d3034da435)
+
+ doveadm log errors: Usage text update
+
+
+M src/doveadm/doveadm-log.c
+
+2012-06-15 23:44:53 +0300 Timo Sirainen <tss@iki.fi> (8f0c238dcb)
+
+ doveadm log errors: Added -s <min_timestamp> parameter
+
+
+M src/doveadm/doveadm-log.c
+
+2012-06-15 17:12:24 +0300 Timo Sirainen <tss@iki.fi> (715ac45905)
+
+ example-config: imap_logout_format default was wrong.
+
+
+M doc/example-config/conf.d/20-imap.conf
+
+2012-06-15 15:12:33 +0300 Timo Sirainen <tss@iki.fi> (566a436ce4)
+
+ maildir++ quota: If reading maildirsize fails with ESTALE, retry it.
+
+
+M src/plugins/quota/quota-maildir.c
+
+2012-06-13 16:29:37 +0300 Timo Sirainen <tss@iki.fi> (8e895bbf54)
+
+ lib-master: Fixed assert crash in some situations after updating instance
+ name.
+
+
+M src/lib-master/master-instance.c
+
+2012-06-13 15:34:39 +0300 Timo Sirainen <tss@iki.fi> (b3d5b74bb5)
+
+ master: If service_count=1 and process_limit=1 and >1 clients connect, log
+ about service_count being why.
+
+
+M src/master/service-monitor.c
+
+2012-06-11 23:38:45 +0300 Timo Sirainen <tss@iki.fi> (6e151be71c)
+
+ shared mailboxes: Avoid doing "@domain" userdb lookups.
+
+
+M src/lib-storage/index/shared/shared-list.c
+
+2012-06-11 18:22:06 +0300 Timo Sirainen <tss@iki.fi> (5da1aa5197)
+
+ shared mailboxes: Per-user flags can now be stored in private index files.
+ This can be enabled by adding e.g.:
+
+ mail_location = mdbox:/var/shared/mdbox:INDEXPVT=~/mdbox/shared
+
+M src/doveadm/doveadm-dump-log.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log.h
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-storage/index/Makefile.am
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync-private.h
+A src/lib-storage/index/index-sync-pvt.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2012-06-11 16:54:14 +0300 Timo Sirainen <tss@iki.fi> (c88275be7f)
+
+ director: Fixed working as standalone.
+
+
+M src/director/director.c
+
+2012-06-11 16:30:58 +0300 Timo Sirainen <tss@iki.fi> (c37d80725c)
+
+ lib-master: -i parameter shouldn't imply -k parameter. This was added
+ accidentally when writing the code.
+
+
+M src/lib-master/master-service.c
+
+2012-06-11 16:14:13 +0300 Timo Sirainen <tss@iki.fi> (c6b343367b)
+
+ lib-charset: Make sure convert_to_utf8*() never returns non-UTF8 output.
+
+
+M src/lib-charset/charset-iconv.c
+
+2012-06-05 00:34:32 +0300 Timo Sirainen <tss@iki.fi> (0bf95c4bd6)
+
+ Makefile: Added more missing dsync*.h files
+
+
+M src/doveadm/dsync/Makefile.am
+
+2012-06-04 23:33:40 +0300 Timo Sirainen <tss@iki.fi> (8f7ac4c092)
+
+ Makefile: Added missing dsync-mail.h
+
+
+M src/doveadm/dsync/Makefile.am
+
+2012-06-04 22:15:46 +0300 Timo Sirainen <tss@iki.fi> (9228135b8f)
+
+ Makefile: Added missing dsync-mailbox.h
+
+
+M src/doveadm/dsync/Makefile.am
+
+2012-06-04 21:58:00 +0300 Timo Sirainen <tss@iki.fi> (06af65f824)
+
+ doveadm config: If -c parameter was given, it wasn't passed to doveconf.
+
+
+M src/doveadm/doveadm.c
+
+2012-06-04 21:21:52 +0300 Timo Sirainen <tss@iki.fi> (6ea1de17b3)
+
+ doveadm instance list: Added -c parameter to easily get the instance's
+ config path.
+
+
+M src/doveadm/doveadm-instance.c
+
+2012-06-04 21:21:28 +0300 Timo Sirainen <tss@iki.fi> (bf9fd727c3)
+
+ lib-master: Keep track of config paths in "instances" file. Normally it can
+ be looked up from base_dir/dovecot.conf symlink, but base_dir may get
+ deleted when system starts up.
+
+
+M src/lib-master/master-instance.c
+M src/lib-master/master-instance.h
+
+2012-06-04 17:23:07 +0300 Timo Sirainen <tss@iki.fi> (1c7d88528a)
+
+ doveadm instance list: Added optional name parameter to list only specified
+ instance.
+
+
+M src/doveadm/doveadm-instance.c
+
+2012-06-04 14:03:47 +0300 Timo Sirainen <tss@iki.fi> (ddedc8b77c)
+
+ mdbox: Flush/fsync newly saved mail data before locking map. This reduced
+ the amount of time the map needs to be locked.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-map.h
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2012-06-04 13:59:40 +0300 Timo Sirainen <tss@iki.fi> (b5e998ae76)
+
+ mdbox: Make sure map transaction won't succeed after
+ mdbox_map_atomic_set_failed()
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map-private.h
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2012-06-02 19:39:27 +0300 Timo Sirainen <tss@iki.fi> (57b3896988)
+
+ imap: Code cleanup and error handling fixes for CATENATE
+
+
+M src/imap/cmd-append.c
+
+2012-06-02 19:01:25 +0300 Timo Sirainen <tss@iki.fi> (639bb36b12)
+
+ Error handling API changes to previous IMAP URL related changes.
+
+
+M src/imap/cmd-append.c
+M src/lib-imap-storage/imap-msgpart-url.c
+M src/lib-imap-storage/imap-msgpart-url.h
+M src/lib-imap-storage/imap-msgpart.c
+M src/lib-imap-storage/imap-msgpart.h
+M src/lib-imap/imap-url.c
+M src/lib-imap/imap-url.h
+M src/lib-imap/test-imap-url.c
+M src/lib/uri-util.c
+M src/lib/uri-util.h
+
+2012-06-02 18:15:46 +0300 Stephan Bosch <stephan@rename-it.nl> (e438c85a6b)
+
+ Adds 'anonymous' field to struct mail_user; derived indirectly from userdb
+ extra fields.
+
+ Depends: none
+
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.h
+
+2012-06-02 18:14:16 +0300 Stephan Bosch <stephan@rename-it.nl> (9f9063b9b2)
+
+ imap: Implemented CATENATE extension.
+
+
+M README
+M configure.in
+M src/imap/cmd-append.c
+
+2012-06-02 17:56:27 +0300 Stephan Bosch <stephan@rename-it.nl> (c502126b6e)
+
+ Created lib-imap-storage for IMAP-specific functionality that uses
+ lib-storage. This is done to prevent introducing dependencies on lib-storage
+ in lib-imap. It contains IMAP message part access functionality, including
+ URL-based access.
+
+
+M configure.in
+M src/Makefile.am
+M src/imap/Makefile.am
+M src/imap/imap-fetch-body.c
+A src/lib-imap-storage/Makefile.am
+A src/lib-imap-storage/imap-msgpart-url.c
+A src/lib-imap-storage/imap-msgpart-url.h
+A src/lib-imap-storage/imap-msgpart.c
+A src/lib-imap-storage/imap-msgpart.h
+M src/lib-storage/Makefile.am
+
+2012-06-02 17:53:31 +0300 Stephan Bosch <stephan@rename-it.nl> (6ae6496c22)
+
+ lib-imap: Added IMAP URL parser.
+
+ Includes support for IMAP URLAUTH URLs.
+
+ Includes extensive testsuite.
+
+ Creation of IMAP URL string from struct data is not implemented and deferred
+ to a future patch when this functionality is needed.
+
+M src/lib-imap/Makefile.am
+A src/lib-imap/imap-url.c
+A src/lib-imap/imap-url.h
+A src/lib-imap/test-imap-url.c
+
+2012-06-02 17:15:18 +0300 Stephan Bosch <stephan@rename-it.nl> (7afab1ff46)
+
+ imap-parser: Added IMAP_PARSE_FLAG_INSIDE_LIST flag. Adds mode flag to IMAP
+ parser which makes it assume it is inside a (...) list, making ')' equal to
+ EOL and '\n' an error.
+
+
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-parser.h
+
+2012-06-02 17:12:06 +0300 Stephan Bosch <stephan@rename-it.nl> (0fe2992e4d)
+
+ Added chain istream. This is a nephew of the concat stream with the
+ difference that new child streams can be added dynamically.
+
+
+M src/lib/Makefile.am
+A src/lib/istream-chain.c
+A src/lib/istream-chain.h
+
+2012-06-02 17:06:21 +0300 Stephan Bosch <stephan@rename-it.nl> (8fe8f97e68)
+
+ liblib: Added generic URI parsing functions.
+
+
+M src/lib/Makefile.am
+A src/lib/uri-util.c
+A src/lib/uri-util.h
+
+2012-06-02 16:55:21 +0300 Stephan Bosch <stephan@rename-it.nl> (5fb662c8df)
+
+ Adds ISO8601/RFC3339 date format parsing and construction support.
+
+ Interface is somewhat based on message date parser in src/lib-mail, but it
+ also provides access to struct tm.
+
+M src/lib/Makefile.am
+A src/lib/iso8601-date.c
+A src/lib/iso8601-date.h
+A src/lib/test-iso8601-date.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2012-05-29 22:22:14 +0300 Timo Sirainen <tss@iki.fi> (c33807e1fc)
+
+ Added signature for changeset c92fb8b928f6
+
+
+M .hgsigs
+
+2012-05-29 22:22:10 +0300 Timo Sirainen <tss@iki.fi> (02abbed308)
+
+ Added tag 2.1.7 for changeset c92fb8b928f6
+
+
+M .hgtags
+
+2012-05-29 22:22:10 +0300 Timo Sirainen <tss@iki.fi> (b9969cfc3b)
+
+ Released v2.1.7.
+
+
+M NEWS
+M configure.in
+
+2012-05-29 20:51:14 +0300 Timo Sirainen <tss@iki.fi> (f6b77c2214)
+
+ mdbox: Fixed assert-crash with index rebuild when using ns prefix and mail
+ wasn't originally in INBOX.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2012-05-29 18:38:01 +0300 Timo Sirainen <tss@iki.fi> (750a396892)
+
+ Fixed assert-crash on some situations when user had no supplementary groups.
+
+
+M src/lib/restrict-access.c
+
+2012-05-23 00:24:06 +0300 Timo Sirainen <tss@iki.fi> (2157a1b21a)
+
+ lib-storage: Verify that with SEARCH HEADER the header name is valid UTF-8.
+
+
+M src/lib-storage/mail-search-register-imap.c
+
+2012-05-22 23:19:16 +0300 Timo Sirainen <tss@iki.fi> (bc5d21b587)
+
+ TODO updated
+
+
+M TODO
+
+2012-05-22 23:17:31 +0300 Timo Sirainen <tss@iki.fi> (7bd5b1c64c)
+
+ Initial version of dsync rewrite. * doveadm backup not implemented at all
+ yet * syncing mailbox renames is somewhat broken (at least renaming
+ \noselect mailboxes) * saving/restoring "state" is implemented by dsync
+ brain, but not by doveadm. this should be easy to do, just need to figure
+ out how the replication code wants it.
+
+
+M src/doveadm/doveadm-settings.c
+M src/doveadm/dsync/Makefile.am
+M src/doveadm/dsync/doveadm-dsync.c
+A src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c
+A src/doveadm/dsync/dsync-brain-mailbox-tree.c
+A src/doveadm/dsync/dsync-brain-mailbox.c
+A src/doveadm/dsync/dsync-brain-mails.c
+D src/doveadm/dsync/dsync-brain-msgs-new.c
+D src/doveadm/dsync/dsync-brain-msgs.c
+M src/doveadm/dsync/dsync-brain-private.h
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-brain.h
+D src/doveadm/dsync/dsync-data.c
+D src/doveadm/dsync/dsync-data.h
+A src/doveadm/dsync/dsync-deserializer.c
+A src/doveadm/dsync/dsync-deserializer.h
+A src/doveadm/dsync/dsync-mail.c
+A src/doveadm/dsync/dsync-mail.h
+A src/doveadm/dsync/dsync-mailbox-export.c
+A src/doveadm/dsync/dsync-mailbox-export.h
+A src/doveadm/dsync/dsync-mailbox-import.c
+A src/doveadm/dsync/dsync-mailbox-import.h
+A src/doveadm/dsync/dsync-mailbox-state-export.h
+A src/doveadm/dsync/dsync-mailbox-state.c
+A src/doveadm/dsync/dsync-mailbox-state.h
+A src/doveadm/dsync/dsync-mailbox-tree-fill.c
+A src/doveadm/dsync/dsync-mailbox-tree-private.h
+A src/doveadm/dsync/dsync-mailbox-tree-sync.c
+A src/doveadm/dsync/dsync-mailbox-tree.c
+A src/doveadm/dsync/dsync-mailbox-tree.h
+A src/doveadm/dsync/dsync-mailbox.h
+D src/doveadm/dsync/dsync-proxy-client.c
+D src/doveadm/dsync/dsync-proxy-server-cmd.c
+D src/doveadm/dsync/dsync-proxy-server.c
+D src/doveadm/dsync/dsync-proxy-server.h
+D src/doveadm/dsync/dsync-proxy.c
+D src/doveadm/dsync/dsync-proxy.h
+A src/doveadm/dsync/dsync-serializer.c
+A src/doveadm/dsync/dsync-serializer.h
+A src/doveadm/dsync/dsync-slave-io.c
+A src/doveadm/dsync/dsync-slave-pipe.c
+A src/doveadm/dsync/dsync-slave-private.h
+A src/doveadm/dsync/dsync-slave.c
+A src/doveadm/dsync/dsync-slave.h
+A src/doveadm/dsync/dsync-transaction-log-scan.c
+A src/doveadm/dsync/dsync-transaction-log-scan.h
+D src/doveadm/dsync/dsync-worker-local.c
+D src/doveadm/dsync/dsync-worker-private.h
+D src/doveadm/dsync/dsync-worker.c
+D src/doveadm/dsync/dsync-worker.h
+D src/doveadm/dsync/test-dsync-brain-msgs.c
+D src/doveadm/dsync/test-dsync-brain.c
+D src/doveadm/dsync/test-dsync-common.c
+D src/doveadm/dsync/test-dsync-common.h
+D src/doveadm/dsync/test-dsync-proxy-server-cmd.c
+D src/doveadm/dsync/test-dsync-proxy.c
+D src/doveadm/dsync/test-dsync-worker.c
+D src/doveadm/dsync/test-dsync-worker.h
+
+2012-05-20 03:08:01 +0300 Timo Sirainen <tss@iki.fi> (9a656df902)
+
+ director: When we find unwanted connection, wait for 10s for it to
+ disconnect us, not 10ms.
+
+
+M src/director/director-connection.c
+
+2012-05-20 02:41:08 +0300 Timo Sirainen <tss@iki.fi> (2b4e112137)
+
+ lib-master: Anvil reconnect timeout should be 5 seconds, not 5 milliseconds.
+
+
+M src/lib-master/anvil-client.c
+
+2012-05-19 22:25:27 +0300 Timo Sirainen <tss@iki.fi> (a6fbd1f7fa)
+
+ auth: Fixed crash with DIGEST-MD5 when attempting to do master user login
+ without master passdbs.
+
+
+M src/auth/auth-request.c
+
+2012-05-19 22:11:41 +0300 Timo Sirainen <tss@iki.fi> (3e7565a7b3)
+
+ expire: Handle dict errors. Don't crash if lookup fails. Based on patch by
+ Michal Grzedzicki
+
+
+M src/plugins/expire/expire-plugin.c
+
+2012-05-19 21:18:04 +0300 Timo Sirainen <tss@iki.fi> (e4194f4703)
+
+ director: Implemented ability to remove directors from a running ring. Also
+ added doveadm command for adding a new director to a running ring.
+
+
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director-host.h
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+M src/director/main.c
+M src/doveadm/doveadm-director.c
+
+2012-05-19 21:16:42 +0300 Timo Sirainen <tss@iki.fi> (93cc8cf70b)
+
+ director: Don't crash with quickly disconnecting incoming director
+ connections.
+
+
+M src/director/director-connection.c
+
+2012-05-19 18:43:13 +0300 Timo Sirainen <tss@iki.fi> (c56500d436)
+
+ lib-storage: If chroot is used and mail_debug=yes, log the chroot path.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2012-05-17 18:08:58 +0300 Timo Sirainen <tss@iki.fi> (0b27cde473)
+
+ update-version.sh: Use mv -f to avoid questions in some systems.
+
+
+M update-version.sh
+
+2012-05-16 18:57:05 +0300 Timo Sirainen <tss@iki.fi> (2b5818150a)
+
+ sdbox: Avoid using too many fds when copying messages. This happened at
+ least with quota plugin.
+
+
+M src/lib-storage/index/dbox-single/sdbox-save.c
+
+2012-05-16 16:14:31 +0300 Timo Sirainen <tss@iki.fi> (ca843e046e)
+
+ login: If user is disabled or password expired, say it in logout reason.
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2012-05-16 16:14:01 +0300 Timo Sirainen <tss@iki.fi> (190d84a496)
+
+ auth: If user is disabled or password expired, tell about it to auth-client.
+
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2012-05-15 18:52:41 +0300 Timo Sirainen <tss@iki.fi> (14e4afa9f5)
+
+ mdbox: mailbox_update() didn't look at the latest index data. So setting
+ min_next_uid, min_first_recent_uid or min_highest_modseq may have actually
+ shrank them.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+
+2012-05-14 21:07:43 +0300 Timo Sirainen <tss@iki.fi> (bc21bdf8b7)
+
+ pop3: Added pop3_uidl_duplicates setting.
+
+
+M doc/example-config/conf.d/20-pop3.conf
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-settings.c
+M src/pop3/pop3-settings.h
+
+2012-05-14 19:30:03 +0300 Timo Sirainen <tss@iki.fi> (7783bfe16d)
+
+ ldap: If attributes contain ldapAttr=key=template%$ and ldapAttr doesn't
+ exist, skip the field. This makes it work again the same as with v2.0.
+
+
+M src/auth/db-ldap.c
+
+2012-05-14 19:01:46 +0300 Timo Sirainen <tss@iki.fi> (a0b92d4748)
+
+ maildir: If dovecot-uidlist can't be opened as read-write, try opening as
+ read-only.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2012-05-14 18:42:58 +0300 Timo Sirainen <tss@iki.fi> (5f99c6a6ee)
+
+ master: Fix to systemd support Patch by Joop Boonen
+
+
+M src/master/service-listen.c
+
+2012-05-14 18:09:10 +0300 Timo Sirainen <tss@iki.fi> (aba6eb200e)
+
+ lib-master: Added more default ignore prefixes
+
+
+M src/lib-master/mountpoint-list.c
+
+2012-05-10 11:26:53 +0300 Timo Sirainen <tss@iki.fi> (c518217cf3)
+
+ imapc: Use imapc_list_prefix also for listing subscriptions
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2012-05-09 15:01:20 +0300 Timo Sirainen <tss@iki.fi> (33b0d86072)
+
+ master: systemd socket verification wasn't actually being called normally.
+
+
+M src/master/service-listen.c
+
+2012-05-09 06:11:58 +0300 Timo Sirainen <tss@iki.fi> (d81131d3bb)
+
+ lib-storage: Added a mailbox.synced flag, which is set when mailbox sync has
+ succeeded.
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2012-05-09 04:41:47 +0300 Timo Sirainen <tss@iki.fi> (458752f9e9)
+
+ lib-storage: mailbox_list_get_storage_name/_get_vname() are now public.
+
+
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.h
+
+2012-05-08 08:49:47 +0300 Timo Sirainen <tss@iki.fi> (f0dd98bc02)
+
+ Compiler warning fixes
+
+
+M src/lib/test-bsearch-insert-pos.c
+
+2012-05-08 08:31:27 +0300 Timo Sirainen <tss@iki.fi> (5e114f59ad)
+
+ Compiler warning fixes
+
+
+M src/auth/db-checkpassword.c
+M src/auth/db-checkpassword.h
+M src/auth/passdb-checkpassword.c
+M src/auth/userdb-checkpassword.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib/test-array.c
+M src/lib/test-base64.c
+
+2012-05-08 01:24:01 +0300 Timo Sirainen <tss@iki.fi> (21c7e5bc98)
+
+ lib-storage: Extra check to mail_shared_explicit_inbox=no
+
+
+M src/lib-storage/mailbox-list.c
+
+2012-05-08 01:22:32 +0300 Timo Sirainen <tss@iki.fi> (00a3196072)
+
+ layout=fs: Fixes to mail_shared_explicit_inbox=no
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-05-07 23:39:34 +0300 Timo Sirainen <tss@iki.fi> (45529d3837)
+
+ lib-storage: Don't auto-drop namespaces with only INBOX shared and
+ mail_shared_explicit_inbox=no
+
+
+M src/lib-storage/mail-storage.c
+
+2012-05-07 23:39:01 +0300 Timo Sirainen <tss@iki.fi> (abf49ed756)
+
+ acl: Fixed listing users who have only INBOX shared and
+ mail_shared_explicit_inbox=no
+
+
+M src/plugins/acl/acl-shared-storage.c
+
+2012-05-07 08:36:54 +0300 Timo Sirainen <tss@iki.fi> (6649f0e3fd)
+
+ Added signature for changeset 7c249e2a82a9
+
+
+M .hgsigs
+
+2012-05-07 08:36:43 +0300 Timo Sirainen <tss@iki.fi> (571fd5fafb)
+
+ Added tag 2.1.6 for changeset 7c249e2a82a9
+
+
+M .hgtags
+
+2012-05-07 08:36:43 +0300 Timo Sirainen <tss@iki.fi> (1db226ccb8)
+
+ Released v2.1.6.
+
+
+M NEWS
+M configure.in
+
+2012-05-07 04:06:49 +0300 Timo Sirainen <tss@iki.fi> (9242477aa6)
+
+ Makefile: Remove dovecot-config on make uninstall
+
+
+M Makefile.am
+
+2012-05-06 06:44:04 +0300 Timo Sirainen <tss@iki.fi> (593d271490)
+
+ auth: Previous change caused crashing with userdb lookups
+
+
+M src/auth/auth-request.c
+
+2012-05-05 00:01:32 +0300 Timo Sirainen <tss@iki.fi> (6a2e678026)
+
+ auth: Added %{session} variable for passdb/userdb queries.
+
+
+M src/auth/auth-request.c
+
+2012-05-04 23:56:51 +0300 Timo Sirainen <tss@iki.fi> (9e7eb7beae)
+
+ acl: Memory leak fixes
+
+
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-cache.c
+
+2012-05-04 23:50:22 +0300 Timo Sirainen <tss@iki.fi> (6b3f3a6561)
+
+ mail-log: Memory leak fix
+
+
+M src/plugins/mail-log/mail-log-plugin.c
+
+2012-05-04 22:55:29 +0300 Timo Sirainen <tss@iki.fi> (39993536ea)
+
+ shared mailboxes: If successful userdb lookup doesn't return home, fallback
+ to mail_home setting for %%h.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-user.c
+
+2012-05-04 21:52:05 +0300 Timo Sirainen <tss@iki.fi> (b5cbeb103b)
+
+ systemd: If a socket is enabled in systemd but not in Dovecot config, close
+ it. Based on patch by Michal Hlavinka.
+
+
+M src/master/service-listen.c
+
+2012-05-04 21:40:57 +0300 Timo Sirainen <tss@iki.fi> (0bd259973f)
+
+ Added mail_shared_explicit_inbox setting.
+
+
+M doc/example-config/conf.d/10-mail.conf
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/lib-storage/mailbox-list.c
+
+2012-05-04 20:14:20 +0300 Timo Sirainen <tss@iki.fi> (1f85b15e9b)
+
+ dbox: Metadata read buffer's size was supposed to be unlimited, not zero.
+ This was broken by 59f5238c6e61, which itself had fixed another bug.
+
+
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+
+2012-05-04 20:07:05 +0300 Timo Sirainen <tss@iki.fi> (880ac25be5)
+
+ doveadm mailbox mutf7: If input data is invalid, exit with EX_DATAERR.
+
+
+M src/doveadm/doveadm-mutf7.c
+
+2012-05-04 19:01:46 +0300 Timo Sirainen <tss@iki.fi> (ac8693e6a3)
+
+ mail-log: Removed broken "are we saving?" check from copy event handling.
+
+
+M src/plugins/mail-log/mail-log-plugin.c
+
+2012-05-04 19:01:19 +0300 Timo Sirainen <tss@iki.fi> (2c7cde7c78)
+
+ notify plugin: mailbox_save_using_mail() now sends "save" events, not
+ "copy".
+
+
+M src/plugins/notify/notify-storage.c
+
+2012-05-04 19:00:04 +0300 Timo Sirainen <tss@iki.fi> (d98c49c79d)
+
+ lib-storage: Don't set mail_save_context->saving=TRUE when copying via save.
+
+
+M src/lib-storage/mail-storage.c
+
+2012-05-04 05:35:36 +0300 Timo Sirainen <tss@iki.fi> (068da0f391)
+
+ lib-storage: Added MAILBOX_TRANSACTION_FLAG_SYNC flag
+
+
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/mail-storage.h
+
+2012-05-22 17:10:20 +0300 Timo Sirainen <tss@iki.fi> (77df9a1e63)
+
+ dbox: Don't reset index when mailbox_update() changes UIDVALIDITY.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2012-05-03 23:26:44 +0300 Timo Sirainen <tss@iki.fi> (515f81466f)
+
+ lib-index: Fixed MAIL_INDEX_SYNC_FLAG_AVOID_FLAG_UPDATES with concurrent
+ keyword changes. If session 1 saw keywords="a", session 2 added keyword "b"
+ and session 1 (without the client syncing session) replaced flags with "a",
+ the "b" keyword wasn't removed.
+
+
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/test-mail-index-transaction-update.c
+
+2012-05-03 21:46:07 +0300 Timo Sirainen <tss@iki.fi> (e169102fb3)
+
+ Added MAIL_INDEX_TRANSACTION_FLAG_SYNC
+
+
+M src/doveadm/doveadm-dump-log.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log.h
+M src/lib-index/test-mail-transaction-log-append.c
+
+2012-05-22 17:03:20 +0300 Timo Sirainen <tss@iki.fi> (250105a144)
+
+ Don't write "keyword reset" records to transaction log anymore. These are a
+ bit problematic for dsync's keyword merging to handle.
+
+
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index.h
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-sync.c
+M src/plugins/virtual/virtual-sync.c
+
+2012-05-22 16:54:55 +0300 Timo Sirainen <tss@iki.fi> (6d3bb841d4)
+
+ lib-index: Added mail_transaction_log_view_set_all()
+
+
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.h
+
+2012-05-22 16:54:43 +0300 Timo Sirainen <tss@iki.fi> (a1a0b9ba36)
+
+ lib-index: Don't log an error if UIDVALIDITY changes. Normally this should
+ be done by backend only by resetting the index, but it can be done also by
+ dsync.
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2012-05-20 03:32:55 +0300 Timo Sirainen <tss@iki.fi> (4b335788eb)
+
+ Use timeout_add_short() for sub-second timeouts. Fail at compile time if
+ timeout_add() is <1s. In future timeout_add() could perhaps also be made
+ less precise, so that it would try to group timeouts to run around at the
+ same time.
+
+
+M src/auth/auth-request-handler.c
+M src/director/director-test.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/index-mailbox-check.c
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+M src/plugins/fts/fts-indexer.c
+M src/plugins/replication/replication-plugin.c
+
+2012-05-20 03:25:04 +0300 Timo Sirainen <tss@iki.fi> (ed16ab579b)
+
+ Merged changes from v2.1 tree.
+
+
+2012-05-19 22:40:08 +0300 Timo Sirainen <tss@iki.fi> (044a0882fb)
+
+ Extends struct net_unix_cred with pid field and modifies net_getunixcred()
+ to fill it in if possible.
+
+ Depends: none
+
+M configure.in
+M src/lib/network.c
+M src/lib/network.h
+
+2012-05-19 22:28:19 +0300 Timo Sirainen <tss@iki.fi> (50a1b4437e)
+
+ lib-storage: Sort userdb fields before importing them. This avoids requiring
+ manual sorting in some situations, such as when defining new namespaces.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2012-05-04 00:48:45 +0300 Timo Sirainen <tss@iki.fi> (d5498f4d64)
+
+ lib-index: Removed unused locking code.
+
+
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+
+2012-05-04 00:41:51 +0300 Timo Sirainen <tss@iki.fi> (d7c8280f58)
+
+ lib-index: Updated dovecot.index file only by recreating it, never write to
+ it directly. This is safer, and nowadays there shouldn't be much of a
+ performance loss with it either, since dovecot.index isn't updated very
+ often.
+
+ This also allows removing all locking from dovecot.index file, although for
+ now we'll keep it in case old Dovecot versions are simultaneously writing to
+ the index.
+
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-private.h
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/test-mail-index-sync-ext.c
+
+2012-04-27 16:47:30 +0900 SATOH Fumiyasu <fumiyas@osstech.co.jp> (7ba3065dc2)
+
+ Fix the build failure on AIX
+
+
+M src/lib-storage/index/index-search-private.h
+M src/plugins/stats/stats-plugin.h
+
+2012-05-01 03:15:46 +0300 Timo Sirainen <tss@iki.fi> (e4cb3bfcd4)
+
+ lib-storage: shared/$user/INBOX is now visible only as shared/$user
+
+
+M src/lib-storage/mailbox-list.c
+
+2012-05-01 03:01:49 +0300 Timo Sirainen <tss@iki.fi> (82dee68984)
+
+ aqueue: Reversed recent changes, they didn't work as intended.
+
+
+M src/lib/aqueue.c
+
+2012-04-30 23:04:08 +0300 Timo Sirainen <tss@iki.fi> (1cd4894c59)
+
+ Increased initial memory pool size.
+
+
+M src/lib-storage/index/index-status.c
+
+2012-04-30 22:53:19 +0300 Timo Sirainen <tss@iki.fi> (d06d6667ba)
+
+ seq_range_array_add(): Ranges weren't always merged when they could have.
+ This didn't break anything, but it used up more memory than necessary.
+
+
+M src/lib/seq-range-array.c
+M src/lib/test-seq-range-array.c
+
+2012-04-28 18:24:24 +0300 Timo Sirainen <tss@iki.fi> (0f819b4ecd)
+
+ Code cleanup: Use array_count_i() to calculate array's size internally.
+
+
+M src/lib/aqueue.c
+M src/lib/array.c
+M src/lib/array.h
+
+2012-04-28 17:41:14 +0300 Timo Sirainen <tss@iki.fi> (f016dec983)
+
+ auth: Include session ID in log line prefix.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.h
+M src/login-common/login-settings.c
+M src/login-common/sasl-server.c
+
+2012-04-28 17:33:34 +0300 Timo Sirainen <tss@iki.fi> (d938e9e4ec)
+
+ lib-storage: Allocate MAILBOX_METADATA_CACHE_FIELDS from a new metadata
+ mempool.
+
+
+M src/lib-storage/index/index-status.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2012-04-26 00:26:58 +0300 Timo Sirainen <tss@iki.fi> (6a764a456e)
+
+ acl: Fixed looking up parent mailbox name with different namespace vs.
+ layout separators.
+
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2012-04-25 23:44:32 +0300 Timo Sirainen <tss@iki.fi> (08a33e7c0c)
+
+ lib-storage: Fixed expanding path that ends with "~/" For example
+ mail_location=maildir:~/ would actually try to create '~' directory.
+
+
+M src/lib-storage/mail-user.c
+
+2012-04-25 23:34:29 +0300 Timo Sirainen <tss@iki.fi> (3d0cb8dfc6)
+
+ passdb static: Don't crash if password/nopassword isn't set.
+
+
+M src/auth/passdb-static.c
+
+2012-04-25 22:28:03 +0300 Timo Sirainen <tss@iki.fi> (c77b85e601)
+
+ *-login: Added ssl_require_crl setting.
+
+
+M doc/example-config/conf.d/10-ssl.conf
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+M src/login-common/ssl-proxy-openssl.c
+
+2012-04-25 22:12:26 +0300 Timo Sirainen <tss@iki.fi> (d4f78a980c)
+
+ stats plugin: Open /proc/self/io only once, reopening is unnecessary.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2012-04-25 21:32:00 +0300 Timo Sirainen <tss@iki.fi> (e7dd5065d2)
+
+ SSL proxying: Remote's host never matched cert, because auth process changed
+ it to IP. Now the "host" parameter isn't changed, but a new optional
+ "hostip" parameter contains the IP address where to connect to.
+
+
+M src/auth/auth-request.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+
+2012-04-25 21:29:14 +0300 Timo Sirainen <tss@iki.fi> (4bfb75b0f7)
+
+ *-login: Don't fail client's certificate if CRL is expired. This seems to be
+ returned also when there is no CRL..
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2012-04-25 21:28:16 +0300 Timo Sirainen <tss@iki.fi> (be2e4a1bc7)
+
+ *-login: If client certificate isn't valid, log the reason why.
+
+
+M src/login-common/login-proxy.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.c
+M src/login-common/ssl-proxy.h
+
+2012-04-25 21:26:25 +0300 Timo Sirainen <tss@iki.fi> (fee4ec4b11)
+
+ auth: Fixed handling multiple passdbs where some use proxying and others
+ don't.
+
+
+M src/auth/auth-request.c
+
+2012-04-25 21:23:24 +0300 Timo Sirainen <tss@iki.fi> (aefe174248)
+
+ auth: Minor code cleanup.
+
+
+M src/auth/auth-request-handler.c
+
+2012-04-25 16:44:22 +0300 Timo Sirainen <tss@iki.fi> (b3a3a66f6a)
+
+ imapc: List INBOX for inbox=yes namespace even imapc_list_prefix is set.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2012-04-25 16:44:00 +0300 Timo Sirainen <tss@iki.fi> (5d0038284a)
+
+ lib-storage: Make sure both MAILBOX_CHILDREN and MAILBOX_NOCHILDREN flags
+ aren't set.
+
+
+M src/lib-storage/mailbox-list-iter.c
+
+2012-04-25 16:29:22 +0300 Timo Sirainen <tss@iki.fi> (ca87e89c91)
+
+ dsync: Treat \Nonexistent mailboxes the same as \Noselect mailboxes.
+
+
+M src/doveadm/dsync/dsync-worker-local.c
+
+2012-04-25 02:48:36 +0300 Timo Sirainen <tss@iki.fi> (20bd39d194)
+
+ lib-ssl-iostream: Fixed a memory leak when verifying certificate name. This
+ mainly mattered when proxying with SSL to remote server.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2012-04-24 21:12:36 +0300 Timo Sirainen <tss@iki.fi> (12224fcf2d)
+
+ doveadm expunge -d: If mailbox is deleted, unsubscribe it also
+
+
+M src/doveadm/doveadm-mail-expunge.c
+
+2012-04-24 21:09:25 +0300 Timo Sirainen <tss@iki.fi> (99cf4c4678)
+
+ trash plugin: Fixed behavior when quota is already over limit.
+
+
+M src/plugins/trash/trash-plugin.c
+
+2012-04-24 21:03:19 +0300 Timo Sirainen <tss@iki.fi> (269370f66e)
+
+ quota: Set to quota transaction how many bytes/messages we're over quota.
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2012-04-23 17:59:39 +0300 Timo Sirainen <tss@iki.fi> (3f506d46ba)
+
+ imapc: Fixed imapc_list_prefix setting to work with INBOX.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2012-04-23 16:35:41 +0300 Timo Sirainen <tss@iki.fi> (9c5e665ccc)
+
+ Added signature for changeset 469cee314d9c
+
+
+M .hgsigs
+
+2012-04-23 16:35:37 +0300 Timo Sirainen <tss@iki.fi> (e01fbf3f8a)
+
+ Added tag 2.1.5 for changeset 469cee314d9c
+
+
+M .hgtags
+
+2012-04-23 16:35:37 +0300 Timo Sirainen <tss@iki.fi> (e2a6a21a6a)
+
+ Released v2.1.5.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2012-04-23 16:18:36 +0300 Timo Sirainen <tss@iki.fi> (89b3a2a06a)
+
+ Make static analyzer happier.
+
+
+M src/lib/test-strfuncs.c
+
+2012-04-23 14:50:30 +0300 Timo Sirainen <tss@iki.fi> (37a3ae182d)
+
+ lib-index: Added mail_index_have_modseq_tracking() needed for previous
+ commit.
+
+
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-modseq.h
+
+2012-04-23 14:47:13 +0300 Timo Sirainen <tss@iki.fi> (9ffa5102cd)
+
+ imap: While modseq tracking hasn't been enabled, return mailbox as NOMODSEQ.
+ It would be possible to avoid this by always keeping track of highestmodseq,
+ but that requires changing the index format a bit.
+
+
+M src/lib-storage/index/index-status.c
+
+2012-04-23 14:11:37 +0300 Timo Sirainen <tss@iki.fi> (8f70c97f7a)
+
+ listescape: Don't unescape namespace prefix.
+
+
+M src/lib-storage/mailbox-list.c
+
+2012-04-23 13:19:44 +0300 Timo Sirainen <tss@iki.fi> (87b71ffbf1)
+
+ quota: Recalculation now also counts the namespace prefix mailbox's quota if
+ it exists.
+
+
+M src/plugins/quota/quota-count.c
+
+2012-04-23 12:58:42 +0300 Timo Sirainen <tss@iki.fi> (9908c7e3f7)
+
+ imapc: Don't list mailboxes that don't match list patterns.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2012-04-23 12:52:59 +0300 Timo Sirainen <tss@iki.fi> (51b9807b22)
+
+ imapc: Nonexistent mailboxes were returned as selectable mailboxes.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-tree.h
+
+2012-04-20 22:27:01 +0300 Timo Sirainen <tss@iki.fi> (b08822564e)
+
+ imapc: Added imapc_list_prefix setting to limit what mailboxes are accessed.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+
+2012-04-20 19:09:55 +0300 Timo Sirainen <tss@iki.fi> (6cb8e7d726)
+
+ director: Delay disconnecting director after sending CONNECT command. The
+ director may not otherwise read the CONNECT.
+
+
+M src/director/director-connection.c
+
+2012-04-20 19:08:25 +0300 Timo Sirainen <tss@iki.fi> (c9b08dc8d7)
+
+ director: Forward DIRECTOR commands to other connected directors. They can
+ use it to realize that the director was restarted and its sequences start
+ from 1.
+
+
+M src/director/director-connection.c
+
+2012-04-20 19:05:38 +0300 Timo Sirainen <tss@iki.fi> (89d6cd658e)
+
+ director: Try harder to connect to ring before thinking we're alone.
+
+
+M src/director/director.c
+M src/director/director.h
+
+2012-04-20 19:03:26 +0300 Timo Sirainen <tss@iki.fi> (002f254442)
+
+ director: Director ring needs to be set unsynced immediately even when
+ sycning is frozen.
+
+
+M src/director/director.c
+
+2012-04-20 15:26:43 +0300 Timo Sirainen <tss@iki.fi> (e7f4a8b482)
+
+ layout=fs: Fixed listing mailboxes with prefix=INBOX/
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-04-20 15:18:14 +0300 Timo Sirainen <tss@iki.fi> (bfb5618b3c)
+
+ layout=fs: Don't assume '/' hierarchy separator when finding mailbox roots.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-04-20 15:04:58 +0300 Timo Sirainen <tss@iki.fi> (980529df27)
+
+ director: When another director reconnects, reset its "last received seq".
+ This fixes some problems where HOST updates and others were thought as
+ already being received after the originating director was restarted.
+
+
+M src/director/director-connection.c
+
+2012-04-20 11:22:26 +0300 Timo Sirainen <tss@iki.fi> (32a93320fd)
+
+ director: Removed special (time_t)-1 code, it's not actually needed. Also
+ this fixes a user refreshing issue.
+
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director.c
+M src/director/test-user-directory.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+
+2012-04-20 11:09:36 +0300 Timo Sirainen <tss@iki.fi> (b37fabed27)
+
+ director: Minor error message fix
+
+
+M src/director/director-connection.c
+
+2012-04-20 01:35:06 +0300 Timo Sirainen <tss@iki.fi> (f45e50990a)
+
+ director: And crashfix for previous change..
+
+
+M src/director/director-connection.c
+
+2012-04-20 01:32:01 +0300 Timo Sirainen <tss@iki.fi> (a70216512b)
+
+ director: Adding 25c941423e42 patch yet again, now it seems to work right.
+ And also fixes detection of outgoing connections that die during handshake
+ sending.
+
+
+M src/director/director-connection.c
+
+2012-04-20 01:14:41 +0300 Timo Sirainen <tss@iki.fi> (5a5b39ce7c)
+
+ director: USER sending timeout was higher than it needed to be. The problem
+ was USER sending getting stuck, not the timeout itself..
+
+
+M src/director/director-connection.c
+
+2012-04-20 00:59:01 +0300 Timo Sirainen <tss@iki.fi> (484324f08a)
+
+ director: Removed unnecessary error messages.
+
+
+M src/director/director-connection.c
+
+2012-04-20 00:49:29 +0300 Timo Sirainen <tss@iki.fi> (f37684a44c)
+
+ director: Another fix for stuck handshake.
+
+
+M src/director/director-connection.c
+
+2012-04-20 00:42:10 +0300 Timo Sirainen <tss@iki.fi> (b695e4700d)
+
+ director: Make sure handshaking doesn't get stuck sending USERs.
+
+
+M src/director/director-connection.c
+
+2012-04-20 00:33:13 +0300 Timo Sirainen <tss@iki.fi> (4847d74a74)
+
+ director: Fixed protocol error detection/handling.
+
+
+M src/director/director-connection.c
+
+2012-04-20 00:32:34 +0300 Timo Sirainen <tss@iki.fi> (3a12bf3abc)
+
+ director: Improved debug handshake message.
+
+
+M src/director/director-connection.c
+
+2012-04-20 00:13:55 +0300 Timo Sirainen <tss@iki.fi> (3574bab52a)
+
+ director: Increased timeout for sending USER data in handshake.
+
+
+M src/director/director-connection.c
+
+2012-04-20 00:03:47 +0300 Timo Sirainen <tss@iki.fi> (cc22ca265b)
+
+ director: Improved error message
+
+
+M src/director/director-connection.c
+
+2012-04-19 23:51:46 +0300 Timo Sirainen <tss@iki.fi> (09400493cf)
+
+ director: Reverted previous change, it didn't work properly.
+
+
+M src/director/director-connection.c
+
+2012-04-19 23:45:31 +0300 Timo Sirainen <tss@iki.fi> (696e4ecbe9)
+
+ director: Don't delay reading input from remote connection during handshake.
+
+
+M src/director/director-connection.c
+
+2012-04-19 23:41:59 +0300 Timo Sirainen <tss@iki.fi> (6e20d8af0f)
+
+ timeout_reset(): Don't use cached ioloop_timeval. Timeouts are sometimes
+ reset after a long running callback. In those cases a cached timeval may be
+ too far behind.
+
+
+M src/lib/ioloop.c
+
+2012-04-19 23:34:41 +0300 Timo Sirainen <tss@iki.fi> (4865df74da)
+
+ director: Decreased timeout for resending lost SYNC request.
+
+
+M src/director/director.c
+
+2012-04-19 23:06:55 +0300 Timo Sirainen <tss@iki.fi> (3c296d819c)
+
+ Use t_strsplit_tab() wherever possible
+
+
+M src/anvil/anvil-connection.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-stream.c
+M src/auth/auth-worker-client.c
+M src/auth/db-checkpassword.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-cache.c
+M src/config/config-connection.c
+M src/dict/dict-commands.c
+M src/director/director-connection.c
+M src/director/director-test.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-proxy.c
+M src/doveadm/doveadm-who.c
+M src/ipc/ipc-connection.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-settings.c
+M src/login-common/login-proxy.c
+M src/util/script-login.c
+
+2012-04-19 23:00:16 +0300 Timo Sirainen <tss@iki.fi> (86441ffc02)
+
+ Added t_strsplit_tab()
+
+
+M src/lib/strfuncs.c
+M src/lib/strfuncs.h
+M src/lib/test-strfuncs.c
+
+2012-04-19 22:17:34 +0300 Timo Sirainen <tss@iki.fi> (069d9f1da8)
+
+ director: Never set user's timestamp higher than our ioloop_time.
+
+
+M src/director/user-directory.c
+
+2012-04-19 21:51:48 +0300 Timo Sirainen <tss@iki.fi> (447bf65ddb)
+
+ director: Optimized adding users to linked list during handshake.
+
+
+M src/director/Makefile.am
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director.c
+A src/director/test-user-directory.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+
+2012-04-19 20:29:25 +0300 Timo Sirainen <tss@iki.fi> (fe7f9298fb)
+
+ director: Increased timeouts.
+
+
+M src/director/director-connection.c
+
+2012-04-19 18:59:33 +0300 Timo Sirainen <tss@iki.fi> (4d0285870d)
+
+ raw storage: Name autocreated namespace as "raw-storage".
+
+
+M src/lib-storage/index/raw/raw-storage.c
+
+2012-04-19 18:22:39 +0300 Timo Sirainen <tss@iki.fi> (7f250fe7ee)
+
+ LMTP: Don't add Return-Path: header when proxying. The backend also adds it
+ and we don't want duplicates.
+
+
+M src/lmtp/commands.c
+
+2012-04-19 18:15:56 +0300 Timo Sirainen <tss@iki.fi> (1a3f9d72e1)
+
+ doveadm expunge: Added -d parameter to delete mailbox if it's empty after
+ expunging.
+
+
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-iter.h
+
+2012-04-19 18:15:37 +0300 Timo Sirainen <tss@iki.fi> (33b469d1ca)
+
+ lib-storage: Added mailbox_delete_empty().
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2012-04-19 14:39:26 +0300 Timo Sirainen <tss@iki.fi> (a8c1d873eb)
+
+ maildir_very_dirty_syncs=yes: Try harder to avoid readdir()ing.
+
+
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-sync.h
+M src/lib-storage/index/maildir/maildir-util.c
+
+2012-04-18 20:09:30 +0300 Timo Sirainen <tss@iki.fi> (72f5f2c5c6)
+
+ auth: Changed auth-userdb socket's default user to $default_internal_user.
+ This makes the defaults more usable for director setups.
+
+
+M src/auth/auth-settings.c
+
+2012-04-18 19:56:29 +0300 Timo Sirainen <tss@iki.fi> (4128fe33fd)
+
+ fts-solr: doveadm fts rescan now resets the last-indexed-uid fields to allow
+ reindexing.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2012-04-18 19:29:22 +0300 Timo Sirainen <tss@iki.fi> (8000687bd8)
+
+ trash plugin fixes
+
+
+M src/plugins/trash/trash-plugin.c
+
+2012-04-18 18:33:02 +0300 Timo Sirainen <tss@iki.fi> (1a284e27b1)
+
+ imapc: Use SHA1 of message header for guid-forced instead of the entire
+ body.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2012-04-18 18:09:14 +0300 Timo Sirainen <tss@iki.fi> (e65df911d9)
+
+ imapc: Added guid-forced feature to use SHA1(message) as GUID.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+
+2012-04-17 13:56:00 +0300 Timo Sirainen <tss@iki.fi> (8601157bee)
+
+ login: Log message change: Tried to use s/disabled/disallowed/ plaintext
+ auth
+
+
+M src/login-common/client-common.c
+
+2012-04-16 22:05:47 +0300 Timo Sirainen <tss@iki.fi> (8ef1566116)
+
+ login: Fixed per-IP ssl_ca setting inside local/remote block.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2012-04-12 10:48:55 +0300 Timo Sirainen <tss@iki.fi> (0a731daccc)
+
+ login: Another attempt at fixing SSL memory leak.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2012-04-12 10:41:44 +0300 Timo Sirainen <tss@iki.fi> (6240d46071)
+
+ login: Reverted memory leak fix, because it broke some SSL setups?
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2012-04-11 19:06:44 +0300 Timo Sirainen <tss@iki.fi> (8ba29b2d23)
+
+ Memory leak fixes.
+
+
+M src/lib-storage/index/index-thread.c
+M src/login-common/ssl-proxy-openssl.c
+M src/plugins/quota/quota.c
+
+2012-04-11 18:23:34 +0300 Timo Sirainen <tss@iki.fi> (921fd0b0c6)
+
+ lib-storage: LIST with mailbox {} settings incorrectly set subscribed-flags.
+
+
+M src/lib-storage/mailbox-list-iter.c
+
+2012-04-11 17:21:01 +0300 Timo Sirainen <tss@iki.fi> (c719f74d3f)
+
+ dict file: Fixed assert-crash with fcntl/flock lock method.
+
+
+M src/lib-dict/dict-file.c
+
+2012-04-11 15:02:53 +0300 Timo Sirainen <tss@iki.fi> (1a073dd618)
+
+ mbox: Make sure each mailbox creation generates a different UIDVALIDITY.
+
+
+M src/lib-storage/index/mbox/mbox-storage.h
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2012-04-11 14:44:45 +0300 Timo Sirainen <tss@iki.fi> (10db329f4b)
+
+ mbox: Deleting a mailbox didn't delete its index files.
+
+
+M src/lib-storage/index/index-storage.c
+
+2012-04-11 14:29:37 +0300 Timo Sirainen <tss@iki.fi> (32e6395121)
+
+ layout=fs: LIST may have shown mailbox as \HasNoChildren when it did. This
+ probably only happened with mbox.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-04-11 12:35:19 +0300 Timo Sirainen <tss@iki.fi> (ce82f77b9f)
+
+ --enable-devel-checks: If DEBUG_SILENT environment is set, hide "Growing
+ pool" warnings.
+
+
+M src/lib/data-stack.c
+M src/lib/mempool-alloconly.c
+M src/master/master-settings.c
+
+2012-04-10 18:05:36 +0300 Timo Sirainen <tss@iki.fi> (bdb0f594a5)
+
+ dict file: Bugfix for previous lock change and changed its configuration
+ syntax.
+
+
+M src/lib-dict/dict-file.c
+
+2012-04-10 17:57:09 +0300 Timo Sirainen <tss@iki.fi> (f739c92a92)
+
+ dict file: Optionally use fcntl/flock locking, instead of dotlocks.
+
+
+M src/lib-dict/dict-file.c
+
+2012-04-10 10:09:39 +0300 Timo Sirainen <tss@iki.fi> (cb17980a66)
+
+ lib-storage: mail_user_try_home_expand() now looks up home only when needed.
+ Before a recent code cleanup the lookup was always done, but if the home
+ didn't exist it still just happened to return success. The cleanup changed
+ it to return failure, which broke the original behavior.
+
+
+M src/lib-storage/mail-user.c
+
+2012-04-10 09:52:35 +0300 Timo Sirainen <tss@iki.fi> (9f0a996c22)
+
+ pop3c: "TOP msgnum 0" was missing the 0 parameter.
+
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+
+2012-04-10 09:52:00 +0300 Timo Sirainen <tss@iki.fi> (1864cbe7ef)
+
+ pop3c: Removed extra "R " prefix from POP3 server error messages.
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2012-04-09 13:13:32 +0300 Timo Sirainen <tss@iki.fi> (238ef5001d)
+
+ Added signature for changeset 2c21c940e19d
+
+
+M .hgsigs
+
+2012-04-09 13:13:26 +0300 Timo Sirainen <tss@iki.fi> (b95459cff1)
+
+ Added tag 2.1.4 for changeset 2c21c940e19d
+
+
+M .hgtags
+
+2012-04-09 13:13:24 +0300 Timo Sirainen <tss@iki.fi> (494a594e99)
+
+ Released v2.1.4.
+
+
+M NEWS
+M configure.in
+
+2012-04-09 13:12:29 +0300 Timo Sirainen <tss@iki.fi> (4926d904d3)
+
+ director: Fixed disconnecting unwanted connection.
+
+
+M src/director/director-connection.c
+
+2012-04-09 13:04:19 +0300 Timo Sirainen <tss@iki.fi> (adc1802364)
+
+ lib-storage: If mailbox deletion crashed, undelete the mailbox when opening
+ it. The deletion is assumed to be crashed if it was started over 5 minutes
+ ago.
+
+
+M src/lib-storage/mail-storage.c
+
+2012-04-03 14:45:10 +0300 Timo Sirainen <tss@iki.fi> (eea8f295ef)
+
+ lib-index: Minor code cleanup.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2012-04-09 11:53:46 +0300 Timo Sirainen <tss@iki.fi> (013a8a91c8)
+
+ lib-storage: Set mail_user.service earlier.
+
+
+M src/lib-storage/mail-user.c
+
+2012-04-09 09:53:13 +0300 Timo Sirainen <tss@iki.fi> (1be2142135)
+
+ imap: Don't allow FETCH items list to be empty.
+
+
+M src/imap/cmd-fetch.c
+
+2012-04-09 08:17:52 +0300 Timo Sirainen <tss@iki.fi> (8c2b4a45f1)
+
+ director: Don't communicate with directors that recently sent invalid input.
+ Track network and protocol failures separately. If a director had sent
+ invalid protocol data within last 60 seconds, don't try to connect to it and
+ don't allow it to connect to us.
+
+
+M src/director/director-connection.c
+M src/director/director-host.h
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+
+2012-04-09 07:52:25 +0300 Timo Sirainen <tss@iki.fi> (ee3362f3b7)
+
+ director: Don't try to send the new SYNC parameter to old director versions.
+ This should allow adding new directors to an old director ring without
+ anything breaking. Once all directors have upgraded they start using the new
+ features.
+
+
+M src/director/director-connection.c
+M src/director/director-connection.h
+M src/director/director.c
+
+2012-04-04 11:08:32 +0300 Timo Sirainen <tss@iki.fi> (d2d5871fa9)
+
+ lib-storage: Minor code cleanup.
+
+
+M src/lib-storage/mail-user.c
+
+2012-04-04 11:07:05 +0300 Timo Sirainen <tss@iki.fi> (0a894d19d7)
+
+ layout=fs: Fixed iteration with mail_full_filesystem_access=yes
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-04-04 10:07:41 +0300 Timo Sirainen <tss@iki.fi> (a21537de6b)
+
+ Maildir++: Return nonexistent subscribed mailbox with nonexistent flag. e.g.
+ LIST (SUBSCRIBED) "" *
+
+
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/mailbox-list-subscriptions.h
+
+2012-04-04 09:48:46 +0300 Timo Sirainen <tss@iki.fi> (e85148f6f8)
+
+ lib-storage: Human search builder now uses SEARCH_MAILBOX_GLOB only when
+ wildcards are used.
+
+
+M src/lib-storage/mail-search-register-human.c
+
+2012-04-04 09:42:34 +0300 Timo Sirainen <tss@iki.fi> (e8c6287f44)
+
+ doveadm: When AND-search includes mailbox names, don't bother going through
+ them by list iteration.
+
+
+M src/doveadm/doveadm-mailbox-list-iter.c
+
+2012-04-04 09:41:15 +0300 Timo Sirainen <tss@iki.fi> (b1e46e840d)
+
+ dovadm mail commands: When mailbox parameter has no wildcard, use
+ SEARCH_MAILBOX.
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+
+2012-04-04 09:40:24 +0300 Timo Sirainen <tss@iki.fi> (d6e8c83d08)
+
+ doveadm status: Don't include the fields parameter as a mailbox in search
+ query.
+
+
+M src/doveadm/doveadm-mail-mailbox-status.c
+
+2012-04-04 09:12:29 +0300 Timo Sirainen <tss@iki.fi> (049da065aa)
+
+ pop3-migration: Error message improvement.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2012-04-04 07:46:09 +0300 Timo Sirainen <tss@iki.fi> (5b560a354d)
+
+ lib-storage: Require at least one namespace to be non-hidden
+
+
+M src/lib-storage/mail-namespace.c
+
+2012-04-04 07:26:37 +0300 Timo Sirainen <tss@iki.fi> (18ce10fb32)
+
+ doveadm user: Added -m parameter to show some of the mail settings.
+
+
+M src/doveadm/doveadm-auth.c
+
+2012-04-04 06:25:00 +0300 Timo Sirainen <tss@iki.fi> (740dedb9f4)
+
+ Makefile: Link libdovecot-storage.so with LINKED_STORAGE_LDADD.
+
+
+M src/lib-storage/Makefile.am
+
+2012-04-04 06:16:18 +0300 Timo Sirainen <tss@iki.fi> (bf6c5e9028)
+
+ ldap: Removed warning about changed user_* settings. This warning can happen
+ even with recommended settings when symlinking the passdb's ldap config to
+ userdb ldap config.
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+M src/auth/passdb-ldap.c
+
+2012-04-04 06:12:24 +0300 Timo Sirainen <tss@iki.fi> (5736aef6d0)
+
+ lib-storage: When doing a userdb lookup, use the user's service instead of
+ "lib-storage".
+
+
+M src/lib-storage/mail-user.c
+
+2012-04-04 06:10:33 +0300 Timo Sirainen <tss@iki.fi> (914d477534)
+
+ ldap: Treat =key the same as =key=, just like v2.0.
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+
+2012-04-04 05:34:51 +0300 Timo Sirainen <tss@iki.fi> (9c550becf7)
+
+ lib-lda: mail_deliver()'s dest_mail now prefetches message's GUID. This
+ fixes copying an already expunged mail with maildir.
+
+
+M src/lib-lda/mail-deliver.c
+
+2012-04-04 05:34:11 +0300 Timo Sirainen <tss@iki.fi> (46c903eac3)
+
+ maildir: Remember the mail's GUID/filename in memory once it's fetched once.
+ This allows retrieving it later even if the message gets expunged.
+
+
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2012-04-04 05:15:49 +0300 Timo Sirainen <tss@iki.fi> (e3e5ca6aec)
+
+ sdbox: If copying with link() fails with ENOENT, fallback to trying regular
+ copying. This also fixes missing error reporting for that case.
+
+
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+
+2012-04-04 04:33:41 +0300 Timo Sirainen <tss@iki.fi> (31327a74b8)
+
+ lib-storage: Previous change incorrectly reverted setting parent shared
+ namespace usable.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+
+2012-04-04 04:31:09 +0300 Timo Sirainen <tss@iki.fi> (512f492f41)
+
+ lib-storage: Fixed setting usable/unusable flags for shared namespaces. If a
+ namespace doesn't have a root that exists, mark it as unusable. This avoids
+ ACL plugin from autocreating that directory.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+
+2012-04-04 03:47:52 +0300 Timo Sirainen <tss@iki.fi> (c43bfb802c)
+
+ doveadm mailbox delete: -s parameter wasn't working.
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+
+2012-04-04 03:44:04 +0300 Timo Sirainen <tss@iki.fi> (4a01681e0e)
+
+ lib-index: Don't assert-crash with broken extension record intros in log.
+
+
+M src/lib-index/mail-index-map.c
+
+2012-04-03 05:58:29 +0300 Timo Sirainen <tss@iki.fi> (5f5713d646)
+
+ director: Redesigned connection handling and error handling. Director now
+ accepts all connections from everywhere and syncs them until the handshaking
+ is finished. At that point it finally decides if this is a connection that
+ should be used as our left/right connection, or if it should be
+ disconnected. This should make connecting more reliable, especially if one
+ of the directors sends broken handshake or has other trouble.
+
+
+M src/director/director-connection.c
+M src/director/director-connection.h
+M src/director/director.c
+M src/director/director.h
+
+2012-04-03 00:50:12 +0300 Timo Sirainen <tss@iki.fi> (377dd19a90)
+
+ director: Handle all commands during handshake. Previously the sender might
+ have sent these commands, but the receiver wouldn't have handled them and
+ instead just disconnected.
+
+
+M src/director/director-connection.c
+M src/director/director-connection.h
+M src/director/director.c
+
+2012-04-03 00:23:02 +0300 Timo Sirainen <tss@iki.fi> (98d5941dc2)
+
+ director: Improved error logging for handling invalid commands/parameters.
+
+
+M src/director/director-connection.c
+
+2012-04-02 23:39:48 +0300 Timo Sirainen <tss@iki.fi> (caae18c876)
+
+ director: List of director connections belongs to struct director.
+
+
+M src/director/director-connection.c
+M src/director/director-connection.h
+M src/director/director.c
+M src/director/director.h
+
+2012-04-02 23:28:22 +0300 Timo Sirainen <tss@iki.fi> (f64b5bc9e7)
+
+ director: Changes to PING handling. Use larger ping timeouts. While waiting
+ for sync keep doing rapid pings until the sync is finished, not just once.
+
+
+M src/director/director-connection.c
+M src/director/director-connection.h
+M src/director/director.c
+
+2012-04-02 21:49:05 +0300 Timo Sirainen <tss@iki.fi> (66e01d5967)
+
+ imap: Enabling SPECIAL-USE selection option should also enable the same
+ return option.
+
+
+M src/imap/cmd-list.c
+
+2012-03-30 05:20:08 +0300 Timo Sirainen <tss@iki.fi> (adcb46fe2c)
+
+ imapc: Added imapc_features=rfc822.size setting to use RFC822.size for
+ physical sizes.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2012-03-30 05:11:09 +0300 Timo Sirainen <tss@iki.fi> (c8c4bbf6b1)
+
+ pop3-replication: Don't request virtual size from IMAP mailbox, we don't
+ need it.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2012-03-30 04:26:00 +0300 Timo Sirainen <tss@iki.fi> (b10c3f9ed9)
+
+ pop3-migration: Migrate also POP3 ordering.
+
+
+M src/plugins/pop3-migration/pop3-migration-plugin.c
+
+2012-03-30 04:25:46 +0300 Timo Sirainen <tss@iki.fi> (41adda8da1)
+
+ dsync: Preserve pop3 ordering. This is currently done only when syncing
+ locally, because it's not easy to add more fields for the current dsync
+ proxying protocol in backwards compatible way. dsync redesign should fix
+ this.
+
+
+M src/doveadm/dsync/dsync-data.h
+M src/doveadm/dsync/dsync-worker-local.c
+
+2012-03-30 04:23:59 +0300 Timo Sirainen <tss@iki.fi> (9617ac7078)
+
+ lib-storage: Added mailbox_save_set_pop3_order() and implemented for
+ Maildir.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2012-03-30 03:46:37 +0300 Timo Sirainen <tss@iki.fi> (c8593b0703)
+
+ Added pop3-migration plugin for getting POP3 UIDLs from POP3 server. The
+ idea is to use this with dsync to migrate mails via imapc, but for getting
+ POP3 UIDLs via pop3c.
+
+
+M configure.in
+M src/plugins/Makefile.am
+A src/plugins/pop3-migration/Makefile.am
+A src/plugins/pop3-migration/pop3-migration-plugin.c
+A src/plugins/pop3-migration/pop3-migration-plugin.h
+
+2012-03-30 03:43:08 +0300 Timo Sirainen <tss@iki.fi> (9a1f68e5ab)
+
+ pop3c: Allow accessing via INBOX, regardless of what namespace it exists in.
+
+
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2012-03-30 03:42:21 +0300 Timo Sirainen <tss@iki.fi> (f53b3d8c71)
+
+ layout=fs: Don't crash in iteration if there is no root dir (pop3c).
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-03-30 03:07:12 +0300 Timo Sirainen <tss@iki.fi> (1111aa8d6a)
+
+ dsync: Fixed handling messages without GUID.
+
+
+M src/doveadm/dsync/dsync-brain-msgs.c
+
+2012-03-29 01:58:35 +0300 Timo Sirainen <tss@iki.fi> (84aac2d5c3)
+
+ fts-solr: Added assert + minor code cleanup
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2012-03-27 00:12:39 +0300 Timo Sirainen <tss@iki.fi> (42a6ae32e4)
+
+ *-login: Previous SSL fixes were still broken with service_count=1.
+
+
+M src/login-common/client-common.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.c
+M src/login-common/ssl-proxy.h
+
+2012-03-26 20:46:55 +0300 Timo Sirainen <tss@iki.fi> (22d0c231a4)
+
+ lib-settings: Make static analyzer happier.
+
+
+M src/lib-settings/settings-parser.c
+
+2012-03-26 20:39:09 +0300 Timo Sirainen <tss@iki.fi> (35283613d4)
+
+ Changes to make static analyzer happier.
+
+
+M src/config/config-filter.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/test-dsync-proxy-server-cmd.c
+M src/imap/imap-sync.c
+M src/lib-dict/dict-sql.c
+M src/lib-mail/message-parser.c
+M src/lib-master/master-login.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/list/subscription-file.c
+M src/lib/file-cache.c
+M src/lib/ostream.c
+M src/lib/process-title.c
+M src/lib/strfuncs.c
+M src/lib/test-str-find.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+
+2012-03-26 20:38:18 +0300 Timo Sirainen <tss@iki.fi> (87b8a4b680)
+
+ pgsql: Fixed a potential crash if connection got closed during synchronous
+ query.
+
+
+M src/lib-sql/driver-pgsql.c
+
+2012-03-26 18:17:52 +0300 Timo Sirainen <tss@iki.fi> (1411680a6d)
+
+ fts-solr: Indexing mail bodies was broken.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2012-03-26 17:24:59 +0300 Timo Sirainen <tss@iki.fi> (42401be443)
+
+ director: Avoid crashing if all directors are removed when reconnecting.
+ There's no way to currently remove directors though, so this couldn't have
+ actually happened.
+
+
+M src/director/director.c
+
+2012-03-26 17:01:21 +0300 Timo Sirainen <tss@iki.fi> (55aa434c83)
+
+ net_listen(): If bind(ip=any) fails with non-EADDRINUSE, don't crash.
+
+
+M src/lib/network.c
+
+2012-03-26 16:57:32 +0300 Timo Sirainen <tss@iki.fi> (b1d374f2a4)
+
+ stats: When freeing memory, make sure we don't crash if some list gets
+ empty.
+
+
+M src/stats/mail-command.c
+M src/stats/mail-domain.c
+M src/stats/mail-ip.c
+M src/stats/mail-session.c
+M src/stats/mail-user.c
+
+2012-03-26 16:23:18 +0300 Timo Sirainen <tss@iki.fi> (e7b0b54a90)
+
+ lib-storage: If trying to copy a message into already deleted mailbox, don't
+ crash.
+
+
+M src/lib-storage/mail-storage.c
+
+2012-03-26 15:34:46 +0300 Timo Sirainen <tss@iki.fi> (2a5d52ea73)
+
+ data-stack: Fixed calling t_push()/t_malloc() before data_stack_init().
+
+
+M src/lib/data-stack.c
+
+2012-03-24 14:21:59 +0200 Timo Sirainen <tss@iki.fi> (494f41aab3)
+
+ Compiling fix for building without SSL.
+
+
+M src/login-common/ssl-proxy.c
+
+2012-03-23 14:37:22 +0200 Timo Sirainen <tss@iki.fi> (8783c6a13c)
+
+ Compiler warning fixes.
+
+
+M src/auth/auth-request.h
+M src/lib-imap/test-imap-utf7.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-test/test-common.c
+M src/lib/strfuncs.h
+M src/master/main.c
+
+2012-03-23 13:59:52 +0200 Timo Sirainen <tss@iki.fi> (9ecdbb80d2)
+
+ Fixed compiling without SSL.
+
+
+M src/login-common/ssl-proxy.c
+
+2012-03-23 13:46:27 +0200 Timo Sirainen <tss@iki.fi> (de482dd70a)
+
+ mail_temp_scan_interval comment update.
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2012-03-23 13:44:54 +0200 Timo Sirainen <tss@iki.fi> (68b5e132f1)
+
+ Added mail_temp_scan_interval setting and changed its default from 8h -> 1w.
+
+
+M doc/example-config/conf.d/10-mail.conf
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-storage.h
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2012-03-23 13:35:05 +0200 Timo Sirainen <tss@iki.fi> (e736ac97fd)
+
+ unlink_old_files(): Update atime before scan, not after. If Maildir/dbox
+ scanning takes long this makes sure that a lot of processes won't be
+ scanning it in parallel.
+
+
+M src/lib/unlink-old-files.c
+M src/lib/unlink-old-files.h
+
+2012-03-23 13:24:34 +0200 Timo Sirainen <tss@iki.fi> (1a30613e63)
+
+ net_getunixcred(): Fixed Solaris to use getpeerucred() properly.
+
+
+M src/lib/network.c
+
+2012-03-23 12:26:50 +0200 Timo Sirainen <tss@iki.fi> (f01f983ab6)
+
+ lib-mail: message_date_parse() now also accepts '.' separator in hh.mm.ss
+ time.
+
+
+M src/lib-mail/message-date.c
+
+2012-03-22 18:28:59 +0200 Timo Sirainen <tss@iki.fi> (9f34f81b03)
+
+ sdbox: Don't log "Rebuilding index" when another process already did it and
+ we cancel it.
+
+
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2012-03-22 18:05:08 +0200 Timo Sirainen <tss@iki.fi> (6ae329de09)
+
+ quota: Added a kludge to avoid recalculating quota.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/mail-storage-private.h
+M src/plugins/quota/quota-storage.c
+
+2012-03-22 17:44:51 +0200 Timo Sirainen <tss@iki.fi> (a249dd267f)
+
+ lib-storage: Don't access mail->box->view, but mail->transaction->view. They
+ may not be the same. In such cases e.g. mail_set_uid() may have accessed a
+ wrong mail.
+
+
+M src/lib-storage/index/index-mail.c
+M src/plugins/virtual/virtual-mail.c
+
+2012-03-22 17:12:35 +0200 Timo Sirainen <tss@iki.fi> (dba8af1faa)
+
+ Increased initial memory pool sizes.
+
+
+M src/lib-dict/dict-file.c
+M src/lib-storage/fail-mailbox.c
+
+2012-03-22 17:11:37 +0200 Timo Sirainen <tss@iki.fi> (37ee89f3cb)
+
+ mdbox: Fixed a long loop/crash when mdbox is broken during saving.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+
+2012-03-22 16:03:38 +0200 Timo Sirainen <tss@iki.fi> (0c96e2994a)
+
+ lib-master: Minor memory leak fix on deinit.
+
+
+M src/lib-master/master-service.c
+
+2012-03-22 16:03:29 +0200 Timo Sirainen <tss@iki.fi> (b6b7a17731)
+
+ imap-login: Memory leak fix.
+
+
+M src/login-common/client-common.c
+
+2012-03-22 16:03:04 +0200 Timo Sirainen <tss@iki.fi> (5da4bfdce0)
+
+ *-login: Another crashfix
+
+
+M src/login-common/client-common.c
+M src/login-common/login-proxy.c
+M src/login-common/main.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.h
+
+2012-03-22 15:32:00 +0200 Timo Sirainen <tss@iki.fi> (fa02962b74)
+
+ *-login: Fixed crashing when proxying SSL connections to a remote server.
+
+
+M src/login-common/client-common.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.h
+
+2012-03-21 19:01:44 +0200 Timo Sirainen <tss@iki.fi> (297901b5b6)
+
+ config: Added a comment
+
+
+M src/config/config-filter.c
+
+2012-03-21 18:58:37 +0200 Timo Sirainen <tss@iki.fi> (afa5d78cfc)
+
+ lib-settings: settings_parser_apply_changes() now deduplicates SET_STRLIST
+ arrays. This fixes overriding strlist keys in config file filters, e.g.:
+
+ plugin {
+ foo = general
+ } protocol lda {
+ plugin {
+ foo = lda-specific setting
+ }
+ }
+
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings-parser.h
+
+2012-03-21 14:25:12 +0200 Timo Sirainen <tss@iki.fi> (407e4eb601)
+
+ maildir: Avoid duplicate S=size and W=sizes in maildir filenames. This
+ happens with maildir_copy_with_hardlinks=no and when copying a mail with
+ zlib compression enabled.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2012-03-21 13:43:56 +0200 Timo Sirainen <tss@iki.fi> (7300b38b56)
+
+ auth: Don't check client PID in non-login auth sockets. This fixes PID
+ conflict errors when using TCP auth sockets for e.g. MTAs.
+
+
+M src/auth/auth-client-connection.c
+
+2012-03-21 12:08:32 +0200 Timo Sirainen <tss@iki.fi> (585d3d9d02)
+
+ imap: Handle XLIST command by running LIST command. If the SPECIAL-USE
+ mailboxes are enabled, this results in mostly compatible output. This change
+ allows easily enabling the GMail XLIST extension simply by adding +XLIST to
+ imap_capability setting.
+
+
+M src/imap/imap-commands.c
+
+2012-03-20 17:46:44 +0200 Timo Sirainen <tss@iki.fi> (c9fda71ccf)
+
+ doveadm import: Copy also message flags.
+
+
+M src/doveadm/doveadm-mail-import.c
+
+2012-03-19 15:53:25 +0200 Timo Sirainen <tss@iki.fi> (289688f974)
+
+ layout=fs: Renaming non-UTF8 mailbox names wasn't done in all situations.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-03-16 18:48:46 +0200 Timo Sirainen <tss@iki.fi> (83d4817679)
+
+ Added signature for changeset b9adfd52cb66
+
+
+M .hgsigs
+
+2012-03-16 18:48:40 +0200 Timo Sirainen <tss@iki.fi> (d24adb7642)
+
+ Added tag 2.1.3 for changeset b9adfd52cb66
+
+
+M .hgtags
+
+2012-03-16 18:48:40 +0200 Timo Sirainen <tss@iki.fi> (d9036e5190)
+
+ Released v2.1.3.
+
+
+M NEWS
+M configure.in
+
+2012-03-16 18:45:50 +0200 Timo Sirainen <tss@iki.fi> (d36607cf1a)
+
+ dbox: Reverted recent fstat() avoidance change. It didn't do that, just
+ broke mdbox.
+
+
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-file.h
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+
+2012-03-15 18:24:15 +0200 Timo Sirainen <tss@iki.fi> (7dd73e056c)
+
+ Compiler warning fixes.
+
+
+M src/director/user-directory.c
+M src/lib-index/mail-cache-fields.c
+M src/replication/replicator/replicator-queue.c
+
+2012-03-15 18:24:11 +0200 Timo Sirainen <tss@iki.fi> (48bd07d5c9)
+
+ replicator: Fixed off-by-one-second "do we do a full sync now?" check.
+
+
+M src/replication/replicator/replicator-brain.c
+
+2012-03-15 16:42:22 +0200 Timo Sirainen <tss@iki.fi> (1c7e30f8cf)
+
+ Added signature for changeset 744e0d7f1b25
+
+
+M .hgsigs
+
+2012-03-15 16:42:18 +0200 Timo Sirainen <tss@iki.fi> (39b72f1dd3)
+
+ Added tag 2.1.2 for changeset 744e0d7f1b25
+
+
+M .hgtags
+
+2012-03-15 16:42:18 +0200 Timo Sirainen <tss@iki.fi> (f3e30d31cb)
+
+ Released v2.1.2.
+
+
+M NEWS
+M configure.in
+
+2012-03-15 16:39:38 +0200 Timo Sirainen <tss@iki.fi> (77ba9626cb)
+
+ example-config: Added auth_proxy_self setting.
+
+
+M doc/example-config/dovecot.conf
+
+2012-03-15 14:18:55 +0200 Timo Sirainen <tss@iki.fi> (e7afe6e3c5)
+
+ imap: Use mailbox_exists() to find out if namespace prefix is selectable or
+ not. mailbox_list_mailbox() should be treated as an internal function, since
+ ACLs don't apply to it.
+
+
+M src/imap/cmd-list.c
+
+2012-03-15 14:18:13 +0200 Timo Sirainen <tss@iki.fi> (81dbd579dc)
+
+ lib-storage: mailbox_exists() now returns namespace prefix as selectable if
+ it is.
+
+
+M src/lib-storage/mail-storage.c
+
+2012-03-15 13:25:36 +0200 Timo Sirainen <tss@iki.fi> (b28ea1d18b)
+
+ layout=maildir++: Don't list INBOX if it doesn't match the list patterns.
+
+
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+
+2012-03-15 12:59:41 +0200 Timo Sirainen <tss@iki.fi> (7b2a1f819d)
+
+ auth: If global passdb is missing, don't complain if protocol x and !x {
+ passdb } exists.
+
+
+M src/auth/auth.c
+
+2012-03-14 16:24:05 +0200 Timo Sirainen <tss@iki.fi> (d6d67582bb)
+
+ layout=fs: Rename mailbox names that aren't valid UTF-8 to avoid crashes
+ later.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-03-14 15:40:58 +0200 Timo Sirainen <tss@iki.fi> (cdd7f46c12)
+
+ mailbox_list_index=yes: Don't add autocreated mailboxes to index before they
+ are created.
+
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+
+2012-03-14 15:40:35 +0200 Timo Sirainen <tss@iki.fi> (985bcb890b)
+
+ mailbox_list_index=yes: Don't crash at deinit (fix to previous change)
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2012-03-14 15:34:14 +0200 Timo Sirainen <tss@iki.fi> (40471588fa)
+
+ mailbox_list_index=yes: Delay opening/creating the index until it's needed.
+ This also fixes an error when trying to create the index before the parent
+ director is created.
+
+
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2012-03-14 14:59:24 +0200 Timo Sirainen <tss@iki.fi> (ca283b8678)
+
+ auth: Make sure auth cache doesn't break if any cache keys have TABs.
+
+
+M src/auth/auth-cache.c
+
+2012-03-14 14:55:25 +0200 Timo Sirainen <tss@iki.fi> (f2e7603c5d)
+
+ auth: Fixed auth cache key generation to support %{long} variables
+
+
+M src/auth/Makefile.am
+M src/auth/auth-cache.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+A src/auth/test-auth-cache.c
+
+2012-03-14 13:42:08 +0200 Timo Sirainen <tss@iki.fi> (b58cb4b59c)
+
+ liblib: Added var_get_key_range()
+
+
+M src/lib/test-var-expand.c
+M src/lib/var-expand.c
+M src/lib/var-expand.h
+
+2012-03-14 13:39:00 +0200 Timo Sirainen <tss@iki.fi> (4633993e0e)
+
+ anvil: s/memcpy/memmove/ for updating checksum list. This may have caused
+ anvil to update penalties wrong.
+
+
+M src/anvil/penalty.c
+
+2012-03-14 13:34:43 +0200 Timo Sirainen <tss@iki.fi> (5d370784b3)
+
+ test-primes: Fixed undefined behavior.
+
+
+M src/lib/test-primes.c
+
+2012-03-14 13:14:28 +0200 Timo Sirainen <tss@iki.fi> (48170d463e)
+
+ doveconf: Dump protocol/local/remote sections even if there was an error
+ earlier. This allows getting a mostly-working config file rather than a
+ truncated one.
+
+
+M src/config/doveconf.c
+
+2012-03-13 21:19:53 +0200 Timo Sirainen <tss@iki.fi> (38779e6073)
+
+ lib-storage: mailbox_list_iter_next() now enforces backends not to return
+ mailbox name from data stack.
+
+
+M src/lib-storage/mailbox-list-iter.c
+
+2012-03-13 21:18:32 +0200 Timo Sirainen <tss@iki.fi> (0f97c2b6ec)
+
+ mailbox_list_index=yes iteration: Don't allocate returned mailbox names from
+ data stack. This breaks dsync.
+
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2012-03-13 17:01:56 +0200 Timo Sirainen <tss@iki.fi> (316ca251f3)
+
+ dbox: Avoid unnecessary fstat() call during file creation.
+
+
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-file.h
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+
+2012-03-13 16:32:56 +0200 Timo Sirainen <tss@iki.fi> (bf5f442cda)
+
+ lib-storage: Don't log errors if trying to open a mailbox with too long
+ name. Handle ENAMETOOLONG errors the same as ENOENT.
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib/compat.h
+
+2012-03-13 16:14:13 +0200 Timo Sirainen <tss@iki.fi> (009ec18ed6)
+
+ fts: Another crashfix for recent changes.
+
+
+M src/plugins/fts/fts-storage.c
+
+2012-03-13 15:11:13 +0200 Timo Sirainen <tss@iki.fi> (75c2291370)
+
+ director: Compiler warning fix
+
+
+M src/director/director-request.c
+
+2012-03-12 17:36:29 +0200 Timo Sirainen <tss@iki.fi> (c9914a2f90)
+
+ stats: When logging about a session crash, log also its service.
+
+
+M src/stats/mail-session.c
+
+2012-03-12 14:32:23 +0200 Timo Sirainen <tss@iki.fi> (6f368f8571)
+
+ fts: Crashfix when FTS isn't needed for performing search.
+
+
+M src/plugins/fts/fts-storage.c
+
+2012-03-12 13:45:19 +0200 Timo Sirainen <tss@iki.fi> (6d41944c73)
+
+ fts: Added fts_index_timeout setting to abort search if indexing hasn't
+ finished by then. This timeout shows up to client as: tag NO [INUSE] Timeout
+ while waiting for indexing to finish
+
+
+M src/plugins/fts/Makefile.am
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-storage.h
+
+2012-03-12 13:17:50 +0200 Timo Sirainen <tss@iki.fi> (a6099cd9ad)
+
+ director: Improved request timeout error more.
+
+
+M src/director/director-request.c
+
+2012-03-12 13:15:26 +0200 Timo Sirainen <tss@iki.fi> (c3c9d0258e)
+
+ director: If request times out, log more information.
+
+
+M src/director/director-request.c
+
+2012-03-12 12:59:54 +0200 Timo Sirainen <tss@iki.fi> (1dc155e0d6)
+
+ Makefile: Delete dovecot-config on distclean
+
+
+M Makefile.am
+
+2012-03-11 14:50:05 +0200 Timo Sirainen <tss@iki.fi> (34a4888653)
+
+ Makefile: Fixed header filename.
+
+
+M src/replication/aggregator/Makefile.am
+
+2012-03-11 12:42:53 +0200 Timo Sirainen <tss@iki.fi> (40df892802)
+
+ Makefile: Fixed compiling with automake 1.11.2+
+
+
+M Makefile.am
+
+2012-03-11 09:08:08 +0200 Timo Sirainen <tss@iki.fi> (290ad6b6b5)
+
+ checkpassword: Compiling fix for some systems
+
+
+M src/auth/db-checkpassword.c
+
+2012-03-10 18:32:34 +0200 Timo Sirainen <tss@iki.fi> (f3480d03ed)
+
+ mbox: Fixed accessing v1.x mbox index files without errors.
+
+
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2012-03-10 15:53:39 +0200 Timo Sirainen <tss@iki.fi> (8d513b613f)
+
+ stats: Fixes to handling per-command stats updates.
+
+
+M src/plugins/imap-stats/imap-stats-plugin.c
+M src/stats/mail-command.c
+
+2012-03-10 15:44:27 +0200 Timo Sirainen <tss@iki.fi> (214cb5b22a)
+
+ lib-storage: Update search's cost more widely and less often.
+
+
+M src/lib-storage/index/index-search.c
+
+2012-03-10 15:07:23 +0200 Timo Sirainen <tss@iki.fi> (2f896df28b)
+
+ doveadm config: Don't fail on invalid config (e.g. plugin not found) This
+ command is often used in init scripts and such to stop/restart Dovecot.
+
+
+M src/doveadm/doveadm.c
+
+2012-03-10 15:03:11 +0200 Timo Sirainen <tss@iki.fi> (0618bd175b)
+
+ stats: UPDATE-CMD for an existing command wasn't handled properly. The
+ command's stats themselves weren't updated. Also due to recent change
+ updating session's stats from a command no longer works properly, because
+ the session could also be updated in the middle of the command.
+
+
+M src/stats/mail-command.c
+
+2012-03-10 14:28:48 +0200 Timo Sirainen <tss@iki.fi> (da11064e81)
+
+ checkpassword: Set CREDENTIALS_LOOKUP=1 for passdb lookups
+
+
+M src/auth/db-checkpassword.c
+
+2012-03-10 14:17:37 +0200 Timo Sirainen <tss@iki.fi> (a08c9703ba)
+
+ checkpassword: Implemented support for credentials lookup.
+
+
+M src/auth/db-checkpassword.c
+M src/auth/passdb-checkpassword.c
+
+2012-03-10 14:11:32 +0200 Timo Sirainen <tss@iki.fi> (1294c06fcf)
+
+ checkpassword: Escape transferred extra fields properly.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/checkpassword-reply.c
+M src/auth/db-checkpassword.c
+M src/auth/db-checkpassword.h
+M src/auth/passdb-checkpassword.c
+M src/auth/userdb-checkpassword.c
+
+2012-03-10 13:49:12 +0200 Timo Sirainen <tss@iki.fi> (026647687a)
+
+ checkpassword: Error handling fix
+
+
+M src/auth/db-checkpassword.c
+
+2012-03-10 13:47:16 +0200 Timo Sirainen <tss@iki.fi> (d2e9712e64)
+
+ checkpassword: If username+password is too large, treat it as regular auth
+ failure.
+
+
+M src/auth/db-checkpassword.c
+
+2012-03-10 13:37:39 +0200 Timo Sirainen <tss@iki.fi> (b3c3d6f46f)
+
+ auth: checkpassword code cleanup. Also fixed some error handling. Removes a
+ lot of copy&pasted code between passdb and userdb.
+
+
+M src/auth/checkpassword-reply.c
+M src/auth/db-checkpassword.c
+M src/auth/db-checkpassword.h
+M src/auth/passdb-checkpassword.c
+M src/auth/userdb-checkpassword.c
+
+2012-03-08 16:03:45 +0200 Timo Sirainen <tss@iki.fi> (b6b9c99fef)
+
+ director: Avoid user getting redirected to different servers near its
+ expiration. Fixes a problem when user is logging in at the same time on
+ director1 which thinks the user is expired, and on director2 which thinks
+ the user expires only in 1 second.
+
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director.c
+M src/director/director.h
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+
+2012-03-08 10:48:08 +0200 Timo Sirainen <tss@iki.fi> (8e78ed2dfc)
+
+ lib-master: Fixed passing request data from login process.
+
+
+M src/lib-master/master-login.c
+
+2012-03-08 10:39:58 +0200 Timo Sirainen <tss@iki.fi> (c36b65f278)
+
+ imap: Crashfix when running standalone.
+
+
+M src/imap/main.c
+
+2012-03-08 10:21:09 +0200 Timo Sirainen <tss@iki.fi> (150d8a71e9)
+
+ Makefile: s/MKDIR_P/mkdir_p/ to make it actually work
+
+
+M Makefile.am
+
+2012-03-07 20:16:33 +0200 Timo Sirainen <tss@iki.fi> (aa797403d5)
+
+ director: Keep track of the highest supported protocol version in the ring.
+
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+
+2012-03-07 16:58:37 +0200 Timo Sirainen <tss@iki.fi> (c53af2efae)
+
+ login proxy: Handle proxy-notify errors better. If open() fails with ENOENT,
+ it should still be logged as an error. If opening or anything else fails,
+ retry opening the fifo 60 secs.
+
+
+M src/login-common/login-proxy-state.c
+
+2012-03-07 16:48:47 +0200 Timo Sirainen <tss@iki.fi> (c69561bf63)
+
+ director: Log a warning if user is refreshed too late.
+
+
+M src/director/notify-connection.c
+
+2012-03-07 16:32:14 +0200 Timo Sirainen <tss@iki.fi> (4f2b533808)
+
+ director: Add more info to "User hash .. is being redirected to two hosts"
+ error.
+
+
+M src/director/director-connection.c
+
+2012-03-07 13:36:34 +0200 Timo Sirainen <tss@iki.fi> (b55f914c0a)
+
+ Added a "session ID" string for imap/pop3 connections, available in
+ %{session} variable. The session ID passes through Dovecot IMAP/POP3
+ proxying to backend server. The same session ID is can be reused after a
+ long time (currently a bit under 9 years).
+
+
+M src/imap-login/client.c
+M src/imap-login/imap-proxy.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/main.c
+M src/lib-master/master-login.c
+M src/lib-master/master-login.h
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+M src/pop3-login/client.c
+M src/pop3-login/pop3-proxy.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+
+2012-03-07 13:32:40 +0200 Timo Sirainen <tss@iki.fi> (21a8678c67)
+
+ login proxy: Log "disconnecting" message also with
+ login_log_format_elements.
+
+
+M src/login-common/login-proxy.c
+
+2012-03-07 13:01:23 +0200 Timo Sirainen <tss@iki.fi> (b5917cf647)
+
+ login_log_format_elements: Allow using %{long_variables} without breaking.
+
+
+M src/login-common/client-common.c
+
+2012-03-07 11:29:42 +0200 Timo Sirainen <tss@iki.fi> (7d359c1719)
+
+ doveadm: Handle -NOUSER replies from doveadm-server.
+
+
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/server-connection.c
+M src/doveadm/server-connection.h
+
+2012-03-07 11:23:03 +0200 Timo Sirainen <tss@iki.fi> (c46d921c47)
+
+ decode2text: Avoid leaving temp files and hanging child processes.
+
+
+M src/plugins/fts/decode2text.sh
+
+2012-03-05 19:33:51 +0200 Timo Sirainen <tss@iki.fi> (cd85405226)
+
+ stats: Don't log write()=EPIPE failures. Retry opening the pipe once.
+
+
+M src/plugins/stats/stats-connection.c
+
+2012-03-05 18:44:01 +0200 Timo Sirainen <tss@iki.fi> (33651ce519)
+
+ stats: More changes to send stats while doing long running searches.
+
+
+M src/plugins/stats/stats-plugin.c
+M src/plugins/stats/stats-plugin.h
+
+2012-03-05 18:43:05 +0200 Timo Sirainen <tss@iki.fi> (c9d4d12077)
+
+ lib-storage: When searching with a sort program, don't prefetch any mails.
+ The prefetching probably ends up being pointless.
+
+
+M src/lib-storage/index/index-search.c
+
+2012-03-05 18:41:53 +0200 Timo Sirainen <tss@iki.fi> (ae8191728b)
+
+ pop3: Added assert.
+
+
+M src/pop3/pop3-client.c
+
+2012-03-05 18:09:45 +0200 Timo Sirainen <tss@iki.fi> (f13c5e6c51)
+
+ stats: Update stats once per second for long running nonblocking searches.
+
+
+M src/plugins/stats/stats-plugin.c
+M src/plugins/stats/stats-plugin.h
+
+2012-03-05 17:28:06 +0200 Timo Sirainen <tss@iki.fi> (5733207dc3)
+
+ Added director_username_hash setting to specify what part of the username is
+ hashed. The default is "%u" meaning the full username. Another potentially
+ useful value is "%d" for hashing only the domain (i.e. redirect users from
+ the same domain always to same server so they can safely access each others'
+ shared mailboxes).
+
+
+M src/director/Makefile.am
+M src/director/director-request.c
+M src/director/director-settings.c
+M src/director/director-settings.h
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/notify-connection.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+M src/lib-mail/Makefile.am
+A src/lib-mail/mail-user-hash.c
+A src/lib-mail/mail-user-hash.h
+M src/login-common/Makefile.am
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+
+2012-03-05 14:27:02 +0200 Timo Sirainen <tss@iki.fi> (19e7781f15)
+
+ replication_max_conns setting is a number, not a time interval.
+
+
+M src/replication/replicator/replicator-settings.c
+
+2012-03-05 13:18:28 +0200 Timo Sirainen <tss@iki.fi> (595f6a9754)
+
+ aggregator: Fixed leaking connections to replicator.
+
+
+M src/replication/aggregator/replicator-connection.c
+
+2012-03-05 13:08:14 +0200 Timo Sirainen <tss@iki.fi> (8d8591411a)
+
+ Makefile: Fixed compiling lmtp with some SSL_LIBS options.
+
+
+M src/lmtp/Makefile.am
+
+2012-03-05 11:54:33 +0200 Timo Sirainen <tss@iki.fi> (b3e864e0cd)
+
+ dsync: Set user.dsyncing=TRUE also for dsync-server. This avoids dsync
+ server immediately triggering another dsync when using replication.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2012-03-05 11:53:45 +0200 Timo Sirainen <tss@iki.fi> (34e2c09120)
+
+ dsync: If mailbox was expunged empty, the messages may have reappeared. This
+ dependend on what the last UID of the previous mailbox was.
+
+
+M src/doveadm/dsync/dsync-worker-local.c
+
+2012-03-04 15:48:48 +0200 Timo Sirainen <tss@iki.fi> (6f5dca63ec)
+
+ Don't auto-add mountpoints under /media or /cdrom.
+
+
+M src/doveadm/doveadm-mount.c
+M src/lib-master/mountpoint-list.c
+M src/lib-master/mountpoint-list.h
+M src/master/main.c
+
+2012-03-04 15:30:31 +0200 Timo Sirainen <tss@iki.fi> (b71ec9499d)
+
+ Makefile: Link with SSL_LIBS whenever linking libssl_iostream.la
+
+
+M configure.in
+M dovecot-config.in.in
+M src/auth/Makefile.am
+M src/doveadm/Makefile.am
+M src/doveadm/dsync/Makefile.am
+M src/imap/Makefile.am
+M src/indexer/Makefile.am
+M src/lda/Makefile.am
+M src/lib-storage/Makefile.am
+M src/lib-storage/index/Makefile.am
+M src/login-common/Makefile.am
+M src/plugins/fts-squat/Makefile.am
+M src/pop3/Makefile.am
+M src/util/Makefile.am
+
+2012-03-04 15:21:21 +0200 Timo Sirainen <tss@iki.fi> (51335e0aaf)
+
+ Makefile: Fix to previous change to get dovecot-config file built again.
+
+
+M Makefile.am
+
+2012-03-04 15:11:20 +0200 Timo Sirainen <tss@iki.fi> (01c9d35af9)
+
+ Makefile: Fixed dovecot-config installation
+
+
+M Makefile.am
+
+2012-03-04 14:33:00 +0200 Timo Sirainen <tss@iki.fi> (2d8319a947)
+
+ lib-storage: Removed MAILBOX_LIST_ITER_LIST_PREFIXES flag. It was already
+ accidentally enabled by default, and there's really no good reason why it
+ shouldn't always be enabled.
+
+
+M src/doveadm/doveadm-mailbox-list-iter.c
+M src/lib-storage/mailbox-list.h
+
+2012-03-04 14:31:23 +0200 Timo Sirainen <tss@iki.fi> (a6aeafa8b6)
+
+ lib-storage: mailbox_list_iter_init_namespaces() duplicated INBOX if it was
+ also ns prefix.
+
+
+M src/lib-storage/mailbox-list-iter.c
+
+2012-03-04 14:12:19 +0200 Timo Sirainen <tss@iki.fi> (4c0c72a8b6)
+
+ lib-mail: rfc822_parse_quoted_string() didn't remove '\' from the strings.
+
+
+M src/lib-mail/rfc822-parser.c
+
+2012-03-04 13:56:33 +0200 Timo Sirainen <tss@iki.fi> (34ae25c8b6)
+
+ auth: userdb passwd iteration skips now also users with /usr/sbin/nologin
+ shell
+
+
+M src/auth/userdb-passwd.c
+
+2012-03-04 13:20:21 +0200 Timo Sirainen <tss@iki.fi> (41c2643b6f)
+
+ lib-storage: If mailbox is already open in mailbox_enable(), enable modseqs.
+
+
+M src/lib-storage/index/index-storage.c
+
+2012-03-04 13:19:03 +0200 Timo Sirainen <tss@iki.fi> (9d7ab44191)
+
+ lib-storage: mailbox_enable() shouldn't actually open the mailbox. This
+ combined with mailbox_get_status() never synced the mailbox, so if there
+ were any changes they weren't visible in STATUS reply.
+
+
+M src/lib-storage/index/index-storage.c
+
+2012-03-04 13:01:09 +0200 Timo Sirainen <tss@iki.fi> (575b1a840f)
+
+ dsync server: Ignore -f, -R and -m parameters instead of failing. v2.0 dsync
+ did this as well.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2012-03-04 12:50:02 +0200 Timo Sirainen <tss@iki.fi> (db75f60fce)
+
+ imap: Fixed error handling in APPEND parameters.
+
+
+M src/imap/cmd-append.c
+
+2012-03-04 12:31:26 +0200 Timo Sirainen <tss@iki.fi> (b636982bb6)
+
+ log: Avoid an "master input for invalid service_fd" error at deinit.
+
+
+M src/log/log-connection.c
+
+2012-03-04 12:24:29 +0200 Timo Sirainen <tss@iki.fi> (9da1a079c1)
+
+ log: Don't shutdown until all log writers have gone. This fixed losing log
+ messages during shutdown.
+
+
+M src/log/log-connection.c
+M src/log/main.c
+
+2012-03-04 12:09:35 +0200 Timo Sirainen <tss@iki.fi> (a88f3271dd)
+
+ replicator: Another deinit crashfix
+
+
+M src/replication/replicator/replicator-queue.c
+
+2012-03-04 12:07:21 +0200 Timo Sirainen <tss@iki.fi> (64a81f5573)
+
+ replicator: Fixed crash on deinit
+
+
+M src/replication/replicator/replicator-queue.c
+
+2012-03-04 12:04:46 +0200 Timo Sirainen <tss@iki.fi> (b4fe950568)
+
+ replicator: Queue handling was pretty broken
+
+
+M src/replication/replicator/replicator-queue.c
+
+2012-03-04 11:23:14 +0200 Timo Sirainen <tss@iki.fi> (82e772ab84)
+
+ replication plugin: Don't try to close fifo if it wasn't even opened.
+
+
+M src/plugins/replication/replication-plugin.c
+
+2012-03-04 11:19:10 +0200 Timo Sirainen <tss@iki.fi> (a3d6dc6445)
+
+ Makefile: Added missing replication plugin directory
+
+
+M src/plugins/Makefile.am
+
+2012-03-04 11:17:45 +0200 Timo Sirainen <tss@iki.fi> (0caa211038)
+
+ auth: userdb passwd iteration now skips users with shell set to /bin/false
+ or /sbin/nologin
+
+
+M src/auth/userdb-passwd.c
+
+2012-03-04 10:40:19 +0200 Timo Sirainen <tss@iki.fi> (3330317049)
+
+ replicator: Crashfix
+
+
+M src/replication/replicator/doveadm-connection.c
+
+2012-03-04 10:35:25 +0200 Timo Sirainen <tss@iki.fi> (12e493157b)
+
+ doveadm-server: If socket is 0600 mode there's never no need to
+ authenticate. Even if the socket's owner doesn't match the process's
+ effective UID. This could be e.g. because socket owner is root, while
+ doveadm-server runs as vmail.
+
+
+M src/doveadm/client-connection.c
+
+2012-03-04 10:26:32 +0200 Timo Sirainen <tss@iki.fi> (cbb6bb8b11)
+
+ replication plugin: Handle shared namespaces better, skip public namespaces.
+ These will be handled better later, maybe in v2.2.
+
+
+M src/plugins/replication/replication-plugin.c
+
+2012-03-04 10:25:23 +0200 Timo Sirainen <tss@iki.fi> (529dc11f24)
+
+ replication plugin: Use one shared notification fifo for all users.
+
+
+M src/plugins/replication/replication-plugin.c
+
+2012-03-04 10:11:55 +0200 Timo Sirainen <tss@iki.fi> (c14c5561e8)
+
+ doveadm server now returns unknown users with -NOUSER error.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/replication/replicator/doveadm-connection.c
+
+2012-03-04 09:50:21 +0200 Timo Sirainen <tss@iki.fi> (447e086422)
+
+ Initial implementation of dsync-based replication.
+
+
+M .hgignore
+M configure.in
+M src/Makefile.am
+M src/doveadm/dsync/doveadm-dsync.c
+M src/lib-storage/mail-user.h
+A src/plugins/replication/Makefile.am
+A src/plugins/replication/replication-plugin.c
+A src/plugins/replication/replication-plugin.h
+A src/replication/Makefile.am
+A src/replication/aggregator/Makefile.am
+A src/replication/aggregator/aggregator-settings.c
+A src/replication/aggregator/aggregator-settings.h
+A src/replication/aggregator/aggregator.c
+A src/replication/aggregator/notify-connection.c
+A src/replication/aggregator/notify-connection.h
+A src/replication/aggregator/replicator-connection.c
+A src/replication/aggregator/replicator-connection.h
+A src/replication/replication-common.h
+A src/replication/replicator/Makefile.am
+A src/replication/replicator/doveadm-connection.c
+A src/replication/replicator/doveadm-connection.h
+A src/replication/replicator/notify-connection.c
+A src/replication/replicator/notify-connection.h
+A src/replication/replicator/replicator-brain.c
+A src/replication/replicator/replicator-brain.h
+A src/replication/replicator/replicator-queue.c
+A src/replication/replicator/replicator-queue.h
+A src/replication/replicator/replicator-settings.c
+A src/replication/replicator/replicator-settings.h
+A src/replication/replicator/replicator.c
+
+2012-03-04 09:39:45 +0200 Timo Sirainen <tss@iki.fi> (fd6012467e)
+
+ Makefile: Fixed compiling with automake 1.11.2+
+
+
+M Makefile.am
+
+2012-03-02 19:24:57 +0200 Timo Sirainen <tss@iki.fi> (dd7abc30ee)
+
+ lib-sql: If failed query is retried, log it as as warning instead of as
+ error.
+
+
+M src/lib-sql/driver-sqlpool.c
+
+2012-03-02 17:58:37 +0200 Timo Sirainen <tss@iki.fi> (fea94bc836)
+
+ login proxy: Don't assume host is down unless last success was >30s before
+ last failure. This avoids thinking that host is down, simply because one
+ connection for it failed.
+
+
+M src/login-common/login-proxy.c
+
+2012-03-02 15:49:34 +0200 Timo Sirainen <tss@iki.fi> (cd611ca82b)
+
+ dsync: Added -n parameter to dsync a specific namespace.
+
+
+M src/doveadm/doveadm-settings.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-worker-local.c
+M src/doveadm/dsync/dsync-worker.h
+
+2012-03-02 15:34:22 +0200 Timo Sirainen <tss@iki.fi> (4dfaf598d6)
+
+ eacces_error_get*(): Added ',' to message to improve readability.
+
+
+M src/lib/eacces-error.c
+
+2012-03-02 15:31:25 +0200 Timo Sirainen <tss@iki.fi> (23bd9fccb7)
+
+ eacces_error_get*(): Suggest ACL/MAC error if UNIX permission bits look ok.
+
+
+M src/lib/eacces-error.c
+
+2012-03-02 14:36:13 +0200 Timo Sirainen <tss@iki.fi> (900bb5e316)
+
+ lib-storage: mail_transaction_commit_changes.changed=TRUE only when
+ something actually changed.
+
+
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+
+2012-03-02 14:33:41 +0200 Timo Sirainen <tss@iki.fi> (acb0236a7a)
+
+ Increased initial memory pool sizes and marked some of them as "growing".
+
+
+M src/config/config-request.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-proxy-server.c
+M src/lib-settings/settings-parser.c
+
+2012-03-02 14:25:49 +0200 Timo Sirainen <tss@iki.fi> (64a323d27f)
+
+ dsync: Added -d parameter to sync to plugin/mail_replica destination. This
+ could be one global default or overridden by userdb.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2012-03-02 14:18:29 +0200 Timo Sirainen <tss@iki.fi> (0ed18ece24)
+
+ dsync: Added dsync_remote_cmd setting, which is used to execute remote
+ dsync. This is used for the old style "host" and "mailuser@host" parameters,
+ as well as for a new "remote:[user@]host" parameter.
+
+
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/dsync/doveadm-dsync.c
+
+2012-03-02 14:06:18 +0200 Timo Sirainen <tss@iki.fi> (69d31aff46)
+
+ dsync: Prefix remote dsync's error messages with "remote:".
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2012-03-02 13:56:37 +0200 Timo Sirainen <tss@iki.fi> (45e525582e)
+
+ dsync: Added -l <timeout> parameter to lock the sync (via
+ ~/.dovecot-sync.lock)
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2012-03-02 13:15:15 +0200 Timo Sirainen <tss@iki.fi> (62d0db14d2)
+
+ doveadm: Added prerun() method for mail commands.
+
+
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2012-03-02 12:23:00 +0200 Timo Sirainen <tss@iki.fi> (7a94f950fd)
+
+ login: If session timeouts after authentication, log a better error about
+ it.
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2012-03-01 09:31:40 +0200 Timo Sirainen <tss@iki.fi> (d6c5ceea85)
+
+ imap: Changed internal FETCH command handling API.
+
+
+M src/imap/cmd-fetch.c
+M src/imap/cmd-select.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+
+2012-02-29 13:04:24 +0200 Timo Sirainen <tss@iki.fi> (15c5de5c2a)
+
+ mailbox_list_index=yes: Fixed mailbox listing when not using default
+ namespace settings.
+
+
+M src/lib-storage/list/mailbox-list-index-iter.c
+
+2012-02-29 12:53:21 +0200 Timo Sirainen <tss@iki.fi> (0007969c08)
+
+ fts-squat: Fixed search to actually work.
+
+
+M src/plugins/fts-squat/fts-backend-squat.c
+
+2012-02-28 18:50:46 +0200 Timo Sirainen <tss@iki.fi> (e51bfe0db1)
+
+ Show SEARCH=FUZZY in IMAP capabilities only when FTS backend actually
+ supports it.
+
+
+M configure.in
+M src/imap/imap-client.c
+M src/lib-storage/mail-user.h
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-storage.c
+
+2012-02-28 06:52:43 +0200 Timo Sirainen <tss@iki.fi> (9ea0fe2e0c)
+
+ mailbox list indexes: Avoid unnecessary refresh flag writes.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2012-02-28 05:27:03 +0200 Timo Sirainen <tss@iki.fi> (aa01a43b5e)
+
+ lib-lda: Fixed mai forward/reject to work with the new smtp_client_open()
+ API.
+
+
+M src/lib-lda/mail-send.c
+
+2012-02-28 05:21:19 +0200 Timo Sirainen <tss@iki.fi> (025668b218)
+
+ pop3-login: Fixed APOP authentication, broken by recent changes.
+
+
+M src/pop3-login/client.c
+
+2012-02-28 05:14:00 +0200 Timo Sirainen <tss@iki.fi> (01c1406abb)
+
+ Compiler warning fixes
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2012-02-28 04:29:12 +0200 Timo Sirainen <tss@iki.fi> (42ec79d378)
+
+ fs layout: Mailbox listing returned duplicates when patterns contained a
+ parent and its children.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-02-27 16:53:50 +0200 Timo Sirainen <tss@iki.fi> (02967c39a2)
+
+ auth worker: reset idle time after running a command, not before.
+
+
+M src/auth/auth-worker-client.c
+
+2012-02-27 16:52:44 +0200 Timo Sirainen <tss@iki.fi> (12d38e76ba)
+
+ auth worker: When idle_kill timeout is reached, change process title to
+ indicate it.
+
+
+M src/auth/auth-worker-client.c
+
+2012-02-27 16:31:33 +0200 Timo Sirainen <tss@iki.fi> (933de3f374)
+
+ mysql: Log idle time also for CR_SERVER_LOST errors.
+
+
+M src/lib-sql/driver-mysql.c
+
+2012-02-27 14:40:19 +0200 Timo Sirainen <tss@iki.fi> (bf99ab4e51)
+
+ dsync: Removed accidentally committed debug code.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2012-02-27 14:38:05 +0200 Timo Sirainen <tss@iki.fi> (69f200bc92)
+
+ dsync: Fixes to handling legacy dsync parameters.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2012-02-27 14:37:45 +0200 Timo Sirainen <tss@iki.fi> (290ce42a1a)
+
+ doveadm: Allow subcommands to specify '+' getopt parameter.
+
+
+M src/doveadm/doveadm-mail.c
+
+2012-02-27 13:34:20 +0200 Timo Sirainen <tss@iki.fi> (b05f982e6a)
+
+ lib-ssl-iostream: Use SSL_LIBS when linking the shared library.
+
+
+M src/lib-ssl-iostream/Makefile.am
+
+2012-02-27 12:02:07 +0200 Timo Sirainen <tss@iki.fi> (fe99b6c096)
+
+ lib-lda: smtp_client_open() API changed to return struct ostream, not FILE.
+
+
+M src/lib-lda/smtp-client.c
+M src/lib-lda/smtp-client.h
+
+2012-02-27 11:48:18 +0200 Timo Sirainen <tss@iki.fi> (af1699cfe5)
+
+ auth: Removed destuser check from proxy_maybe's "self" check.
+
+
+M src/auth/auth-request.c
+
+2012-02-27 11:37:02 +0200 Timo Sirainen <tss@iki.fi> (43fe4d8a5d)
+
+ dovecot-config: moved lib-auth and LIBDOVECOT_SERVICE_INCLUDEs to
+ LIBDOVECOT_INCLUDE
+
+
+M dovecot-config.in.in
+
+2012-02-27 11:33:34 +0200 Timo Sirainen <tss@iki.fi> (7d102c66eb)
+
+ lib-dns: dns_lookup() returns now the lookup struct, and it can be aborted.
+ Changed all dns_lookup() users also to abort the lookup when needed
+ (previously it probably would have just accessed freed memory and crash).
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/lib-dns/dns-lookup.c
+M src/lib-dns/dns-lookup.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-lda/lmtp-client.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2012-02-27 10:36:09 +0200 Timo Sirainen <tss@iki.fi> (c1faff067b)
+
+ Minor code cleanup.
+
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+
+2012-02-27 10:32:03 +0200 Timo Sirainen <tss@iki.fi> (6f2e601fa3)
+
+ pop3: Added module contexts to struct client, and made client_destroy() a
+ virtual method.
+
+
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+M src/pop3/pop3-common.h
+
+2012-02-27 10:30:57 +0200 Timo Sirainen <tss@iki.fi> (00baa9c944)
+
+ imap: Made client_destroy() a virtual method.
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2012-02-26 04:59:36 +0200 Timo Sirainen <tss@iki.fi> (9438ecaf1c)
+
+ lib-storage: Removed min_timeout parameter from mailbox_notify_changes()
+ It's now internally taken from mailbox_idle_check_interval setting.
+
+
+M src/imap/cmd-idle.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-mailbox-check.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/plugins/virtual/virtual-storage.c
+
+2012-02-25 07:36:11 +0200 Timo Sirainen <tss@iki.fi> (73f021723b)
+
+ Merged fixes from v2.1 tree.
+
+
+2012-02-25 07:29:15 +0200 Timo Sirainen <tss@iki.fi> (64437b1b3d)
+
+ imap-login: imap_id_* settings were ignored pre-login.
+
+
+M src/imap-login/client.c
+M src/imap-login/imap-login-settings.c
+M src/imap-login/imap-login-settings.h
+
+2012-02-25 07:08:27 +0200 Timo Sirainen <tss@iki.fi> (113fdc66ca)
+
+ auth: Added proxy_always extra field. When used with proxy_maybe, it can be
+ used to redirect "local" users to local backends via director.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2012-02-25 07:08:27 +0200 Timo Sirainen <tss@iki.fi> (8ce84ce856)
+
+ auth: Added proxy_always extra field. When used with proxy_maybe, it can be
+ used to redirect "local" users to local backends via director.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2012-02-25 06:54:52 +0200 Timo Sirainen <tss@iki.fi> (ddbdc644a1)
+
+ imap/pop3/lmtp proxy: Implemented detection of proxy loops with TTL. If
+ proxying tries to continue after 5 forward connections, it fails. The limit
+ of 5 is hard coded currently.
+
+
+M src/imap-login/client.c
+M src/imap-login/imap-proxy.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/lmtp-client.h
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+M src/pop3-login/client.c
+M src/pop3-login/pop3-proxy.c
+
+2012-02-25 06:41:59 +0200 Timo Sirainen <tss@iki.fi> (f80bf96f8c)
+
+ pop3 proxy: Fixed previous change not to hang.
+
+
+M src/pop3-login/pop3-proxy.c
+
+2012-02-25 06:41:59 +0200 Timo Sirainen <tss@iki.fi> (ac84cb764c)
+
+ pop3 proxy: Fixed previous change not to hang.
+
+
+M src/pop3-login/pop3-proxy.c
+
+2012-02-25 06:39:00 +0200 Timo Sirainen <tss@iki.fi> (2510f24a48)
+
+ pop3 proxy: Fixed handling XCLIENT reply.
+
+
+M src/pop3-login/client.h
+M src/pop3-login/pop3-proxy.c
+
+2012-02-25 06:39:00 +0200 Timo Sirainen <tss@iki.fi> (ab45534d66)
+
+ pop3 proxy: Fixed handling XCLIENT reply.
+
+
+M src/pop3-login/client.h
+M src/pop3-login/pop3-proxy.c
+
+2012-02-25 05:42:05 +0200 Timo Sirainen <tss@iki.fi> (738cfeb96c)
+
+ auth: Added auth_proxy_self setting to specify IPs that are considered as
+ "self" for proxy_maybe.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+M src/config/settings-get.pl
+
+2012-02-25 05:42:05 +0200 Timo Sirainen <tss@iki.fi> (170bdf32c6)
+
+ auth: Added auth_proxy_self setting to specify IPs that are considered as
+ "self" for proxy_maybe.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+M src/config/settings-get.pl
+
+2012-02-25 05:13:39 +0200 Timo Sirainen <tss@iki.fi> (ca852433fc)
+
+ dns: Removed login/dns-client socket, since it's no longer necessary.
+
+
+M src/dns/dns-client-settings.c
+
+2012-02-25 05:13:27 +0200 Timo Sirainen <tss@iki.fi> (38c92ae79c)
+
+ login proxy: Removed host DNS lookup code, since auth does it now.
+
+
+M src/login-common/Makefile.am
+M src/login-common/client-common-auth.c
+M src/login-common/login-proxy.c
+M src/login-common/login-proxy.h
+
+2012-02-25 05:11:59 +0200 Timo Sirainen <tss@iki.fi> (3368620178)
+
+ auth: Use proxy_timeout as DNS lookup timeout, if available. Warn if lookup
+ takes >0.5s.
+
+
+M src/auth/auth-request.c
+
+2012-02-25 05:11:59 +0200 Timo Sirainen <tss@iki.fi> (5a36aecd05)
+
+ auth: Use proxy_timeout as DNS lookup timeout, if available. Warn if lookup
+ takes >0.5s.
+
+
+M src/auth/auth-request.c
+
+2012-02-25 05:04:15 +0200 Timo Sirainen <tss@iki.fi> (91233a89f0)
+
+ auth: Handle proxy_maybe=yes with host=hostname properly.
+
+
+M src/auth/Makefile.am
+M src/auth/auth-master-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2012-02-25 05:20:47 +0200 Timo Sirainen <tss@iki.fi> (ad9da73566)
+
+ pop3-login: Implemented XCLIENT command for forwarding client ip/port from
+ proxy.
+
+
+M src/pop3-login/client.c
+M src/pop3-login/client.h
+M src/pop3-login/pop3-proxy.c
+
+2012-02-25 05:04:15 +0200 Timo Sirainen <tss@iki.fi> (8be0af2dd4)
+
+ auth: Handle proxy_maybe=yes with host=hostname properly.
+
+
+M src/auth/Makefile.am
+M src/auth/auth-master-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2012-02-25 04:38:01 +0200 Timo Sirainen <tss@iki.fi> (54dbde554c)
+
+ auth: auth_stream_reply_remove() left extra TABs to stream. Normally this
+ wouldn't really affect anything, except log some extra debug messages.
+
+
+M src/auth/auth-stream.c
+
+2012-02-25 04:38:01 +0200 Timo Sirainen <tss@iki.fi> (c5c670df64)
+
+ auth: auth_stream_reply_remove() left extra TABs to stream. Normally this
+ wouldn't really affect anything, except log some extra debug messages.
+
+
+M src/auth/auth-stream.c
+
+2012-02-25 03:46:10 +0200 Timo Sirainen <tss@iki.fi> (12c6ef6f12)
+
+ login-common: Code cleanup
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2012-02-25 03:45:13 +0200 Timo Sirainen <tss@iki.fi> (01cd9d4a80)
+
+ pop3-login: Implemented XCLIENT command for forwarding client ip/port from
+ proxy.
+
+
+M src/pop3-login/client.c
+M src/pop3-login/client.h
+M src/pop3-login/pop3-proxy.c
+
+2012-02-23 15:26:52 +0200 Timo Sirainen <tss@iki.fi> (7aeb103745)
+
+ login proxy: If connect() fails, log how many seconds it tried.
+
+
+M src/login-common/login-proxy.c
+
+2012-02-23 11:59:10 +0200 Timo Sirainen <tss@iki.fi> (3322dfd56c)
+
+ lmtp proxy: Send client's IP/port to destination server via XCLIENT if
+ possible.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2012-02-23 11:58:35 +0200 Timo Sirainen <tss@iki.fi> (e772b0a659)
+
+ smtp/lmtp client: Send XCLIENT ADDR+PORT when possible.
+
+
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/lmtp-client.h
+
+2012-02-23 11:12:04 +0200 Timo Sirainen <tss@iki.fi> (b015d3d3af)
+
+ lmtp: Implemented Postfix-compatible XCLIENT extension for changing client's
+ ip/port.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+M src/lmtp/commands.h
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2012-02-23 10:35:29 +0200 Timo Sirainen <tss@iki.fi> (a55a990bf5)
+
+ Added signature for changeset 04b0acc03f1e
+
+
+M .hgsigs
+
+2012-02-23 10:35:24 +0200 Timo Sirainen <tss@iki.fi> (ca1f191aa6)
+
+ Added tag 2.1.1 for changeset 04b0acc03f1e
+
+
+M .hgtags
+
+2012-02-23 10:35:24 +0200 Timo Sirainen <tss@iki.fi> (4a9e1ff0df)
+
+ Released v2.1.1.
+
+
+M NEWS
+M configure.in
+
+2012-02-22 22:34:47 +0000 Pascal Volk <user@localhost.localdomain.org> (7c8f4fac07)
+
+ man: Added description of command `log errors' to doveadm-log.1.
+
+
+M doc/man/doveadm-log.1.in
+
+2012-02-21 22:58:05 +0200 Timo Sirainen <tss@iki.fi> (aa01480188)
+
+ Compiler warning fix.
+
+
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2012-02-21 22:50:14 +0200 Timo Sirainen <tss@iki.fi> (d5986389c7)
+
+ lib-storage: Another try at correctly setting autocreated namespace's
+ location strings.
+
+
+M src/lib-storage/mail-namespace.c
+
+2012-02-21 15:21:19 +0200 Timo Sirainen <tss@iki.fi> (6f0ce13784)
+
+ sdbox: Altmove flag changes weren't immediately marked as synced. This
+ caused the altmoves to be retried.
+
+
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2012-02-21 11:35:21 +0200 Timo Sirainen <tss@iki.fi> (31a12066e4)
+
+ auth: If auth_cache_size is larger than process VSZ limit, log a warning.
+
+
+M src/auth/passdb-cache.c
+
+2012-02-21 11:35:05 +0200 Timo Sirainen <tss@iki.fi> (c11f60090a)
+
+ Added restrict_get_process_size()
+
+
+M src/lib/restrict-process-size.c
+M src/lib/restrict-process-size.h
+
+2012-02-21 11:15:56 +0200 Timo Sirainen <tss@iki.fi> (093cb466e5)
+
+ auth: passdb imap crashed for non-login (non-imap/pop3) authentication.
+
+
+M src/auth/passdb-imap.c
+
+2012-02-21 11:08:05 +0200 Timo Sirainen <tss@iki.fi> (a13e154099)
+
+ file-dotlock: Avoid "timestamp is different than current time" errors during
+ high disk I/O load.
+
+
+M src/lib/file-dotlock.c
+
+2012-02-21 03:07:49 +0200 Timo Sirainen <tss@iki.fi> (382dde82f7)
+
+ lib-storage: Avoid assert-crashing with non-mUTF7/UTF8 entries in
+ subscriptions file.
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2012-02-21 02:59:25 +0200 Timo Sirainen <tss@iki.fi> (b56f7fb35a)
+
+ lib-storage: When autocreating a namespace, don't fill out location setting
+ unless necessary. This fixes running dsync when there are no namespaces
+ defined.
+
+
+M src/lib-storage/mail-namespace.c
+
+2012-02-21 02:43:52 +0200 Timo Sirainen <tss@iki.fi> (77d20bf997)
+
+ virtual: "*" wildcard matches now also autocreated shared namespaces.
+ Basically this makes "shared/*" work as intended for shared namespaces.
+
+
+M src/plugins/virtual/virtual-config.c
+
+2012-02-21 00:13:36 +0000 Pascal Volk <user@localhost.localdomain.org> (27255a0f62)
+
+ man: Added description for type `dbox' to doveadm-dump.1
+
+
+M doc/man/doveadm-dump.1.in
+
+2012-02-21 02:15:54 +0200 Timo Sirainen <tss@iki.fi> (9a8727ac11)
+
+ ldap: Support attr=name=prefix style template attributes for backwards
+ compatibility. This was mainly used for quota, e.g.
+ "quotaBytes=quota=*:storage="
+
+
+M src/auth/db-ldap.c
+
+2012-02-20 23:39:20 +0000 Pascal Volk <user@localhost.localdomain.org> (4f77d2f0f0)
+
+ doveadm dump: Show available types in case a wrong one was given.
+
+
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-dump.h
+
+2012-02-20 23:34:38 +0200 Timo Sirainen <tss@iki.fi> (421660df1a)
+
+ man: Move doveadm instance and mount commands to "master commands" group.
+
+
+M doc/man/doveadm.1.in
+
+2012-02-17 01:19:59 +0200 Timo Sirainen <tss@iki.fi> (5ff22d6998)
+
+ lib-master: If accept() fails, stop listening only temporarily, not
+ permanently.
+
+
+M src/lib-master/master-service.c
+
+2012-02-17 01:14:02 +0200 Timo Sirainen <tss@iki.fi> (aa4682f84b)
+
+ Increased initial memory pool size.
+
+
+M src/lib-storage/index/shared/shared-list.c
+
+2012-02-17 01:13:51 +0200 Timo Sirainen <tss@iki.fi> (17706107e6)
+
+ master: Handle internal "out of fds" errors without crashing.
+
+
+M src/master/service-monitor.c
+
+2012-02-16 23:05:17 +0000 Pascal Volk <user@localhost.localdomain.org> (70267341cc)
+
+ man/Makefile: Use SUFFIXES to reduce the number of targets.
+
+
+M doc/man/Makefile.am
+
+2012-02-17 00:46:46 +0200 Timo Sirainen <tss@iki.fi> (f55fac3b38)
+
+ login: Added comment.
+
+
+M src/login-common/main.c
+
+2012-02-17 00:34:24 +0200 Timo Sirainen <tss@iki.fi> (f8aa344009)
+
+ dsync: If message with same GUID is saved multiple times in session, copy it
+ instead of re-saving. This only works if the messages are in different
+ mailboxes. It would be possible to fix it also for copying within same
+ mailbox, but that's probably rare enough that it's not worth the extra code.
+
+
+M src/doveadm/dsync/dsync-brain-msgs-new.c
+M src/doveadm/dsync/dsync-brain-msgs.c
+M src/doveadm/dsync/dsync-brain-private.h
+
+2012-02-17 00:32:06 +0200 Timo Sirainen <tss@iki.fi> (cbcd7b1d27)
+
+ dsync: GUIDs are case-sensitive, make GUID hash table be as well.
+
+
+M src/doveadm/dsync/dsync-brain-msgs.c
+
+2012-02-17 00:30:54 +0200 Timo Sirainen <tss@iki.fi> (e6825aad56)
+
+ doveadm force-resync: Don't skip autocreated mailboxes (especially INBOX).
+ This fixes rebuilding indexes for mdbox that has all mailbox indexes
+ deleted.
+
+
+M src/doveadm/doveadm-mail.c
+
+2012-02-16 20:04:01 +0200 Timo Sirainen <tss@iki.fi> (6c0809e4d0)
+
+ acl: Don't crash in mailbox listing when using autocreated mailboxes.
+
+
+M src/plugins/acl/acl-mailbox-list.c
+
+2012-02-16 19:16:54 +0200 Timo Sirainen <tss@iki.fi> (f40aa1311c)
+
+ Messed up with v2.1 release, merging changes that were supposed to be there.
+
+
+2012-02-16 18:40:29 +0200 Timo Sirainen <tss@iki.fi> (50823df071)
+
+ Added signature for changeset e2cd03cc9c69
+
+
+M .hgsigs
+
+2012-02-16 18:40:25 +0200 Timo Sirainen <tss@iki.fi> (a438a4d371)
+
+ Added tag 2.1.0 for changeset e2cd03cc9c69
+
+
+M .hgtags
+
+2012-02-16 18:40:25 +0200 Timo Sirainen <tss@iki.fi> (0e39414409)
+
+ Released v2.1.0.
+
+
+M NEWS
+M configure.in
+
+2012-02-16 18:31:57 +0200 Timo Sirainen <tss@iki.fi> (e0579d4591)
+
+ man: Added doveadm-instance(1) and doveadm-mount(1) roff'ification by Pascal
+ Volk.
+
+
+M .hgignore
+M doc/man/Makefile.am
+A doc/man/doveadm-instance.1.in
+A doc/man/doveadm-mount.1.in
+M doc/man/doveadm.1.in
+
+2012-02-16 18:10:09 +0200 Timo Sirainen <tss@iki.fi> (6ffebd0553)
+
+ fs layout: Fixed crash when autocreate mailboxes were used and LIST had only
+ invalid patterns.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-02-15 05:49:20 +0200 Timo Sirainen <tss@iki.fi> (41ed5e83a8)
+
+ Added signature for changeset 736f1b7af190
+
+
+M .hgsigs
+
+2012-02-15 05:49:17 +0200 Timo Sirainen <tss@iki.fi> (a49877a253)
+
+ Added tag 2.1.rc7 for changeset 736f1b7af190
+
+
+M .hgtags
+
+2012-02-15 05:49:17 +0200 Timo Sirainen <tss@iki.fi> (57281a721b)
+
+ Released v2.1.rc7.
+
+
+M NEWS
+M configure.in
+
+2012-02-15 05:12:14 +0200 Timo Sirainen <tss@iki.fi> (717bb0dbaf)
+
+ login: If auth client disconnects without having ever succeeded, destroy
+ clients.
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/main.c
+
+2012-02-15 04:32:14 +0200 Timo Sirainen <tss@iki.fi> (3c9c62c4ab)
+
+ lib-master: Fixed crash on IPC client if server disconnected unexpectedly.
+
+
+M src/lib-master/ipc-client.c
+
+2012-02-13 21:40:02 +0000 Pascal Volk <user@localhost.localdomain.org> (b909752090)
+
+ man: Added descriptions of -t option to doveadm-pw.1.
+
+
+M doc/man/doveadm-pw.1.in
+
+2012-02-13 20:40:54 +0000 Pascal Volk <user@localhost.localdomain.org> (153449b3b9)
+
+ doveadm pw: Added -t <hash> parameter to the usage message.
+
+
+M src/doveadm/doveadm-pw.c
+
+2012-02-13 19:59:13 +0000 Pascal Volk <user@localhost.localdomain.org> (548c6a20cc)
+
+ man: Added description of fields pop3.uidl and text.utf8 to doveadm-fetch.1.
+
+
+M doc/man/doveadm-fetch.1.in
+
+2012-02-13 18:27:44 +0200 Timo Sirainen <tss@iki.fi> (626216c140)
+
+ pop3: If UIDL using %f/%m/%g can't be fetched, mention pop3_uidl_format in
+ error message.
+
+
+M src/pop3/pop3-commands.c
+
+2012-02-13 18:28:01 +0200 Timo Sirainen <tss@iki.fi> (5979c7d699)
+
+ TODO updated
+
+
+M TODO
+
+2012-02-13 14:34:31 +0200 Timo Sirainen <tss@iki.fi> (de83c1e095)
+
+ lib-storage: Added namespace { ignore_on_failure } setting. If the namespace
+ can't be created for any reason, it's simply silently skipped.
+
+
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+
+2012-02-13 00:40:03 +0200 Timo Sirainen <tss@iki.fi> (0e0606d74a)
+
+ message parser: Added MESSAGE_PARSER_FLAG_INCLUDE_MULTIPART_BLOCKS. Patch by
+ Stephan Bosch.
+
+
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-parser.h
+
+2012-02-13 00:29:55 +0200 Timo Sirainen <tss@iki.fi> (9f627b360e)
+
+ login-common API made more extensible for different kinds of protocols.
+ Patch by Stephan Bosch.
+
+
+M src/imap-login/client-authenticate.c
+M src/imap-login/client-authenticate.h
+M src/imap-login/client.c
+M src/imap-login/client.h
+M src/imap-login/imap-proxy.c
+M src/imap-login/imap-proxy.h
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client-authenticate.h
+M src/pop3-login/client.c
+M src/pop3-login/client.h
+M src/pop3-login/pop3-proxy.c
+M src/pop3-login/pop3-proxy.h
+
+2012-02-12 23:23:25 +0200 Timo Sirainen <tss@iki.fi> (03e877dc9d)
+
+ Updated version number to v2.2.UNSTABLE and added a warning to configure.
+
+
+M configure.in
+
+2012-02-12 23:04:13 +0200 Timo Sirainen <tss@iki.fi> (03c15b6426)
+
+ README: Added missing RFC to list.
+
+
+M README
+
+2012-02-12 23:03:55 +0200 Timo Sirainen <tss@iki.fi> (ec1b8dd5ed)
+
+ TODO updated
+
+
+M TODO
+
+2012-02-12 22:35:54 +0200 Timo Sirainen <tss@iki.fi> (309c4ae2eb)
+
+ Added signature for changeset 481860782250
+
+
+M .hgsigs
+
+2012-02-12 22:35:52 +0200 Timo Sirainen <tss@iki.fi> (e09de8aa8a)
+
+ Added tag 2.1.rc6 for changeset 481860782250
+
+
+M .hgtags
+
+2012-02-12 22:35:52 +0200 Timo Sirainen <tss@iki.fi> (c75f35b0df)
+
+ Released v2.1.rc6.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2012-02-12 22:34:33 +0200 Timo Sirainen <tss@iki.fi> (899ebc9257)
+
+ IMAP capabilities: s/FUZZY/SEARCH=FUZZY/ I mistakenly used wrong one..
+
+
+M configure.in
+
+2012-02-12 22:16:51 +0200 Timo Sirainen <tss@iki.fi> (9f00f20c77)
+
+ doveadm mailbox delete: Don't crash when namespace for mailbox isn't found.
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+
+2012-02-12 21:10:22 +0200 Timo Sirainen <tss@iki.fi> (5fbccc935e)
+
+ doveadm: Improved error handling. Failures should now always have non-zero
+ exit code. doveadm now uses sysexits.h exit codes in most places, although
+ there are still a lot of places where it simply returns EX_TEMPFAIL even
+ though something else might be better.
+
+
+M src/doveadm/Makefile.am
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-instance.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-iter.h
+D src/doveadm/doveadm-mail-list-iter.h
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-move.c
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+R063 src/doveadm/doveadm-mail-list-iter.c src/doveadm/doveadm-mailbox-list-iter.c
+A src/doveadm/doveadm-mailbox-list-iter.h
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/main.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/fts/doveadm-fts.c
+M src/plugins/quota/doveadm-quota.c
+
+2012-02-12 19:20:03 +0200 Timo Sirainen <tss@iki.fi> (e17a0e23c8)
+
+ doveadm pw: Use i_error()/i_fatal() instead of fprintf(stderr)
+
+
+M src/doveadm/doveadm-pw.c
+
+2012-02-12 19:16:34 +0200 Timo Sirainen <tss@iki.fi> (b53bec99f8)
+
+ acl: After checking we have rights to create mailbox, ignore any further ACL
+ checks.
+
+
+M src/plugins/acl/acl-mailbox.c
+
+2012-02-12 18:59:20 +0200 Timo Sirainen <tss@iki.fi> (dcfab5db1f)
+
+ example-config: Updated tb-extra-mailbox-sep comment.
+
+
+M doc/example-config/conf.d/20-imap.conf
+
+2012-02-12 18:55:28 +0200 Timo Sirainen <tss@iki.fi> (5f5870385c)
+
+ Updated copyright notices to include year 2012.
+
+
+M src/anvil/anvil-connection.c
+M src/anvil/anvil-settings.c
+M src/anvil/connect-limit.c
+M src/anvil/main.c
+M src/anvil/penalty.c
+M src/anvil/test-penalty.c
+M src/auth/auth-cache.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-penalty.c
+M src/auth/auth-postfix-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-stream.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/auth.c
+M src/auth/db-checkpassword.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/auth/db-sql.c
+M src/auth/main.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-external.c
+M src/auth/mech-plain.c
+M src/auth/mech.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-checkpassword.c
+M src/auth/passdb-imap.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb-template.c
+M src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-checkpassword.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-nss.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-prefetch.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb-template.c
+M src/auth/userdb-vpopmail.c
+M src/auth/userdb.c
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/config-request.c
+M src/config/config-settings.c
+M src/config/doveconf.c
+M src/config/main.c
+M src/config/old-set-parser.c
+M src/config/sysinfo-get.c
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/dict/dict-settings.c
+M src/dict/main.c
+M src/director/auth-connection.c
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director-request.c
+M src/director/director-settings.c
+M src/director/director-test.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/mail-host.c
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/user-directory.c
+M src/dns/dns-client-settings.c
+M src/dns/dns-client.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/doveadm-dump-thread.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-list-iter.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-move.c
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-master.c
+M src/doveadm/doveadm-mutf7.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-print-flow.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/doveadm-print-tab.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-proxy.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-sis.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm.c
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-brain-msgs-new.c
+M src/doveadm/dsync/dsync-brain-msgs.c
+M src/doveadm/dsync/dsync-brain.c
+M src/doveadm/dsync/dsync-data.c
+M src/doveadm/dsync/dsync-proxy-client.c
+M src/doveadm/dsync/dsync-proxy-server-cmd.c
+M src/doveadm/dsync/dsync-proxy-server.c
+M src/doveadm/dsync/dsync-proxy.c
+M src/doveadm/dsync/dsync-worker-local.c
+M src/doveadm/dsync/dsync-worker.c
+M src/doveadm/dsync/test-dsync-brain-msgs.c
+M src/doveadm/dsync/test-dsync-brain.c
+M src/doveadm/dsync/test-dsync-common.c
+M src/doveadm/dsync/test-dsync-proxy-server-cmd.c
+M src/doveadm/dsync/test-dsync-proxy.c
+M src/doveadm/dsync/test-dsync-worker.c
+M src/doveadm/main.c
+M src/doveadm/server-connection.c
+M src/imap-login/client-authenticate.c
+M src/imap-login/client.c
+M src/imap-login/imap-login-settings.c
+M src/imap-login/imap-proxy.c
+M src/imap/cmd-append.c
+M src/imap/cmd-cancelupdate.c
+M src/imap/cmd-capability.c
+M src/imap/cmd-check.c
+M src/imap/cmd-close.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-enable.c
+M src/imap/cmd-examine.c
+M src/imap/cmd-expunge.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-id.c
+M src/imap/cmd-idle.c
+M src/imap/cmd-list.c
+M src/imap/cmd-logout.c
+M src/imap/cmd-lsub.c
+M src/imap/cmd-namespace.c
+M src/imap/cmd-noop.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-search.c
+M src/imap/cmd-select.c
+M src/imap/cmd-sort.c
+M src/imap/cmd-status.c
+M src/imap/cmd-store.c
+M src/imap/cmd-subscribe.c
+M src/imap/cmd-thread.c
+M src/imap/cmd-uid.c
+M src/imap/cmd-unselect.c
+M src/imap/cmd-unsubscribe.c
+M src/imap/cmd-x-cancel.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands.c
+M src/imap/imap-expunge.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-search-args.c
+M src/imap/imap-search.c
+M src/imap/imap-settings.c
+M src/imap/imap-status.c
+M src/imap/imap-sync.c
+M src/imap/mail-storage-callbacks.c
+M src/imap/main.c
+M src/indexer/indexer-client.c
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-settings.c
+M src/indexer/indexer-worker-settings.c
+M src/indexer/indexer-worker.c
+M src/indexer/indexer.c
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-pool.c
+M src/ipc/client.c
+M src/ipc/ipc-connection.c
+M src/ipc/ipc-group.c
+M src/ipc/ipc-settings.c
+M src/ipc/main.c
+M src/lda/main.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/charset-utf8.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/test-dict.c
+M src/lib-dns/dns-lookup.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/ostream-cmp.c
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-msgmap.c
+M src/lib-imap/imap-arg.c
+M src/lib-imap/imap-base-subject.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-id.c
+M src/lib-imap/imap-match.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-seqset.c
+M src/lib-imap/imap-utf7.c
+M src/lib-imap/imap-util.c
+M src/lib-imap/test-imap-match.c
+M src/lib-imap/test-imap-parser.c
+M src/lib-imap/test-imap-utf7.c
+M src/lib-imap/test-imap-util.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-dummy-view.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-util.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mailbox-log.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-index/test-mail-transaction-log-view.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/lda-settings.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-send.c
+M src/lib-lda/smtp-client.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/mbox-from.c
+M src/lib-mail/message-address.c
+M src/lib-mail/message-date.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-id.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part-serialize.c
+M src/lib-mail/message-search.c
+M src/lib-mail/message-send.c
+M src/lib-mail/message-size.c
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-mbox-from.c
+M src/lib-mail/test-message-address.c
+M src/lib-mail/test-message-date.c
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-encode.c
+M src/lib-mail/test-message-header-parser.c
+M src/lib-mail/test-message-id.c
+M src/lib-mail/test-message-parser.c
+M src/lib-mail/test-quoted-printable.c
+M src/lib-mail/test-rfc2231-parser.c
+M src/lib-master/anvil-client.c
+M src/lib-master/ipc-client.c
+M src/lib-master/ipc-server.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+M src/lib-master/syslog-util.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-db-cache.c
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-openssl-params.c
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl-none.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib-storage/fail-mail-storage.c
+M src/lib-storage/fail-mail.c
+M src/lib-storage/fail-mailbox.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-sync-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mailbox-check.c
+M src/lib-storage/index/index-search-result.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-sync-search.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread-links.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/istream-attachment.c
+M src/lib-storage/index/istream-mail.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-filename.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-settings.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-md5-all.c
+M src/lib-storage/index/mbox/mbox-md5-apop3d.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-settings.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync-update.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+M src/lib-storage/index/pop3c/pop3c-settings.c
+M src/lib-storage/index/pop3c/pop3c-storage.c
+M src/lib-storage/index/pop3c/pop3c-sync.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/raw/raw-sync.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-error.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-parser-cmdline.c
+M src/lib-storage/mail-search-parser-imap.c
+M src/lib-storage/mail-search-parser.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search-register.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-thread.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-header.c
+M src/lib-storage/mailbox-keywords.c
+M src/lib-storage/mailbox-list-iter.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-search-result.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib-storage/test-mailbox-get.c
+M src/lib-test/test-common.c
+M src/lib/abspath.c
+M src/lib/aqueue.c
+M src/lib/array.c
+M src/lib/askpass.c
+M src/lib/backtrace-string.c
+M src/lib/base64.c
+M src/lib/bsearch-insert-pos.c
+M src/lib/buffer.c
+M src/lib/child-wait.c
+M src/lib/close-keep-errno.c
+M src/lib/compat.c
+M src/lib/crc32.c
+M src/lib/data-stack.c
+M src/lib/eacces-error.c
+M src/lib/env-util.c
+M src/lib/execv-const.c
+M src/lib/failures.c
+M src/lib/fd-close-on-exec.c
+M src/lib/fd-set-nonblock.c
+M src/lib/fdatasync-path.c
+M src/lib/fdpass.c
+M src/lib/file-cache.c
+M src/lib/file-copy.c
+M src/lib/file-dotlock.c
+M src/lib/file-lock.c
+M src/lib/file-set-size.c
+M src/lib/guid.c
+M src/lib/hash-format.c
+M src/lib/hash-method.c
+M src/lib/hash.c
+M src/lib/hash2.c
+M src/lib/hex-binary.c
+M src/lib/hex-dec.c
+M src/lib/home-expand.c
+M src/lib/hostpid.c
+M src/lib/imem.c
+M src/lib/ioloop-notify-dn.c
+M src/lib/ioloop-notify-fd.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-none.c
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+M src/lib/iostream-rawlog.c
+M src/lib/iostream.c
+M src/lib/ipwd.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-data.c
+M src/lib/istream-file.c
+M src/lib/istream-limit.c
+M src/lib/istream-mmap.c
+M src/lib/istream-rawlog.c
+M src/lib/istream-seekable.c
+M src/lib/istream-tee.c
+M src/lib/istream.c
+M src/lib/lib-signals.c
+M src/lib/lib.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-system.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/mempool.c
+M src/lib/mkdir-parents.c
+M src/lib/mmap-anon.c
+M src/lib/mmap-util.c
+M src/lib/module-dir.c
+M src/lib/mountpoint.c
+M src/lib/network.c
+M src/lib/nfs-workarounds.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-file.c
+M src/lib/ostream-rawlog.c
+M src/lib/ostream.c
+M src/lib/printf-format-fix.c
+M src/lib/priorityq.c
+M src/lib/process-title.c
+M src/lib/randgen.c
+M src/lib/read-full.c
+M src/lib/restrict-access.c
+M src/lib/restrict-process-size.c
+M src/lib/safe-memset.c
+M src/lib/safe-mkdir.c
+M src/lib/safe-mkstemp.c
+M src/lib/sendfile-util.c
+M src/lib/seq-range-array.c
+M src/lib/str-find.c
+M src/lib/str-sanitize.c
+M src/lib/str.c
+M src/lib/strescape.c
+M src/lib/strfuncs.c
+M src/lib/strnum.c
+M src/lib/test-aqueue.c
+M src/lib/test-array.c
+M src/lib/test-base64.c
+M src/lib/test-bsearch-insert-pos.c
+M src/lib/test-buffer.c
+M src/lib/test-crc32.c
+M src/lib/test-hash-format.c
+M src/lib/test-hex-binary.c
+M src/lib/test-istream-base64-encoder.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-crlf.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-istream-tee.c
+M src/lib/test-lib.c
+M src/lib/test-llist.c
+M src/lib/test-mempool-alloconly.c
+M src/lib/test-network.c
+M src/lib/test-ostream-file.c
+M src/lib/test-primes.c
+M src/lib/test-priorityq.c
+M src/lib/test-seq-range-array.c
+M src/lib/test-str-find.c
+M src/lib/test-str-sanitize.c
+M src/lib/test-strescape.c
+M src/lib/test-strfuncs.c
+M src/lib/test-time-util.c
+M src/lib/test-utc-mktime.c
+M src/lib/test-var-expand.c
+M src/lib/time-util.c
+M src/lib/unichar.c
+M src/lib/unix-socket-create.c
+M src/lib/unlink-directory.c
+M src/lib/unlink-old-files.c
+M src/lib/utc-mktime.c
+M src/lib/utc-offset.c
+M src/lib/var-expand.c
+M src/lib/write-full.c
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/main.c
+M src/log/log-connection.c
+M src/log/log-settings.c
+M src/log/main.c
+M src/login-common/access-lookup.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/main.c
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.c
+M src/master/dup2-array.c
+M src/master/main.c
+M src/master/master-settings.c
+M src/master/service-anvil.c
+M src/master/service-listen.c
+M src/master/service-log.c
+M src/master/service-monitor.c
+M src/master/service-process-notify.c
+M src/master/service-process.c
+M src/master/service.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-plugin.c
+M src/plugins/acl/acl-shared-storage.c
+M src/plugins/acl/acl-storage.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/expire/expire-set.c
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/fts-squat-plugin.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+M src/plugins/fts/doveadm-fts.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-build-mail.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-indexer.c
+M src/plugins/fts/fts-parser-html.c
+M src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-search-serialize.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/xml2text.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-stats/imap-stats-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/listescape/listescape-plugin.c
+M src/plugins/mail-log/mail-log-plugin.c
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-plugin.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/stats/stats-connection.c
+M src/plugins/stats/stats-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-plugin.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/virtual/virtual-transaction.c
+M src/plugins/zlib/doveadm-zlib.c
+M src/plugins/zlib/istream-bzlib.c
+M src/plugins/zlib/istream-zlib.c
+M src/plugins/zlib/ostream-bzlib.c
+M src/plugins/zlib/ostream-zlib.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client.c
+M src/pop3-login/pop3-login-settings.c
+M src/pop3-login/pop3-proxy.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-settings.c
+M src/ssl-params/main.c
+M src/ssl-params/ssl-params-openssl.c
+M src/ssl-params/ssl-params-settings.c
+M src/ssl-params/ssl-params.c
+M src/stats/client-export.c
+M src/stats/client.c
+M src/stats/global-memory.c
+M src/stats/mail-command.c
+M src/stats/mail-domain.c
+M src/stats/mail-ip.c
+M src/stats/mail-server-connection.c
+M src/stats/mail-session.c
+M src/stats/mail-stats.c
+M src/stats/mail-user.c
+M src/stats/main.c
+M src/stats/stats-settings.c
+M src/util/gdbhelper.c
+M src/util/maildirlock.c
+M src/util/rawlog.c
+M src/util/script-login.c
+M src/util/script.c
+M src/util/tcpwrap-settings.c
+M src/util/tcpwrap.c
+
+2012-02-12 18:26:22 +0200 Timo Sirainen <tss@iki.fi> (6cc815e209)
+
+ lib-lda: Send DSN only for out-of-quota errors. Send MDN for Sieve rejects.
+
+
+M src/lda/main.c
+M src/lib-lda/mail-deliver.h
+M src/lib-lda/mail-send.c
+
+2012-02-12 07:25:40 +0200 Timo Sirainen <tss@iki.fi> (328501937a)
+
+ example-config: Updated instance_name setting's comments.
+
+
+M doc/example-config/dovecot.conf
+
+2012-02-12 07:12:41 +0200 Timo Sirainen <tss@iki.fi> (5aa7c8cccd)
+
+ Make static analyzer happier.
+
+
+M src/lib-storage/index/index-thread-finish.c
+
+2012-02-12 07:05:07 +0200 Timo Sirainen <tss@iki.fi> (6682872f15)
+
+ lda: If DSN is sent because user is out of quota, send 5.2.2 as Status.
+
+
+M src/lda/main.c
+M src/lib-lda/mail-deliver.h
+M src/lib-lda/mail-send.c
+
+2012-02-12 07:00:12 +0200 Timo Sirainen <tss@iki.fi> (aed9c4248d)
+
+ lib-lda: Send DSN instead of MDN for rejections. I had just copy&pasted the
+ MDN sending from Cyrus..
+
+
+M src/lib-lda/mail-send.c
+
+2012-02-12 06:59:32 +0200 Timo Sirainen <tss@iki.fi> (4c261fb48e)
+
+ lib-storage: "Invalid userdb input" showed wrong input in the error message.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2012-02-12 06:51:05 +0200 Timo Sirainen <tss@iki.fi> (6b8043a4d9)
+
+ sdbox: Fixed sdbox_read_header() randomly failing.
+
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2012-02-12 06:47:22 +0200 Timo Sirainen <tss@iki.fi> (4a3610a21c)
+
+ lib-storage: Error handling fix.
+
+
+M src/lib-storage/fail-mailbox.c
+
+2012-02-12 05:44:13 +0200 Timo Sirainen <tss@iki.fi> (6cffceef5c)
+
+ dsync: Don't assert-crash if saving a message fails.
+
+
+M src/doveadm/dsync/dsync-worker-local.c
+
+2012-02-12 05:35:54 +0200 Timo Sirainen <tss@iki.fi> (c54f8888b6)
+
+ director: Log an error if auth connection disconnects unexpectedly.
+
+
+M src/director/auth-connection.c
+
+2012-02-12 05:17:46 +0200 Timo Sirainen <tss@iki.fi> (1caad3c1f5)
+
+ doveadm: Changes for previous expire plugin changes to actually work.
+
+
+M src/doveadm/doveadm-mail.c
+
+2012-02-12 05:16:43 +0200 Timo Sirainen <tss@iki.fi> (d6a026dcf1)
+
+ sdbox: Don't assert-crash on index rebuild if u.X file exists in both
+ primary and alt storage.
+
+
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+
+2012-02-12 04:58:17 +0200 Timo Sirainen <tss@iki.fi> (3c3002ee03)
+
+ expire: Only go through users listed by userdb iteration. Delete dict rows
+ for nonexistent users, unless expire_keep_nonexistent_users=yes.
+
+
+M src/plugins/expire/doveadm-expire.c
+
+2012-02-12 04:18:50 +0200 Timo Sirainen <tss@iki.fi> (efa7704816)
+
+ doveadm acl: Added "add" and "remove" commands.
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2012-02-12 04:12:44 +0200 Timo Sirainen <tss@iki.fi> (5c3e746d1a)
+
+ doveadm acl set: Replace both positive and negative rights, not just one of
+ them.
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2012-02-12 04:01:34 +0200 Timo Sirainen <tss@iki.fi> (3e1cc04de2)
+
+ doveadm mailbox delete: Added -r parameter to recursively delete mailboxes.
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+
+2012-02-12 03:51:21 +0200 Timo Sirainen <tss@iki.fi> (c439de14af)
+
+ doveadm mailbox delete: Sort the mailbox parameters so that children are
+ deleted first.
+
+
+M src/doveadm/doveadm-mail-mailbox.c
+
+2012-02-12 03:47:01 +0200 Timo Sirainen <tss@iki.fi> (94fc678171)
+
+ message_id_get_next(): Fixed parsing message-ids with no-fold-quotes.
+
+
+M src/lib-mail/message-id.c
+M src/lib-mail/test-message-id.c
+
+2012-02-12 03:29:36 +0200 Timo Sirainen <tss@iki.fi> (dc11d99555)
+
+ SSL: Enable SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS flag for extra security. This
+ is to counter the "BEAST SSL" attack, although I don't think it's practical
+ to implement against IMAP/POP3/LMTP protocols. There's really no way for
+ attackers to inject any evil data before authentication, so the password is
+ safe. Post-authentication attacker could cause clients to download evil
+ emails, but even then clients don't typically redownload some specific mail,
+ so there's really no way to extract anything useful.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/login-common/ssl-proxy-openssl.c
+
+2012-02-12 02:53:50 +0200 Timo Sirainen <tss@iki.fi> (2db692ad9c)
+
+ doveadm: Use MAILBOX_LIST_ITER_LIST_PREFIXES when iterating through
+ mailboxes. This means that if there exists a mailbox in namespace prefix
+ itself, those mailboxes can be accessed. Also "doveadm mailbox list" shows
+ all namespace prefixes.
+
+ Note that wildcards match only within namespace, so e.g. '*' will never
+ match any namespace prefix, because it works within the prefix="" namespace.
+
+M src/doveadm/doveadm-mail-list-iter.c
+
+2012-02-12 02:50:49 +0200 Timo Sirainen <tss@iki.fi> (4a365e606e)
+
+ lib-storage: Added MAILBOX_LIST_ITER_LIST_PREFIXES flag.
+
+
+M src/lib-storage/mailbox-list-iter.c
+M src/lib-storage/mailbox-list.h
+
+2012-02-12 02:30:34 +0200 Timo Sirainen <tss@iki.fi> (2caf2855ea)
+
+ doveadm: Removed unnecessary code. "mailbox/" is no longer included in
+ listing by default.
+
+
+M src/doveadm/doveadm-mail-list-iter.c
+
+2012-02-12 02:22:43 +0200 Timo Sirainen <tss@iki.fi> (12b380e64b)
+
+ doveadm pw: Added -t <hash> parameter to test if a hash matches to given
+ plaintext. Based on patch by Jimmy Thrasibule
+
+
+M src/doveadm/doveadm-pw.c
+
+2012-02-09 21:29:25 +0200 Timo Sirainen <tss@iki.fi> (d00ae137b6)
+
+ shared: Allocate mailbox as fail_mailbox. This fixes crashes when a mailbox
+ is attempted to be allocated from the shared namespace itself (e.g. the
+ "shared" prefix).
+
+
+M src/lib-storage/index/shared/shared-storage.c
+
+2012-02-09 21:28:44 +0200 Timo Sirainen <tss@iki.fi> (b2a476af25)
+
+ lib-storage: Renamed test-mail/mailbox/storage to fail-*
+
+
+M src/lib-storage/Makefile.am
+R052 src/lib-storage/test-mail-storage.c src/lib-storage/fail-mail-storage.c
+A src/lib-storage/fail-mail-storage.h
+R052 src/lib-storage/test-mail.c src/lib-storage/fail-mail.c
+R052 src/lib-storage/test-mailbox.c src/lib-storage/fail-mailbox.c
+D src/lib-storage/test-mail-storage.h
+
+2012-02-09 21:13:12 +0200 Timo Sirainen <tss@iki.fi> (c529313e1c)
+
+ Increased initial memory pool size.
+
+
+M src/plugins/virtual/virtual-storage.c
+
+2012-02-09 20:38:16 +0200 Timo Sirainen <tss@iki.fi> (10ccc94d04)
+
+ dsync: Fixed a potential assert crash when saving mails.
+
+
+M src/doveadm/dsync/dsync-worker-local.c
+
+2012-02-09 20:37:24 +0200 Timo Sirainen <tss@iki.fi> (9047d770bf)
+
+ dbox: If saving is aborted, don't add a broken record about it to index.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+
+2012-02-09 20:21:14 +0200 Timo Sirainen <tss@iki.fi> (3cfc375f0d)
+
+ quota: If "quota" setting's value is empty, assume quota is wanted to be
+ disabled.
+
+
+M src/plugins/quota/quota.c
+
+2012-02-09 19:32:25 +0200 Timo Sirainen <tss@iki.fi> (4abfd8fcb8)
+
+ snarf: Keep the mailbox locked during snarfing to avoid duplicates.
+
+
+M src/plugins/snarf/snarf-plugin.c
+
+2012-02-09 16:27:54 +0200 Timo Sirainen <tss@iki.fi> (aa03893382)
+
+ imap: Handle invalid APPEND parameters a little nicer.
+
+
+M src/imap/cmd-append.c
+
+2012-02-09 15:53:18 +0200 Timo Sirainen <tss@iki.fi> (3cd0737a67)
+
+ configure: Avoid some unnecessary warnings with clang.
+
+
+M configure.in
+
+2012-02-09 05:33:54 +0200 Timo Sirainen <tss@iki.fi> (b6cfbf3712)
+
+ auth: password_verify() now returns error string also for password
+ mismatches.
+
+
+M src/auth/password-scheme.c
+
+2012-02-09 05:27:32 +0200 Timo Sirainen <tss@iki.fi> (2321e7b7c0)
+
+ doveadm pw: Minor code cleanups.
+
+
+M src/doveadm/doveadm-pw.c
+
+2012-02-09 05:25:17 +0200 Timo Sirainen <tss@iki.fi> (aecea0d23c)
+
+ doveadm pw: Improved error messages.
+
+
+M src/doveadm/doveadm-pw.c
+
+2012-02-09 05:21:22 +0200 Timo Sirainen <tss@iki.fi> (cbcc083b53)
+
+ doveadm proxy list: Avoid hanging if we can't connect to ipc socket.
+
+
+M src/doveadm/doveadm-proxy.c
+
+2012-02-09 05:16:59 +0200 Timo Sirainen <tss@iki.fi> (1043182602)
+
+ lib-master no longer uses 's' option, but it wasn't removed from getopt
+ string.
+
+
+M src/lib-master/master-service.c
+
+2012-02-09 05:07:57 +0200 Timo Sirainen <tss@iki.fi> (31663a43ed)
+
+ INSTALL: Updated outdated documentation.
+
+
+M INSTALL
+
+2012-02-09 05:04:42 +0200 Timo Sirainen <tss@iki.fi> (1cfa65c0b9)
+
+ acl: Avoid assert-crashing when trying to access invalid mailbox names.
+
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2012-02-09 04:26:39 +0200 Timo Sirainen <tss@iki.fi> (cc5fc3c813)
+
+ doveadm index: Changed help text to make it clear that mailbox can have
+ wildcards.
+
+
+M src/doveadm/doveadm-mail-index.c
+
+2012-02-09 04:26:12 +0200 Timo Sirainen <tss@iki.fi> (db45f46288)
+
+ doveadm force-resync: Support wildcards in mailbox names.
+
+
+M src/doveadm/doveadm-mail.c
+
+2012-02-09 04:13:28 +0200 Timo Sirainen <tss@iki.fi> (0f17bb1036)
+
+ lib-storage: Trying to access shared mailboxes of nonexistent users crashed.
+ This was broken by commit 18078d6cce84.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+
+2012-02-09 03:56:50 +0200 Timo Sirainen <tss@iki.fi> (32b60b9c30)
+
+ doveadm mailbox list without pattern shows now all shared and public
+ mailboxes also. doveadm mailbox list '*' shows only the one matching
+ namespace.
+
+
+M src/doveadm/doveadm-mail-list-iter.c
+
+2012-02-09 03:44:09 +0200 Timo Sirainen <tss@iki.fi> (20d255b566)
+
+ mdbox: Fixed finding appendable m.* files in alt storage.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2012-02-09 02:58:36 +0200 Timo Sirainen <tss@iki.fi> (9743e5ac5b)
+
+ mbox: Added mbox_md5 setting to select headers for MD5 generation.
+
+
+M doc/example-config/conf.d/10-mail.conf
+M src/lib-storage/index/mbox/Makefile.am
+A src/lib-storage/index/mbox/mbox-md5-all.c
+R087 src/lib-storage/index/mbox/mbox-md5.c src/lib-storage/index/mbox/mbox-md5-apop3d.c
+M src/lib-storage/index/mbox/mbox-md5.h
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-settings.c
+M src/lib-storage/index/mbox/mbox-settings.h
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-storage.h
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+
+2012-02-09 02:34:23 +0200 Timo Sirainen <tss@iki.fi> (20dbb2d7e1)
+
+ mdbox: Detect duplicate GUIDs for different messages. Don't delete these
+ duplicates. Only the message size is used for detecting if they are
+ duplicates or not, but since this shouldn't normally happen anyway this is
+ good enough.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2012-02-09 02:25:18 +0200 Timo Sirainen <tss@iki.fi> (e43e0a4322)
+
+ mdbox: Small code cleanup to storage rebuild.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2012-02-09 02:21:37 +0200 Timo Sirainen <tss@iki.fi> (5768b83a64)
+
+ mdbox: Avoid deferencing NULL pointer in specific corrupted mailboxes.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2012-02-09 01:23:00 +0200 Timo Sirainen <tss@iki.fi> (79be01e19b)
+
+ dbox: Index rebuild now preserves caching decisions.
+
+
+M src/lib-storage/index/dbox-common/dbox-sync-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+
+2012-02-09 01:21:41 +0200 Timo Sirainen <tss@iki.fi> (cb6b9d1ce0)
+
+ lib-index: mail_cache_open_and_verify() is now public.
+
+
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.h
+
+2012-02-09 01:00:14 +0200 Timo Sirainen <tss@iki.fi> (dbc6f14323)
+
+ dbox: Never rename() mail files over existing files. If such a file exists,
+ rebuild indexes.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+
+2012-02-09 00:59:44 +0200 Timo Sirainen <tss@iki.fi> (8cb627463a)
+
+ mdbox: Fixed initial mailbox creation to work again without errors.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2012-02-09 00:41:25 +0200 Timo Sirainen <tss@iki.fi> (607a8bc272)
+
+ sdbox: Use mail_index_set_ext_init_data() to simplify opening mailboxes. Now
+ the initial mailbox index can be created with the necessary sdbox header. If
+ the header doesn't exist when opening a mailbox, it's guaranteed to be
+ corrupted.
+
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.h
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+
+2012-02-09 00:39:52 +0200 Timo Sirainen <tss@iki.fi> (47e0598840)
+
+ lib-index: Added mail_index_set_ext_init_data() for adding data to index on
+ creation. This can be used to avoid race conditions on mailbox creation for
+ mailbox formats that require this (sdbox).
+
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log-file.c
+
+2012-02-09 00:38:30 +0200 Timo Sirainen <tss@iki.fi> (0b878c6a17)
+
+ Increase initial memory pool sizes.
+
+
+M src/lib-index/mail-cache.c
+M src/lib-master/mountpoint-list.c
+
+2012-02-08 23:27:22 +0200 Timo Sirainen <tss@iki.fi> (2efe19d904)
+
+ director: Fixed potential assert crash when moving a user to another
+ backend.
+
+
+M src/director/main.c
+
+2012-02-08 23:05:26 +0200 Timo Sirainen <tss@iki.fi> (d66ef20c30)
+
+ iostreams: Set errno to stream_errno when exiting from failing functions.
+
+
+M src/lib/istream.c
+M src/lib/ostream.c
+
+2012-02-08 22:50:20 +0200 Timo Sirainen <tss@iki.fi> (2b602d8698)
+
+ doveadm instance remove: Allow removing using name as well as base dir.
+
+
+M src/doveadm/doveadm-instance.c
+
+2012-02-08 22:07:01 +0200 Timo Sirainen <tss@iki.fi> (fca3974477)
+
+ Removed unnecessary code.
+
+
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.h
+
+2012-02-06 22:41:18 +0200 Timo Sirainen <tss@iki.fi> (b18b7c9b35)
+
+ sdbox: Fix a corrupted mailbox when opening it, instead of losing all of its
+ contents.
+
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2012-02-06 21:48:29 +0200 Timo Sirainen <tss@iki.fi> (5f252b9777)
+
+ doveadm instance list: Show the last used field.
+
+
+M src/doveadm/doveadm-instance.c
+
+2012-02-06 21:45:49 +0200 Timo Sirainen <tss@iki.fi> (9b95d675e4)
+
+ lib-master: Removed code to auto-drop instances from the list. There
+ couldn't be any empty named instances, so it was a bit pointless.
+
+
+M src/lib-master/master-instance.c
+M src/lib-master/master-instance.h
+
+2012-02-06 21:42:37 +0200 Timo Sirainen <tss@iki.fi> (b849b2f39b)
+
+ master: If instance_name doesn't begin with "dovecot", add "dovecot-" prefix
+ to process names.
+
+
+M src/master/main.c
+
+2012-02-06 21:39:11 +0200 Timo Sirainen <tss@iki.fi> (96d19229e5)
+
+ lib-master: Added -i parameter to read config by instance name rather than
+ path.
+
+
+M src/lib-master/Makefile.am
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+
+2012-02-06 21:26:55 +0200 Timo Sirainen <tss@iki.fi> (d47a87c927)
+
+ Keep track of what Dovecot instances have been executed and their
+ instance_name. doveadm instance command can be used to list/remove them.
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-instance.c
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+M src/lib-master/Makefile.am
+A src/lib-master/master-instance.c
+A src/lib-master/master-instance.h
+M src/master/main.c
+
+2012-02-06 21:25:37 +0200 Timo Sirainen <tss@iki.fi> (6a3c23e577)
+
+ log: Forgot to add new files to recent commit.
+
+
+A src/log/doveadm-connection.c
+A src/log/doveadm-connection.h
+A src/log/log-error-buffer.c
+A src/log/log-error-buffer.h
+
+2012-02-06 19:34:18 +0200 Timo Sirainen <tss@iki.fi> (3fe7d0c8c0)
+
+ rawlog: Renamed -i / -o parameters to "-f in", "-f out" This is mainly to
+ get give the -i parameter to lib-master.
+
+
+M src/util/rawlog.c
+
+2012-02-06 19:30:12 +0200 Timo Sirainen <tss@iki.fi> (acba68a69c)
+
+ log: Keep track of last 1000 errors/warnings. "doveadm log errors" shows
+ them.
+
+
+M src/doveadm/doveadm-log.c
+M src/log/Makefile.am
+M src/log/log-connection.c
+M src/log/log-connection.h
+M src/log/log-settings.c
+M src/log/main.c
+
+2012-02-06 19:28:40 +0200 Timo Sirainen <tss@iki.fi> (7cecac4162)
+
+ liblib: Added failure_log_type_names[] array.
+
+
+M src/lib/failures.c
+M src/lib/failures.h
+
+2012-02-02 23:22:06 +0200 Timo Sirainen <tss@iki.fi> (2026684bfc)
+
+ pop3c: Fixes to handling filter streams for mail.
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+M src/lib-storage/index/pop3c/pop3c-mail.c
+
+2012-02-02 17:20:02 +0200 Timo Sirainen <tss@iki.fi> (9ec30d84a7)
+
+ istream-seekable: If we panic about stream not being seekable, log the
+ stream name/offset.
+
+
+M src/lib/istream-seekable.c
+
+2012-02-02 17:19:22 +0200 Timo Sirainen <tss@iki.fi> (6d762334a8)
+
+ pop3c: Last message wasn't visible.
+
+
+M src/lib-storage/index/pop3c/pop3c-client.c
+
+2012-02-02 16:50:58 +0200 Timo Sirainen <tss@iki.fi> (067b80dd78)
+
+ imapc: If base_dir isn't set, do a blocking DNS lookup. This is mostly a
+ workaround for being able to run imapc from standalone programs (e.g.
+ doveadm) without running Dovecot.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2012-02-02 16:49:46 +0200 Timo Sirainen <tss@iki.fi> (a8bab607ef)
+
+ lib-imap-client: If dns_client_socket_path isn't given, do a blocking
+ lookup.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2012-02-02 16:46:46 +0200 Timo Sirainen <tss@iki.fi> (c4ac0f2226)
+
+ doveadm fetch: Added support for hdr.*.utf8 fields.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2012-02-02 16:26:33 +0200 Timo Sirainen <tss@iki.fi> (e1a4e5d8da)
+
+ lib-storage: One more crashfix for recent maildir_name/mailbox_dir_name
+ change.
+
+
+M src/lib-storage/mail-storage.c
+
+2012-02-02 15:45:30 +0200 Timo Sirainen <tss@iki.fi> (63cf2e557b)
+
+ auth: Get LDAP attribute names automatically from template's %{ldap:attr}
+ variables.
+
+
+M src/auth/db-ldap.c
+
+2012-02-02 15:44:51 +0200 Timo Sirainen <tss@iki.fi> (93794594bc)
+
+ var_expand*(): Allow table to be NULL (when using only func_table).
+
+
+M src/lib/var-expand.c
+
+2012-02-02 15:28:10 +0200 Timo Sirainen <tss@iki.fi> (c349375340)
+
+ auth: LDAP fields can now access any returned LDAP attribtes with
+ %{ldap:name}
+
+
+M src/auth/db-ldap.c
+
+2012-02-02 15:27:27 +0200 Timo Sirainen <tss@iki.fi> (e130dc7c71)
+
+ liblib: Added var_expand_with_funcs() to expand variables with function
+ callbacks.
+
+
+M src/lib/var-expand.c
+M src/lib/var-expand.h
+
+2012-02-02 15:25:04 +0200 Timo Sirainen <tss@iki.fi> (7c85bb54c1)
+
+ ldap: Crashfixes to previous change.
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+
+2012-02-02 13:26:38 +0200 Timo Sirainen <tss@iki.fi> (e8c279de6e)
+
+ imapc: Crashfix related to recent maildir_name/mailbox_dir_name changes.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2012-02-02 13:12:19 +0200 Timo Sirainen <tss@iki.fi> (9e28e13ae8)
+
+ config: In "key=<path" path is now relative to config file's directory.
+
+
+M src/config/config-parser.c
+
+2012-02-02 01:07:37 +0200 Timo Sirainen <tss@iki.fi> (0a8926b91a)
+
+ ldap: Support using the same LDAP attribute in multiple fields.
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+M src/auth/passdb-ldap.c
+M src/auth/userdb-ldap.c
+
+2012-02-01 23:33:51 +0200 Timo Sirainen <tss@iki.fi> (19b9d763d1)
+
+ sdbox: Fixed moving files from alt storage to primary storage.
+
+
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2012-02-01 23:06:12 +0200 Timo Sirainen <tss@iki.fi> (31ef688a8f)
+
+ stats plugin disabled calling other plugins' user.deinit() method.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2012-02-01 22:18:33 +0200 Timo Sirainen <tss@iki.fi> (63e2075298)
+
+ lib-storage: And another fix to previous maildir_name/mailbox_dir_name
+ changes.
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/mailbox-list.c
+
+2012-02-01 22:04:26 +0200 Timo Sirainen <tss@iki.fi> (a23a481f9d)
+
+ ioloop: I/O and timeout leak messages now include the io_add()/timeout_add()
+ source line number. This helps figuring out the leak especially when using
+ ASLR. Also in 64bit systems there's no increased memory usage, because the
+ line number replaces only padding.
+
+
+M src/lib/ioloop-private.h
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2012-02-01 21:27:45 +0200 Timo Sirainen <tss@iki.fi> (5214b67a7d)
+
+ lib-storage: Crashfix to previous change.
+
+
+M src/lib-storage/mailbox-list.c
+
+2012-02-01 20:30:18 +0200 Timo Sirainen <tss@iki.fi> (318ef3683d)
+
+ lib-storage: Abort index/control/alt root dir creation if mountpoint isn't
+ mounted.
+
+
+M src/lib-master/mountpoint-list.c
+M src/lib-master/mountpoint-list.h
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+M src/lib-storage/mailbox-list.c
+
+2012-02-01 20:21:38 +0200 Timo Sirainen <tss@iki.fi> (10e6b320fe)
+
+ doveadm mount: Renamed "status" command to "list".
+
+
+M src/doveadm/doveadm-mount.c
+
+2012-02-01 20:21:06 +0200 Timo Sirainen <tss@iki.fi> (2e09672364)
+
+ doveadm mount remove: Allow removing a wildcard path with the '*' suffix.
+
+
+M src/doveadm/doveadm-mount.c
+
+2012-02-01 19:29:31 +0200 Timo Sirainen <tss@iki.fi> (680e885bc8)
+
+ Keep track of seen mountpoints and warn at startup if one is missing.
+ doveadm mount commands can be used to manipulate the list.
+
+ The list is kept in $rundir/mounts, but since it may be deleted after a
+ reboot a copy is kept also in $statedir/mounts. If it's not found from
+ $rundir at startup, it's copied there from $statedir. (The reason why only
+ $statedir isn't used is because it's often not world-readable.)
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-mount.c
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+M src/lib-master/Makefile.am
+A src/lib-master/mountpoint-list.c
+A src/lib-master/mountpoint-list.h
+M src/master/main.c
+
+2012-02-01 19:13:04 +0200 Timo Sirainen <tss@iki.fi> (6176f36182)
+
+ doveadm: Added flag to specify which column table formatter expands. The
+ default also was changed to last column, not first.
+
+
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-print.h
+M src/doveadm/doveadm-proxy.c
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm-who.c
+
+2012-02-01 18:57:14 +0200 Timo Sirainen <tss@iki.fi> (4894f02037)
+
+ configure: Added getmntinfo() check for BSD mountpoint iteration.
+
+
+M configure.in
+
+2012-02-01 20:10:42 +0200 Timo Sirainen <tss@iki.fi> (4b8a6aec5f)
+
+ lib-storage: mailbox_list_mkdir_root() API changed. Use it now for creating
+ mail root dir. It was supposed to be used for it previously, but wasn't..
+
+
+M src/lib-storage/index/dbox-common/dbox-sync-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2012-02-01 18:55:54 +0200 Timo Sirainen <tss@iki.fi> (74f436ccd2)
+
+ guid_128_generate(): Use 32bit sha1(host@domain) instead of crc32(hostname)
+
+
+M src/lib/guid.c
+
+2012-01-30 20:09:04 +0200 Timo Sirainen <tss@iki.fi> (7c7d224450)
+
+ Added mountpoint_iter_*() for iterating mounted filesystems.
+
+
+M src/lib/mountpoint.c
+M src/lib/mountpoint.h
+
+2012-01-29 20:33:34 +0000 Pascal Volk <user@localhost.localdomain.org> (eb5a561271)
+
+ man: Added descriptions of -d and -S options to doveconf.1.
+
+
+M doc/man/doveconf.1.in
+
+2012-01-29 01:48:16 +0200 Timo Sirainen <tss@iki.fi> (d10cb4d7a8)
+
+ istream-concat: If EOF is already reached, use that size for stat().st_size
+
+
+M src/lib/istream-seekable.c
+
+2012-01-29 01:37:44 +0200 Timo Sirainen <tss@iki.fi> (34dcdf3644)
+
+ zlib: zlib/bzlib ostreams no longer assert-crash if parent stream becomes
+ full. This fixes assert-crashes with IMAP COMPRESS extension.
+
+
+M src/plugins/zlib/ostream-bzlib.c
+M src/plugins/zlib/ostream-zlib.c
+
+2012-01-29 00:48:43 +0200 Timo Sirainen <tss@iki.fi> (b13d76faf0)
+
+ pop3c: mail.istream_opened() method wasn't being called.
+
+
+M src/lib-storage/index/pop3c/pop3c-mail.c
+
+2012-01-29 00:35:40 +0200 Timo Sirainen <tss@iki.fi> (c08a1a5e38)
+
+ mdbox: Don't lose save_dates when rebuilding indexes.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2012-01-29 00:30:23 +0200 Timo Sirainen <tss@iki.fi> (162dfa2d7b)
+
+ zlib+mbox: Fixed error handling when opening nonexistent/directory mailbox.
+
+
+M src/plugins/zlib/zlib-plugin.c
+
+2012-01-28 23:58:50 +0200 Timo Sirainen <tss@iki.fi> (b104354c4a)
+
+ imap: CONTEXT search return option wasn't handled at all.
+
+
+M src/imap/imap-search.c
+
+2012-01-28 23:46:49 +0200 Timo Sirainen <tss@iki.fi> (f71c2d4e6b)
+
+ mdbox: Check that m.X file doesn't have garbage at end of file when saving
+ new data to it.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.h
+
+2012-01-28 22:39:58 +0200 Timo Sirainen <tss@iki.fi> (5d4aac94c8)
+
+ dsync: Fixed handling non-ASCII characters in mailbox names.
+
+
+M src/doveadm/dsync/dsync-worker-local.c
+
+2012-01-28 22:24:26 +0200 Timo Sirainen <tss@iki.fi> (c45852c0ee)
+
+ doveconf: Added -d parameter for dumping default settings.
+
+
+M src/config/config-parser-private.h
+M src/config/config-parser.c
+M src/config/doveconf.c
+
+2012-01-28 22:05:52 +0200 Timo Sirainen <tss@iki.fi> (cc4087c4d7)
+
+ sql: Fixed retrying query when multiple hosts were specified and all of them
+ got disconnected.
+
+
+M src/lib-sql/driver-sqlpool.c
+
+2012-01-28 20:21:10 +0200 Timo Sirainen <tss@iki.fi> (f9127f033d)
+
+ lib-storage: Thread iteration no longer returns dummy nodes without
+ children. This fixes returning (0) nodes to IMAP client.
+
+
+M src/lib-storage/index/index-thread-finish.c
+
+2012-01-28 20:08:40 +0200 Timo Sirainen <tss@iki.fi> (928f1abfd7)
+
+ restrict_access(): If privileged and primary GIDs are the same, ignore
+ privileged GID.
+
+
+M src/lib/restrict-access.c
+
+2012-01-28 19:48:48 +0200 Timo Sirainen <tss@iki.fi> (0e454b53e6)
+
+ dsync: If brain fails but workers don't, exit without assert-crashing.
+
+
+M src/doveadm/dsync/dsync-brain.c
+
+2012-01-28 19:44:24 +0200 Timo Sirainen <tss@iki.fi> (63a5064115)
+
+ dsync: Don't crash if one source has indexes disabled.
+
+
+M src/doveadm/dsync/dsync-worker-local.c
+
+2012-01-28 19:25:32 +0200 Timo Sirainen <tss@iki.fi> (884275d777)
+
+ smtp client: Do DNS blocking lookups. We don't currently have access to
+ base_dir, so we can't know what the path to dns-client is. Also smtp client
+ is a blocking operation anyway, so doing a blocking DNS lookup isn't a
+ problem.
+
+
+M src/lib-lda/smtp-client.c
+
+2012-01-28 19:24:17 +0200 Timo Sirainen <tss@iki.fi> (4d406197fd)
+
+ smtp/lmtp client: If dns-client socket path isn't given, use blocking
+ lookup.
+
+
+M src/lib-lda/lmtp-client.c
+
+2012-01-28 19:00:56 +0200 Timo Sirainen <tss@iki.fi> (7fa561fecd)
+
+ fs layout: Handle properly returning path when there is no root dir.
+
+
+M src/lib-storage/list/mailbox-list-fs.c
+
+2012-01-27 23:33:00 +0200 Timo Sirainen <tss@iki.fi> (321f17803a)
+
+ master: Throttle rapid exit failures only if there have never been any exit
+ successes. This should still catch buggy services without allowing
+ intentional DoSing.
+
+
+M src/master/service-monitor.c
+M src/master/service.h
+
+2012-01-27 23:26:42 +0200 Timo Sirainen <tss@iki.fi> (cb211cc64c)
+
+ master: Make service throttling seconds incremental, starting from 2 secs.
+
+
+M src/master/service-monitor.c
+M src/master/service.c
+M src/master/service.h
+
+2012-01-27 23:22:22 +0200 Timo Sirainen <tss@iki.fi> (870bcf0d0c)
+
+ master: If 10 service processes die within a second with no successes
+ inbetween, throttle the service.
+
+
+M src/master/service-monitor.c
+M src/master/service.h
+
+2012-01-27 22:15:29 +0200 Timo Sirainen <tss@iki.fi> (b71b9e5cd0)
+
+ auth: Monitor how fast userdb passwd lookups are. If they're too slow,
+ suggest blocking=yes
+
+
+M src/auth/userdb-passwd.c
+
+2012-01-27 21:52:30 +0200 Timo Sirainen <tss@iki.fi> (357c7ddd0a)
+
+ auth: If parsing passwd-file takes a long time, log a warning.
+
+
+M src/auth/db-passwd-file.c
+
+2012-01-27 19:31:58 +0200 Timo Sirainen <tss@iki.fi> (80980955bb)
+
+ login proxy: If remote auth fails, say so in disconnect message instead of
+ "internal failure".
+
+
+M src/imap-login/imap-proxy.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/pop3-login/pop3-proxy.c
+
+2012-01-27 17:16:46 +0200 Timo Sirainen <tss@iki.fi> (cec5e44a75)
+
+ dovecot-config: Added missing lib-dns and lib-fs to LIBDOVECOT_INCLUDE
+
+
+M dovecot-config.in.in
+
+2012-01-27 15:44:06 +0200 Timo Sirainen <tss@iki.fi> (cf77eee4f4)
+
+ sdbox: Preserve file's atime/mtime when moving it to alt storage.
+
+
+M src/lib-storage/index/dbox-single/sdbox-file.c
+
+2012-01-27 14:46:38 +0200 Timo Sirainen <tss@iki.fi> (ac2b94f3b7)
+
+ imapc: If imapc_host is IP, don't look it up via dns-client service.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2012-01-27 14:35:38 +0200 Timo Sirainen <tss@iki.fi> (78a12e15c8)
+
+ example-config: mdbox_rotate_interval default was wrong.
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2012-01-27 14:17:32 +0200 Timo Sirainen <tss@iki.fi> (ac45ba9c60)
+
+ login: More verbose_auth -> auth_verbose changes.
+
+
+M src/imap-login/imap-proxy.c
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/pop3-proxy.c
+
+2012-01-27 14:15:30 +0200 Timo Sirainen <tss@iki.fi> (73f70e35b7)
+
+ login: If auth_debug_passwords=yes, assume auth_debug/auth_verbose=yes
+
+
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+
+2012-01-27 14:15:06 +0200 Timo Sirainen <tss@iki.fi> (b112698879)
+
+ login process wasn't logging all intended messages with auth_verbose=yes It
+ was named verbose_auth setting accidentally.
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-openssl.c
+
+2012-01-27 02:42:50 +0200 Timo Sirainen <tss@iki.fi> (297959b63f)
+
+ imapc: If server doesn't support GUIDs, return empty GUID rather than fail.
+ This is how other backends do it as well.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2012-01-26 21:43:27 +0200 Timo Sirainen <tss@iki.fi> (f33d37b678)
+
+ doveadm fetch hdr.*.adddress*: Don't crash when printing groups.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2012-01-26 21:25:39 +0200 Timo Sirainen <tss@iki.fi> (cf1c3e6833)
+
+ doveadm fetch: hdr.*.address and hdr.*.address_name expand to parsed mail
+ addresses.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2012-01-26 20:46:44 +0200 Timo Sirainen <tss@iki.fi> (9e952e5d80)
+
+ doveadm fetch text.utf8: Don't return failure on success.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2012-01-26 20:19:32 +0200 Timo Sirainen <tss@iki.fi> (46d283ef53)
+
+ doveadm fetch: Added text.utf8 field, which translates headers/body to
+ UTF-8.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2012-01-26 16:37:40 +0200 Timo Sirainen <tss@iki.fi> (8e0265f999)
+
+ auth: Added PLAIN-TRUNC password schmee. The idea is to allow successful
+ authentication when the original plaintext password was stored truncated in
+ the database. So e.g. user gave 123456789 as password, but database
+ truncated it to 12345678. To make this authentication work,
+ {PLAIN-TRUNC}8-12345678 password allows successful authentication with any
+ password that begins with 12345678. With the "8-" prefix this prefix
+ matching is done only when the password after it is exactly 8 characters.
+
+
+M src/auth/password-scheme.c
+
+2012-01-26 15:41:23 +0200 Timo Sirainen <tss@iki.fi> (eab3cb1db0)
+
+ Makefile: Added UnicodeData.txt dependency to unicodemap.c.
+
+
+M src/lib/Makefile.am
+
+2012-01-26 00:44:41 +0200 Timo Sirainen <tss@iki.fi> (21c2eb82a9)
+
+ Added signature for changeset 0f10b3ed5c18
+
+
+M .hgsigs
+
+2012-01-26 00:44:04 +0200 Timo Sirainen <tss@iki.fi> (dccd61960e)
+
+ Added tag 2.1.rc5 for changeset 0f10b3ed5c18
+
+
+M .hgtags
+
+2012-01-26 00:44:04 +0200 Timo Sirainen <tss@iki.fi> (b97b9b7d4e)
+
+ Released v2.1.rc5.
+
+
+M NEWS
+M configure.in
+
+2012-01-26 00:37:42 +0200 Timo Sirainen <tss@iki.fi> (4199f701aa)
+
+ maildir: When saving mails compressed, make sure ,S=size gets added to the
+ filename.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2012-01-25 23:45:02 +0200 Timo Sirainen <tss@iki.fi> (a39292e641)
+
+ lib-storage: Message size lookups from cache was broken if fields weren't in
+ "normal" order in file.
+
+
+M src/lib-storage/index/index-mail.c
+
+2012-01-24 17:28:14 +0200 Timo Sirainen <tss@iki.fi> (69b602ccbc)
+
+ Added signature for changeset a20a99b8815d
+
+
+M .hgsigs
+
+2012-01-24 17:28:10 +0200 Timo Sirainen <tss@iki.fi> (eb8bdbb83f)
+
+ Added tag 2.1.rc4 for changeset a20a99b8815d
+
+
+M .hgtags
+
+2012-01-24 17:28:10 +0200 Timo Sirainen <tss@iki.fi> (5956aa5604)
+
+ Released v2.1.rc4.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2012-01-24 16:37:24 +0200 Timo Sirainen <tss@iki.fi> (df3977bb1e)
+
+ Dead code removal.
+
+
+M src/lib-storage/list/mailbox-list-index.c
+
+2012-01-24 15:30:47 +0200 Timo Sirainen <tss@iki.fi> (e4e1215d1c)
+
+ lib-index: Handle broken ext-header updates without crashing.
+
+
+M src/lib-index/mail-index-sync-ext.c
+
+2012-01-24 03:52:28 +0200 Timo Sirainen <tss@iki.fi> (ec5319ff8e)
+
+ zlib: Getting stream's size failed in some situations. This could have
+ caused other trouble, such as with dbox + mail_attachment_dir.
+
+
+M src/plugins/zlib/istream-bzlib.c
+M src/plugins/zlib/istream-zlib.c
+
+2012-01-24 03:51:20 +0200 Timo Sirainen <tss@iki.fi> (4a962dccf2)
+
+ dbox: Minor code correctness fix.
+
+
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+
+2012-01-24 03:50:36 +0200 Timo Sirainen <tss@iki.fi> (cfe60fe6ee)
+
+ istream-mail: Skip checking if cached message size is wrong if parent stream
+ returns error. An error is not the same as EOF.
+
+
+M src/lib-storage/index/istream-mail.c
+
+2012-01-24 03:49:03 +0200 Timo Sirainen <tss@iki.fi> (6cc5a850bb)
+
+ istream-concat: If looking up stream's size fails, log an error and handle
+ it as error, not EOF.
+
+
+M src/lib/istream-concat.c
+
+2012-01-22 21:38:48 +0200 Timo Sirainen <tss@iki.fi> (7fa573e6ea)
+
+ login: Make SASL auth buffer size define public.
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+
+2012-01-21 22:23:28 +0200 Timo Sirainen <tss@iki.fi> (83e6a1162f)
+
+ pop3c: Change the default port to 110, not 143.
+
+
+M src/lib-storage/index/pop3c/pop3c-settings.c
+
+2012-01-21 18:57:31 +0200 Timo Sirainen <tss@iki.fi> (56aa97d740)
+
+ pop3c: Fixed to work without indexes.
+
+
+M src/lib-storage/index/pop3c/pop3c-storage.c
+
+2012-01-21 18:31:25 +0200 Timo Sirainen <tss@iki.fi> (2e78f05b11)
+
+ imap-login: Fixed handling second AUTHENTICATE command when the first one
+ failed.
+
+
+M src/imap-login/client-authenticate.c
+M src/imap-login/client-authenticate.h
+M src/imap-login/client.c
+M src/imap-login/client.h
+M src/login-common/client-common-auth.c
+
+2012-01-21 00:43:13 +0200 Timo Sirainen <tss@iki.fi> (1f09437dac)
+
+ lmtp: Fixed assert-crashing on 3rd client connection.
+
+
+M src/lmtp/client.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2012-01-21 00:27:52 +0200 Timo Sirainen <tss@iki.fi> (ffaa309c21)
+
+ lmtp: Make core dumping work also after the first mail delivery.
+
+
+M src/lmtp/commands.c
+M src/lmtp/main.c
+M src/lmtp/main.h
+
+2012-01-20 22:12:48 +0200 Timo Sirainen <tss@iki.fi> (b991f3c492)
+
+ fs layout: Fixed listing child mailboxes when children flags weren't
+ requested.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-01-20 21:57:30 +0200 Timo Sirainen <tss@iki.fi> (9706def243)
+
+ fs layout: Don't list subscriptions file as a mailbox.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-01-20 21:13:00 +0200 Timo Sirainen <tss@iki.fi> (87346782e8)
+
+ notify plugin: Don't crash if user-plugin didn't set mailbox_rename. Patch
+ by Ewald Dieterich.
+
+
+M src/plugins/notify/notify-plugin.c
+
+2012-01-20 21:11:09 +0200 Timo Sirainen <tss@iki.fi> (95c4f06cba)
+
+ notify plugin: Added mailbox_update and mailbox_set_subscribed
+ notifications.
+
+
+M src/plugins/notify/notify-plugin-private.h
+M src/plugins/notify/notify-plugin.c
+M src/plugins/notify/notify-plugin.h
+M src/plugins/notify/notify-storage.c
+
+2012-01-20 18:59:16 +0200 Timo Sirainen <tss@iki.fi> (d646824bfe)
+
+ master: Added instance_name setting, which is used to prefix processes in ps
+ output.
+
+
+M doc/example-config/dovecot.conf
+M src/master/main.c
+M src/master/master-settings.c
+M src/master/master-settings.h
+
+2012-01-20 18:44:49 +0200 Timo Sirainen <tss@iki.fi> (3ec16f23d3)
+
+ mysql: If query fails with "MySQL server gone away", log also how long it
+ idled.
+
+
+M src/lib-sql/driver-mysql.c
+
+2012-01-20 18:28:40 +0200 Timo Sirainen <tss@iki.fi> (3a7113e3e2)
+
+ auth: Make idle_kill work with auth worker processes.
+
+
+M src/auth/auth-common.h
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-client.h
+M src/auth/auth-worker-server.c
+M src/auth/main.c
+M src/auth/passdb-pam.c
+
+2012-01-20 18:27:44 +0200 Timo Sirainen <tss@iki.fi> (0161376aac)
+
+ lib-master: Send service's idle_kill value to process in environment.
+
+
+M src/lib-master/master-interface.h
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+M src/master/service-process.c
+
+2012-01-20 18:14:43 +0200 Timo Sirainen <tss@iki.fi> (9e291f6a7c)
+
+ Typofix.
+
+
+M src/master/service-process.c
+
+2012-01-20 18:09:54 +0200 Timo Sirainen <tss@iki.fi> (db811399bd)
+
+ fts: Run decoder script with 10 second alarm.
+
+
+M src/plugins/fts/fts-parser-script.c
+
+2012-01-20 18:09:41 +0200 Timo Sirainen <tss@iki.fi> (8656ae1d89)
+
+ script: Set alarm() for the script being run only if alarm=<secs> parameter
+ is given.
+
+
+M src/util/script.c
+
+2012-01-20 17:56:32 +0200 Timo Sirainen <tss@iki.fi> (57d39b72f7)
+
+ decode2text.sh: Hide catdoc/catppt/xls2csv segmentation faults. We can't do
+ anything about them anyway.
+
+
+M src/plugins/fts/decode2text.sh
+
+2012-01-20 17:42:47 +0200 Timo Sirainen <tss@iki.fi> (53dff078a5)
+
+ imap, pop3: Added -t parameter to specify post-login script timeout.
+
+
+M src/imap/main.c
+M src/lib-master/master-login.c
+M src/lib-master/master-login.h
+M src/pop3/main.c
+
+2012-01-20 17:42:15 +0200 Timo Sirainen <tss@iki.fi> (db0d5253bf)
+
+ script-login: If we fail to finish, exit with 0 to avoid master logging
+ error unnecessarily.
+
+
+M src/util/script-login.c
+
+2012-01-20 17:06:06 +0200 Timo Sirainen <tss@iki.fi> (15093714cd)
+
+ Maildir++ quota: Close maildirsize file after writing to it to force NFS to
+ write it. This should fix the "Stale NFS file handle" errors with
+ maildirsize.
+
+
+M src/plugins/quota/quota-maildir.c
+
+2012-01-20 16:54:17 +0200 Timo Sirainen <tss@iki.fi> (3f9473b9cf)
+
+ eacces_error(): Removed bogus message about UNIX perms appearing to be ok.
+
+
+M src/lib/eacces-error.c
+
+2012-01-20 16:40:06 +0200 Timo Sirainen <tss@iki.fi> (84de4076ab)
+
+ lib-auth: Don't log the "auth connection closed" warning if there were 0
+ non-aborted requests.
+
+
+M src/lib-auth/auth-server-connection.c
+
+2012-01-20 16:37:10 +0200 Timo Sirainen <tss@iki.fi> (9ddd3d7d86)
+
+ lib-auth: Improved warning message about aborting auth requests.
+
+
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client-request.h
+M src/lib-auth/auth-client.c
+M src/lib-auth/auth-client.h
+M src/lib-auth/auth-server-connection.c
+M src/lib-auth/auth-server-connection.h
+M src/login-common/client-common.c
+M src/login-common/main.c
+
+2012-01-19 17:46:52 +0200 Timo Sirainen <tss@iki.fi> (f93c833d64)
+
+ auth: Throttle SQL auth worker process creation if they can't connect to
+ database.
+
+
+M src/auth/auth-settings.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-client.h
+M src/auth/auth-worker-server.c
+M src/auth/db-sql.c
+M src/auth/db-sql.h
+M src/auth/main.c
+M src/auth/passdb-sql.c
+M src/auth/userdb-sql.c
+
+2012-01-19 16:33:13 +0200 Timo Sirainen <tss@iki.fi> (b624773984)
+
+ auth: Show a better auth worker process title.
+
+
+M src/auth/auth-common.h
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-client.h
+M src/auth/main.c
+
+2012-01-19 16:17:52 +0200 Timo Sirainen <tss@iki.fi> (de0022ee12)
+
+ auth: Avoid adding duplicate extra fields to auth replies. This especially
+ fixes default_fields/override_fields.
+
+
+M src/auth/auth-request.c
+
+2012-01-19 16:16:56 +0200 Timo Sirainen <tss@iki.fi> (b4205cfdf6)
+
+ auth: Minor optimization.
+
+
+M src/auth/auth-stream.c
+M src/auth/auth-stream.h
+M src/auth/userdb-blocking.c
+
+2012-01-19 16:15:03 +0200 Timo Sirainen <tss@iki.fi> (d9fe793686)
+
+ auth: Don't crash when setting valueless default/override_fields to passdb.
+
+
+M src/auth/passdb-template.c
+
+2012-01-19 15:53:42 +0200 Timo Sirainen <tss@iki.fi> (decb23442f)
+
+ imap-login: Handle SASL-IR without overflowing master_auth_request's buffer.
+
+
+M src/imap-login/client-authenticate.c
+M src/imap-login/client-authenticate.h
+M src/imap-login/client.c
+M src/imap-login/client.h
+M src/lib-master/master-auth.h
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.h
+
+2012-01-19 15:41:16 +0200 Timo Sirainen <tss@iki.fi> (0ad9d535b0)
+
+ lib-auth: Treat cert_username="" and initial_resp_base64="" the same as
+ NULLs.
+
+
+M src/lib-auth/auth-client-request.c
+
+2012-01-18 23:44:40 +0200 Timo Sirainen <tss@iki.fi> (964c86de71)
+
+ auth: Log a warning if userdb ldap isn't used, but user_* or iterate_*
+ aren't defaults. This is intended to stop people from wondering why their
+ changes don't do anything.
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+M src/auth/passdb-ldap.c
+M src/auth/userdb-ldap.c
+
+2012-01-18 23:36:13 +0200 Timo Sirainen <tss@iki.fi> (e665999b75)
+
+ auth: Log a warning if userdb sql isn't used, but user_query or
+ iterate_query isn't default. This is intended to stop people from wondering
+ why user_query doesn't do anything.
+
+
+M src/auth/db-sql.c
+M src/auth/db-sql.h
+M src/auth/passdb-sql.c
+M src/auth/userdb-sql.c
+
+2012-01-18 17:58:53 +0200 Timo Sirainen <tss@iki.fi> (0af68ff334)
+
+ fs layout: Don't crash in mailbox listing if there are only invalid
+ patterns.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2012-01-18 16:52:14 +0200 Timo Sirainen <tss@iki.fi> (fd42aa358a)
+
+ lib-lda: Added %e / %{from_envelope} variable to deliver_log_format.
+
+
+M src/lib-lda/mail-deliver.c
+
+2012-01-18 16:51:22 +0200 Timo Sirainen <tss@iki.fi> (e8dc3747de)
+
+ lib-storage: Preserve from_envelope in save context's dest_mail even if it's
+ temporary. This allows looking it up while the mail is being saved.
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-storage.c
+
+2012-01-18 14:21:53 +0200 Timo Sirainen <tss@iki.fi> (3a79fdaf32)
+
+ master: Show the process_limit / client_limit value when logging that it's
+ been reached.
+
+
+M src/master/service-monitor.c
+
+2012-01-17 23:34:31 +0200 Timo Sirainen <tss@iki.fi> (1bb1570606)
+
+ lmtp: Removed unnecessary code.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2012-01-17 23:34:22 +0200 Timo Sirainen <tss@iki.fi> (68b7881857)
+
+ lib-lda: Fixed LMTP client hanging on sending large mails.
+
+
+M src/lib-lda/lmtp-client.c
+
+2012-01-17 23:12:26 +0200 Timo Sirainen <tss@iki.fi> (05c32766db)
+
+ lmtp: Get banner text from login_greeting setting.
+
+
+M src/lmtp/client.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2012-01-17 23:11:16 +0200 Timo Sirainen <tss@iki.fi> (19cadcc25c)
+
+ lib-storage: Added mail_storage_service_get_var_expand_table().
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2012-01-17 22:54:11 +0200 Timo Sirainen <tss@iki.fi> (433f5c9cc5)
+
+ director: Added timeout to syncing to make sure we don't hang if it somehow
+ gets lost.
+
+
+M src/director/director-connection.c
+M src/director/director.c
+M src/director/director.h
+
+2012-01-17 22:21:57 +0200 Timo Sirainen <tss@iki.fi> (fe201fb181)
+
+ director: Make sure ring syncing doesn't get lost when directors get
+ disconnected.
+
+
+M src/director/director-connection.c
+
+2012-01-17 17:20:07 +0200 Timo Sirainen <tss@iki.fi> (2b24597675)
+
+ auth: DIGEST-MD5 supports authorization id now. Patch by Yubao Liu.
+
+
+M src/auth/mech-digest-md5.c
+
+2012-01-17 17:17:24 +0200 Timo Sirainen <tss@iki.fi> (802d296fb5)
+
+ auth: DIGEST-MD5 didn't read nonce-count parameter correctly. Patch by Yubao
+ Liu.
+
+
+M src/auth/mech-digest-md5.c
+
+2012-01-17 16:18:05 +0200 Timo Sirainen <tss@iki.fi> (69b22a0c0c)
+
+ director: Drop privileges only after adding hosts. This allows reading files
+ from /etc/ before chrooting.
+
+
+M src/director/main.c
+
+2012-01-17 16:07:13 +0200 Timo Sirainen <tss@iki.fi> (8ff9812659)
+
+ auth: Fixed loading passdb/userdb plugins. Patch by Stephan Bosch.
+
+
+M src/auth/passdb.c
+M src/auth/userdb.c
+
+2012-01-17 15:44:26 +0200 Timo Sirainen <tss@iki.fi> (c4900d3138)
+
+ director: Find director's own IP earlier in init.
+
+
+M src/director/director.c
+M src/director/director.h
+M src/director/main.c
+
+2012-01-12 23:09:25 +0200 Timo Sirainen <tss@iki.fi> (f3dccddb8a)
+
+ dsync: Fixed handling -u parameter in backwards compatibility dsync mode.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2012-01-12 21:53:31 +0200 Timo Sirainen <tss@iki.fi> (b9c76fe9d9)
+
+ login: Added logging if auth process doesn't respond fast enough for
+ greeting.
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+
+2012-01-12 15:40:30 +0200 Timo Sirainen <tss@iki.fi> (4c1279dba7)
+
+ example-config: Updated vsz_limit default values.
+
+
+M doc/example-config/conf.d/10-master.conf
+
+2012-01-11 12:07:44 +0200 Timo Sirainen <tss@iki.fi> (18f1bbf059)
+
+ login proxy: Added extra logging for bug detection.
+
+
+M src/login-common/client-common-auth.c
+
+2012-01-11 10:31:25 +0200 Timo Sirainen <tss@iki.fi> (967561920e)
+
+ configure: Add -fno-builtin-strftime flag with gcc to avoid warning.
+
+
+M configure.in
+
+2012-01-10 23:34:43 +0200 Timo Sirainen <tss@iki.fi> (1f696b6f36)
+
+ Compiler warning fix.
+
+
+M src/lib/iostream-rawlog.c
+
+2012-01-10 23:30:36 +0200 Timo Sirainen <tss@iki.fi> (dded61056a)
+
+ decode2text.sh: Exit with 0 even if the decoding failed. There's nothing to
+ be done anyway, since they are external programs. These errors just flood
+ the error log unnecessarily.
+
+
+M src/plugins/fts/decode2text.sh
+
+2012-01-10 23:28:03 +0200 Timo Sirainen <tss@iki.fi> (6a1ecaf2ff)
+
+ Don't assert-crash on mail search if decomposed titlecase of search key is
+ empty.
+
+
+M src/lib-mail/message-search.c
+M src/lib-mail/message-search.h
+M src/lib-storage/index/index-search.c
+
+2012-01-10 23:14:18 +0200 Timo Sirainen <tss@iki.fi> (46c6ebbfaf)
+
+ quota: Try to avoid logging NFS stale fhandle errors when closing
+ maildirsize file.
+
+
+M src/plugins/quota/quota-maildir.c
+
+2012-01-10 23:10:04 +0200 Timo Sirainen <tss@iki.fi> (0a5a9ccc0a)
+
+ imap/pop3-login: Include hostname and timestamp in "temporary auth failure"
+ message.
+
+
+M src/imap-login/client-authenticate.c
+M src/pop3-login/client-authenticate.c
+
+2012-01-10 22:57:09 +0200 Timo Sirainen <tss@iki.fi> (b1f37113a5)
+
+ Use t_strflocaltime() where possible.
+
+
+M src/doveadm/doveadm-util.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib/iostream-rawlog.c
+M src/util/rawlog.c
+
+2012-01-10 22:51:52 +0200 Timo Sirainen <tss@iki.fi> (c3c07d6527)
+
+ Added t_strflocaltime().
+
+
+M src/lib/macros.h
+M src/lib/time-util.c
+M src/lib/time-util.h
+
+2012-01-10 21:39:13 +0200 Timo Sirainen <tss@iki.fi> (c2a5b91e07)
+
+ master: default_idle_kill setting wasn't "time" type.
+
+
+M src/master/master-settings.c
+
+2012-01-10 21:37:54 +0200 Timo Sirainen <tss@iki.fi> (152db3f90f)
+
+ director: If request is timed out, log an error.
+
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director-request.h
+M src/director/director.c
+M src/director/director.h
+M src/director/login-connection.c
+
+2012-01-10 13:12:08 +0200 Timo Sirainen <tss@iki.fi> (39dc1412c1)
+
+ s/Fallbacking/Falling back/
+
+
+M src/auth/auth-request.c
+
+2012-01-10 02:27:26 +0200 Timo Sirainen <tss@iki.fi> (1e143a6606)
+
+ fts-solr: Make sure header name is lowercased in search queries.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2012-01-10 00:34:09 +0200 Timo Sirainen <tss@iki.fi> (77f1da4b5e)
+
+ login proxy: If server disconnects during auth, log the connection duration.
+
+
+M src/login-common/client-common-auth.c
+
+2012-01-09 23:57:25 +0200 Timo Sirainen <tss@iki.fi> (19d01d72f9)
+
+ master: "Out of memory" message shows now the service {} block around
+ vsz_limit.
+
+
+M src/master/service-process.c
+
+2012-01-09 21:10:35 +0200 Timo Sirainen <tss@iki.fi> (5c6aa687a3)
+
+ imapc: Added imapc_master_user setting.
+
+
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2012-01-09 21:10:30 +0200 Timo Sirainen <tss@iki.fi> (b988298ba2)
+
+ imapc: Treat master_user="" the same as NULL.
+
+
+M src/lib-imap-client/imapc-client.c
+
+2012-01-09 20:53:51 +0200 Timo Sirainen <tss@iki.fi> (d82300014d)
+
+ auth: Check also masterdbs when checking if auth mechanism can be used.
+ Patch by Yubao Liu
+
+
+M src/auth/auth.c
+
+2012-01-09 20:31:53 +0200 Timo Sirainen <tss@iki.fi> (520398a73e)
+
+ lib-lda: Make lmtp_client_state_to_string() more verbose.
+
+
+M src/lib-lda/lmtp-client.c
+
+2012-01-09 16:35:22 +0200 Timo Sirainen <tss@iki.fi> (27abb44a48)
+
+ auth: Implemented support for Postfix's "TCP map" sockets for user existence
+ lookups.
+
+
+M src/auth/Makefile.am
+A src/auth/auth-postfix-connection.c
+A src/auth/auth-postfix-connection.h
+M src/auth/main.c
+
+2012-01-09 16:29:37 +0200 Timo Sirainen <tss@iki.fi> (29d4c6eac1)
+
+ auth: Use linked list instead of array for storing list of auth connections.
+ With arrays the removal was slower than necessary.
+
+
+M src/auth/auth-client-connection.c
+M src/auth/auth-client-connection.h
+M src/auth/auth-master-connection.c
+M src/auth/auth-master-connection.h
+M src/auth/main.c
+
+2012-01-07 20:28:42 +0200 Timo Sirainen <tss@iki.fi> (f571a68a00)
+
+ Removed unnecessary code.
+
+
+M src/auth/auth-request.c
+
+2012-01-06 21:34:36 +0200 Timo Sirainen <tss@iki.fi> (33e6cf3a27)
+
+ Added signature for changeset 5398bdb8613f
+
+
+M .hgsigs
+
+2012-01-06 21:34:33 +0200 Timo Sirainen <tss@iki.fi> (566856debd)
+
+ Added tag 2.1.rc3 for changeset 5398bdb8613f
+
+
+M .hgtags
+
+2012-01-06 21:34:33 +0200 Timo Sirainen <tss@iki.fi> (a246e7eb8d)
+
+ Released v2.1.rc3.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2012-01-06 20:39:48 +0200 Timo Sirainen <tss@iki.fi> (44d230b62b)
+
+ Compiler warning fix.
+
+
+M src/lib-storage/mail-storage.c
+
+2012-01-06 19:54:03 +0200 Timo Sirainen <tss@iki.fi> (cdc2cb6a95)
+
+ Make static analyzer happier.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+M src/doveadm/dsync/dsync-proxy.c
+
+2012-01-06 19:29:23 +0200 Timo Sirainen <tss@iki.fi> (e9ac518aaf)
+
+ master: log/anvil listener names weren't set correctly. Also this fixes a
+ long standing static analyzer "error".
+
+
+M src/master/service-process.c
+
+2012-01-06 19:15:03 +0200 Timo Sirainen <tss@iki.fi> (b951c707c9)
+
+ Makefile: added missing file
+
+
+M src/doveadm/dsync/Makefile.am
+
+2012-01-06 16:02:36 +0200 Timo Sirainen <tss@iki.fi> (c7a44fd90e)
+
+ Added signature for changeset a14b7333ae45
+
+
+M .hgsigs
+
+2012-01-06 16:02:33 +0200 Timo Sirainen <tss@iki.fi> (eb274150f1)
+
+ Added tag 2.1.rc2 for changeset a14b7333ae45
+
+
+M .hgtags
+
+2012-01-06 16:02:33 +0200 Timo Sirainen <tss@iki.fi> (7069d9d6a9)
+
+ Released v2.1.rc2.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2012-01-06 16:00:45 +0200 Timo Sirainen <tss@iki.fi> (a7908708f2)
+
+ log: Removed unnecessary code.
+
+
+M src/log/log-connection.c
+
+2012-01-06 15:23:53 +0200 Timo Sirainen <tss@iki.fi> (8774bcd222)
+
+ mail-log: Log all mail deliveries with "save" event, even if it happened via
+ copying.
+
+
+M src/plugins/mail-log/mail-log-plugin.c
+
+2012-01-06 15:23:12 +0200 Timo Sirainen <tss@iki.fi> (4f9b0e8c6a)
+
+ lib-lda: Use mailbox_save_using_mail() instead of mailbox_copy() for saving
+ mails.
+
+
+M src/lib-lda/mail-deliver.c
+
+2012-01-06 15:22:52 +0200 Timo Sirainen <tss@iki.fi> (00aaafa861)
+
+ lib-storage: Added mailbox_save_using_mail()
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2012-01-06 15:17:20 +0200 Timo Sirainen <tss@iki.fi> (abec3f4c5e)
+
+ lib-storage: Renamed mail_save_context.copying to copying_via_save.
+
+
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-storage-private.h
+M src/plugins/notify/notify-storage.c
+M src/plugins/quota/quota-storage.c
+
+2012-01-06 14:24:06 +0200 Timo Sirainen <tss@iki.fi> (ad58b50aef)
+
+ doveadm: Hide "dsync-server" from list of commands.
+
+
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/dsync/doveadm-dsync.c
+
+2012-01-06 14:21:25 +0200 Timo Sirainen <tss@iki.fi> (e7f1fd99f7)
+
+ doveadm: Renamed dsync commands.
+
+
+M src/doveadm/dsync/doveadm-dsync.c
+
+2012-01-06 13:50:07 +0200 Timo Sirainen <tss@iki.fi> (533929e773)
+
+ auth: If master_user is specified by userdb, don't add another one to reply.
+ The one specified by userdb should have overridden the other one though.
+
+
+M src/auth/auth-request-handler.c
+
+2012-01-06 13:26:30 +0200 Timo Sirainen <tss@iki.fi> (6c973cffb4)
+
+ fts-solr: Avoid using too much memory unnecessarily. Log a warning about
+ huge headers.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2012-01-06 13:09:51 +0200 Timo Sirainen <tss@iki.fi> (2d21dcbbcd)
+
+ istream-data: Avoid assert crashing due to recently added assert.
+
+
+M src/lib/istream-data.c
+
+2012-01-04 17:26:25 +0200 Timo Sirainen <tss@iki.fi> (d200ae8714)
+
+ lib-index: Avoid assert-crashing on keyword-update record with empty
+ keyword.
+
+
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-transaction-log-view.c
+
+2012-01-04 16:46:12 +0200 Timo Sirainen <tss@iki.fi> (3aa7a4817f)
+
+ dsync: Don't remove other namespaces entirely, just skip the unwanted ones.
+ This fixes incorrectly removing subscriptions=no namespaces entries from
+ subscriptions.
+
+
+M src/doveadm/dsync/dsync-worker-local.c
+
+2012-01-04 15:22:26 +0200 Timo Sirainen <tss@iki.fi> (eacce22762)
+
+ imap-acl: Don't log errors when trying to change ACLs for nonexistent
+ mailboxes.
+
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+
+2012-01-04 15:08:39 +0200 Timo Sirainen <tss@iki.fi> (e3a4539a3d)
+
+ Added MAILBOX_LIST_ITER_SELECT_SPECIALUSE option and enable it for IMAP.
+ RECURSIVEMATCH option doesn't currently work properly with it.
+
+
+M src/imap/cmd-list.c
+M src/lib-storage/mailbox-list-iter.c
+M src/lib-storage/mailbox-list.h
+
+2012-01-04 12:00:13 +0200 Timo Sirainen <tss@iki.fi> (97e62b2b36)
+
+ istream: Don't treat max_block_size=0 as unlimited.
+
+
+M src/lib/file-copy.c
+M src/lib/istream.c
+M src/plugins/fts-squat/squat-test.c
+
+2012-01-03 14:42:51 +0200 Timo Sirainen <tss@iki.fi> (4fbbd38ee8)
+
+ dsync: Don't log unnecessary errors about not being able to delete \Noselect
+ mailbox dirs.
+
+
+M src/doveadm/dsync/dsync-worker-local.c
+
+2012-01-03 14:41:44 +0200 Timo Sirainen <tss@iki.fi> (59b2a629af)
+
+ dsync: Previous commit did too many changes, reverting.
+
+
+M src/doveadm/dsync/dsync-worker-local.c
+
+2012-01-03 14:33:20 +0200 Timo Sirainen <tss@iki.fi> (34c28e13e5)
+
+ dsync: Don't log unnecessary errors about not being able to delete \Noselect
+ mailbox dirs.
+
+
+M src/doveadm/dsync/dsync-worker-local.c
+
+2012-01-03 13:13:37 +0200 Timo Sirainen <tss@iki.fi> (60216d65b8)
+
+ imap-login: LOGIN_MAX_INBUF_SIZE was too small, because of SASL-IR extension
+
+
+M src/login-common/client-common.h
+
+2012-01-02 16:30:06 +0200 Timo Sirainen <tss@iki.fi> (01435c38e7)
+
+ lib-storage: Added initial support for pop3c backend.
+
+
+M configure.in
+M src/lib-storage/index/Makefile.am
+A src/lib-storage/index/pop3c/Makefile.am
+A src/lib-storage/index/pop3c/pop3c-client.c
+A src/lib-storage/index/pop3c/pop3c-client.h
+A src/lib-storage/index/pop3c/pop3c-mail.c
+A src/lib-storage/index/pop3c/pop3c-settings.c
+A src/lib-storage/index/pop3c/pop3c-settings.h
+A src/lib-storage/index/pop3c/pop3c-storage.c
+A src/lib-storage/index/pop3c/pop3c-storage.h
+A src/lib-storage/index/pop3c/pop3c-sync.c
+A src/lib-storage/index/pop3c/pop3c-sync.h
+
+2011-12-30 17:44:23 +0200 Timo Sirainen <tss@iki.fi> (21b4abea65)
+
+ doveadm stats top: Added -b parameter to use read_bytes/write_bytes fields
+ for disk io. This is useful when the kernel doesn't support the actual disk
+ IO fields.
+
+
+M src/doveadm/doveadm-stats.c
+
+2011-12-30 12:33:06 +0200 Timo Sirainen <tss@iki.fi> (faec0abfd6)
+
+ Use master_service_connection.name for determining listener type.
+
+
+M src/auth/main.c
+M src/director/main.c
+M src/ipc/main.c
+
+2011-12-30 12:31:58 +0200 Timo Sirainen <tss@iki.fi> (f7423cbbd9)
+
+ Listener names are now in struct master_service_connection.name This allows
+ service to use the names to figure out what type the listener is.
+
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+M src/master/service-process.c
+M src/master/service.c
+M src/master/service.h
+
+2011-12-30 11:54:48 +0200 Timo Sirainen <tss@iki.fi> (6469cf211a)
+
+ lib-storage: Added struct mailbox.set_subscribed() virtual method.
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/test-mailbox.c
+M src/plugins/virtual/virtual-storage.c
+
+2011-12-29 14:43:45 +0200 Timo Sirainen <tss@iki.fi> (885a3c2287)
+
+ Merged dsync into "doveadm dsync". dsync symlink is installed for backwards
+ compatibility.
+
+
+M .hgignore
+M configure.in
+M src/Makefile.am
+M src/doveadm/Makefile.am
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/doveadm.c
+R081 src/dsync/Makefile.am src/doveadm/dsync/Makefile.am
+A src/doveadm/dsync/doveadm-dsync.c
+A src/doveadm/dsync/doveadm-dsync.h
+R100 src/dsync/dsync-brain-msgs-new.c src/doveadm/dsync/dsync-brain-msgs-new.c
+R100 src/dsync/dsync-brain-msgs.c src/doveadm/dsync/dsync-brain-msgs.c
+R100 src/dsync/dsync-brain-private.h src/doveadm/dsync/dsync-brain-private.h
+R099 src/dsync/dsync-brain.c src/doveadm/dsync/dsync-brain.c
+R100 src/dsync/dsync-brain.h src/doveadm/dsync/dsync-brain.h
+R100 src/dsync/dsync-data.c src/doveadm/dsync/dsync-data.c
+R100 src/dsync/dsync-data.h src/doveadm/dsync/dsync-data.h
+R099 src/dsync/dsync-proxy-client.c src/doveadm/dsync/dsync-proxy-client.c
+R099 src/dsync/dsync-proxy-server-cmd.c src/doveadm/dsync/dsync-proxy-server-cmd.c
+R094 src/dsync/dsync-proxy-server.c src/doveadm/dsync/dsync-proxy-server.c
+R100 src/dsync/dsync-proxy-server.h src/doveadm/dsync/dsync-proxy-server.h
+R100 src/dsync/dsync-proxy.c src/doveadm/dsync/dsync-proxy.c
+R100 src/dsync/dsync-proxy.h src/doveadm/dsync/dsync-proxy.h
+R099 src/dsync/dsync-worker-local.c src/doveadm/dsync/dsync-worker-local.c
+R100 src/dsync/dsync-worker-private.h src/doveadm/dsync/dsync-worker-private.h
+R100 src/dsync/dsync-worker.c src/doveadm/dsync/dsync-worker.c
+R100 src/dsync/dsync-worker.h src/doveadm/dsync/dsync-worker.h
+R100 src/dsync/test-dsync-brain-msgs.c src/doveadm/dsync/test-dsync-brain-msgs.c
+R099 src/dsync/test-dsync-brain.c src/doveadm/dsync/test-dsync-brain.c
+R100 src/dsync/test-dsync-common.c src/doveadm/dsync/test-dsync-common.c
+R100 src/dsync/test-dsync-common.h src/doveadm/dsync/test-dsync-common.h
+R099 src/dsync/test-dsync-proxy-server-cmd.c src/doveadm/dsync/test-dsync-proxy-server-cmd.c
+R100 src/dsync/test-dsync-proxy.c src/doveadm/dsync/test-dsync-proxy.c
+R100 src/dsync/test-dsync-worker.c src/doveadm/dsync/test-dsync-worker.c
+R100 src/dsync/test-dsync-worker.h src/doveadm/dsync/test-dsync-worker.h
+D src/dsync/dsync.c
+
+2011-12-29 11:19:52 +0200 Timo Sirainen <tss@iki.fi> (994bb1a8a8)
+
+ mail-log: Removed unnecessary code.
+
+
+M src/plugins/mail-log/Makefile.am
+M src/plugins/mail-log/mail-log-plugin.c
+
+2011-12-21 14:40:29 +0200 Timo Sirainen <tss@iki.fi> (1f11652626)
+
+ imapc: When searching for unused index dirs, ignore any ACLs. This also
+ fixes a crash.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2011-12-20 14:45:22 +0200 Timo Sirainen <tss@iki.fi> (62920474cb)
+
+ script-login -d: Ignore chrooting, we can't exec anything inside chroot.
+
+
+M src/util/script-login.c
+
+2011-12-20 14:40:18 +0200 Timo Sirainen <tss@iki.fi> (24a90132e5)
+
+ script-login: Close extra fds to avoid failing with --enable-devel-checks.
+
+
+M src/util/script-login.c
+
+2011-12-20 13:16:55 +0200 Timo Sirainen <tss@iki.fi> (f323e3f0de)
+
+ dict-file: Updated dotlock settings.
+
+
+M src/lib-dict/dict-file.c
+
+2011-12-19 09:10:29 +0200 Timo Sirainen <tss@iki.fi> (eadbca0f2b)
+
+ sdbox: Added support for autodetection.
+
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2011-12-16 13:08:49 +0200 Timo Sirainen <tss@iki.fi> (211cf1dfd3)
+
+ FS layout: Mark memory pool growing to avoid warnings with devel-checks.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2011-12-16 13:08:18 +0200 Timo Sirainen <tss@iki.fi> (ca43e32c3f)
+
+ FS layout: When deleting a mailbox, don't give an error if mailbox has
+ children. The mailbox got successfully deleted, but it still gave an error.
+
+
+M src/lib-storage/index/index-storage.c
+
+2011-12-16 12:50:53 +0200 Timo Sirainen <tss@iki.fi> (1d9ecfa7f0)
+
+ --enable-devel-checks: Use -fcatch-undefined-behavior -ftrapv with clang.
+
+
+M configure.in
+
+2011-12-16 12:43:51 +0200 Timo Sirainen <tss@iki.fi> (2ee4783901)
+
+ fts: Expunging could have expunged indexed FTS mail from wrong mailbox.
+
+
+M src/plugins/fts/fts-expunge-log.c
+
+2011-12-16 12:42:21 +0200 Timo Sirainen <tss@iki.fi> (3f2dd5867a)
+
+ lib-storage: mailbox_list_get_permissions() didn't properly erase the full
+ return struct. This shouldn't have caused any bugs currently.
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-12-15 13:40:20 +0200 Timo Sirainen <tss@iki.fi> (633c4c09d8)
+
+ imapc: Assert crashfix.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2011-12-14 14:29:07 +0200 Timo Sirainen <tss@iki.fi> (3ed38c6e05)
+
+ imapc: Try to avoid crashes on deinit/disconnection.
+
+
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+
+2011-12-14 13:50:43 +0200 Timo Sirainen <tss@iki.fi> (c28f6aa0b7)
+
+ Added i_stream_unset_destroy_callback()
+
+
+M src/lib/istream.c
+M src/lib/istream.h
+
+2011-12-14 13:00:05 +0200 Timo Sirainen <tss@iki.fi> (2ed248fba2)
+
+ imapc: Avoid assert-crashing when replacing mail stream with a new one.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/index-mail.c
+
+2011-12-14 12:57:55 +0200 Timo Sirainen <tss@iki.fi> (2769852989)
+
+ imapc: Fixed missing BODY[]/INTERNALDATE to handle actual failures again.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-12-14 12:33:59 +0200 Timo Sirainen <tss@iki.fi> (2f14155ea5)
+
+ imapc: Handle missing INTERNALDATE reply by returning an empty mail instead
+ of disconnecting.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-12-14 11:57:20 +0200 Timo Sirainen <tss@iki.fi> (dab64e8f3e)
+
+ imapc: Handle missing BODY[] reply by returning an empty mail instead of
+ disconnecting.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-12-14 10:55:11 +0200 Timo Sirainen <tss@iki.fi> (3028321ff4)
+
+ auth: Don't die if passwd-file can't open the file. The file is parsed after
+ we already sent "we're ok" reply to master, so dying triggers infinite
+ restarts.
+
+
+M src/auth/db-passwd-file.c
+
+2011-12-12 08:45:32 +0200 Timo Sirainen <tss@iki.fi> (df452e9628)
+
+ imapc: Added support for fetching GUID from remote server, if supported.
+ Currently this is only done for GMail.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-12-12 08:41:50 +0200 Timo Sirainen <tss@iki.fi> (afa672e8be)
+
+ imapc: Added X-GM-EXT-1 and CONDSTORE to capabilities.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+
+2011-12-12 08:36:25 +0200 Timo Sirainen <tss@iki.fi> (fe4691f2b3)
+
+ imapc: Don't crash if we receive tagged BAD reply.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2011-12-12 08:29:50 +0200 Timo Sirainen <tss@iki.fi> (4c9745326e)
+
+ imap: When fetching X-GUID, set MAIL_FETCH_GUID also as "wanted fields" for
+ optimization.
+
+
+M src/imap/imap-fetch.c
+
+2011-12-12 08:43:04 +0200 Timo Sirainen <tss@iki.fi> (93ec4c8864)
+
+ imapc: Removed HIGHESTMODSEQ handling from STATUS command. We don't
+ currently even attempt to handle remote modseqs, so HIGHESTMODSEQ shouldn't
+ be used either.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-12-12 07:04:46 +0200 Timo Sirainen <tss@iki.fi> (1114ab1830)
+
+ auth: Handle proxy_maybe=yes for PASS lookups. (Fixes it for LMTP.)
+
+
+M src/auth/auth-master-connection.c
+
+2011-12-12 06:48:44 +0200 Timo Sirainen <tss@iki.fi> (ec82a9ba81)
+
+ imap: Convert LIST/LSUB patterns from mUTF-7 to UTF-8 for internal
+ representation.
+
+
+M src/imap/cmd-list.c
+
+2011-12-12 06:36:31 +0200 Timo Sirainen <tss@iki.fi> (13b063ba3e)
+
+ lib-storage: Handle %{uid} and %{gid} expansion without relying on process's
+ euid/egid.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2011-12-12 06:07:33 +0200 Timo Sirainen <tss@iki.fi> (88b0427d90)
+
+ lib-storage: Previously added %{gid} variable didn't actually work.
+
+
+M src/lib-storage/mail-user.c
+
+2011-12-10 10:59:30 +0200 Timo Sirainen <tss@iki.fi> (701c9fc6dc)
+
+ lmtp: Simplify LMTP proxying by first reading the whole input to
+ memory/disk. This hopefully fixes problems related to LMTP proxying, at the
+ cost of having to write large mails to temp directory.
+
+
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-proxy.h
+
+2011-12-10 08:50:43 +0200 Timo Sirainen <tss@iki.fi> (5f9300cbf5)
+
+ passdb imap: Log about failures.
+
+
+M src/auth/passdb-imap.c
+
+2011-12-10 08:44:33 +0200 Timo Sirainen <tss@iki.fi> (28c959a904)
+
+ dsync: Update cache fields' decision and last_used fields explicitly. This
+ makes v2.1's dsync incompatible with v2.0's when used in different servers.
+
+
+M src/dsync/dsync-data.c
+M src/dsync/dsync-data.h
+M src/dsync/dsync-proxy-client.c
+M src/dsync/dsync-proxy-server-cmd.c
+M src/dsync/dsync-proxy.c
+M src/dsync/dsync-proxy.h
+M src/dsync/dsync-worker-local.c
+M src/dsync/dsync-worker-private.h
+M src/dsync/test-dsync-common.c
+M src/dsync/test-dsync-proxy.c
+M src/dsync/test-dsync-worker.c
+M src/dsync/test-dsync-worker.h
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/mail-storage.h
+
+2011-12-10 08:43:09 +0200 Timo Sirainen <tss@iki.fi> (7de34c9169)
+
+ doveadm: Compile fix for previous lib-index change.
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2011-12-10 08:42:26 +0200 Timo Sirainen <tss@iki.fi> (008a83e9f6)
+
+ lib-index: Allow updating cache's last_used field with
+ mail_cache_register_fields()
+
+
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.h
+
+2011-12-10 08:41:01 +0200 Timo Sirainen <tss@iki.fi> (a2150da2dc)
+
+ lib-storage: Added separate %{gid} expansion to mail_user. The default
+ %{gid} probably works also, but it's more reliable to do this explicitly.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2011-12-10 08:35:06 +0200 Timo Sirainen <tss@iki.fi> (a3738999f5)
+
+ lib-index: If cache field's decision is forced no, don't update the field's
+ last_used.
+
+
+M src/lib-index/mail-cache-decisions.c
+
+2011-12-10 08:15:58 +0200 Timo Sirainen <tss@iki.fi> (8a2401de6d)
+
+ lib-fs: Added "mode" parameter to "posix" backend to specify mode for
+ created files/dirs.
+
+
+M src/lib-fs/fs-posix.c
+
+2011-12-10 08:01:02 +0200 Timo Sirainen <tss@iki.fi> (723277fd36)
+
+ maildir: If saving fails, don't bother trying to flush the file's ostream.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2011-12-10 07:57:16 +0200 Timo Sirainen <tss@iki.fi> (b51bac20ad)
+
+ zlib: Avoid assert-crashing if parent ostream's write had failed earlier.
+
+
+M src/plugins/zlib/ostream-bzlib.c
+M src/plugins/zlib/ostream-zlib.c
+
+2011-12-10 07:28:22 +0200 Timo Sirainen <tss@iki.fi> (b033f0a676)
+
+ config: Don't warn that ssl_parameters_regenerate=0 should have "hours"
+ suffix.
+
+
+M src/config/old-set-parser.c
+
+2011-12-10 07:05:56 +0200 Timo Sirainen <tss@iki.fi> (782f95ed0b)
+
+ lib-storage: FS layout mailbox list iteration code rewrite. This fixes
+ listing non-ASCII mailboxes. Also the new way no longer keeps more than one
+ file descriptor open.
+
+
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2011-12-10 07:03:09 +0200 Timo Sirainen <tss@iki.fi> (9b00ecffbe)
+
+ lib-storage: mailbox_list_get_vname() no longer treats INBOX case
+ insensitively. The INBOX vname is case sensitive, the INBOX storage_name
+ isn't, otherwise it's not possible to access <ns prefix>/inBox cased
+ mailboxes.
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-12-09 18:57:53 +0200 Timo Sirainen <tss@iki.fi> (d758298b3b)
+
+ var_expand(): Added %{uid} and %{gid} variables.
+
+
+M src/lib/var-expand.c
+
+2011-12-09 17:49:13 +0200 Timo Sirainen <tss@iki.fi> (bac5a7e1cf)
+
+ lib-storage: Fixed search when mail prefetching is enabled.
+
+
+M src/lib-storage/index/index-search.c
+
+2011-12-09 16:26:39 +0200 Timo Sirainen <tss@iki.fi> (2b6bc2e46d)
+
+ mdbox: Make sure m.* files aren't overwritten when storage index isn't
+ found. This mainly helps to avoid situations where m.1 is replaced by mail
+ delivery when index directory has been (wrongly) changed.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map-private.h
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2011-12-08 18:56:48 +0200 Timo Sirainen <tss@iki.fi> (2a64bd1046)
+
+ auth: If verbose_proctitle=yes, show which processes are auth workers.
+
+
+M src/auth/main.c
+
+2011-12-08 11:45:04 +0200 Timo Sirainen <tss@iki.fi> (79a5536c13)
+
+ lib-storage: Reverted the last INBOX children listing change after all.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2011-12-08 11:41:01 +0200 Timo Sirainen <tss@iki.fi> (16dc6ccdae)
+
+ lib-storage: Fixed listing INBOX's children with layout=fs and non-mbox
+ format.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2011-12-08 11:30:42 +0200 Timo Sirainen <tss@iki.fi> (14a717c960)
+
+ imapc: Crashfix on error conditions.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-12-08 09:30:14 +0200 Timo Sirainen <tss@iki.fi> (5df33e9ee6)
+
+ lib-storage: Code cleanup.
+
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/mailbox-header.c
+
+2011-12-08 09:28:54 +0200 Timo Sirainen <tss@iki.fi> (076f8c12cf)
+
+ liblib: Added str_to_time()
+
+
+M src/lib/strnum.c
+M src/lib/strnum.h
+
+2011-12-08 07:51:28 +0200 Timo Sirainen <tss@iki.fi> (a3786abd0e)
+
+ lib-storage: Removed unnecessarily duplicated code.
+
+
+M src/lib-storage/index/index-transaction.c
+
+2011-12-08 07:36:39 +0200 Timo Sirainen <tss@iki.fi> (0de1e3762d)
+
+ lib-storage: Fixed assert-crash when search query contained ().
+
+
+M src/lib-storage/mail-search-build.c
+
+2011-12-08 07:23:25 +0200 Timo Sirainen <tss@iki.fi> (f55d355a54)
+
+ fts-lucene: Fixed Makefile.am
+
+
+M src/plugins/fts-lucene/Makefile.am
+
+2011-12-08 07:02:03 +0200 Timo Sirainen <tss@iki.fi> (a343811459)
+
+ lib-sql: If mysql/pgsql commit fails due to server disconnection, reconnect
+ and retry.
+
+
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+
+2011-12-08 06:11:03 +0200 Timo Sirainen <tss@iki.fi> (e51cfb5506)
+
+ lib-storage: Fixed assert-crash in user deinit with some installations.
+
+
+M src/lib-storage/mail-user.c
+
+2011-12-08 05:55:19 +0200 Timo Sirainen <tss@iki.fi> (f045034669)
+
+ login: Send the last connected client's IP address to log process.
+
+
+M src/login-common/main.c
+
+2011-12-08 05:54:54 +0200 Timo Sirainen <tss@iki.fi> (8abe071cb1)
+
+ lib-storage: If client_limit=1, send user's log prefix to log process.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-12-08 05:54:23 +0200 Timo Sirainen <tss@iki.fi> (986ca1cb9e)
+
+ Added i_set_failure_send_prefix() and renamed i_set_failure_ip() to
+ _send_ip().
+
+
+M src/lib/failures.c
+M src/lib/failures.h
+
+2011-12-08 05:53:55 +0200 Timo Sirainen <tss@iki.fi> (800fc30be4)
+
+ Added a new "FATAL" log command, which master uses to log all abnormal
+ process exits. The log process adds the process's log prefix or IP address
+ to the message if available.
+
+
+M src/log/log-connection.c
+M src/master/service-process.c
+
+2011-12-08 05:24:48 +0200 Timo Sirainen <tss@iki.fi> (05f3f770d4)
+
+ log: Removed slightly confusing code. A log client always receives a BYE, so
+ don't free it earlier.
+
+
+M src/log/log-connection.c
+
+2011-12-08 05:17:01 +0200 Timo Sirainen <tss@iki.fi> (bfd8127fc0)
+
+ lmtp: If lmtp_save_to_detail_mailbox=yes and there was no detail, mail was
+ logged as saved to "".
+
+
+M src/lmtp/commands.c
+
+2011-12-08 05:13:44 +0200 Timo Sirainen <tss@iki.fi> (acf8ab052a)
+
+ stats: Chroot to empty directory by default.
+
+
+M src/stats/stats-settings.c
+
+2011-12-08 05:12:12 +0200 Timo Sirainen <tss@iki.fi> (de84f428e2)
+
+ ssl_parameters_regenerate setting is now "time" type, as it should have
+ been.
+
+
+M src/config/old-set-parser.c
+M src/ssl-params/ssl-params-settings.c
+M src/ssl-params/ssl-params.c
+
+2011-12-08 05:05:57 +0200 Timo Sirainen <tss@iki.fi> (0579b94a7f)
+
+ indexer: Use stricter permissions for indexer-worker socket.
+
+
+M src/indexer/indexer-worker-settings.c
+
+2011-12-08 05:03:22 +0200 Timo Sirainen <tss@iki.fi> (263fa7b43f)
+
+ director: chroot to base_dir by default.
+
+
+M src/director/director-settings.c
+
+2011-12-08 05:02:15 +0200 Timo Sirainen <tss@iki.fi> (fb35b9f2c8)
+
+ director: Don't explicitly use base_dir. We're already chdired there, use
+ relative paths.
+
+
+M src/director/Makefile.am
+M src/director/director-settings.c
+M src/director/director-settings.h
+M src/director/director.c
+M src/director/main.c
+
+2011-12-08 05:02:12 +0200 Timo Sirainen <tss@iki.fi> (b9c9b81ba9)
+
+ director-test.sh script fixed to use a working path for director-test
+ binary.
+
+
+M src/director/director-test.sh
+
+2011-12-07 01:48:03 +0200 Timo Sirainen <tss@iki.fi> (d0b2bd9e22)
+
+ dbox: If index was fscked, rebuild indexes to make sure no mails got lost.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2011-12-07 01:46:42 +0200 Timo Sirainen <tss@iki.fi> (8a3f549a3c)
+
+ lib-index: Added mail_index_reset_fscked()
+
+
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index.h
+
+2011-12-07 01:28:20 +0200 Timo Sirainen <tss@iki.fi> (0f1f0cc08d)
+
+ lib-storage: MAILBOX_LIST_ITER_RETURN_SPECIALUSE was checked wrong
+
+
+M src/lib-storage/mailbox-list-iter.c
+
+2011-12-07 00:48:54 +0200 Timo Sirainen <tss@iki.fi> (a88810d5e4)
+
+ example-config: Added example mailboxes.
+
+
+A doc/example-config/conf.d/15-mailboxes.conf
+M doc/example-config/conf.d/Makefile.am
+
+2011-12-07 00:30:26 +0200 Timo Sirainen <tss@iki.fi> (d477b279ec)
+
+ config: Allow section names to contain spaces.
+
+
+M src/config/config-parser.c
+M src/config/doveconf.c
+M src/lib-settings/settings-parser.c
+
+2011-12-06 23:55:48 +0200 Timo Sirainen <tss@iki.fi> (5f46b86338)
+
+ example-config: Use a default uncommented "namespace inbox".
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2011-12-06 23:53:44 +0200 Timo Sirainen <tss@iki.fi> (c10669a421)
+
+ Moved mailbox {} settings inside namespace {} and no longer require ns
+ prefix in name. This allows specifying mailboxes more easily with per-user
+ namespace prefixes.
+
+
+M src/lib-storage/mail-namespace.h
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list-iter.c
+M src/plugins/autocreate/autocreate-plugin.c
+
+2011-12-06 23:51:09 +0200 Timo Sirainen <tss@iki.fi> (3905cffc3f)
+
+ lib-storage: Avoid crashes if listing subscriptions for a namespace that
+ can't have any. i.e. the namespace and its parents all have subscriptions=no
+
+
+M src/lib-storage/mailbox-list-iter.c
+
+2011-12-06 23:35:58 +0200 Timo Sirainen <tss@iki.fi> (60d5815822)
+
+ master: Be more relaxed about giving service auth's client_limit being too
+ low. imap/pop3/lmtp processes with service_count=1 use up a client only for
+ a very short time. Don't count them.
+
+
+M src/master/master-settings.c
+
+2011-12-05 21:25:22 +0200 Timo Sirainen <tss@iki.fi> (605d968e06)
+
+ autocreate: Make sure we don't crash if there are no mailbox{}es.
+
+
+M src/plugins/autocreate/autocreate-plugin.c
+
+2011-12-05 21:23:40 +0200 Timo Sirainen <tss@iki.fi> (759319c027)
+
+ lib-storage: Don't crash when no there are no mailbox {} sections.
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list-iter.c
+
+2011-12-02 23:47:01 +0200 Timo Sirainen <tss@iki.fi> (33c0df4480)
+
+ auth: Fixed vpopmail to work again after recent change.
+
+
+M src/auth/passdb-vpopmail.c
+
+2011-12-02 17:59:24 +0200 Timo Sirainen <tss@iki.fi> (caf33f5b3c)
+
+ README: Added SPECIAL-USE RFC
+
+
+M README
+
+2011-12-02 17:05:31 +0200 Timo Sirainen <tss@iki.fi> (ed35492640)
+
+ Implemented IMAP SPECIAL-USE extension.
+
+
+M configure.in
+M src/imap/cmd-list.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mailbox-list-iter.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.h
+
+2011-12-02 16:22:31 +0200 Timo Sirainen <tss@iki.fi> (eb1572d7c4)
+
+ Moved autocreate plugin functionality into lib-storage. The autocreate
+ plugin is still used for backwards compatibility.
+
+ Mailboxes can be configured like:
+
+ mailbox Sent {
+ auto = subscribe
+ } mailbox Spam {
+ auto = create
+ }
+
+M src/config/settings-get.pl
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list-iter.c
+M src/lib-storage/mailbox-list-private.h
+M src/plugins/autocreate/autocreate-plugin.c
+
+2011-12-02 14:49:08 +0200 Timo Sirainen <tss@iki.fi> (7ff6268cc3)
+
+ lib-storage: Added pool to struct mailbox_list_iterate_context.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/mailbox-list-private.h
+M src/plugins/acl/acl-mailbox-list.c
+
+2011-12-02 14:23:47 +0200 Timo Sirainen <tss@iki.fi> (13d98ffa53)
+
+ lib-storage: Moved mailbox list iteration functions to a separate file.
+
+
+M src/lib-storage/Makefile.am
+A src/lib-storage/mailbox-list-iter.c
+M src/lib-storage/mailbox-list.c
+
+2011-12-02 13:12:16 +0200 Timo Sirainen <tss@iki.fi> (aaea3addd1)
+
+ imapc: Check for when to prefer LOGIN to AUTHENTICATE was wrong.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2011-12-01 09:24:58 +0200 Timo Sirainen <tss@iki.fi> (166e683c27)
+
+ imapc: If remote server disconnects, log the reason.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2011-12-01 09:15:53 +0200 Timo Sirainen <tss@iki.fi> (353fbc1e0f)
+
+ auth: Fixed loading authdb_imap plugin when Dovecot is configured
+ --without-shared-libs
+
+
+M src/auth/Makefile.am
+
+2011-11-30 18:48:44 +0200 Timo Sirainen <tss@iki.fi> (2bcf783de4)
+
+ auth: Mention auth_worker_max_count in warning message about worker queue
+ being slow.
+
+
+M src/auth/auth-worker-server.c
+
+2011-11-25 04:25:09 +0200 Timo Sirainen <tss@iki.fi> (bd49b2e35d)
+
+ fts-lucene: Fixed search when all terms were MUST_NOT.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-11-24 21:27:19 +0200 Timo Sirainen <tss@iki.fi> (51fb710488)
+
+ auth: Dropped default client_limit back to default_client_limit. Having it
+ above 1024 logs an annoying warning at startup. Also in most cases the auth
+ process wouldn't have nearly that many clients. If about 1000 imap/pop3
+ processes were logging in at the exact same time, the limit would be
+ reached, but that's a bit unlikely.
+
+
+M src/auth/auth-settings.c
+
+2011-11-24 03:05:54 +0200 Timo Sirainen <tss@iki.fi> (aa43e22ff2)
+
+ NEWS, README: Added SCRAM-SHA-1 support.
+
+
+M NEWS
+M README
+
+2011-11-24 02:36:32 +0200 Timo Sirainen <tss@iki.fi> (af2ba58266)
+
+ Added signature for changeset 18f32bf70fac
+
+
+M .hgsigs
+
+2011-11-24 02:36:29 +0200 Timo Sirainen <tss@iki.fi> (16c77a6fa7)
+
+ Added tag 2.1.rc1 for changeset 18f32bf70fac
+
+
+M .hgtags
+
+2011-11-24 02:36:29 +0200 Timo Sirainen <tss@iki.fi> (832f5c58c1)
+
+ Released v2.1.rc1.
+
+
+M NEWS
+M configure.in
+
+2011-11-24 02:21:08 +0200 Timo Sirainen <tss@iki.fi> (f6611f125b)
+
+ man: mailbox[-guid] doesn't need to be first parameter in search query.
+
+
+M doc/man/doveadm-search-query.7
+
+2011-11-24 02:13:13 +0200 Timo Sirainen <tss@iki.fi> (d8fc47550f)
+
+ Makefile: Added missing hmac-sha1.h
+
+
+M src/lib/Makefile.am
+
+2011-11-24 02:06:45 +0200 Timo Sirainen <tss@iki.fi> (8a0641e05c)
+
+ lib-lda: Use ostream corking better in LMTP/SMTP client.
+
+
+M src/lib-lda/lmtp-client.c
+
+2011-11-24 01:58:28 +0200 Timo Sirainen <tss@iki.fi> (f187a8c7e5)
+
+ TODO updated
+
+
+M TODO
+
+2011-11-24 01:53:04 +0200 Timo Sirainen <tss@iki.fi> (5a3e9d1251)
+
+ example-config: Added ssl_crypto_device.
+
+
+M doc/example-config/conf.d/10-ssl.conf
+
+2011-11-24 01:50:35 +0200 Timo Sirainen <tss@iki.fi> (11bbebd9f9)
+
+ imapc: Pass ssl_crypto_device setting to lib-ssl-iostream.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-11-24 01:49:58 +0200 Timo Sirainen <tss@iki.fi> (cd5d9e8335)
+
+ lib-ssl-iostream: Added crypto_device setting to set OpenSSL engine.
+ Multiple engines aren't supported, so the first crypto_device value gets
+ used for all SSL connections.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2011-11-24 01:49:40 +0200 Timo Sirainen <tss@iki.fi> (de82dd4016)
+
+ login: Do engine cleanups _after_ finishing the used engine.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2011-11-24 01:45:59 +0200 Timo Sirainen <tss@iki.fi> (58080063fa)
+
+ login: Added ssl_crypto_device setting to set OpenSSL engine.
+
+
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+M src/login-common/ssl-proxy-openssl.c
+
+2011-11-24 01:45:09 +0200 Timo Sirainen <tss@iki.fi> (aebfda1f6e)
+
+ login: Save final SASL reply to client struct.
+
+
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2011-11-24 01:34:02 +0200 Timo Sirainen <tss@iki.fi> (8060dd5eae)
+
+ lib-ssl-iostream: Call OpenSSL_add_all_algorithms() to make some OpenSSL
+ versions happy.
+
+
+M src/lib-ssl-iostream/iostream-openssl-context.c
+
+2011-11-24 01:12:33 +0200 Timo Sirainen <tss@iki.fi> (a30669826b)
+
+ auth: LDAP iterate's debug message didn't use expanded base string.
+
+
+M src/auth/userdb-ldap.c
+
+2011-11-24 00:53:37 +0200 Timo Sirainen <tss@iki.fi> (9f6da3b2a0)
+
+ lib-storage: Getting headers as UTF-8 could have returned garbage for
+ multi-line headers.
+
+
+M src/lib-storage/index/index-mail-headers.c
+
+2011-11-24 00:52:09 +0200 Timo Sirainen <tss@iki.fi> (afa4eb0295)
+
+ login: Use AUTH_REQUEST_FLAG_SUPPORT_FINAL_RESP if protocol supports it.
+
+
+M src/imap-login/client.c
+M src/login-common/login-common.h
+M src/login-common/sasl-server.c
+M src/pop3-login/client.c
+
+2011-11-24 00:51:41 +0200 Timo Sirainen <tss@iki.fi> (38505846b6)
+
+ lib-auth: Added AUTH_REQUEST_FLAG_SUPPORT_FINAL_RESP flag.
+
+
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.h
+
+2011-11-24 00:51:27 +0200 Timo Sirainen <tss@iki.fi> (723b179c91)
+
+ auth: If client gives "final-resp-ok" parameter, send it in OK reply with
+ DIGEST-MD5, SCRAM-SHA-1
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/mech-digest-md5.c
+M src/auth/mech-scram-sha1.c
+
+2011-11-23 22:55:57 +0200 Timo Sirainen <tss@iki.fi> (3ef451dc7b)
+
+ auth: Cleanups, fix and Dovecot code-stylifications to SCRAM-SHA-1.
+
+
+M src/auth/mech-scram-sha1.c
+
+2011-10-30 12:39:53 +0100 Dennis Schridde <devurandom@gmx.net> (a5abb99ca9)
+
+ Add DOVECOT_PREREQ to src/lib/macros.h - convenience macro to test the
+ version of dovecot
+
+
+M src/lib/macros.h
+
+2011-10-30 12:23:28 +0100 Dennis Schridde <devurandom@gmx.net> (00d1c86198)
+
+ Add macros DOVECOT_VERSION_{MAJOR,MINOR} to config.h to allow version checks
+ in the preprocessor
+
+ Version number set as PACKAGE_VERSION is assumed to be D.D* with D=digits
+
+M configure.in
+
+2011-09-16 02:24:00 +0200 Florian Zeitz <florob@babelmonkeys.de> (15cb954942)
+
+ auth: Implement the SCRAM-SHA-1 SASL mechanism
+
+
+M src/auth/Makefile.am
+A src/auth/mech-scram-sha1.c
+M src/auth/mech.c
+
+2011-09-16 02:22:49 +0200 Florian Zeitz <florob@babelmonkeys.de> (a3350c34a2)
+
+ lib: Add hmac-sha1 adapted from hmac-md5
+
+
+M src/lib/Makefile.am
+A src/lib/hmac-sha1.c
+A src/lib/hmac-sha1.h
+
+2011-11-23 22:08:09 +0200 Timo Sirainen <tss@iki.fi> (665e9d14c0)
+
+ lib-auth: auth_master_user_list_init() now takes user_mask and info
+ parameters. These are passed to auth process, which may use them to limit
+ what usernames are returned.
+
+
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-director.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-master.h
+M src/lib-storage/mail-storage-service.c
+
+2011-11-23 22:07:08 +0200 Timo Sirainen <tss@iki.fi> (e9371f899a)
+
+ auth: Support passing regular %variables to sql/ldap iterate queries.
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-settings.c
+M src/auth/auth-worker-client.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-blocking.h
+M src/auth/userdb-ldap.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-sql.c
+M src/auth/userdb.h
+
+2011-11-23 21:40:04 +0200 Timo Sirainen <tss@iki.fi> (726e5e8086)
+
+ auth: Don't leak memory in deinit.
+
+
+M src/auth/main.c
+
+2011-11-23 21:14:11 +0200 Timo Sirainen <tss@iki.fi> (82883d006c)
+
+ Compiler warning fix
+
+
+M src/master/master-settings.c
+
+2011-11-23 20:31:40 +0200 Timo Sirainen <tss@iki.fi> (742b9a0fc1)
+
+ lib-auth: Log a warning about auth disconnection only if there are pending
+ requests.
+
+
+M src/lib-auth/auth-server-connection.c
+
+2011-11-23 19:51:06 +0200 Timo Sirainen <tss@iki.fi> (ce7f8b30ab)
+
+ master: Log a warning at startup if fd limit is too low.
+
+
+M src/master/master-settings.c
+
+2011-11-23 19:51:01 +0200 Timo Sirainen <tss@iki.fi> (9a3183f291)
+
+ Added restrict_get_fd_limit()
+
+
+M src/lib/restrict-process-size.c
+M src/lib/restrict-process-size.h
+
+2011-11-23 19:19:19 +0200 Timo Sirainen <tss@iki.fi> (eecb235c14)
+
+ lib-storage: Track storage's all mailboxes to make it easier to debug if one
+ isn't closed.
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2011-11-23 19:11:13 +0200 Timo Sirainen <tss@iki.fi> (ad0df8e7d7)
+
+ Compile fix for some compilers.
+
+
+M src/anvil/anvil-connection.c
+
+2011-11-23 19:10:34 +0200 Timo Sirainen <tss@iki.fi> (521dad64e5)
+
+ lib-index: Make sure we never go to infinite loop if fsck can't fix syncing
+ problem.
+
+
+M src/lib-index/mail-index-sync.c
+
+2011-11-23 19:04:15 +0200 Timo Sirainen <tss@iki.fi> (636468e8e0)
+
+ file_cache_set_size(): Cleanup properly after mmap() failure.
+
+
+M src/lib/file-cache.c
+
+2011-11-23 19:01:28 +0200 Timo Sirainen <tss@iki.fi> (c2378fc4d8)
+
+ lib-index: Handle transaction log read errors separately from log
+ corruption.
+
+
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-transaction-log.h
+
+2011-11-23 17:01:51 +0200 Timo Sirainen <tss@iki.fi> (bfcca12a44)
+
+ fts-lucene: Crashfix when compiled without stemmer.
+
+
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+
+2011-11-23 16:58:10 +0200 Timo Sirainen <tss@iki.fi> (c5a7be1b6f)
+
+ Compile fixes.
+
+
+M src/lib-imap-client/imapc-client.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-11-23 01:00:10 +0200 Timo Sirainen <tss@iki.fi> (bce078c0b3)
+
+ Compiling fix for non-gcc.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2011-11-22 11:29:17 +0200 Timo Sirainen <tss@iki.fi> (b01280bda4)
+
+ imapc: Added assert to make sure callback is never NULL.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2011-11-22 11:28:33 +0200 Timo Sirainen <tss@iki.fi> (13c96f61c1)
+
+ imapc: Crashfix after having idled for 29 mins without IDLE.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2011-11-22 00:12:53 +0200 Timo Sirainen <tss@iki.fi> (714c6a1504)
+
+ mdbox: Don't assert-crash when having to open mail file during specific
+ copying situations.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2011-11-21 23:26:46 +0200 Timo Sirainen <tss@iki.fi> (f05f569c2e)
+
+ doveadm dump: Added support for dumping dbox headers/metadata.
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-dump-dbox.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-dump.h
+
+2011-11-21 23:26:41 +0200 Timo Sirainen <tss@iki.fi> (3c89294a59)
+
+ dbox: Compiler warning fix if trying to include dbox-file.h directly.
+
+
+M src/lib-storage/index/dbox-common/dbox-file.h
+
+2011-11-21 23:26:18 +0200 Timo Sirainen <tss@iki.fi> (c579e4abcb)
+
+ hex2dec(): Allow data to contain also lowercase hex characters.
+
+
+M src/lib/hex-dec.c
+
+2011-11-21 22:43:19 +0200 Timo Sirainen <tss@iki.fi> (d5b030f57c)
+
+ dbox: Removed unused message type from header.
+
+
+M src/lib-storage/index/dbox-common/dbox-file.h
+
+2011-11-19 23:42:05 +0200 Timo Sirainen <tss@iki.fi> (413079de95)
+
+ login: Moved all i_fatal()s to preinit stage. This avoids a wrongly
+ configured login process from rapidly respawning.
+
+
+M src/login-common/main.c
+
+2011-11-19 23:41:50 +0200 Timo Sirainen <tss@iki.fi> (7ee226c2a6)
+
+ director: Moved all i_fatal()s to preinit stage. This avoids a wrongly
+ configured director process from rapidly respawning.
+
+
+M src/director/main.c
+
+2011-11-19 23:41:17 +0200 Timo Sirainen <tss@iki.fi> (3fc7d2bd29)
+
+ auth: Moved all i_fatal()s to preinit stage. This avoids a wrongly
+ configured auth process from rapidly respawning.
+
+
+M src/auth/auth.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+
+2011-11-19 23:28:18 +0200 Timo Sirainen <tss@iki.fi> (a54cf831ae)
+
+ auth: Handle auth worker creation failure without killing the whole auth
+ process.
+
+
+M src/auth/auth-worker-server.c
+
+2011-11-19 23:15:19 +0200 Timo Sirainen <tss@iki.fi> (88c92ce2ca)
+
+ login: Show empty username in disconnect message.
+
+
+M src/login-common/client-common.c
+
+2011-11-19 23:14:59 +0200 Timo Sirainen <tss@iki.fi> (a309a2b671)
+
+ auth: If auth fails due to invalid username, send the username in the FAIL
+ message.
+
+
+M src/auth/auth-request-handler.c
+
+2011-11-19 23:04:54 +0200 Timo Sirainen <tss@iki.fi> (6998ca95b4)
+
+ login: Log a different disconnect message if client didn't finish SASL auth.
+
+
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2011-11-19 22:29:31 +0200 Timo Sirainen <tss@iki.fi> (2afb37869c)
+
+ env_clean(): Previous OSX compile fix broke the function completely.
+
+
+M src/lib/env-util.c
+
+2011-11-19 21:48:14 +0200 Timo Sirainen <tss@iki.fi> (074014565e)
+
+ Compile fix for OSX.
+
+
+M src/lib/env-util.c
+
+2011-11-19 05:06:10 +0200 Timo Sirainen <tss@iki.fi> (8fab907f3c)
+
+ doc: Removed auth-protocol.txt from Makefile.
+
+
+M doc/Makefile.am
+
+2011-11-18 22:14:02 +0200 Timo Sirainen <tss@iki.fi> (9055976274)
+
+ doc: Removed auth-protocol.txt. A more up to date version is in wiki docs.
+
+
+D doc/auth-protocol.txt
+
+2011-11-18 22:07:16 +0200 Timo Sirainen <tss@iki.fi> (ab122a3bba)
+
+ auth: Don't allow auth clients to set internal auth request fields. This
+ could have allowed attacker to bypass authentication if login process was
+ first successfully attacked to allow arbitrary code execution.
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2011-11-18 21:37:34 +0200 Timo Sirainen <tss@iki.fi> (3d99535d3e)
+
+ login: Call master_service_init_finish() later. This prevents automatic
+ infinite process respawns if SSL initialization fails.
+
+
+M src/login-common/main.c
+
+2011-11-18 21:35:52 +0200 Timo Sirainen <tss@iki.fi> (c444eeaa28)
+
+ lib-master: Set service/client limits already in master_service_init()
+
+
+M src/lib-master/master-service.c
+
+2011-11-18 21:31:15 +0200 Timo Sirainen <tss@iki.fi> (f45da0b456)
+
+ login proxy: Added ssl_client_cert/key settings. The client cert is used
+ sent to proxy destination server when SSL is used.
+
+
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+M src/login-common/ssl-proxy-openssl.c
+
+2011-11-18 16:22:44 +0200 Timo Sirainen <tss@iki.fi> (2cbef6f99f)
+
+ login: Added assert.
+
+
+M src/login-common/main.c
+
+2011-11-18 16:16:34 +0200 Timo Sirainen <tss@iki.fi> (7c849dbc7b)
+
+ login: Differentiate between auth failure and auth process communication
+ failure. Log a warning if auth connection dies.
+
+
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.h
+M src/lib-auth/auth-server-connection.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2011-11-18 16:15:24 +0200 Timo Sirainen <tss@iki.fi> (a7e2c98560)
+
+ auth: Log a warning if auth client disconnects while it still has pending
+ requests.
+
+
+M src/auth/auth-client-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request-handler.h
+
+2011-11-18 15:52:23 +0200 Timo Sirainen <tss@iki.fi> (2aac7ca853)
+
+ login: Minor potential authentication fix when service_count>1
+
+
+M src/login-common/client-common.c
+M src/login-common/login-common.h
+M src/login-common/main.c
+
+2011-11-17 02:02:30 +0200 Timo Sirainen <tss@iki.fi> (3653420a19)
+
+ login: Fixed a memory leak when SSL client connection was closed uncleanly.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2011-11-17 00:49:30 +0200 Timo Sirainen <tss@iki.fi> (a710cb4398)
+
+ passdb vpopmail: Fix to handling mixed cleartext/crypt passwords.
+
+
+M src/auth/passdb-vpopmail.c
+
+2011-11-17 00:41:15 +0200 Timo Sirainen <tss@iki.fi> (6272526ac2)
+
+ login proxy: Don't fail connection if CRL isn't found for some certificate.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2011-11-16 22:59:36 +0200 Timo Sirainen <tss@iki.fi> (5cc9289a90)
+
+ i_getgr*(): Use a generic workaround for all OSes that report too small
+ grbuf size.
+
+
+M src/lib/ipwd.c
+
+2011-11-16 22:13:35 +0200 Timo Sirainen <tss@iki.fi> (fdfb2153df)
+
+ checkpassword: Export all auth %variables to AUTH_* environment.
+
+
+M src/auth/db-checkpassword.c
+
+2011-11-16 20:24:07 +0200 Timo Sirainen <tss@iki.fi> (d16cbc7557)
+
+ lmtp: Include local/remote port in userdb lookups.
+
+
+M src/lmtp/commands.c
+
+2011-11-16 20:23:50 +0200 Timo Sirainen <tss@iki.fi> (27ca6cb054)
+
+ lib-storage: Added local/remote port to struct mail_storage_service_input
+ for userdb lookups.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2011-11-16 20:00:37 +0200 Timo Sirainen <tss@iki.fi> (6e7954b94e)
+
+ lib-storage: Fixed listing subscriptions from prefix!="" namespace
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2011-11-16 19:48:01 +0200 Timo Sirainen <tss@iki.fi> (1227ccfc60)
+
+ lib-storage: Fixed error handling for mailbox_set_subscribed()
+
+
+M src/lib-storage/mail-storage.c
+
+2011-11-16 19:39:33 +0200 Timo Sirainen <tss@iki.fi> (708efcd858)
+
+ lib-storage: Fixed using "auto" driver with shared namespaces.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/index/shared/shared-storage.h
+
+2011-11-16 19:39:18 +0200 Timo Sirainen <tss@iki.fi> (259c34523b)
+
+ lib-storage: Improved storage creation failure error message for "auto"
+ driver.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-11-16 19:38:55 +0200 Timo Sirainen <tss@iki.fi> (f8e4a8eac5)
+
+ lib-storage: Crashfix for "auto" driver in some situations.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-11-16 19:38:16 +0200 Timo Sirainen <tss@iki.fi> (810321fb77)
+
+ lib-storage: Use namespace owner user's home dir for autodetection (for
+ shared namespaces).
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2011-11-16 19:14:43 +0200 Timo Sirainen <tss@iki.fi> (56c122d8f2)
+
+ man: Dovecot version numbers updated.
+
+
+M doc/man/doveadm-altmove.1.in
+M doc/man/doveadm-auth.1.in
+M doc/man/doveadm-director.1.in
+M doc/man/doveadm-dump.1.in
+M doc/man/doveadm-expunge.1.in
+M doc/man/doveadm-fetch.1.in
+M doc/man/doveadm-force-resync.1.in
+M doc/man/doveadm-help.1.in
+M doc/man/doveadm-import.1.in
+M doc/man/doveadm-index.1.in
+M doc/man/doveadm-kick.1.in
+M doc/man/doveadm-log.1.in
+M doc/man/doveadm-mailbox.1.in
+M doc/man/doveadm-move.1.in
+M doc/man/doveadm-penalty.1.in
+M doc/man/doveadm-purge.1.in
+M doc/man/doveadm-pw.1.in
+M doc/man/doveadm-quota.1.in
+M doc/man/doveadm-search-query.7
+M doc/man/doveadm-search.1.in
+M doc/man/doveadm-user.1.in
+M doc/man/doveadm-who.1.in
+M doc/man/doveadm.1.in
+M doc/man/doveconf.1.in
+M doc/man/dovecot-lda.1.in
+M doc/man/dovecot.1.in
+M doc/man/dsync.1.in
+
+2011-11-16 19:06:20 +0200 Timo Sirainen <tss@iki.fi> (626e383978)
+
+ config: Skip spaces between '<' and value in "key=< value"
+
+
+M src/config/config-parser.c
+
+2011-11-16 19:04:31 +0200 Timo Sirainen <tss@iki.fi> (2806f15ceb)
+
+ master: Don't log errors at shutdown about services' "command startup
+ failed".
+
+
+M src/master/service-monitor.c
+
+2011-11-16 18:15:46 +0200 Timo Sirainen <tss@iki.fi> (28dae6a006)
+
+ login: Improved auth failed log messages.
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2011-11-16 00:28:32 +0200 Timo Sirainen <tss@iki.fi> (9ab62bfdfa)
+
+ man: Fixes to previous doveadm-search-query.7 change.
+
+
+M doc/man/doveadm-search-query.7
+
+2011-11-15 22:24:18 +0200 Timo Sirainen <tss@iki.fi> (208f88fd3e)
+
+ man: Updated doveadm-search-query.7 to include MAILBOX[-GUID] as search
+ keys.
+
+
+M doc/man/doveadm-search-query.7
+
+2011-11-15 20:58:48 +0200 Timo Sirainen <tss@iki.fi> (904324b955)
+
+ master: Don't throttle successfully started services just because their
+ processes didn't have clients.
+
+
+M src/master/service-monitor.c
+
+2011-11-15 20:56:59 +0200 Timo Sirainen <tss@iki.fi> (5bbcbf5049)
+
+ stats: If process has crashed/restarted, hide initial "missing session GUID"
+ warnings.
+
+
+M src/stats/mail-session.c
+
+2011-11-15 18:29:52 +0200 Timo Sirainen <tss@iki.fi> (c886132f85)
+
+ configure: Don't reorder --with-storages values. The ordering is used for
+ storage autodetection.
+
+
+M configure.in
+
+2011-11-15 18:29:14 +0200 Timo Sirainen <tss@iki.fi> (13307d0b3f)
+
+ mdbox: Added support for autodetection of ~/mdbox/ as mdbox storage.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+
+2011-11-15 18:21:39 +0200 Timo Sirainen <tss@iki.fi> (c5ae8a7c29)
+
+ lib-storage: Added "auto" mail storage driver for forcing autodetection.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-11-15 17:40:13 +0200 Timo Sirainen <tss@iki.fi> (e1ba134851)
+
+ stats: Freeing a user didn't remove it from hash table, leading to crash
+ later.
+
+
+M src/stats/mail-user.c
+
+2011-11-15 00:34:00 +0200 Timo Sirainen <tss@iki.fi> (80bcc6caa3)
+
+ maildir: Added maildir_broken_filename_sizes setting.
+
+
+M doc/example-config/conf.d/10-mail.conf
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-settings.c
+M src/lib-storage/index/maildir/maildir-settings.h
+
+2011-11-15 00:05:50 +0200 Timo Sirainen <tss@iki.fi> (3ec3632e12)
+
+ maildir: When noticing invalid 'S' in filename, replace it with the correct
+ one instead of removing it.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2011-11-14 23:15:37 +0200 Timo Sirainen <tss@iki.fi> (c632d130da)
+
+ imap-stats: Don't send IDLE command updates to stats service.
+
+
+M src/plugins/imap-stats/imap-stats-plugin.c
+
+2011-11-14 23:15:17 +0200 Timo Sirainen <tss@iki.fi> (fb9509f2a3)
+
+ stats: Forcibly free command after running for 15 minutes without updates.
+
+
+M src/stats/mail-command.c
+
+2011-11-09 22:58:38 +0200 Timo Sirainen <tss@iki.fi> (39200631bf)
+
+ maildir++: If listing finds non-mUTF7/UTF8 mailbox dir, rename it instead of
+ assert-crashing later.
+
+
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+
+2011-11-09 18:33:59 +0200 Timo Sirainen <tss@iki.fi> (1a7f099498)
+
+ master: Increase process count limit (ulimit -u) at startup high enough that
+ we don't reach it.
+
+
+M src/master/main.c
+
+2011-11-09 18:30:27 +0200 Timo Sirainen <tss@iki.fi> (9ebd0c59de)
+
+ restrict_process_size() API changes.
+
+
+M src/lib/restrict-process-size.c
+M src/lib/restrict-process-size.h
+M src/login-common/main.c
+M src/master/service-process.c
+
+2011-11-09 18:20:51 +0200 Timo Sirainen <tss@iki.fi> (4b5ba5014f)
+
+ restrict_access*(): If setuid() fails with EAGAIN, suggest ulimit -u being
+ the problem.
+
+
+M src/lib/restrict-access.c
+
+2011-11-09 18:14:04 +0200 Timo Sirainen <tss@iki.fi> (ef56d74af7)
+
+ imap/pop3-login: Use default_vsz_limit instead of adding our own. There's
+ not a huge difference between 64 MB and the default 256 MB, and this change
+ makes it easier to change the default limit globally.
+
+
+M src/imap-login/imap-login-settings.c
+M src/pop3-login/pop3-login-settings.c
+
+2011-11-09 18:07:28 +0200 Timo Sirainen <tss@iki.fi> (59b7dc2640)
+
+ master: vsz_limit enforcement was done for 1024 times too much memory.
+
+
+M src/master/service-process.c
+
+2011-11-09 18:05:25 +0200 Timo Sirainen <tss@iki.fi> (e960fec8bc)
+
+ lmtp: Default vsz_limit wasn't used for lmtp service.
+
+
+M src/lmtp/lmtp-settings.c
+
+2011-11-09 14:15:18 +0200 Timo Sirainen <tss@iki.fi> (b12b6da6f0)
+
+ maildir: When fixing broken size in filename, try harder to find the latest
+ filename.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2011-11-09 13:24:49 +0200 Timo Sirainen <tss@iki.fi> (2bde8972f2)
+
+ maildir: Whenever we're guessing a filename correctly, remember it in
+ uidlist.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-uidlist.h
+M src/lib-storage/index/maildir/maildir-util.c
+
+2011-11-09 12:55:37 +0200 Timo Sirainen <tss@iki.fi> (876a944ce6)
+
+ maildir: When renaming filename due to broken size, don't forget message
+ flags.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2011-11-09 00:10:07 +0200 Timo Sirainen <tss@iki.fi> (aecb97354b)
+
+ Added signature for changeset 437ae2c24872
+
+
+M .hgsigs
+
+2011-11-09 00:10:04 +0200 Timo Sirainen <tss@iki.fi> (5c63c7f576)
+
+ Added tag 2.1.beta1 for changeset 437ae2c24872
+
+
+M .hgtags
+
+2011-11-09 00:10:04 +0200 Timo Sirainen <tss@iki.fi> (25af25293b)
+
+ Released v2.1.beta1.
+
+
+M NEWS
+M configure.in
+
+2011-11-09 00:09:35 +0200 Timo Sirainen <tss@iki.fi> (93b7a21779)
+
+ Make static analyzer happier.
+
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+
+2011-11-08 23:45:05 +0200 Timo Sirainen <tss@iki.fi> (97fb0af494)
+
+ TODO updated
+
+
+M TODO
+
+2011-11-08 23:44:31 +0200 Timo Sirainen <tss@iki.fi> (6a40392701)
+
+ README: Added FUZZY RFC.
+
+
+M README
+
+2011-11-08 23:40:54 +0200 Timo Sirainen <tss@iki.fi> (831f3bcdde)
+
+ login proxy: Verify that remote hostname matches SSL cert, unless
+ ssl=any-cert
+
+
+M configure.in
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/login-common/Makefile.am
+M src/login-common/login-proxy.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.c
+M src/login-common/ssl-proxy.h
+
+2011-11-08 22:49:57 +0200 Timo Sirainen <tss@iki.fi> (74ec4fe074)
+
+ eacces_error_get*(): Crashfix for recent change.
+
+
+M src/lib/eacces-error.c
+
+2011-11-08 22:38:36 +0200 Timo Sirainen <tss@iki.fi> (45799f8340)
+
+ maildir: Log less lines when removing broken sizes from filenames.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2011-11-08 21:50:46 +0200 Timo Sirainen <tss@iki.fi> (e5097d2c8e)
+
+ master: Never create new processes for services that are being destroyed
+ (reload, deinit)
+
+
+M src/master/service-process.c
+
+2011-11-08 21:29:34 +0200 Timo Sirainen <tss@iki.fi> (843640f0ca)
+
+ login: If login fails for some reason, but auth was successful, don't log
+ "auth failed". For example if proxy fails to connect to remote server.
+
+
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2011-11-08 21:14:32 +0200 Timo Sirainen <tss@iki.fi> (9ec06bb0bb)
+
+ login proxy: Always log the username in the error messages.
+
+
+M src/login-common/login-proxy.c
+
+2011-11-07 22:54:32 +0200 Timo Sirainen <tss@iki.fi> (8eefc42b25)
+
+ auth: When complaining about auth-userdb permission errors, log also the
+ wanted UID's name.
+
+
+M src/auth/auth-master-connection.c
+
+2011-11-07 22:17:15 +0200 Timo Sirainen <tss@iki.fi> (4605fd7e1f)
+
+ indexer-worker: If indexes are disabled for a mailbox, do nothing but log a
+ message.
+
+
+M src/indexer/master-connection.c
+
+2011-11-07 20:45:55 +0200 Timo Sirainen <tss@iki.fi> (5d46f4d076)
+
+ master: Fixed giving config socket path to anvil process.
+
+
+M src/master/service-process.c
+
+2011-11-05 20:35:56 +0200 Timo Sirainen <tss@iki.fi> (5d1ae898c5)
+
+ configure: Use libtool's -no-undefined flag instead of attempting it
+ ourself. Patch by Brad.
+
+
+M configure.in
+
+2011-11-05 19:59:55 +0200 Timo Sirainen <tss@iki.fi> (a478890319)
+
+ doveadm import: Added -s parameter to subscribe to created mailboxes.
+
+
+M src/doveadm/doveadm-mail-import.c
+
+2011-11-05 19:37:23 +0200 Timo Sirainen <tss@iki.fi> (a03eb91f25)
+
+ dsync: Set user to be admin to ignore quota limits.
+
+
+M src/dsync/dsync.c
+
+2011-11-05 19:37:02 +0200 Timo Sirainen <tss@iki.fi> (97daba8222)
+
+ quota: Ignore quota limits for admin users.
+
+
+M src/plugins/quota/quota.c
+
+2011-11-05 19:17:59 +0200 Timo Sirainen <tss@iki.fi> (1c7b0cbdb0)
+
+ master: Wait for services to stop listening before unlinking the pid file.
+
+
+M src/master/main.c
+M src/master/service-monitor.c
+M src/master/service-monitor.h
+M src/master/service.c
+M src/master/service.h
+
+2011-11-05 17:59:11 +0200 Timo Sirainen <tss@iki.fi> (969c10cf56)
+
+ fts-lucene: Use FTS_BACKEND_FLAG_BUILD_FULL_WORDS flag.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2011-11-05 17:58:50 +0200 Timo Sirainen <tss@iki.fi> (84f447a23b)
+
+ fts: Added FTS_BACKEND_FLAG_BUILD_FULL_WORDS for sending data to backends
+ only in full words.
+
+
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-build-mail.c
+
+2011-11-05 17:31:47 +0200 Timo Sirainen <tss@iki.fi> (65a67a3c17)
+
+ fts-lucene: Optimize searching for existence of an indexed header.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-11-05 17:30:55 +0200 Timo Sirainen <tss@iki.fi> (d294543669)
+
+ fts-lucene: Index the header name tokenized, or we can't search it.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-11-05 17:11:40 +0200 Timo Sirainen <tss@iki.fi> (1c8457afb4)
+
+ fts-lucene: Fixed handling "maybe" queries (unindexed headers)
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-11-04 21:57:05 +0000 Pascal Volk <user@localhost.localdomain.org> (e5c06764ea)
+
+ man: Added -f option to doveadm-user.1.
+
+
+M doc/man/doveadm-user.1.in
+
+2011-11-05 00:07:14 +0200 Timo Sirainen <tss@iki.fi> (c53a0a298f)
+
+ Use SSL_MODE_RELEASE_BUFFERS if available to keep memory usage low. Based on
+ patch by Cristian Rodríguez.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2011-11-05 00:00:49 +0200 Timo Sirainen <tss@iki.fi> (1906aead34)
+
+ lmtp: Changed default client_limit to 1. LMTP processes can wait a long time
+ on disk I/O, so a single process will be busy waiting long before it reaches
+ default_client_limit (100).
+
+
+M src/lmtp/lmtp-settings.c
+
+2011-11-04 21:21:11 +0200 Timo Sirainen <tss@iki.fi> (ee773c0f95)
+
+ imapc: When doing a LIST, delete any extra local mailbox (index)
+ directories.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2011-11-04 21:20:19 +0200 Timo Sirainen <tss@iki.fi> (7cf1c7dd3d)
+
+ imapc: Don't use separate indexes/ directory anymore. Fixes/cleanups to make
+ it possible.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2011-11-04 21:17:09 +0200 Timo Sirainen <tss@iki.fi> (f86a9203b2)
+
+ imapc: If rawlog directory doesn't exist, silently ignore it.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2011-11-04 20:36:28 +0200 Timo Sirainen <tss@iki.fi> (8e69d321c4)
+
+ imapc: Index files weren't deleted when mailbox was deleted.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2011-11-04 20:36:06 +0200 Timo Sirainen <tss@iki.fi> (fd057522c5)
+
+ lib-storage: Added MAILBOX_LIST_FLAG_OPTIONAL_BOXES flag.
+
+
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mailbox-list.h
+
+2011-11-04 20:11:39 +0200 Timo Sirainen <tss@iki.fi> (ab96e72a57)
+
+ anvil: Handle crash restarts without failing completely.
+
+
+M src/anvil/anvil-connection.c
+M src/anvil/common.h
+M src/anvil/main.c
+M src/master/service-anvil.c
+M src/master/service-anvil.h
+M src/master/service-process.c
+
+2011-11-04 19:52:26 +0200 Timo Sirainen <tss@iki.fi> (0374f48baf)
+
+ doveadm dump index: Dump also mime.parts decoded.
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2011-11-04 19:35:30 +0200 Timo Sirainen <tss@iki.fi> (2e5d624013)
+
+ fts-lucene: Added whitespace_chars subsetting to fts_lucene. A value of "@."
+ could be useful so that user@domain.tld allows searching user, domain and
+ tld separately instead of requiring the whole string to match.
+
+
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/fts-lucene-plugin.h
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-11-04 18:50:24 +0200 Timo Sirainen <tss@iki.fi> (93e742e816)
+
+ eacces_error_get*(): Log if group has r/w permissions, but we don't belong
+ to it.
+
+
+M src/lib/eacces-error.c
+
+2011-10-25 22:58:48 +0300 Timo Sirainen <tss@iki.fi> (2f6a8ef44b)
+
+ master: Assert-crashfix when service process limit was reached. Introduced
+ by commit fddbb26400d0.
+
+
+M src/master/service-monitor.c
+
+2011-10-25 21:44:38 +0300 Timo Sirainen <tss@iki.fi> (93c3674da4)
+
+ login: When renegotiating SSL handshake, don't reread settings when TLS SNI
+ is used.
+
+
+M src/login-common/client-common.h
+M src/login-common/ssl-proxy-openssl.c
+
+2011-10-25 21:41:28 +0300 Timo Sirainen <tss@iki.fi> (34228421f2)
+
+ login: Increased client's initial memory pool size.
+
+
+M src/login-common/main.c
+
+2011-10-20 18:37:09 +0300 Timo Sirainen <tss@iki.fi> (acef354e74)
+
+ master: When process_limit fills up, wait 10s before closing pending
+ connections. It might have only been a temporary burst that gets resolved
+ quickly enough.
+
+
+M src/master/service-monitor.c
+M src/master/service.h
+
+2011-10-20 18:26:15 +0300 Timo Sirainen <tss@iki.fi> (605cce7e45)
+
+ master: Reset service's listen_pending flag when it gets a new available
+ process.
+
+
+M src/master/service-monitor.c
+
+2011-10-20 16:54:36 +0300 Timo Sirainen <tss@iki.fi> (05b24d0011)
+
+ imapc: Fixed reopening a mailbox.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+
+2011-10-19 16:11:44 +0300 Timo Sirainen <tss@iki.fi> (d336f59603)
+
+ auth: passdb static crashed if no password was given
+
+
+M src/auth/passdb-static.c
+
+2011-10-18 16:53:06 +0300 Timo Sirainen <tss@iki.fi> (de4e3a2e1e)
+
+ maildir: If maildir filename has broken W/S size, rename the file to drop
+ them.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2011-10-18 16:52:23 +0300 Timo Sirainen <tss@iki.fi> (601c1dd3a5)
+
+ istream-mail: Call mail_cache_set_corrupted() properly
+
+
+M src/lib-storage/index/istream-mail.c
+
+2011-10-17 15:35:54 +0300 Timo Sirainen <tss@iki.fi> (3577975496)
+
+ imapc: Added imapc_ssl_verify setting.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-10-12 19:09:02 +0300 Timo Sirainen <tss@iki.fi> (9c0716dfcd)
+
+ mail-log: Use mail_log_update_wanted_fields() to avoid parsing message
+ multiple times.
+
+
+M src/plugins/mail-log/mail-log-plugin.c
+
+2011-10-12 19:08:31 +0300 Timo Sirainen <tss@iki.fi> (ecd69c4e83)
+
+ lib-storage: Added mail_log_update_wanted_fields()
+
+
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+M src/lib-storage/test-mail.c
+M src/plugins/virtual/virtual-mail.c
+
+2011-10-12 17:21:01 +0300 Timo Sirainen <tss@iki.fi> (72c25bce64)
+
+ mdbox rebuild: Log an error whenever opening a mailbox fails.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2011-10-12 19:07:07 +0300 Timo Sirainen <tss@iki.fi> (0b5cf161dd)
+
+ imapc: Mail body wasn't always prefetched when it should have been.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-10-09 20:46:53 +0300 Timo Sirainen <tss@iki.fi> (019ae3c13b)
+
+ imapc: When asking for capabilities, try to ask from a logged in connection.
+
+
+M src/lib-imap-client/imapc-client.c
+
+2011-10-09 20:46:28 +0300 Timo Sirainen <tss@iki.fi> (a20216560f)
+
+ imapc: Post-login capabilities weren't detected/used.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2011-10-09 20:38:11 +0300 Timo Sirainen <tss@iki.fi> (f87844c400)
+
+ imapc: Support retrying some IMAP commands if we get disconnected.
+
+
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/imapc/imapc-sync.h
+
+2011-10-09 20:36:28 +0300 Timo Sirainen <tss@iki.fi> (428fb4dc39)
+
+ lib-imap: Added reference counting to imap parser.
+
+
+M src/director/director-test.c
+M src/imap-login/client.c
+M src/imap/cmd-append.c
+M src/imap/imap-client.c
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-id.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-parser.h
+M src/lib-imap/test-imap-parser.c
+M src/plugins/virtual/virtual-config.c
+
+2011-10-09 19:04:27 +0300 Timo Sirainen <tss@iki.fi> (b2048c45f6)
+
+ imapc: Mailbox reopening fix.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-10-09 19:04:15 +0300 Timo Sirainen <tss@iki.fi> (f4ec0cc449)
+
+ imapc: Fixed expunging too many messages from index.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-10-09 18:27:54 +0300 Timo Sirainen <tss@iki.fi> (4a4fe31b35)
+
+ imapc: Better implementation of checking if index is missing messages.
+
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-10-09 18:25:18 +0300 Timo Sirainen <tss@iki.fi> (922fc890d7)
+
+ imapc: Fixes to sending commands.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2011-10-09 17:15:31 +0300 Timo Sirainen <tss@iki.fi> (b50e80d237)
+
+ imapc: Fixed detecting when messages are missing from index.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-10-09 16:41:17 +0300 Timo Sirainen <tss@iki.fi> (edcd6f7223)
+
+ imapc: Initial support for automatically reconnecting to remote server.
+
+
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+M src/lib-imap-client/imapc-msgmap.c
+M src/lib-imap-client/imapc-msgmap.h
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-10-08 20:31:22 +0300 Timo Sirainen <tss@iki.fi> (34bc7b583d)
+
+ imapc: Fixed updating message flags from another session.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-10-07 21:15:52 +0300 Timo Sirainen <tss@iki.fi> (c33cf2266c)
+
+ imapc: Fixed handling keywords. The status->keywords must point to
+ mail_index's keywords.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-10-07 21:14:58 +0300 Timo Sirainen <tss@iki.fi> (dcb96a0dc2)
+
+ imapc: Detect when message has been unexpectedly expunged from index.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-10-07 20:50:02 +0300 Timo Sirainen <tss@iki.fi> (4769563679)
+
+ imapc: IDLE didn't notify immediately about new mails.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-10-07 20:49:32 +0300 Timo Sirainen <tss@iki.fi> (f5be4f5b4a)
+
+ imapc: Code cleanup: avoid unnecessarily accessing imapc-client-private.h
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-10-07 20:34:53 +0300 Timo Sirainen <tss@iki.fi> (f084de14d7)
+
+ imapc: Removed unused "stop now" functionality.
+
+
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+
+2011-10-07 20:31:57 +0300 Timo Sirainen <tss@iki.fi> (fb37a9b7bb)
+
+ imapc: Changed mailbox opening API to be more extensible.
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-10-07 20:10:11 +0300 Timo Sirainen <tss@iki.fi> (81d3c215bb)
+
+ imapc: Command sending API changed to be more extensible.
+
+
+M src/lib-imap-client/imapc-client-private.h
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-imap-client/imapc-connection.c
+M src/lib-imap-client/imapc-connection.h
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-10-07 19:25:52 +0300 Timo Sirainen <tss@iki.fi> (e5a776932f)
+
+ auth: Don't re-add IO to master connection input. This fixes a panic crash
+ in some situations.
+
+
+M src/auth/auth-master-connection.c
+
+2011-10-07 18:18:20 +0300 Timo Sirainen <tss@iki.fi> (86a5833786)
+
+ auth: Improved "auth client doesn't have permissions to do .." errors.
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-master-connection.h
+M src/auth/main.c
+
+2011-10-05 18:47:56 +0300 Timo Sirainen <tss@iki.fi> (01fd545f6d)
+
+ pop3: When pop3_fast_size_lookups=yes, don't assume we need to fetch virtual
+ size. This fixes prefetch unnecessarily opening mail files.
+
+
+M src/pop3/pop3-client.c
+
+2011-10-05 17:55:29 +0300 Timo Sirainen <tss@iki.fi> (13f6c879a8)
+
+ imapc: Fixed fetching data for a saved, but uncommitted, mail.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-10-05 17:51:32 +0300 Timo Sirainen <tss@iki.fi> (8774548a29)
+
+ lib-storage: Fixed reopening a mail stream.
+
+
+M src/lib-storage/index/index-mail.c
+
+2011-10-05 17:51:01 +0300 Timo Sirainen <tss@iki.fi> (6ac48a4295)
+
+ imapc: Memory leak fixes.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2011-10-05 17:34:51 +0300 Timo Sirainen <tss@iki.fi> (15979d1125)
+
+ imapc: Fixed closing mail properly.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2011-10-05 17:34:16 +0300 Timo Sirainen <tss@iki.fi> (9cc5bd056a)
+
+ imapc: Fixed potential assert-crash when saving a mail.
+
+
+M src/lib-storage/index/imapc/imapc-save.c
+
+2011-10-05 17:21:46 +0300 Timo Sirainen <tss@iki.fi> (7e24f82fbd)
+
+ imapc: Fixed "Bad file descriptor" errors after mail was closed.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-10-05 15:57:03 +0300 Timo Sirainen <tss@iki.fi> (5b6854f83e)
+
+ raw storage: Don't crash with mailbox_get_metadata()
+
+
+M src/lib-storage/index/raw/raw-storage.c
+
+2011-10-04 17:22:55 +0300 Timo Sirainen <tss@iki.fi> (7c3f90095b)
+
+ lib-storage: Verify that cached message size matches actually read size.
+
+
+M src/lib-storage/index/Makefile.am
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+D src/lib-storage/index/istream-mail-stats.c
+D src/lib-storage/index/istream-mail-stats.h
+A src/lib-storage/index/istream-mail.c
+A src/lib-storage/index/istream-mail.h
+
+2011-10-04 17:17:12 +0300 Timo Sirainen <tss@iki.fi> (6df0ab0c1a)
+
+ lib-storage: Added mail_get_hdr_stream() and use it where possible. This
+ makes it clearer for backends when it needs a message body instead of only
+ message header.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+M src/imap/imap-fetch-body.c
+M src/lib-lda/mail-send.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-common/dbox-mail.h
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+M src/lib-storage/test-mail.c
+M src/plugins/virtual/virtual-mail.c
+
+2011-10-04 17:14:30 +0300 Timo Sirainen <tss@iki.fi> (0daf6ffdc0)
+
+ imapc: Mail body caching should be done at close(), not at free(). This
+ cached wrong mail bodies when fetching multiple mails.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-10-03 20:00:55 +0300 Timo Sirainen <tss@iki.fi> (c0ebeec35e)
+
+ script-login: Disable alarm after input has been read.
+
+
+M src/util/script-login.c
+
+2011-10-02 20:26:02 +0300 Timo Sirainen <tss@iki.fi> (1fb1687d82)
+
+ passdb vpopmail: Always prefer to lookup plaintext password if it exists.
+ This is important when multiple auth mechanisms are used and the password is
+ cached.
+
+
+M src/auth/passdb-vpopmail.c
+
+2011-10-02 20:09:04 +0300 Timo Sirainen <tss@iki.fi> (8746285eba)
+
+ mailbox list indexes: Get mailbox_get_metadata(guid) from index if possible.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+
+2011-10-02 20:06:58 +0300 Timo Sirainen <tss@iki.fi> (206ed2f6fa)
+
+ lib-storage: mailbox_get_metadata() no longer always opens mailbox.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/mail-storage.c
+M src/plugins/virtual/virtual-storage.c
+
+2011-10-02 20:05:23 +0300 Timo Sirainen <tss@iki.fi> (4552316c45)
+
+ lib-storage: Compile fix for recent change.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-10-02 18:54:32 +0300 Timo Sirainen <tss@iki.fi> (c59137aad6)
+
+ maildir: Maildir list index change check should always check index log
+ changes. (Not only when maildir_very_dirty_syncs=no)
+
+
+M src/lib-storage/index/maildir/maildir-sync-index.c
+
+2011-10-02 18:49:09 +0300 Timo Sirainen <tss@iki.fi> (167da29da7)
+
+ mailbox list indexes: Handle name="" mailboxes.
+
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+
+2011-10-02 18:39:49 +0300 Timo Sirainen <tss@iki.fi> (93ec3b0c4b)
+
+ lib-storage: Mailbox list index's ext_id shouldn't be cached in
+ mail_storage. It's mailbox_list-specific, not mail_storage-specific. The
+ easiest fix was to just cache it into mailbox rather than create a new
+ index_mailbox_list.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-storage.h
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/mail-storage-private.h
+
+2011-10-02 18:30:32 +0300 Timo Sirainen <tss@iki.fi> (0daea62c19)
+
+ mailbox list indexes: Added comment.
+
+
+M src/lib-storage/list/mailbox-list-index.h
+
+2011-10-02 18:12:05 +0300 Timo Sirainen <tss@iki.fi> (7887dbfe63)
+
+ mailbox list indexes: Code cleanups.
+
+
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2011-10-02 17:48:23 +0300 Timo Sirainen <tss@iki.fi> (3a78410fa5)
+
+ mailbox list indexes: Error handling fixes.
+
+
+M src/lib-storage/list/mailbox-list-index-status.c
+M src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2011-10-02 17:34:49 +0300 Timo Sirainen <tss@iki.fi> (39140d628b)
+
+ mailbox list indexes: Moved syncing code to separate file.
+
+
+M src/lib-storage/list/Makefile.am
+A src/lib-storage/list/mailbox-list-index-sync.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2011-10-02 17:18:31 +0300 Timo Sirainen <tss@iki.fi> (66e1cf5014)
+
+ mailbox list indexes: Moved iteration code to separate file.
+
+
+M src/lib-storage/list/Makefile.am
+A src/lib-storage/list/mailbox-list-index-iter.c
+M src/lib-storage/list/mailbox-list-index.c
+M src/lib-storage/list/mailbox-list-index.h
+
+2011-10-02 17:12:58 +0300 Timo Sirainen <tss@iki.fi> (9afe1b3ac4)
+
+ Renamed index-mailbox-list* to mailbox-list-index*
+
+
+M src/lib-storage/list/Makefile.am
+R089 src/lib-storage/list/index-mailbox-list-status.c src/lib-storage/list/mailbox-list-index-status.c
+R071 src/lib-storage/list/index-mailbox-list.c src/lib-storage/list/mailbox-list-index.c
+R067 src/lib-storage/list/index-mailbox-list.h src/lib-storage/list/mailbox-list-index.h
+M src/lib-storage/register/Makefile.am
+
+2011-10-02 16:59:51 +0300 Timo Sirainen <tss@iki.fi> (0fe3759284)
+
+ mailbox list indexes: Disable index files for shared/public namespaces.
+
+
+M src/lib-storage/list/index-mailbox-list.c
+
+2011-10-02 16:55:45 +0300 Timo Sirainen <tss@iki.fi> (6842737422)
+
+ mailbox list indexes: Use storage names instead of virtual names.
+
+
+M src/lib-storage/list/index-mailbox-list-status.c
+M src/lib-storage/list/index-mailbox-list.c
+M src/lib-storage/list/index-mailbox-list.h
+
+2011-10-02 16:51:40 +0300 Timo Sirainen <tss@iki.fi> (8aa6098906)
+
+ lmtp: Code cleanup.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2011-10-02 16:47:25 +0300 Timo Sirainen <tss@iki.fi> (accc2e8b50)
+
+ lda: Code cleanups
+
+
+M src/lda/main.c
+
+2011-10-02 16:35:22 +0300 Timo Sirainen <tss@iki.fi> (15dd1857d4)
+
+ lda/lmtp: Moved common raw mailbox allocation code to raw-storage.
+
+
+M src/lda/main.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/raw/raw-storage.h
+M src/lmtp/commands.c
+
+2011-10-02 16:34:41 +0300 Timo Sirainen <tss@iki.fi> (a12817443b)
+
+ lib-storage: Keep mail_user referenced while storage objects exist. This
+ allows unreferencing mail_user after mailbox_alloc() and having it freed on
+ mailbox_free().
+
+
+M src/lib-storage/mail-storage.c
+
+2011-10-02 16:33:51 +0300 Timo Sirainen <tss@iki.fi> (b7fa2a0167)
+
+ ioloop: Memory leak fix on ioloop destroy.
+
+
+M src/lib/ioloop.c
+
+2011-10-02 16:32:59 +0300 Timo Sirainen <tss@iki.fi> (c1d4780bc0)
+
+ istream-seekable: Memory leak fix.
+
+
+M src/lib/istream-seekable.c
+
+2011-10-02 16:03:10 +0300 Timo Sirainen <tss@iki.fi> (34e9dfbce0)
+
+ lda/lmtp: Moved raw user creation code to common
+ raw_storage_create_from_set()
+
+
+M src/lda/main.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/raw/raw-storage.h
+M src/lmtp/client.c
+
+2011-10-02 15:39:45 +0300 Timo Sirainen <tss@iki.fi> (940871157a)
+
+ mailbox list index: Minor code cleanup.
+
+
+M src/lib-storage/list/index-mailbox-list-status.c
+
+2011-10-01 17:55:18 +0300 Timo Sirainen <tss@iki.fi> (cdf00df4dc)
+
+ imapc: Changed imapc_client_mailbox_cmd() parameter order to be same as in
+ _cmdf().
+
+
+M src/lib-imap-client/imapc-client.c
+M src/lib-imap-client/imapc-client.h
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-10-01 17:54:57 +0300 Timo Sirainen <tss@iki.fi> (92daf55a73)
+
+ imapc: Don't assert-crash when receiving 0 size literal.
+
+
+M src/lib-imap-client/imapc-connection.c
+
+2011-10-01 17:47:35 +0300 Timo Sirainen <tss@iki.fi> (17f2b2643f)
+
+ imapc: Make sure "is mail expunged?" NOOP is sent to correct connection.
+ (Although currently there are never more than a single connection.)
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-10-01 17:41:12 +0300 Timo Sirainen <tss@iki.fi> (97ff916ad7)
+
+ imapc: Make sure mail cache is freed when mailbox is closed.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-10-01 17:34:39 +0300 Timo Sirainen <tss@iki.fi> (966cb0c1aa)
+
+ auth: Lazily load authdb_* and mech_* plugins only when they're needed.
+
+
+M src/auth/auth-common.h
+M src/auth/main.c
+M src/auth/mech.c
+M src/auth/passdb.c
+M src/auth/userdb.c
+
+2011-10-01 17:24:09 +0300 Timo Sirainen <tss@iki.fi> (7732d9fdf9)
+
+ auth: Renamed passdb_imap plugin to authdb_imap.
+
+
+M src/auth/Makefile.am
+M src/auth/passdb-imap.c
+
+2011-10-01 17:22:44 +0300 Timo Sirainen <tss@iki.fi> (39d3ce140b)
+
+ module_dir_load*(): Support filtering and ignoring missing modules.
+
+
+M src/lib/module-dir.c
+M src/lib/module-dir.h
+
+2011-10-01 17:09:00 +0300 Timo Sirainen <tss@iki.fi> (ec892704d6)
+
+ Added ssl_protocols setting.
+
+
+M doc/example-config/conf.d/10-ssl.conf
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+M src/login-common/ssl-proxy-openssl.c
+
+2011-10-01 17:06:04 +0300 Timo Sirainen <tss@iki.fi> (269f798982)
+
+ doveadm: Compile fix for previous auth change.
+
+
+M src/doveadm/doveadm-pw.c
+
+2011-10-01 16:48:17 +0300 Timo Sirainen <tss@iki.fi> (ce6c2809b8)
+
+ auth: If password data isn't valid for specified scheme, give a better error
+ message.
+
+
+M src/auth/auth-request.c
+M src/auth/passdb.c
+M src/auth/password-scheme.c
+M src/auth/password-scheme.h
+
+2011-09-30 19:02:31 +0300 Timo Sirainen <tss@iki.fi> (cf48ae78f7)
+
+ imap: Memory leak fixes for invalid parameter handling.
+
+
+M src/imap/cmd-copy.c
+M src/imap/cmd-expunge.c
+M src/imap/cmd-store.c
+M src/imap/imap-search-args.c
+
+2011-09-30 18:53:09 +0300 Timo Sirainen <tss@iki.fi> (b1a2d2042e)
+
+ imapc: Keep the last fetched message body cached until mailbox is closed.
+ This primarily helps partial IMAP fetches so each partial fetch doesn't
+ redownload the message body.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mail.h
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-09-30 18:19:17 +0300 Timo Sirainen <tss@iki.fi> (0d82d77441)
+
+ imap: Moved partial fetch cache from static variable into struct client.
+
+
+M src/imap/imap-client.h
+M src/imap/imap-fetch-body.c
+
+2011-09-30 15:54:20 +0300 Timo Sirainen <tss@iki.fi> (8363f50d7b)
+
+ maildir: Handle open() failing with ESTALE.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2011-09-27 18:57:14 +0300 Timo Sirainen <tss@iki.fi> (8654934ad0)
+
+ stats: Mail commands were sorted in wrong order, so they were never removed
+ from memory.
+
+
+M src/stats/client-export.c
+M src/stats/mail-command.c
+M src/stats/mail-command.h
+
+2011-09-27 18:14:32 +0300 Timo Sirainen <tss@iki.fi> (d93f51bbd9)
+
+ pop3: Fixed POP3-order sorting.
+
+
+M src/pop3/pop3-client.c
+
+2011-09-27 00:44:03 +0300 Timo Sirainen <tss@iki.fi> (132bd0d1d5)
+
+ stats: Compiler warning fixes.
+
+
+M src/stats/mail-command.c
+M src/stats/mail-domain.c
+M src/stats/mail-ip.c
+M src/stats/mail-session.c
+M src/stats/mail-user.c
+
+2011-09-27 00:41:49 +0300 Timo Sirainen <tss@iki.fi> (f928262648)
+
+ stats: Error message fix.
+
+
+M src/stats/mail-stats.c
+
+2011-09-27 00:12:49 +0300 Timo Sirainen <tss@iki.fi> (28aa68ccba)
+
+ Compile fix for Solaris.
+
+
+M src/lib/network.c
+
+2011-09-26 21:55:10 +0300 Timo Sirainen <tss@iki.fi> (ae1636c09e)
+
+ sdbox: Memory leak fix.
+
+
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2011-09-26 15:36:21 +0300 Timo Sirainen <tss@iki.fi> (1da01eaa96)
+
+ auth: Added passdb imap plugin.
+
+
+M src/auth/Makefile.am
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+A src/auth/passdb-imap.c
+
+2011-09-26 15:34:58 +0300 Timo Sirainen <tss@iki.fi> (5035404202)
+
+ Moved imapc-client into its own lib-imap-client library.
+
+
+M configure.in
+M src/Makefile.am
+A src/lib-imap-client/Makefile.am
+R084 src/lib-storage/index/imapc/imapc-client-private.h src/lib-imap-client/imapc-client-private.h
+R090 src/lib-storage/index/imapc/imapc-client.c src/lib-imap-client/imapc-client.c
+R096 src/lib-storage/index/imapc/imapc-client.h src/lib-imap-client/imapc-client.h
+R096 src/lib-storage/index/imapc/imapc-connection.c src/lib-imap-client/imapc-connection.c
+R093 src/lib-storage/index/imapc/imapc-connection.h src/lib-imap-client/imapc-connection.h
+R100 src/lib-storage/index/imapc/imapc-msgmap.c src/lib-imap-client/imapc-msgmap.c
+R100 src/lib-storage/index/imapc/imapc-msgmap.h src/lib-imap-client/imapc-msgmap.h
+M src/lib-storage/index/imapc/Makefile.am
+
+2011-09-25 22:32:04 +0000 Pascal Volk <user@localhost.localdomain.org> (f6b42d6832)
+
+ man: Added doveadm move.
+
+
+M .hgignore
+M doc/man/Makefile.am
+A doc/man/doveadm-move.1.in
+M doc/man/doveadm.1.in
+
+2011-09-23 16:07:29 +0300 Timo Sirainen <tss@iki.fi> (6e03a57507)
+
+ stats: Make sure unfinished commands get freed when their session
+ disconnects.
+
+
+M src/stats/mail-command.c
+
+2011-09-23 15:01:57 +0300 Timo Sirainen <tss@iki.fi> (9757435c46)
+
+ file_dotlock: And fix to previous change..
+
+
+M src/lib/file-dotlock.c
+
+2011-09-23 15:01:23 +0300 Timo Sirainen <tss@iki.fi> (bbebb157d1)
+
+ file_dotlock: Don't warn about changed mtime when it's 1 second. This is
+ mainly to avoid bogus warnings with NFS and its caching.
+
+
+M src/lib/file-dotlock.c
+
+2011-09-23 14:52:46 +0300 Timo Sirainen <tss@iki.fi> (e0cc94d521)
+
+ maildir: Improved guessing filename when it's still in new/ dir.
+
+
+M src/lib-storage/index/maildir/maildir-util.c
+
+2011-09-23 14:38:24 +0300 Timo Sirainen <tss@iki.fi> (51335acfa1)
+
+ maildir: Don't always drop new flag from files when syncing.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2011-09-23 00:49:51 +0300 Timo Sirainen <tss@iki.fi> (fa106fc8f2)
+
+ lib-storage: mail_namespace_find_unalias() crashed when namespace wasn't
+ found.
+
+
+M src/lib-storage/mail-namespace.c
+
+2011-09-23 00:46:19 +0300 Timo Sirainen <tss@iki.fi> (30eb745a4f)
+
+ doveadm server: Previous non-authentication fix broken authentication.
+
+
+M src/doveadm/server-connection.c
+
+2011-09-23 00:04:11 +0300 Timo Sirainen <tss@iki.fi> (c87e04390d)
+
+ fts: Support also RFC 2231 style parsing when finding the attachment
+ filename.
+
+
+M src/plugins/fts/fts-parser-script.c
+
+2011-09-22 23:59:48 +0300 Timo Sirainen <tss@iki.fi> (88013ee6d4)
+
+ fts: Fixed running attachment decoder scripts.
+
+
+M src/plugins/fts/fts-parser-script.c
+
+2011-09-22 14:31:57 +0300 Timo Sirainen <tss@iki.fi> (aed004ef97)
+
+ imapc: Fix to previous message saving change.
+
+
+M src/lib-storage/index/imapc/imapc-save.c
+
+2011-09-22 14:24:03 +0300 Timo Sirainen <tss@iki.fi> (530f80fcbf)
+
+ imapc: Allow accessing a mail that is being saved without crashing. This
+ fixes crashes with LDA, LMTP, mail_log plugin, etc.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mail.h
+M src/lib-storage/index/imapc/imapc-save.c
+
+2011-09-22 14:21:56 +0300 Timo Sirainen <tss@iki.fi> (afb49e8ada)
+
+ iampc: Small code cleanup.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-09-22 13:09:18 +0300 Timo Sirainen <tss@iki.fi> (a37b4f6dfc)
+
+ lib-mail: Added broken input workaround to rfc822_parse_content_param().
+
+
+M src/lib-mail/rfc822-parser.c
+
+2011-09-22 12:54:27 +0300 Timo Sirainen <tss@iki.fi> (baebb412a9)
+
+ login: Added -R <dir> parameter to write pre-login rawlogs to given
+ directory.
+
+
+M src/login-common/client-common.c
+M src/login-common/login-common.h
+M src/login-common/main.c
+
+2011-09-22 01:38:34 +0300 Timo Sirainen <tss@iki.fi> (b4b87fa19d)
+
+ login: "cert required, client didn't start TLS" error could have been logged
+ wrongly.
+
+
+M src/login-common/client-common.c
+
+2011-09-21 17:51:59 +0300 Timo Sirainen <tss@iki.fi> (1c1cecd3df)
+
+ Added new mail_location setting "UTF8" to use UTF-8 instead of mUTF-7 in
+ storage names. This basically changes mailbox names to be UTF-8 everywhere
+ where they are mUTF-7 currently (filesystem, subscriptions, etc.)
+
+
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2011-09-21 16:18:19 +0300 Timo Sirainen <tss@iki.fi> (9efbd934eb)
+
+ imapc: Don't try to send literal stream output until its '+' has been
+ received.
+
+
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-09-21 15:58:26 +0300 Timo Sirainen <tss@iki.fi> (0998339f5a)
+
+ imapc: Added imapc_rawlog_dir setting.
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-09-21 15:57:57 +0300 Timo Sirainen <tss@iki.fi> (be6ad6e46e)
+
+ Added rawlog i/ostreams.
+
+
+M src/lib/Makefile.am
+A src/lib/iostream-rawlog-private.h
+A src/lib/iostream-rawlog.c
+A src/lib/iostream-rawlog.h
+A src/lib/istream-rawlog.c
+A src/lib/istream-rawlog.h
+A src/lib/ostream-rawlog.c
+A src/lib/ostream-rawlog.h
+
+2011-09-21 15:54:06 +0300 Timo Sirainen <tss@iki.fi> (96f071012c)
+
+ lib-ssl-iostream: If flush wants to read, make sure the flush callback isn't
+ being called again.
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2011-09-21 15:53:00 +0300 Timo Sirainen <tss@iki.fi> (f28583935a)
+
+ ostream: Keep track of flush callback for filter ostreams as well.
+
+
+M src/lib/ostream.c
+
+2011-09-21 15:51:00 +0300 Timo Sirainen <tss@iki.fi> (9b2d785915)
+
+ i_stream_next_line(): Don't fail if stream doesn't have write buffer, we can
+ handle it.
+
+
+M src/lib/istream.c
+
+2011-09-21 14:40:35 +0300 Timo Sirainen <tss@iki.fi> (e3678f7bfb)
+
+ Simplified creating filter ostreams.
+
+
+M src/lib-fs/ostream-cmp.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-file.c
+M src/lib/ostream-private.h
+M src/lib/ostream.c
+M src/plugins/zlib/ostream-bzlib.c
+M src/plugins/zlib/ostream-zlib.c
+
+2011-09-21 13:56:13 +0300 Timo Sirainen <tss@iki.fi> (0536ccb51d)
+
+ Renamed lib/*-internal.h files to lib/*-private.h for consistency.
+
+
+M src/lib-fs/ostream-cmp.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib-storage/index/istream-attachment.c
+M src/lib-storage/index/istream-mail-stats.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-test/test-common.c
+M src/lib/Makefile.am
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-iolist.c
+M src/lib/ioloop-kqueue.c
+M src/lib/ioloop-notify-dn.c
+M src/lib/ioloop-notify-fd.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-kqueue.c
+M src/lib/ioloop-notify-none.c
+M src/lib/ioloop-poll.c
+R097 src/lib/ioloop-internal.h src/lib/ioloop-private.h
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+R092 src/lib/iostream-internal.h src/lib/iostream-private.h
+M src/lib/iostream.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-data.c
+M src/lib/istream-file.c
+M src/lib/istream-limit.c
+M src/lib/istream-mmap.c
+R095 src/lib/istream-internal.h src/lib/istream-private.h
+M src/lib/istream-seekable.c
+M src/lib/istream-tee.c
+M src/lib/istream.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-file.c
+R092 src/lib/ostream-internal.h src/lib/ostream-private.h
+M src/lib/ostream.c
+M src/lib/test-istream-base64-encoder.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-crlf.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-istream-tee.c
+M src/plugins/zlib/istream-bzlib.c
+M src/plugins/zlib/istream-zlib.c
+M src/plugins/zlib/ostream-bzlib.c
+M src/plugins/zlib/ostream-zlib.c
+
+2011-09-19 17:10:11 +0300 Timo Sirainen <tss@iki.fi> (8c2f2e90b7)
+
+ doveadm: Fixed sending commands to doveadm server when it didn't require
+ authentication.
+
+
+M src/doveadm/server-connection.c
+
+2011-09-21 12:34:02 +0300 Timo Sirainen <tss@iki.fi> (ed41ec8aa0)
+
+ lib-ssl-iostream: Don't require SSL ostream to always have unlimited buffer
+ size. It's important when reading/handshaking wants to write to output
+ buffer, but writing itself can safely have zero sized buffer (e.g. while
+ sending a large input stream).
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2011-09-20 16:44:32 +0300 Timo Sirainen <tss@iki.fi> (edb71d39ee)
+
+ imapc: Added more checks to catch buggy IMAP server responses.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-msgmap.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-09-20 16:42:58 +0300 Timo Sirainen <tss@iki.fi> (0b5ae5cabb)
+
+ imapc: When remote IMAP server becomes confused, don't mark our indexes
+ corrupted. Mark them corrupted only when after a reconnection the initial
+ mailbox sync doesn't work.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-09-20 15:36:39 +0300 Timo Sirainen <tss@iki.fi> (00bf64c70c)
+
+ imapc: Filter out X-Message-Flag: header from incoming mails. This is only
+ added by MS Exchange when \Flagged flag is set, so it could be made
+ optional, but it probably doesn't really hurt to just make it unconditional
+ to ease the configuration.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2011-09-20 15:22:37 +0300 Timo Sirainen <tss@iki.fi> (e39459afd0)
+
+ imapc: If FETCH is missing a reply, but we haven't seen EXPUNGE for it, do
+ NOOP and check again. This fixes checking if message is expunged with
+ servers that don't immediately send EXPUNGE during UID FETCH.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-09-20 13:34:52 +0300 Timo Sirainen <tss@iki.fi> (feccf3f867)
+
+ Increased initial memory pool sizes.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/mail-storage-service.c
+
+2011-09-20 13:34:36 +0300 Timo Sirainen <tss@iki.fi> (b1486804bc)
+
+ imapc: If mailbox sync fails, don't mark index corrupted. The sync could
+ have failed because of disconnection. The failure will just cause the sync
+ to be rollbacked and retried later. No need to delete the whole index.
+
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-09-20 13:33:34 +0300 Timo Sirainen <tss@iki.fi> (bcf478ad01)
+
+ imapc: next_uid was sometimes lowered.
+
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-09-20 13:31:32 +0300 Timo Sirainen <tss@iki.fi> (bff477af40)
+
+ imapc: When IMAP server unexpectedly doesn't send a reply, log also the
+ mailbox name.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-09-20 13:30:08 +0300 Timo Sirainen <tss@iki.fi> (8d6a6eccd3)
+
+ inotify: If read() fails with EAGAIN, ignore it instead of dying.
+
+
+M src/lib/ioloop-notify-inotify.c
+
+2011-09-20 11:53:02 +0300 Timo Sirainen <tss@iki.fi> (d5e131e809)
+
+ imapc: Handle disconnection better when fetching a mail.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-09-19 18:41:36 +0300 Timo Sirainen <tss@iki.fi> (9b8fa20cb8)
+
+ Enable --no-undefined linker flag only for Linux. BSDs don't seem to be
+ happy with it.
+
+
+M configure.in
+
+2011-09-19 18:33:40 +0300 Timo Sirainen <tss@iki.fi> (57a712a499)
+
+ fts-lucene: Fixed to work without stemmer support.
+
+
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+
+2011-09-19 18:28:14 +0300 Timo Sirainen <tss@iki.fi> (bb55679b0c)
+
+ Compile fix for OpenBSD.
+
+
+M src/lib/network.c
+
+2011-09-19 14:25:29 +0300 Timo Sirainen <tss@iki.fi> (3b1c8905fd)
+
+ doveadm: Typofix s/messsage/message/
+
+
+M src/doveadm/doveadm-mail-move.c
+
+2011-09-16 17:00:30 +0300 Timo Sirainen <tss@iki.fi> (2275a3963e)
+
+ Added signature for changeset f9e744ffe021
+
+
+M .hgsigs
+
+2011-09-16 17:00:24 +0300 Timo Sirainen <tss@iki.fi> (6e3522ab43)
+
+ Added tag 2.1.alpha2 for changeset f9e744ffe021
+
+
+M .hgtags
+
+2011-09-16 17:00:24 +0300 Timo Sirainen <tss@iki.fi> (5966e40faf)
+
+ Released v2.1.alpha2.
+
+
+M configure.in
+
+2011-09-16 16:59:10 +0300 Timo Sirainen <tss@iki.fi> (dc912088f8)
+
+ Merged changes from v2.0.15.
+
+
+2011-09-16 16:45:25 +0300 Timo Sirainen <tss@iki.fi> (006be1e12f)
+
+ Added signature for changeset 11ef52450096
+
+
+M .hgsigs
+
+2011-09-16 16:45:22 +0300 Timo Sirainen <tss@iki.fi> (75a59166f8)
+
+ Added tag 2.0.15 for changeset 11ef52450096
+
+
+M .hgtags
+
+2011-09-16 16:45:22 +0300 Timo Sirainen <tss@iki.fi> (cf2c26df7c)
+
+ Released v2.0.15.
+
+
+M NEWS
+M configure.in
+
+2011-09-16 16:40:32 +0300 Timo Sirainen <tss@iki.fi> (f624264259)
+
+ auth: Use "auth-worker:" log prefix for auth worker processes.
+
+
+M src/auth/main.c
+
+2011-09-16 16:14:14 +0300 Timo Sirainen <tss@iki.fi> (35fab6939a)
+
+ TODO updated
+
+
+M TODO
+
+2011-09-16 16:01:53 +0300 Timo Sirainen <tss@iki.fi> (2fc2efa794)
+
+ acl: Fixed listing multiple shared namespaces.
+
+
+M src/plugins/acl/acl-plugin.h
+M src/plugins/acl/acl-shared-storage.c
+
+2011-09-16 16:01:29 +0300 Timo Sirainen <tss@iki.fi> (7a2fad1afa)
+
+ lib-storage: Don't try to use the same mail_storage for shared storages.
+ This fixes having multiple independent shared namespaces.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-09-16 14:59:34 +0300 Timo Sirainen <tss@iki.fi> (cccfb98c53)
+
+ lib-storage: Improved debug logging messages.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-09-16 14:52:29 +0300 Timo Sirainen <tss@iki.fi> (34e4d771f7)
+
+ Fixes to listing mailboxes/subscriptions in shared namespaces.
+
+
+M src/imap/cmd-list.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2011-09-16 13:14:11 +0300 Timo Sirainen <tss@iki.fi> (a5bb2908b4)
+
+ lib-storage: If shared namespace prefix doesn't end with hierarchy
+ separator, fail.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+
+2011-09-16 13:06:48 +0300 Timo Sirainen <tss@iki.fi> (21ce0d72bb)
+
+ lib-storage: If mailbox_rename() isn't possible and mail_debug=yes, log the
+ reason why.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-09-16 12:57:40 +0300 Timo Sirainen <tss@iki.fi> (e200d1ba38)
+
+ lib-storage: Changed debug message to sound less like an error message.
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-09-16 12:40:19 +0300 Timo Sirainen <tss@iki.fi> (b089505afb)
+
+ quota: When matching mailbox names in quota rules, unalias namespaces first.
+
+
+M src/plugins/quota/quota.c
+
+2011-09-16 12:39:19 +0300 Timo Sirainen <tss@iki.fi> (288d6ef592)
+
+ lib-storage: Added mail_namespace_find_unalias()
+
+
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-namespace.h
+
+2011-09-16 12:21:02 +0300 Timo Sirainen <tss@iki.fi> (35de8ec2db)
+
+ lib-sql: Fixed load balancing between multiple SQL hosts to actually work.
+
+
+M src/lib-sql/driver-sqlpool.c
+
+2011-09-16 12:11:25 +0300 Timo Sirainen <tss@iki.fi> (1ea57ace34)
+
+ s/commiting/committing/ Caught by Marco Nenciarini.
+
+
+M src/doveadm/doveadm-mail-iter.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-storage/index/index-sync.c
+
+2011-09-16 12:08:49 +0300 Timo Sirainen <tss@iki.fi> (36175032e1)
+
+ config: Don't crash strlist section contains a subsection.
+
+
+M src/config/config-parser.c
+
+2011-09-16 11:59:15 +0300 Timo Sirainen <tss@iki.fi> (2e79bf72c2)
+
+ man: Escape fix.
+
+
+M doc/man/dsync.1.in
+
+2011-09-15 23:39:33 +0300 Timo Sirainen <tss@iki.fi> (eaec182b6f)
+
+ stats: Export also username for commands.
+
+
+M src/stats/client-export.c
+
+2011-09-15 19:51:27 +0000 Pascal Volk <user@localhost.localdomain.org> (6c44496100)
+
+ man: Added -r option to doveadm-altmove.1.
+
+
+M doc/man/doveadm-altmove.1.in
+
+2011-09-15 13:53:10 +0300 Timo Sirainen <tss@iki.fi> (44e5c39db5)
+
+ lib-sql: Dropped connect timeout to 5 seconds. Postfix is using 10 second
+ auth timeout and this needs to be less than that.
+
+
+M src/lib-sql/sql-api-private.h
+
+2011-09-15 13:48:26 +0300 Timo Sirainen <tss@iki.fi> (bbac309a80)
+
+ lib-sql: Don't try to connect to connections that are going to be
+ reconnected later. This avoids unnecessarily trying to connect to failing
+ connections.
+
+
+M src/lib-sql/driver-sqlpool.c
+
+2011-09-15 13:47:44 +0300 Timo Sirainen <tss@iki.fi> (bf17de7e2a)
+
+ lib-sql: Connect to all configured hosts immediately. This makes load
+ balancing between them actually work always.
+
+
+M src/lib-sql/driver-sqlpool.c
+
+2011-09-15 13:46:45 +0300 Timo Sirainen <tss@iki.fi> (2d20d46069)
+
+ lib-sql: When escaping a string, use the first ready connection (if any).
+ This avoids unnecessarily trying to reconnect to a failing connection.
+
+
+M src/lib-sql/driver-sqlpool.c
+
+2011-09-15 13:45:35 +0300 Timo Sirainen <tss@iki.fi> (f635aa2fd6)
+
+ lib-sql: If MySQL connect takes more than 1 sec, don't try to reconnect for
+ that many secs.
+
+
+M src/lib-sql/driver-mysql.c
+
+2011-09-15 13:41:03 +0300 Timo Sirainen <tss@iki.fi> (685a84a0cc)
+
+ lib-sql: If MySQL connect fails, update ioloop times so later timeouts get
+ added properly.
+
+
+M src/lib-sql/driver-mysql.c
+
+2011-09-15 13:38:54 +0300 Timo Sirainen <tss@iki.fi> (22e0c38e67)
+
+ liblib: Added io_loop_time_refresh()
+
+
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2011-09-15 13:09:50 +0300 Timo Sirainen <tss@iki.fi> (e8a96ad5c1)
+
+ auth: Don't assert-crash if login client disconnects during multi-reply
+ mechanism.
+
+
+M src/auth/auth-request-handler.c
+
+2011-09-15 12:34:03 +0300 Timo Sirainen <tss@iki.fi> (4b7b7a6de6)
+
+ 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.
+
+
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2011-09-15 12:20:55 +0300 Timo Sirainen <tss@iki.fi> (2726ee94a6)
+
+ lib-storage: Fixed listing subscriptions in shared namespaces.
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2011-09-15 11:54:11 +0300 Timo Sirainen <tss@iki.fi> (cb108a8c77)
+
+ doveadm altmove: Added -r parameter to move mails back to primary storage.
+
+
+M src/doveadm/doveadm-mail-altmove.c
+
+2011-09-13 12:42:30 +0300 Timo Sirainen <tss@iki.fi> (9eb6f0bd16)
+
+ auth: Use auth-worker(pid) prefix for auth processes.
+
+
+M src/auth/main.c
+
+2011-09-13 11:55:25 +0300 Timo Sirainen <tss@iki.fi> (67aad957c1)
+
+ lib-storage: Make sure status/metadata structs are cleared when they're
+ looked up.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-09-13 11:38:49 +0300 Timo Sirainen <tss@iki.fi> (3e1292580a)
+
+ imapc: Handle \Noselect flag properly for untagged LSUB replies.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2011-09-13 11:34:21 +0300 Timo Sirainen <tss@iki.fi> (f7b7a0516b)
+
+ lib-storage: Fixed handling subscriptions when they were saved to prefix!=""
+ namespace.
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2011-09-13 10:32:11 +0300 Timo Sirainen <tss@iki.fi> (5532e2ec6a)
+
+ imapc: Crashfix when sometimes closing mailbox.
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+
+2011-09-13 02:09:02 +0300 Timo Sirainen <tss@iki.fi> (5a64a89aba)
+
+ Removed unnecessary code.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-09-13 02:08:15 +0300 Timo Sirainen <tss@iki.fi> (f92db0bb4d)
+
+ dsync: Ignore SIGHUP
+
+
+M src/dsync/dsync.c
+
+2011-09-13 02:07:30 +0300 Timo Sirainen <tss@iki.fi> (75e8db3702)
+
+ 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.
+
+
+M src/lib-index/mail-index-view.c
+
+2011-09-12 18:29:17 +0300 Timo Sirainen <tss@iki.fi> (fbefe73af2)
+
+ stats: Track [rw]char and sysc[rw] fields in /proc/self/io (with Linux).
+
+
+M src/plugins/stats/stats-plugin.c
+M src/plugins/stats/stats-plugin.h
+M src/stats/client-export.c
+M src/stats/mail-stats.c
+M src/stats/mail-stats.h
+
+2011-09-12 18:26:29 +0300 Timo Sirainen <tss@iki.fi> (31e563d31b)
+
+ stats: Added mail_ prefix to mail transaction statistics. Also added "m"
+ prefix for them in the internal protocol.
+
+
+M src/plugins/stats/stats-plugin.c
+M src/stats/client-export.c
+M src/stats/mail-stats.c
+M src/stats/mail-stats.h
+
+2011-09-12 16:32:20 +0300 Timo Sirainen <tss@iki.fi> (2c916140b3)
+
+ dsync: If mailbox can't be opened, log an error but continue anyway.
+
+
+M src/dsync/dsync-worker-local.c
+
+2011-09-12 16:30:51 +0300 Timo Sirainen <tss@iki.fi> (b97c76223f)
+
+ dsync: If mailbox can't be opened, log an error but continue anyway.
+
+
+M src/dsync/dsync-worker-local.c
+
+2011-09-12 16:23:21 +0300 Timo Sirainen <tss@iki.fi> (37cd04fc1d)
+
+ fts-squat: Crashfixes on indexing.
+
+
+M src/plugins/fts-squat/fts-backend-squat.c
+
+2011-09-12 16:18:56 +0300 Timo Sirainen <tss@iki.fi> (8b304a2686)
+
+ fts-solr: Don't break when there are duplicate From/To/Subject/etc. fields.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2011-09-12 14:44:01 +0300 Timo Sirainen <tss@iki.fi> (3967d4d921)
+
+ stats: Increased idle timeout to 15 minutes.
+
+
+M src/stats/mail-session.c
+
+2011-09-12 14:43:31 +0300 Timo Sirainen <tss@iki.fi> (c7639a2e0a)
+
+ stats: Avoid duplicate "Couldn't find session GUID" warnings. When it
+ happens, just create a dummy session for it and log a warning once.
+
+
+M src/stats/mail-command.c
+M src/stats/mail-session.c
+M src/stats/mail-session.h
+
+2011-09-12 14:40:49 +0300 Timo Sirainen <tss@iki.fi> (c4bb0320ab)
+
+ virtual: Compile fix for recent mailbox_exists() change.
+
+
+M src/plugins/virtual/virtual-storage.c
+
+2011-09-12 14:32:37 +0300 Timo Sirainen <tss@iki.fi> (5dba704bc6)
+
+ indexer: Fixed assert-crash when number of indexed messages was divisible by
+ 100.
+
+
+M src/indexer/master-connection.c
+
+2011-09-12 14:27:46 +0300 Timo Sirainen <tss@iki.fi> (37fd9adeee)
+
+ mbox: Fixed fetching last message from compressed mboxes.
+
+
+M src/lib-storage/index/mbox/mbox-mail.c
+
+2011-09-12 14:27:46 +0300 Timo Sirainen <tss@iki.fi> (767cd7e92a)
+
+ mbox: Fixed fetching last message from compressed mboxes.
+
+
+M src/lib-storage/index/mbox/mbox-mail.c
+
+2011-09-12 14:01:36 +0300 Timo Sirainen <tss@iki.fi> (c4c3d48645)
+
+ 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 Роман Захров.
+
+
+M src/plugins/quota/quota-dirsize.c
+
+2011-09-12 14:02:30 +0300 Timo Sirainen <tss@iki.fi> (dfe42ed676)
+
+ ldap: Fixed auth binds for nonexistent users with some LDAP servers.
+
+
+M src/auth/passdb-ldap.c
+
+2011-09-12 14:01:36 +0300 Timo Sirainen <tss@iki.fi> (d62cb69944)
+
+ 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 Роман Захров.
+
+
+M src/plugins/quota/quota-dirsize.c
+
+2011-09-12 13:14:26 +0300 Timo Sirainen <tss@iki.fi> (1228c0604b)
+
+ imapc: Fixed mailbox_exists() to actually work. This fixes problems with
+ subscribing to mailboxes.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-09-12 13:13:35 +0300 Timo Sirainen <tss@iki.fi> (352cd70b58)
+
+ lib-storage: Handle INBOX in the common mailbox_exists() code.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/mail-storage.c
+
+2011-09-12 12:41:09 +0300 Timo Sirainen <tss@iki.fi> (2dc23f3416)
+
+ imapc: Fixes to handling non-empty imapc namespace prefix.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-09-12 12:40:34 +0300 Timo Sirainen <tss@iki.fi> (ba36444cdf)
+
+ lib-storage: Fixed mailbox_list_mailbox() for backends without
+ get_mailbox_flags().
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-09-12 12:38:04 +0300 Timo Sirainen <tss@iki.fi> (3dddf036e4)
+
+ lib-storage: Finished previous get_mailbox_flags() change.
+
+
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-fs.h
+
+2011-09-12 12:02:33 +0300 Timo Sirainen <tss@iki.fi> (fb365addee)
+
+ lib-storage: Removed unused struct stat parameter from
+ mailbox_list.get_mailbox_flags()
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.h
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+
+2011-09-09 13:14:07 +0300 Timo Sirainen <tss@iki.fi> (e925d6db5f)
+
+ imapc: More fixes to listing mailbox names.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-09-09 13:05:33 +0300 Timo Sirainen <tss@iki.fi> (4bb24a20bb)
+
+ imapc: Another try at fixing mUTF-7 mailbox names.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-09-09 12:57:36 +0300 Timo Sirainen <tss@iki.fi> (56956c0bba)
+
+ imapc: Use mUTF-7 for mailbox names.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-09-08 16:52:32 +0300 Timo Sirainen <tss@iki.fi> (063254ba79)
+
+ imapc: If mail prefetching fails because of disconnection, don't log about
+ it again.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+
+2011-09-08 16:51:51 +0300 Timo Sirainen <tss@iki.fi> (bf6d72f930)
+
+ imapc: If NOOP fails with disconnection, set "internal error" to storage.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-09-08 16:37:56 +0300 Timo Sirainen <tss@iki.fi> (a5074ab2bd)
+
+ fts-solr: Fixed indexing messages with multiple MIME body parts.
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2011-09-08 16:24:18 +0300 Timo Sirainen <tss@iki.fi> (f2d3c2be09)
+
+ lib-storage: Error handling fix for key+=value when key isn't of string
+ type.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-09-08 13:41:20 +0300 Timo Sirainen <tss@iki.fi> (b5a36d9a04)
+
+ lmtp: Improved "DATA output timeout" error message.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2011-09-08 12:39:13 +0300 Timo Sirainen <tss@iki.fi> (9dc53c1d15)
+
+ imapc: Send NOOP command every 29 minutes to remote server. This avoids
+ server idle-disconnecting us after doing nothing for 30 minutes.
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-09-08 12:14:54 +0300 Timo Sirainen <tss@iki.fi> (c2c0c1e5d2)
+
+ lib-ssl-iostream: If plain stream disconnects, disconnect SSL stream also.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+
+2011-09-08 11:51:18 +0300 Timo Sirainen <tss@iki.fi> (4130a33628)
+
+ lib-lda: Log message improvement to differentiate mailbox open vs. save
+ error.
+
+
+M src/lib-lda/mail-deliver.c
+
+2011-09-08 11:51:18 +0300 Timo Sirainen <tss@iki.fi> (2f0c5d4567)
+
+ lib-lda: Log message improvement to differentiate mailbox open vs. save
+ error.
+
+
+M src/lib-lda/mail-deliver.c
+
+2011-09-08 11:50:23 +0300 Timo Sirainen <tss@iki.fi> (d4b2e2b0aa)
+
+ lib-storage: Fixed mail_storage_copy() error handling.
+
+
+M src/lib-storage/mail-copy.c
+
+2011-09-08 11:50:23 +0300 Timo Sirainen <tss@iki.fi> (591aa68913)
+
+ lib-storage: Fixed mail_storage_copy() error handling.
+
+
+M src/lib-storage/mail-copy.c
+
+2011-09-08 11:39:00 +0300 Timo Sirainen <tss@iki.fi> (76a7786159)
+
+ lib-storage: Code cleanup to mail_storage_set_critical()
+
+
+M src/lib-storage/mail-storage.c
+
+2011-09-08 11:16:55 +0300 Timo Sirainen <tss@iki.fi> (9e17ea6a30)
+
+ lib-storage: Minor error handling cleanups.
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/index-storage.c
+
+2011-09-08 11:16:55 +0300 Timo Sirainen <tss@iki.fi> (a290ae22e1)
+
+ lib-storage: Minor error handling cleanups.
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/index-storage.c
+
+2011-09-01 19:33:22 +0300 Timo Sirainen <tss@iki.fi> (882fd2a050)
+
+ lib-index: Make sure mail_index_sync_record() doesn't waste data stack.
+
+
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-view-sync.c
+
+2011-09-01 19:33:22 +0300 Timo Sirainen <tss@iki.fi> (6d25194a42)
+
+ lib-index: Make sure mail_index_sync_record() doesn't waste data stack.
+
+
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-view-sync.c
+
+2011-09-07 17:15:10 +0300 Timo Sirainen <tss@iki.fi> (00a3bb3424)
+
+ imapc: When closing mailbox, don't abort any pending non-mailbox commands.
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-connection.h
+
+2011-09-07 16:44:14 +0300 Timo Sirainen <tss@iki.fi> (c175b26270)
+
+ auth: Don't crash when using default static userdb.
+
+
+M src/auth/auth.c
+
+2011-09-07 16:10:16 +0300 Timo Sirainen <tss@iki.fi> (6c6b1e9fd9)
+
+ lib-ssl-iostream: Some tweaks to BIO handling.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2011-09-07 15:46:43 +0300 Timo Sirainen <tss@iki.fi> (2d8e4a429d)
+
+ imapc: Fixed assert-crashing when deleting a mailbox
+
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-09-07 11:52:08 +0300 Timo Sirainen <tss@iki.fi> (d71c50fd39)
+
+ imapc: Place index files under root_dir/indexes/ directory.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2011-09-07 11:30:05 +0300 Timo Sirainen <tss@iki.fi> (abd4772625)
+
+ lib-index: Don't allow syncing to begin if index is marked corrupted.
+
+
+M src/lib-index/mail-index-sync.c
+
+2011-09-07 11:19:03 +0300 Timo Sirainen <tss@iki.fi> (c239a1de4a)
+
+ lib-ssl-iostream: Handle flush_pending and set_max_buffer_size properly.
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2011-09-07 11:18:15 +0300 Timo Sirainen <tss@iki.fi> (ce8cd19ccf)
+
+ lib-ssl-iostream: Fixed ostream to preserve/use flush callback correctly.
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2011-09-07 11:03:33 +0300 Timo Sirainen <tss@iki.fi> (8e6def8044)
+
+ imapc: Switch connection output streams' ioloop when needed. This fixes
+ hangs when output stream got full.
+
+
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-09-07 11:02:55 +0300 Timo Sirainen <tss@iki.fi> (e21a2c0821)
+
+ lib-ssl-iostream: When plain_output's buffer is full, set it flush-pending.
+ This fixes hangs when the output buffer got full.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2011-09-07 10:59:35 +0300 Timo Sirainen <tss@iki.fi> (71da447014)
+
+ Added o_stream_switch_ioloop() and implemented it to all ostreams.
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+M src/lib/ostream-file.c
+M src/lib/ostream-internal.h
+M src/lib/ostream.c
+M src/lib/ostream.h
+M src/plugins/zlib/ostream-bzlib.c
+M src/plugins/zlib/ostream-zlib.c
+
+2011-09-07 10:38:01 +0300 Timo Sirainen <tss@iki.fi> (b720f55c56)
+
+ imapc: Connect to server immediately at startup and lookup hierarchy
+ separator. If connecting to server fails, this makes it fail earlier. Also
+ we don't have to worry about what to do later if hierarchy separator lookup
+ fails.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-09-07 10:24:11 +0300 Timo Sirainen <tss@iki.fi> (52d19b57c2)
+
+ lib-ssl-iostream: When SSL i/ostream is closed, close also the plain stream.
+
+
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2011-09-07 10:01:36 +0300 Timo Sirainen <tss@iki.fi> (d30c35e25e)
+
+ imapc: Don't crash if a newly seen uncommitted message is expunged.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-09-07 09:40:16 +0300 Timo Sirainen <tss@iki.fi> (e8443917ef)
+
+ imapc: Removed accidentally committed debug sleeps.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-09-07 08:41:25 +0300 Timo Sirainen <tss@iki.fi> (5dd17da0ac)
+
+ lib-ssl-iostream: Fixed compiling when SSL is disabled.
+
+
+M src/lib-ssl-iostream/iostream-ssl-none.c
+
+2011-09-07 08:40:41 +0300 Timo Sirainen <tss@iki.fi> (da4baa95cb)
+
+ lib-ssl-iostream: Compiler warning fix.
+
+
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2011-09-06 17:29:38 +0300 Timo Sirainen <tss@iki.fi> (f4547bcf28)
+
+ imapc: Don't crash when trying to use imapc's subscription list for another
+ namespace.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2011-09-06 17:03:55 +0300 Timo Sirainen <tss@iki.fi> (417642ddac)
+
+ lib-storage: When mail_debug=yes logs userdb fields, hide values of all
+ whose key contains "pass".
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-09-06 17:03:06 +0300 Timo Sirainen <tss@iki.fi> (61767c7537)
+
+ lib-auth: When debug logging auth input, hide values of all fields
+ containing "pass" in key.
+
+
+M src/lib-auth/auth-master.c
+
+2011-09-06 17:01:29 +0300 Timo Sirainen <tss@iki.fi> (c96a1bff0d)
+
+ auth: If auth_debug_passwords=no, hide values of userdb keys containing
+ "pass" string.
+
+
+M src/auth/auth-master-connection.c
+
+2011-09-06 16:42:19 +0300 Timo Sirainen <tss@iki.fi> (24500b3638)
+
+ imapc: Error logging fix when SSL handshake fails.
+
+
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-09-06 16:33:09 +0300 Timo Sirainen <tss@iki.fi> (e1895a1435)
+
+ imapc: Verify that SSL certificate matches the connected hostname.
+
+
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-09-06 16:32:20 +0300 Timo Sirainen <tss@iki.fi> (1c4f8e4c4e)
+
+ lib-ssl-iostream: Added ssl_iostream_cert_match_name()
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-ssl.h
+
+2011-09-06 13:40:50 +0300 Timo Sirainen <tss@iki.fi> (21fed972ad)
+
+ lib-ssl-iostream: Code cleanups, fixes, asserts and comments.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+M src/lib-ssl-iostream/iostream-openssl.h
+M src/lib-ssl-iostream/istream-openssl.c
+M src/lib-ssl-iostream/ostream-openssl.c
+
+2011-09-05 14:23:11 +0300 Timo Sirainen <tss@iki.fi> (148a8396be)
+
+ lib-ssl-iostream: Avoid assert-crashing when remote disconnects during
+ write.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2011-09-05 12:46:49 +0300 Timo Sirainen <tss@iki.fi> (bfa38f13d6)
+
+ maildir: Avoid refreshing uidlist unnecessarily. Even if the uidlist itself
+ wasn't read, it was still stat()ed.
+
+
+M src/lib-storage/index/maildir/maildir-storage.h
+M src/lib-storage/index/maildir/maildir-sync.c
+
+2011-09-05 11:48:11 +0300 Timo Sirainen <tss@iki.fi> (ae9365d3de)
+
+ maildir: When logging "scanning took n secs" warning, log also why scan was
+ done. This could help debugging why cur/ directory is sometimes scanned with
+ maildir_very_dirty_syncs=yes (if the previous commit didn't fully solve it).
+
+
+M src/lib-storage/index/maildir/maildir-sync.c
+
+2011-09-05 11:45:45 +0300 Timo Sirainen <tss@iki.fi> (f6b317c4a9)
+
+ maildir: Drop internal new-flag from mails that have been moved from new/ to
+ cur/. This avoids unnecessary cur/ directory scans.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2011-09-05 11:34:43 +0300 Timo Sirainen <tss@iki.fi> (e34961688b)
+
+ stats: Don't crash at deinit if there are still connected sessions.
+
+
+M src/stats/mail-session.c
+
+2011-09-05 11:13:12 +0300 Timo Sirainen <tss@iki.fi> (e9ed8d3086)
+
+ stats: If forcibly disconnecting a session, show the session's username
+ also.
+
+
+M src/stats/mail-session.c
+
+2011-09-05 10:32:47 +0300 Timo Sirainen <tss@iki.fi> (d1b3f17d85)
+
+ imapc: mailbox_status now returns permanent flags/keywords as they are on
+ remote server.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-09-05 10:30:15 +0300 Timo Sirainen <tss@iki.fi> (9a3da808c2)
+
+ lib-storage: mailbox_keyword_is_valid() returns now FALSE if keyword can't
+ be created.
+
+
+M src/lib-storage/mailbox-keywords.c
+
+2011-09-05 10:28:49 +0300 Timo Sirainen <tss@iki.fi> (b3484b5b1f)
+
+ lib-storage: Added mailbox.disallow_new_keywords and use it for
+ mailbox_status.
+
+
+M src/lib-storage/index/index-status.c
+M src/lib-storage/mail-storage-private.h
+
+2011-09-04 20:11:33 +0300 Timo Sirainen <tss@iki.fi> (47ca156ced)
+
+ stats: Add stats_ prefix to all settings.
+
+
+M src/stats/stats-settings.c
+
+2011-09-04 19:00:47 +0300 Timo Sirainen <tss@iki.fi> (31ddc69105)
+
+ master: fifos weren't created with correct user/group.
+
+
+M src/master/service-listen.c
+
+2011-09-04 18:47:30 +0300 Timo Sirainen <tss@iki.fi> (b0b14c64cc)
+
+ imapc: Another compiler warning fix.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-09-04 18:46:20 +0300 Timo Sirainen <tss@iki.fi> (b0cfc1ced6)
+
+ imapc: Compiler warning fix.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-09-04 18:29:38 +0300 Timo Sirainen <tss@iki.fi> (854574e0a4)
+
+ imapc: Fixed checking if mail is expunged.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-09-04 18:29:21 +0300 Timo Sirainen <tss@iki.fi> (faa489c310)
+
+ imapc: Syncing fixes
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-09-04 17:59:58 +0300 Timo Sirainen <tss@iki.fi> (1af95e0fea)
+
+ imapc: Redesigned remote sequence <-> index file record mapping is done. The
+ previous code didn't work when multiple connections modified the same index
+ files.
+
+
+M src/lib-storage/index/imapc/Makefile.am
+M src/lib-storage/index/imapc/imapc-client-private.h
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+A src/lib-storage/index/imapc/imapc-msgmap.c
+A src/lib-storage/index/imapc/imapc-msgmap.h
+D src/lib-storage/index/imapc/imapc-seqmap.c
+D src/lib-storage/index/imapc/imapc-seqmap.h
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+D src/lib-storage/index/imapc/test-imapc-seqmap.c
+
+2011-09-04 16:34:23 +0300 Timo Sirainen <tss@iki.fi> (92f9aaf895)
+
+ imapc: Delay handling new messages and setting uidvalidity/uidnext until
+ sync.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-09-04 13:20:27 +0300 Timo Sirainen <tss@iki.fi> (5caec68be9)
+
+ imapc: Never use box->view for syncing related purposes. The view isn't up
+ to date when MAILBOX_SYNC_FLAG_NO_EXPUNGES is used to sync it. Instead
+ always use a separate sync view.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-09-04 12:38:24 +0300 Timo Sirainen <tss@iki.fi> (f01d1332d4)
+
+ lib-index: Fixed reopening index file that was marked as corrupted.
+
+
+M src/lib-index/mail-index.c
+
+2011-09-04 12:37:51 +0300 Timo Sirainen <tss@iki.fi> (951c92a29c)
+
+ imapc: Fixed handling immediate changes when starting IDLE.
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-09-04 12:29:45 +0300 Timo Sirainen <tss@iki.fi> (228e0b0846)
+
+ imapc: Avoid assert-crashing if a new message's UID is smaller than
+ next_uid.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-09-04 12:04:09 +0300 Timo Sirainen <tss@iki.fi> (e809db9220)
+
+ imapc: Error logging cleanups. Don't bother to log disconnection errors for
+ NOOP.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-09-04 12:03:12 +0300 Timo Sirainen <tss@iki.fi> (b328a8f1fe)
+
+ imapc: Fixed error handling while opening mailbox.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-09-04 11:52:16 +0300 Timo Sirainen <tss@iki.fi> (1be964ec6d)
+
+ lib-index: When marking index corrupted, delete also transaction log file.
+
+
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mail-transaction-log.h
+
+2011-09-04 11:51:23 +0300 Timo Sirainen <tss@iki.fi> (3fd0bcdff2)
+
+ imapc: Fixed syncing external changes to mailbox when opening it.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-09-04 10:55:33 +0300 Timo Sirainen <tss@iki.fi> (a2d397c3a8)
+
+ imapc: Added assert.
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-09-04 10:48:46 +0300 Timo Sirainen <tss@iki.fi> (6021cfec08)
+
+ imapc: Fixed IDLE handling.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-09-04 10:40:58 +0300 Timo Sirainen <tss@iki.fi> (f1fe62b690)
+
+ stats: Minor error message fix.
+
+
+M src/stats/mail-session.c
+
+2011-09-04 10:30:21 +0300 Timo Sirainen <tss@iki.fi> (0d5b4840db)
+
+ imapc: Use EXAMINE command when possible.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-09-04 10:25:39 +0300 Timo Sirainen <tss@iki.fi> (a54e0d5eb7)
+
+ stats: Don't increase session stats based on command stats. This was buggy
+ because the session stats were now increased twice. It could have been
+ possible to keep doing this and on UPDATE-SESSION simply replace the old
+ session stats, but that might still have caused the session stats to
+ temporarily go too high and then drop down.
+
+
+M src/stats/mail-command.c
+
+2011-09-04 10:15:16 +0300 Timo Sirainen <tss@iki.fi> (d19fb2745f)
+
+ anvil: Assert-crashfix at exit when there were fifo connections.
+
+
+M src/anvil/anvil-connection.c
+
+2011-09-04 10:12:30 +0300 Timo Sirainen <tss@iki.fi> (e736bb7394)
+
+ stats: Don't assert-crash at exit if there are unfinished commands.
+
+
+M src/stats/mail-command.c
+
+2011-09-03 12:04:56 +0300 Timo Sirainen <tss@iki.fi> (6b26519e4f)
+
+ lib-sql: Don't link sql libraries to libdovecot-sql.so when building them as
+ plugins.
+
+
+M src/lib-sql/Makefile.am
+
+2011-09-02 07:11:16 +0300 Timo Sirainen <tss@iki.fi> (56a5ecd210)
+
+ fts-solr: Don't send delete to Solr if we're quite sure it doesn't exist.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2011-09-01 17:52:51 +0300 Timo Sirainen <tss@iki.fi> (2894d85595)
+
+ stats: Log more verbosely what happened if stats shrink.
+
+
+M src/stats/mail-command.c
+M src/stats/mail-session.c
+M src/stats/mail-stats.c
+M src/stats/mail-stats.h
+
+2011-09-01 12:34:11 +0300 Timo Sirainen <tss@iki.fi> (9510cc877d)
+
+ stats plugin: Get disk I/O from getrusage(), not from /proc/self/io. They're
+ pretty much the same values anyway, and getrusage() is more portable.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2011-09-01 11:59:21 +0300 Timo Sirainen <tss@iki.fi> (b57c175e5f)
+
+ Added signature for changeset 8ae243558677
+
+
+M .hgsigs
+
+2011-09-01 11:59:16 +0300 Timo Sirainen <tss@iki.fi> (ad938d6505)
+
+ Added tag 2.1.alpha1 for changeset 8ae243558677
+
+
+M .hgtags
+
+2011-09-01 11:59:14 +0300 Timo Sirainen <tss@iki.fi> (eee5eaaf3a)
+
+ Released v2.1.alpha1.
+
+
+M configure.in
+
+2011-09-01 11:57:59 +0300 Timo Sirainen <tss@iki.fi> (febbbf90eb)
+
+ Make static analyzer happy.
+
+
+M src/lib/network.c
+
+2011-09-01 11:50:49 +0300 Timo Sirainen <tss@iki.fi> (55342cbdfb)
+
+ doveadm: Error handling fix
+
+
+M src/doveadm/doveadm-stats.c
+
+2011-09-01 11:02:30 +0300 Timo Sirainen <tss@iki.fi> (89723511c5)
+
+ NEWS updated
+
+
+M NEWS
+
+2011-09-01 10:59:50 +0300 Timo Sirainen <tss@iki.fi> (31dcba2278)
+
+ TODO updated
+
+
+M TODO
+
+2011-09-01 10:58:41 +0300 Timo Sirainen <tss@iki.fi> (0d011467f6)
+
+ stats: Keep track of session's PIDs.
+
+
+M src/plugins/stats/stats-connection.c
+M src/stats/client-export.c
+M src/stats/mail-session.c
+M src/stats/mail-stats.h
+
+2011-09-01 10:40:17 +0300 Timo Sirainen <tss@iki.fi> (699b2bf7be)
+
+ stats: Keep track of last_update in microsecond precision and export it as
+ such.
+
+
+M src/stats/client-export.c
+M src/stats/mail-command.c
+M src/stats/mail-domain.c
+M src/stats/mail-ip.c
+M src/stats/mail-session.c
+M src/stats/mail-stats.h
+M src/stats/mail-user.c
+
+2011-09-01 10:39:37 +0300 Timo Sirainen <tss@iki.fi> (9f84515b25)
+
+ doveadm: Change "stats dump" default formatter to "tab".
+
+
+M src/doveadm/doveadm-print.h
+M src/doveadm/doveadm-stats.c
+
+2011-09-01 10:39:19 +0300 Timo Sirainen <tss@iki.fi> (06e3d76a97)
+
+ doveadm: Initial implementation of "stats top" command. Currently it's hard
+ coded to assume ANSI compatible terminal.
+
+
+M src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+
+2011-09-01 10:37:55 +0300 Timo Sirainen <tss@iki.fi> (3f0f905830)
+
+ Increased initial memory pool size.
+
+
+M src/doveadm/doveadm-print-table.c
+
+2011-09-01 10:37:35 +0300 Timo Sirainen <tss@iki.fi> (91db58d091)
+
+ stats plugin: Send one no-change session update after changes. This tells
+ the stats client that the session is idle now.
+
+
+M src/plugins/stats/stats-plugin.c
+M src/plugins/stats/stats-plugin.h
+
+2011-09-01 09:46:05 +0300 Timo Sirainen <tss@iki.fi> (3f3fa1a90a)
+
+ stats: Export CPU usecs prefixed with right number of zeros.
+
+
+M src/stats/client-export.c
+
+2011-09-01 07:25:23 +0300 Timo Sirainen <tss@iki.fi> (95213c9dde)
+
+ doveadm stats: Renamed "top" command to "dump" and allow giving any
+ parameters to it.
+
+
+M src/doveadm/doveadm-stats.c
+
+2011-09-01 07:24:25 +0300 Timo Sirainen <tss@iki.fi> (292381600a)
+
+ stats: Fixed dumping command stats.
+
+
+M src/stats/client-export.c
+
+2011-09-01 07:21:41 +0300 Timo Sirainen <tss@iki.fi> (0c720138b3)
+
+ stats: Fixed handling IP address stats.
+
+
+M src/stats/client-export.c
+M src/stats/mail-session.c
+M src/stats/main.c
+
+2011-09-01 06:52:43 +0300 Timo Sirainen <tss@iki.fi> (fc45ac80cd)
+
+ stats plugin: Added stats_refresh and stats_track_cmds settings. The stats
+ plugin is enabled only when refresh is set to non-zero. The imap_stats
+ plugin tracks commands only when stats_track_cmds=yes.
+
+
+M src/plugins/imap-stats/imap-stats-plugin.c
+M src/plugins/stats/Makefile.am
+M src/plugins/stats/stats-plugin.c
+M src/plugins/stats/stats-plugin.h
+
+2011-09-01 06:36:34 +0300 Timo Sirainen <tss@iki.fi> (0c61cba6b5)
+
+ stats plugin: Optimized to lookup statistics only when necessary.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2011-09-01 06:13:36 +0300 Timo Sirainen <tss@iki.fi> (ab94710e58)
+
+ stats: Don't attempt to track stats for autocreated users.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2011-09-01 06:13:26 +0300 Timo Sirainen <tss@iki.fi> (f534c0d42f)
+
+ lib-storage: Set struct mail_users.autocreated for raw/shared users.
+
+
+M src/lda/main.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/mail-user.h
+M src/lmtp/client.c
+
+2011-09-01 06:02:23 +0300 Timo Sirainen <tss@iki.fi> (c0beaaee83)
+
+ stats: Added more statistics fields (syscpu, page faults, context switches).
+
+
+M src/plugins/stats/stats-plugin.c
+M src/plugins/stats/stats-plugin.h
+M src/stats/client-export.c
+M src/stats/mail-stats.c
+M src/stats/mail-stats.h
+
+2011-09-01 05:57:42 +0300 Timo Sirainen <tss@iki.fi> (650cd8feab)
+
+ doveadm stats top: Don't hang if stats server doesn't send any statistics.
+
+
+M src/doveadm/doveadm-stats.c
+
+2011-08-31 14:25:54 +0300 Timo Sirainen <tss@iki.fi> (790c2742f4)
+
+ lib-storage: Recognize "flags" cache field in
+ MAILBOX_METADATA_PRECACHE_FIELDS.
+
+
+M src/lib-storage/index/index-status.c
+
+2011-08-31 14:23:51 +0300 Timo Sirainen <tss@iki.fi> (adf8264ab1)
+
+ fts-solr: Fixed updating last indexed uid in fts header.
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2011-08-31 13:58:27 +0300 Timo Sirainen <tss@iki.fi> (d50ba81550)
+
+ fts: Removed unused code.
+
+
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-storage.c
+
+2011-08-31 13:49:48 +0300 Timo Sirainen <tss@iki.fi> (2ced1cbfba)
+
+ fts-lucene: Fixed checking if optimize should be done directly or via
+ indexer.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2011-08-31 12:29:21 +0300 Timo Sirainen <tss@iki.fi> (128ea07dab)
+
+ lib-index: Changed mail_cache_view_close() API to take pointer-to-pointer.
+
+
+M src/doveadm/doveadm-dump-index.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-cache.h
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-transaction.c
+
+2011-08-31 12:02:29 +0300 Timo Sirainen <tss@iki.fi> (ff9eb4a57f)
+
+ indexer: Send completion% status updates to clients.
+
+
+M src/indexer/indexer-queue.c
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+
+2011-08-31 11:39:50 +0300 Timo Sirainen <tss@iki.fi> (421d306193)
+
+ Redesigned mail precaching APIs. There's no longer a one monolithic
+ mailbox_sync(MAILBOX_SYNC_FLAG_PRECACHE) call, but rather one
+ mail_precache() call for each mail to be precached. This allows the callers
+ to show the progress and in general is cleaner.
+
+
+M src/doveadm/doveadm-mail-index.c
+M src/indexer/master-connection.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+M src/lib-storage/test-mail.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts/Makefile.am
+M src/plugins/fts/fts-api-private.h
+R058 src/plugins/fts/fts-build.c src/plugins/fts/fts-build-mail.c
+A src/plugins/fts/fts-build-mail.h
+D src/plugins/fts/fts-build-mailbox.c
+M src/plugins/fts/fts-build-private.h
+D src/plugins/fts/fts-build-virtual.c
+D src/plugins/fts/fts-build.h
+R057 src/plugins/fts/fts-build-indexer.c src/plugins/fts/fts-indexer.c
+A src/plugins/fts/fts-indexer.h
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-storage.h
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-storage.c
+
+2011-08-31 11:35:24 +0300 Timo Sirainen <tss@iki.fi> (96da164ade)
+
+ fts: Fixed checking settings compatibility with non-INBOX namespaces.
+
+
+M src/plugins/fts/fts-api.c
+
+2011-08-31 11:33:54 +0300 Timo Sirainen <tss@iki.fi> (f3976df875)
+
+ lib-index: Added mail_cache_exists()
+
+
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-cache.h
+
+2011-08-30 09:57:08 +0300 Timo Sirainen <tss@iki.fi> (65a1c01472)
+
+ auth: Added missing files from recent commit.
+
+
+A src/auth/passdb-template.c
+A src/auth/passdb-template.h
+A src/auth/userdb-template.c
+A src/auth/userdb-template.h
+
+2011-08-30 07:07:31 +0300 Timo Sirainen <tss@iki.fi> (b7fdf4fe23)
+
+ fts: Added lookup_done() API call. Lucene uses it to close the index. This
+ way it Lucene doesn't keep the index files unnecessarily open forever.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-api.h
+M src/plugins/fts/fts-search.c
+
+2011-08-30 05:47:41 +0300 Timo Sirainen <tss@iki.fi> (f0054d0108)
+
+ mbox: mailbox_get_guid() does now better error handling when read-only mbox
+ doesn't have GUID.
+
+
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2011-08-30 05:36:24 +0300 Timo Sirainen <tss@iki.fi> (06ed0c58ea)
+
+ fts-lucene, fts-solr: Try to optimize searching for existence of header
+ name.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2011-08-30 05:27:54 +0300 Timo Sirainen <tss@iki.fi> (04052d7cac)
+
+ auth: Added default_fields and override_fields settings to all passdbs and
+ userdbs.
+
+
+M doc/example-config/conf.d/auth-ldap.conf.ext
+M doc/example-config/conf.d/auth-passwdfile.conf.ext
+M doc/example-config/conf.d/auth-system.conf.ext
+M src/auth/Makefile.am
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+M src/auth/auth.c
+M src/auth/passdb-static.c
+M src/auth/passdb.c
+M src/auth/passdb.h
+M src/auth/userdb-passwd.c
+M src/auth/userdb-static.c
+D src/auth/userdb-static.h
+M src/auth/userdb.c
+M src/auth/userdb.h
+
+2011-08-30 04:32:55 +0300 Timo Sirainen <tss@iki.fi> (b1ba6a91bd)
+
+ 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.
+
+
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/mail-storage.h
+
+2011-08-30 04:31:28 +0300 Timo Sirainen <tss@iki.fi> (ab9a91eb05)
+
+ 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.
+
+
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/mail-storage.h
+
+2011-08-30 04:31:00 +0300 Timo Sirainen <tss@iki.fi> (ad6fe4a3c0)
+
+ lib-index: Added mail_cache_view_update_cache_decisions()
+
+
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-cache.h
+
+2011-08-30 04:31:00 +0300 Timo Sirainen <tss@iki.fi> (8fa86f7ef0)
+
+ lib-index: Added mail_cache_view_update_cache_decisions()
+
+
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-private.h
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-cache.h
+
+2011-08-30 04:21:36 +0300 Timo Sirainen <tss@iki.fi> (64d3d21a70)
+
+ Merged changes from v2.0 tree.
+
+
+2011-08-29 07:08:04 +0300 Timo Sirainen <tss@iki.fi> (f50ad7cae9)
+
+ Added signature for changeset aa68f38c04f0
+
+
+M .hgsigs
+
+2011-08-29 07:08:02 +0300 Timo Sirainen <tss@iki.fi> (15ebb73a53)
+
+ Added tag 2.0.14 for changeset aa68f38c04f0
+
+
+M .hgtags
+
+2011-08-29 07:08:02 +0300 Timo Sirainen <tss@iki.fi> (f7dadfb70d)
+
+ Released v2.0.14.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2011-08-29 07:04:49 +0300 Timo Sirainen <tss@iki.fi> (7f3e6cdc00)
+
+ doveadm: Proxying fix
+
+
+M src/doveadm/doveadm-mail-server.c
+
+2011-08-29 07:03:26 +0300 Timo Sirainen <tss@iki.fi> (3c6807cf41)
+
+ doveadm: Fixed authentication with remote doveadm server.
+
+
+M src/doveadm/server-connection.c
+
+2011-08-29 06:18:26 +0300 Timo Sirainen <tss@iki.fi> (d3af904383)
+
+ doveadm: Added "director ring status" command.
+
+
+M src/doveadm/doveadm-director.c
+
+2011-08-29 06:18:16 +0300 Timo Sirainen <tss@iki.fi> (4fda77c9e9)
+
+ director: Updated DIRECTOR-LIST doveadm command.
+
+
+M src/director/doveadm-connection.c
+
+2011-08-29 05:36:04 +0300 Timo Sirainen <tss@iki.fi> (2b40570e12)
+
+ doveadm: Skip mailbox optimizations under OR search terms. This fixes
+ problem with e.g. "mailbox foo or seen".
+
+
+M src/doveadm/doveadm-mail-list-iter.c
+
+2011-08-29 05:30:58 +0300 Timo Sirainen <tss@iki.fi> (649e009c77)
+
+ lib-index: Error logging fix to previous commit.
+
+
+M src/lib-index/mail-index-write.c
+
+2011-08-28 08:32:44 +0300 Timo Sirainen <tss@iki.fi> (bd83e16fd3)
+
+ configure: Added --with-stemmer and output which fts backends are compiled.
+
+
+M configure.in
+
+2011-08-28 08:15:33 +0300 Timo Sirainen <tss@iki.fi> (4145cbac82)
+
+ lib-storage: Replaced MAILBOX_FLAG_KEEP_RECENT flag with reverse
+ MAILBOX_FLAG_DROP_RECENT. Very few places actually want to drop recent
+ flags, so this way is easier.
+
+
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-move.c
+M src/doveadm/doveadm-mail.c
+M src/dsync/dsync-worker-local.c
+M src/imap/cmd-select.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-status.c
+M src/indexer/master-connection.c
+M src/lib-lda/mail-deliver.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/list/index-mailbox-list.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-list.c
+M src/plugins/acl/doveadm-acl.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts/fts-api.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/quota/quota-count.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/pop3/pop3-client.c
+
+2011-08-28 07:03:45 +0300 Timo Sirainen <tss@iki.fi> (2120346ee2)
+
+ stats plugin: Fixed stats connection reference counting.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2011-08-28 06:20:46 +0300 Timo Sirainen <tss@iki.fi> (7f44ba28ed)
+
+ doveadm dump: Updated fts_index_header.
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2011-08-28 06:19:52 +0300 Timo Sirainen <tss@iki.fi> (5b6470e0e2)
+
+ fts-lucene: If default_language changes, reindex mailbox.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/fts-lucene-plugin.h
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-28 06:18:54 +0300 Timo Sirainen <tss@iki.fi> (54d437dea6)
+
+ fts: Changed private fts_index_header accessing APIs
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-api.c
+
+2011-08-28 05:49:36 +0300 Timo Sirainen <tss@iki.fi> (c35291cbf7)
+
+ stats plugin: Don't crash if stats collecting is disabled.
+
+
+M src/plugins/stats/stats-plugin.c
+
+2011-08-28 05:49:06 +0300 Timo Sirainen <tss@iki.fi> (65889a7d8c)
+
+ lib-storage: Default mail_user.service (from NULL) to master_service.name.
+
+
+M src/lib-storage/mail-user.c
+
+2011-08-27 11:48:20 +0300 Timo Sirainen <tss@iki.fi> (6140ef2418)
+
+ fts-lucene: Error logging fix.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-26 05:20:01 +0300 Timo Sirainen <tss@iki.fi> (3809ed86f7)
+
+ stats: Refresh idle timeout whenever session is updated.
+
+
+M src/stats/mail-session.c
+
+2011-08-26 05:15:42 +0300 Timo Sirainen <tss@iki.fi> (6565fc65b6)
+
+ doveadm: Added initial implementation of "stats top" command.
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-stats.c
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+
+2011-08-26 05:15:12 +0300 Timo Sirainen <tss@iki.fi> (ede6bdb42c)
+
+ Initial implementation of statistics gathering daemon and plugins to feed
+ it. Some statistics are still missing, some of the code is a bit ugly and
+ the internal protocols will probably still change.
+
+
+M .hgignore
+M configure.in
+M src/Makefile.am
+M src/plugins/Makefile.am
+A src/plugins/imap-stats/Makefile.am
+A src/plugins/imap-stats/imap-stats-plugin.c
+A src/plugins/imap-stats/imap-stats-plugin.h
+A src/plugins/stats/Makefile.am
+A src/plugins/stats/stats-connection.c
+A src/plugins/stats/stats-connection.h
+A src/plugins/stats/stats-plugin.c
+A src/plugins/stats/stats-plugin.h
+A src/stats/Makefile.am
+A src/stats/client-export.c
+A src/stats/client-export.h
+A src/stats/client.c
+A src/stats/client.h
+A src/stats/global-memory.c
+A src/stats/global-memory.h
+A src/stats/mail-command.c
+A src/stats/mail-command.h
+A src/stats/mail-domain.c
+A src/stats/mail-domain.h
+A src/stats/mail-ip.c
+A src/stats/mail-ip.h
+A src/stats/mail-server-connection.c
+A src/stats/mail-server-connection.h
+A src/stats/mail-session.c
+A src/stats/mail-session.h
+A src/stats/mail-stats.c
+A src/stats/mail-stats.h
+A src/stats/mail-user.c
+A src/stats/mail-user.h
+A src/stats/main.c
+A src/stats/stats-settings.c
+A src/stats/stats-settings.h
+
+2011-08-26 05:10:54 +0300 Timo Sirainen <tss@iki.fi> (93aa246b98)
+
+ lib-master: Don't count FIFOs as clients anymore. We never see them
+ disconnected. This fixes a problem with shutdown_clients=no when a closed
+ director process could hang around forever waiting for the FIFO to close.
+
+
+M src/director/notify-connection.c
+M src/lib-master/master-service.c
+M src/log/log-connection.c
+
+2011-08-26 05:09:25 +0300 Timo Sirainen <tss@iki.fi> (6cdc919454)
+
+ master: If fifo already exists, replace it to be sure it has proper
+ permissions.
+
+
+M src/master/service-listen.c
+
+2011-08-26 05:08:42 +0300 Timo Sirainen <tss@iki.fi> (b69f4d33ff)
+
+ imap: Added hooks that can be run always before/after any command handler.
+
+
+M src/imap/cmd-append.c
+M src/imap/cmd-uid.c
+M src/imap/imap-client.c
+M src/imap/imap-commands.c
+M src/imap/imap-commands.h
+
+2011-08-26 05:07:53 +0300 Timo Sirainen <tss@iki.fi> (a14f6023dc)
+
+ liblib: Added IPADDR_BITS() macro.
+
+
+M src/lib/network.c
+M src/lib/network.h
+
+2011-08-25 03:54:50 +0300 Timo Sirainen <tss@iki.fi> (2d01cc1880)
+
+ lib-storage: Moved all transaction stats_* to struct
+ mailbox_transaction_stats.
+
+
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/istream-mail-stats.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage-private.h
+
+2011-08-25 03:54:18 +0300 Timo Sirainen <tss@iki.fi> (1ee04b5cb3)
+
+ liblib: Added _FULL versions of all linked list handling macros with prev
+ and next params. This allows putting structs into multiple linked lists.
+
+
+M src/lib/llist.h
+
+2011-08-25 01:16:11 +0300 Timo Sirainen <tss@iki.fi> (de62ce819d)
+
+ Moved GUID code to liblib. Use guid_128_t type consistently everywhere.
+
+
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-search.c
+M src/dsync/dsync-brain-msgs.c
+M src/dsync/dsync-data.c
+M src/dsync/dsync-data.h
+M src/dsync/dsync-worker-local.c
+M src/dsync/test-dsync-brain-msgs.c
+M src/dsync/test-dsync-common.c
+M src/dsync/test-dsync-common.h
+M src/dsync/test-dsync-proxy-server-cmd.c
+M src/dsync/test-dsync-proxy.c
+M src/imap/imap-status.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index.h
+M src/lib-index/mail-transaction-log.h
+M src/lib-index/mailbox-log.h
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+M src/lib-mail/mail-types.h
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-save.h
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.h
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-sync-changes.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-uidlist.h
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-storage.h
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/list/index-mailbox-list-status.c
+M src/lib-storage/list/index-mailbox-list.h
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+M src/lib-storage/mailbox-guid-cache.c
+M src/lib-storage/mailbox-guid-cache.h
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/lib-storage/test-mailbox-get.c
+M src/lib/Makefile.am
+A src/lib/guid.c
+A src/lib/guid.h
+M src/lmtp/client.c
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-lucene/lucene-wrapper.h
+M src/plugins/fts/doveadm-dump-fts-expunge-log.c
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-expunge-log.c
+M src/plugins/fts/fts-expunge-log.h
+
+2011-08-25 00:27:41 +0300 Timo Sirainen <tss@iki.fi> (6bf4371f70)
+
+ liblib: Added io_loop_get_current_context()
+
+
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2011-08-25 00:27:10 +0300 Timo Sirainen <tss@iki.fi> (ae800c8a96)
+
+ liblib: io_loop_context_remove_callbacks() now requires also callbacks.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2011-08-24 21:37:15 +0300 Timo Sirainen <tss@iki.fi> (da4e1efd78)
+
+ NEWS updated
+
+
+M NEWS
+
+2011-08-24 21:24:59 +0300 Timo Sirainen <tss@iki.fi> (d6f592b6aa)
+
+ configure: Removed accidentally committed stats directory.
+
+
+M configure.in
+
+2011-08-24 21:07:04 +0300 Timo Sirainen <tss@iki.fi> (c37098f8ce)
+
+ fts-lucene: Added default_language setting and separated stemmer/textcat
+ support.
+
+
+M configure.in
+M src/plugins/fts-lucene/Makefile.am
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/fts-lucene-plugin.h
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-lucene/lucene-wrapper.h
+
+2011-08-23 23:25:14 +0300 Timo Sirainen <tss@iki.fi> (d9f730d678)
+
+ 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.
+
+
+M src/lib-index/mail-index-write.c
+
+2011-08-23 23:03:41 +0300 Timo Sirainen <tss@iki.fi> (0fcfa7698e)
+
+ sdbox: Avoid assert-crashing if mail being saved suddenly became corrupted.
+
+
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+
+2011-08-23 22:39:26 +0300 Timo Sirainen <tss@iki.fi> (8ad684ff36)
+
+ lib-master: Make sure ipc server fd isn't tried to be accessed after it's
+ closed.
+
+
+M src/lib-master/ipc-server.c
+
+2011-08-23 22:38:24 +0300 Timo Sirainen <tss@iki.fi> (b74cef81f5)
+
+ rawlog: Use the lib-master API calls.
+
+
+M src/util/rawlog.c
+
+2011-08-23 22:14:38 +0300 Timo Sirainen <tss@iki.fi> (36f4f01d56)
+
+ 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.
+
+
+M src/lib-storage/index/mbox/mbox-mail.c
+
+2011-08-23 21:41:24 +0300 Timo Sirainen <tss@iki.fi> (f45038537a)
+
+ zlib: Fixed reading concatenated .gz files.
+
+
+M src/plugins/zlib/istream-zlib.c
+
+2011-08-23 21:20:13 +0300 Timo Sirainen <tss@iki.fi> (b8afdaa1bf)
+
+ login proxy: Fixed assert-crash on io_add() when client disconnects at a bad
+ time.
+
+
+M src/login-common/client-common-auth.c
+
+2011-08-23 20:43:36 +0300 Timo Sirainen <tss@iki.fi> (683bae99b6)
+
+ lib-lda: Don't crash if remote disconnects during sending mail via LMTP.
+
+
+M src/lib-lda/lmtp-client.c
+
+2011-08-23 04:52:55 +0300 Timo Sirainen <tss@iki.fi> (2d28870ca6)
+
+ fts-lucene: Add '/' suffix to textcat_dir if it's not already there.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-23 04:44:26 +0300 Timo Sirainen <tss@iki.fi> (64f30df0be)
+
+ fts-lucene: Free all Lucene's memory on plugin deinit.
+
+
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-lucene/lucene-wrapper.h
+
+2011-08-23 04:44:03 +0300 Timo Sirainen <tss@iki.fi> (920f6ee17b)
+
+ fts-lucene: Fixed memory leak in snowball analyzer.
+
+
+M src/plugins/fts-lucene/Snowball.cc
+M src/plugins/fts-lucene/SnowballAnalyzer.h
+
+2011-08-23 03:31:50 +0300 Timo Sirainen <tss@iki.fi> (39d2cc2552)
+
+ indexer: Treat worker connections as client connections to avoid early
+ idle-kills.
+
+
+M src/indexer/worker-pool.c
+
+2011-08-23 03:31:15 +0300 Timo Sirainen <tss@iki.fi> (21e6b4fd84)
+
+ lib-master: Added master_service_client_connection_created()
+
+
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2011-08-18 18:21:33 +0300 Timo Sirainen <tss@iki.fi> (1ef2ea0e6a)
+
+ mdbox: Remove refcount=0 records from map index on the first purge (not
+ second).
+
+
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+
+2011-08-18 18:20:08 +0300 Timo Sirainen <tss@iki.fi> (50854b51d6)
+
+ mdbox: Remove refcount=0 records from map index on the first purge (not
+ second).
+
+
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+
+2011-08-18 18:12:59 +0300 Timo Sirainen <tss@iki.fi> (0575fb5446)
+
+ Increased initial memory pool size.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-08-18 17:59:52 +0300 Timo Sirainen <tss@iki.fi> (6f7b4a6773)
+
+ indexer: Code cleanup
+
+
+M src/indexer/worker-pool.c
+
+2011-08-16 23:37:42 +0300 Timo Sirainen <tss@iki.fi> (d29ec22aa3)
+
+ fts-lucene: Use TermQuery instead of PrefixQuery for searches. Although
+ PrefixQuery gives a more IMAP-like result, it's slower and can fail if the
+ prefix string is small.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-16 23:31:31 +0300 Timo Sirainen <tss@iki.fi> (03f4c5f350)
+
+ fts-lucene: Automatically delete corrupted indexes and mark all mailboxes
+ unindexed.
+
+
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-lucene/lucene-wrapper.h
+
+2011-08-16 23:21:52 +0300 Timo Sirainen <tss@iki.fi> (3b55c4f0e2)
+
+ fts-lucene: doveadm fts rescan now resets "last indexed uid" for all
+ mailboxes.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-16 23:12:35 +0300 Timo Sirainen <tss@iki.fi> (a92dab68f0)
+
+ fts-lucene: Avoid unnecessarily creating the lucene-indexes directory.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-16 22:53:01 +0300 Timo Sirainen <tss@iki.fi> (1fb81cb0b6)
+
+ dbox: Create symlink to alt root dir, and warn whenever it changes.
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+
+2011-08-16 22:52:19 +0300 Timo Sirainen <tss@iki.fi> (2becb54a63)
+
+ lib-storage: Don't crash on getting alt root dir, when no alt dir is
+ specified.
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-08-16 22:36:23 +0300 Timo Sirainen <tss@iki.fi> (37cfbf01cc)
+
+ lib-storage: Log alt path when mail_debug=yes
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-08-16 22:36:04 +0300 Timo Sirainen <tss@iki.fi> (7920a47321)
+
+ lib-storage: Log alt path when mail_debug=yes
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-08-16 22:27:18 +0300 Timo Sirainen <tss@iki.fi> (05c56ea2ac)
+
+ lib-index: Optimized handling MAIL_TRANSACTION_EXPUNGE_GUID records in large
+ index.
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2011-08-16 22:27:06 +0300 Timo Sirainen <tss@iki.fi> (73e9db676e)
+
+ lib-index: Optimized handling MAIL_TRANSACTION_EXPUNGE_GUID records in large
+ index.
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2011-08-16 22:26:12 +0300 Timo Sirainen <tss@iki.fi> (03a83759c3)
+
+ fts-lucene: Don't add messages to expunge log that aren't even in the index.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2011-08-16 22:23:48 +0300 Timo Sirainen <tss@iki.fi> (37fefd2da5)
+
+ fts-lucene: Once enough messages have been deleted, trigger optimize via
+ indexer.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2011-08-16 22:22:32 +0300 Timo Sirainen <tss@iki.fi> (4ca9910d9d)
+
+ fts-lucene: Yet another (final!) attempt at avoiding "Too Many Clauses"
+ error.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-16 22:21:38 +0300 Timo Sirainen <tss@iki.fi> (e9257b4538)
+
+ fts: Added fts_indexer_cmd() for easily sending commands to indexer.
+
+
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-build-indexer.c
+
+2011-08-16 22:21:06 +0300 Timo Sirainen <tss@iki.fi> (294f579cd3)
+
+ indexer: Added OPTIMIZE command to optimize fts index.
+
+
+M src/indexer/indexer-client.c
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-queue.h
+M src/indexer/indexer.c
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-connection.h
+
+2011-08-16 22:20:40 +0300 Timo Sirainen <tss@iki.fi> (20eafc2a84)
+
+ lib-storage: Added MAILBOX_SYNC_FLAG_OPTIMIZE flag for triggering fts
+ optimize. This is a pretty ugly kludge, since it does nothing when FTS isn't
+ enabled..
+
+
+M src/lib-storage/mail-storage.h
+M src/plugins/fts/fts-storage.c
+
+2011-08-16 21:08:23 +0300 Timo Sirainen <tss@iki.fi> (1e0842a682)
+
+ fts-lucene: Another attempt to avoid "Too Many Clauses" error by not using ?
+ wildcard.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-16 20:04:29 +0300 Timo Sirainen <tss@iki.fi> (6bc441731e)
+
+ fts-lucene: Fix to previous change: actually use WildcardQuery, not
+ TermQuery..
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-16 19:51:28 +0300 Timo Sirainen <tss@iki.fi> (87ac1612e8)
+
+ lazy-expunge: Avoid crashing if user init fails.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2011-08-16 19:46:06 +0300 Timo Sirainen <tss@iki.fi> (bfd9dc27b7)
+
+ fts-lucene: Use WildcardQuery rather than RangeQuery to limit what UIDs to
+ fetch.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-16 19:19:10 +0300 Timo Sirainen <tss@iki.fi> (eae0829232)
+
+ lazy-expunge: Fixed assert-crash when trying to open lazy-expunge mailbox.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2011-08-16 19:06:55 +0300 Timo Sirainen <tss@iki.fi> (6727b100f6)
+
+ lib-storage: MAIL_STORAGE_SERVICE_FLAG_NO_LOG_INIT crashed after previous
+ ioloop change.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-08-16 18:50:42 +0300 Timo Sirainen <tss@iki.fi> (b37dc96b11)
+
+ fts: Assert-crashfix to HTML parsing if the document ends with a small tag.
+
+
+M src/plugins/fts/fts-parser-html.c
+
+2011-08-16 18:33:27 +0300 Timo Sirainen <tss@iki.fi> (1388b590db)
+
+ Replaced "ioloop log" with a more generic "ioloop context". The context can
+ call multiple callbacks that can do anything they want, including setting
+ the log prefix.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib/ioloop-internal.h
+M src/lib/ioloop-notify-dn.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-kqueue.c
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2011-08-16 18:27:40 +0300 Timo Sirainen <tss@iki.fi> (88f35177be)
+
+ lib-storage: Fixed assert-crash caused by previous stats change.
+
+
+M src/lib-storage/index/index-search.c
+
+2011-08-16 17:02:08 +0300 Timo Sirainen <tss@iki.fi> (1eaaa2c900)
+
+ lib-storage: Moved stats_* from mail to transaction. With the API changes to
+ search, having them in mail doesn't make sense anymore, since
+ mailbox_search_next() can return multiple different mails with different
+ stats.
+
+
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/istream-mail-stats.c
+M src/lib-storage/index/istream-mail-stats.h
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage-private.h
+
+2011-08-16 16:59:40 +0300 Timo Sirainen <tss@iki.fi> (015523cce5)
+
+ Compiler warning fix.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-08-15 14:48:52 +0300 Timo Sirainen <tss@iki.fi> (e3f89f85e4)
+
+ lib-index: Assert-crashfix when reading transaction log header fails with
+ ESTALE.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2011-08-15 14:48:18 +0300 Timo Sirainen <tss@iki.fi> (8f0e6d627f)
+
+ lib-index: Avoid crashing when dealing with duplicate transaction log
+ sequences.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2011-08-15 14:33:36 +0300 Timo Sirainen <tss@iki.fi> (edc3dae18d)
+
+ fts-lucene: Don't crash if expunging didn't actually do anything.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-15 01:18:01 +0300 Timo Sirainen <tss@iki.fi> (2b49daf5e0)
+
+ example-config: Updated auth_username_format default to match reality.
+
+
+M doc/example-config/conf.d/10-auth.conf
+
+2011-08-15 01:11:47 +0300 Timo Sirainen <tss@iki.fi> (8eb118a661)
+
+ lib-storage: Fixed mail_storage_copy_can_use_hardlink() for mode=0600 with
+ different uids.
+
+
+M src/lib-storage/mail-copy.c
+
+2011-08-15 01:06:19 +0300 Timo Sirainen <tss@iki.fi> (47d5cc0973)
+
+ lib-storage: mailbox_list_get_permissions() now returns struct
+ mailbox_permissions. Also added new file_uid and file_gid fields to the
+ mailbox_permissions.
+
+
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/plugins/acl/acl-backend-vfile.c
+
+2011-08-15 00:44:01 +0300 Timo Sirainen <tss@iki.fi> (6c1a5346fe)
+
+ Compiler warning fix.
+
+
+M src/lib-storage/mail.c
+
+2011-08-15 00:34:45 +0300 Timo Sirainen <tss@iki.fi> (bfa7ef85a0)
+
+ mbox: Generate mailbox GUID without syncing the mbox, locking it is enough.
+
+
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync-private.h
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2011-08-15 00:30:18 +0300 Timo Sirainen <tss@iki.fi> (4fe2f0c340)
+
+ mbox: Fixed crashing with pop3_lock_session=yes
+
+
+M src/lib-storage/index/mbox/mbox-lock.c
+
+2011-08-14 23:39:10 +0300 Timo Sirainen <tss@iki.fi> (1a78f0cc66)
+
+ lib-storage: Don't crash if INBOX is in a namespace with non-"" non-"INBOX/"
+ prefix.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-08-14 21:35:39 +0300 Timo Sirainen <tss@iki.fi> (9b664389d8)
+
+ fts-lucene: doveadm fts rescan now also optimizes the index at the end.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2011-08-14 21:29:07 +0300 Timo Sirainen <tss@iki.fi> (96a738c372)
+
+ fts-solr-old: Mailbox names are mUTF-7 in the Solr index, not UTF-8.
+
+
+M src/plugins/fts-solr/Makefile.am
+M src/plugins/fts-solr/fts-backend-solr-old.c
+
+2011-08-14 21:28:28 +0300 Timo Sirainen <tss@iki.fi> (09c8ed62f3)
+
+ lib-imap: Added t_imap_utf8_to_utf7()
+
+
+M src/lib-imap/imap-utf7.c
+M src/lib-imap/imap-utf7.h
+
+2011-08-14 21:02:43 +0300 Timo Sirainen <tss@iki.fi> (df26373d0a)
+
+ indexer: Don't die on "idle kill signal" if workers are still busy.
+
+
+M src/indexer/indexer.c
+M src/indexer/worker-pool.c
+M src/indexer/worker-pool.h
+
+2011-08-14 20:55:32 +0300 Timo Sirainen <tss@iki.fi> (2a47231657)
+
+ indexer: Potential crashfix on deinit.
+
+
+M src/indexer/worker-connection.c
+
+2011-08-14 20:55:12 +0300 Timo Sirainen <tss@iki.fi> (6990472dfc)
+
+ fts-lucene: Actually delete messages from index on expunge/rescan.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-14 20:41:44 +0300 Timo Sirainen <tss@iki.fi> (bc0553df7b)
+
+ fts: fts_expunge_log_uid_count() returned garbage on nonexistent log.
+
+
+M src/plugins/fts/fts-expunge-log.c
+
+2011-08-14 20:41:21 +0300 Timo Sirainen <tss@iki.fi> (a7061727e8)
+
+ fts: Memory leak fix
+
+
+M src/plugins/fts/fts-storage.c
+
+2011-08-14 20:41:06 +0300 Timo Sirainen <tss@iki.fi> (def291c1cc)
+
+ fts-lucene: Avoid crashing on doveadm dump.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-14 20:40:49 +0300 Timo Sirainen <tss@iki.fi> (5ab440dddf)
+
+ fts-lucene: Fixed doveadm dump's lucene-index detection.
+
+
+M src/plugins/fts-lucene/doveadm-fts-lucene.c
+
+2011-08-12 17:39:19 +0300 Timo Sirainen <tss@iki.fi> (027c729b31)
+
+ fts-lucene: Use fts expunge log instead of scanning the entire index for
+ expunged mails.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-lucene/lucene-wrapper.h
+
+2011-08-12 17:37:23 +0300 Timo Sirainen <tss@iki.fi> (3dfa8c7075)
+
+ fts: Added "doveadm fts rescan" command.
+
+
+M src/plugins/fts/doveadm-fts.c
+
+2011-08-12 17:33:29 +0300 Timo Sirainen <tss@iki.fi> (a569c6df4f)
+
+ fts: Added fts_backend_rescan()
+
+
+M src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-api.h
+
+2011-08-12 17:47:29 +0300 Timo Sirainen <tss@iki.fi> (cc2954ad6d)
+
+ fts: Added generic "fts expunge log". This is intended to be used by fts
+ backends that can't directly expunge from the index, but rather need to log
+ the expunges and do the actual expunging later.
+
+ Added also "doveadm dump" support for the log.
+
+M src/plugins/fts/Makefile.am
+A src/plugins/fts/doveadm-dump-fts-expunge-log.c
+M src/plugins/fts/doveadm-fts.c
+A src/plugins/fts/doveadm-fts.h
+A src/plugins/fts/fts-expunge-log.c
+A src/plugins/fts/fts-expunge-log.h
+
+2011-08-12 17:27:05 +0300 Timo Sirainen <tss@iki.fi> (39ed514f9d)
+
+ fts-lucene: Added "doveadm dump" support for lucene index.
+
+
+M src/plugins/fts-lucene/Makefile.am
+A src/plugins/fts-lucene/doveadm-fts-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-lucene/lucene-wrapper.h
+
+2011-08-12 17:40:55 +0300 Timo Sirainen <tss@iki.fi> (6feb0ff583)
+
+ lib-storage: Added mail_guid_128_hash/cmp()
+
+
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+M src/lib-storage/mailbox-guid-cache.c
+
+2011-08-12 17:40:19 +0300 Timo Sirainen <tss@iki.fi> (b53af186aa)
+
+ liblib: Added generic mem_hash()
+
+
+M src/lib/hash.c
+M src/lib/hash.h
+
+2011-08-11 18:10:33 +0300 Timo Sirainen <tss@iki.fi> (d3380f13cb)
+
+ fts: Added "doveadm fts optimize" command.
+
+
+M src/plugins/fts/Makefile.am
+A src/plugins/fts/doveadm-fts.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-storage.h
+
+2011-08-11 18:05:56 +0300 Timo Sirainen <tss@iki.fi> (009d6d90b3)
+
+ fts-lucene: Several fixes and improvements.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-lucene/lucene-wrapper.h
+
+2011-08-11 18:03:20 +0300 Timo Sirainen <tss@iki.fi> (bd4e36a8cd)
+
+ lib-storage: Added mailbox_alloc_guid() for opening mailbox by its GUID.
+
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+A src/lib-storage/mailbox-guid-cache.c
+A src/lib-storage/mailbox-guid-cache.h
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+
+2011-08-11 18:02:25 +0300 Timo Sirainen <tss@iki.fi> (fcfe85637e)
+
+ lib-storage: Added struct mailbox.generation_sequence. This can be used for
+ caching struct mailbox pointers and checking later if two struct mailboxes +
+ their generation sequences match. If they do, it's the same struct mailbox.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage-private.h
+
+2011-08-11 17:35:45 +0300 Timo Sirainen <tss@iki.fi> (1e1549f936)
+
+ fts-lucene: Store indexed header names lowercased so they can actually be
+ searched.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-10 18:53:50 +0300 Timo Sirainen <tss@iki.fi> (e2e55583ad)
+
+ fts-squat: Assert-crashfix on indexing
+
+
+M src/plugins/fts-squat/squat-trie.c
+
+2011-08-10 17:47:50 +0300 Timo Sirainen <tss@iki.fi> (a57c161a54)
+
+ Removed dead code.
+
+
+M src/imap/imap-status.c
+M src/lib-storage/index/imapc/imapc-seqmap.c
+M src/lib-storage/list/index-mailbox-list-status.c
+M src/lib-storage/list/index-mailbox-list.c
+
+2011-08-10 17:43:49 +0300 Timo Sirainen <tss@iki.fi> (8f2444f788)
+
+ lib-ssl-iostream: ssl_iostream_get_security_string() didn't return
+ compression.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2011-08-10 17:37:16 +0300 Timo Sirainen <tss@iki.fi> (857c9d201f)
+
+ Makefile fixes to include everything in dist
+
+
+M src/plugins/fts-lucene/Makefile.am
+M src/plugins/fts/Makefile.am
+
+2011-08-10 17:37:07 +0300 Timo Sirainen <tss@iki.fi> (a5e89374cb)
+
+ fts: Increased initial memory pool size
+
+
+M src/plugins/fts/fts-storage.c
+
+2011-08-10 17:02:18 +0300 Timo Sirainen <tss@iki.fi> (68c47763e2)
+
+ Fixed compiling without OpenSSL.
+
+
+M configure.in
+M src/lib-ssl-iostream/Makefile.am
+A src/lib-ssl-iostream/iostream-ssl-none.c
+
+2011-08-10 16:50:19 +0300 Timo Sirainen <tss@iki.fi> (1994ae2ac8)
+
+ fts-lucene: Added missing textcat.conf
+
+
+A src/plugins/fts-lucene/textcat.conf
+
+2011-08-10 16:16:57 +0300 Timo Sirainen <tss@iki.fi> (4b4aabb44d)
+
+ lib-storage: Fixed getting recent count for mailbox when it wasn't synced.
+
+
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync.c
+
+2011-08-10 16:08:45 +0300 Timo Sirainen <tss@iki.fi> (ecf44c7441)
+
+ doveadm index -n: Don't sync mailbox when checking the recent count. The
+ syncing alone can take a long time with huge maildirs. Better to be slightly
+ wrong than waste a lot of time all the time.
+
+
+M src/doveadm/doveadm-mail-index.c
+M src/indexer/master-connection.c
+
+2011-08-10 16:00:45 +0300 Timo Sirainen <tss@iki.fi> (08ed4ab71f)
+
+ lib-storage: Fixes to handling INBOX/ namespace prefix.
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+
+2011-08-10 15:17:12 +0300 Timo Sirainen <tss@iki.fi> (947e4e68bb)
+
+ indexer: Deinitialize without crashing when there are requests.
+
+
+M src/indexer/indexer.c
+
+2011-08-10 15:16:44 +0300 Timo Sirainen <tss@iki.fi> (7fdc192eec)
+
+ indexer: Fix to handling disconnected worker.
+
+
+M src/indexer/worker-connection.c
+
+2011-08-10 15:03:59 +0300 Timo Sirainen <tss@iki.fi> (451d1a0cec)
+
+ fts: Assert-crashfix to HTML parsing.
+
+
+M src/plugins/fts/fts-parser-html.c
+
+2011-08-10 14:56:00 +0300 Timo Sirainen <tss@iki.fi> (73caa98b59)
+
+ fts: Don't crash if application/octet-stream attachment doesn't have
+ filename.
+
+
+M src/plugins/fts/fts-parser-script.c
+
+2011-08-10 14:50:56 +0300 Timo Sirainen <tss@iki.fi> (2ee34f0b0b)
+
+ indexer: If worker disconnects, log whose requests were discarded.
+
+
+M src/indexer/worker-connection.c
+
+2011-08-10 14:48:08 +0300 Timo Sirainen <tss@iki.fi> (b24870f2d4)
+
+ indexer: Handle unexpected worker disconnections better.
+
+
+M src/indexer/worker-connection.c
+
+2011-08-10 14:19:00 +0300 Timo Sirainen <tss@iki.fi> (fcaf124d4a)
+
+ doveadm: The actual doveadm part of the previous commit..
+
+
+M src/doveadm/doveadm-mail-index.c
+
+2011-08-10 14:17:54 +0300 Timo Sirainen <tss@iki.fi> (7c0e7d96e1)
+
+ doveadm index: Added -n parameter to specify max number of recent msgs to
+ perform indexing. The idea is that if a user hasn't opened the mailbox for a
+ long time (or ever), there's not much point in wasting time on doing
+ indexing.
+
+
+M src/indexer/indexer-client.c
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-queue.h
+M src/indexer/indexer.c
+M src/indexer/master-connection.c
+M src/indexer/worker-connection.c
+M src/indexer/worker-connection.h
+
+2011-08-10 13:46:31 +0300 Timo Sirainen <tss@iki.fi> (dc03b7bb2c)
+
+ fts-lucene: Crashfix for handling header searches with stop words (etc).
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-09 20:44:34 +0300 Timo Sirainen <tss@iki.fi> (4f68fa8a11)
+
+ script: Be sure to handle LF+LF properly.
+
+
+M src/plugins/quota/quota.c
+M src/util/script.c
+
+2011-08-09 20:39:33 +0300 Timo Sirainen <tss@iki.fi> (6e52ab024c)
+
+ script: Comment update
+
+
+M src/util/script.c
+
+2011-08-09 20:05:38 +0300 Timo Sirainen <tss@iki.fi> (0be9d7c58e)
+
+ indexer-worker: verbose_proctitle=yes now shows username+mailbox.
+
+
+M src/indexer/master-connection.c
+
+2011-08-09 19:56:54 +0300 Timo Sirainen <tss@iki.fi> (212fbaebed)
+
+ fts: Data stack access fix.
+
+
+M src/plugins/fts/fts-search.c
+
+2011-08-09 19:50:02 +0300 Timo Sirainen <tss@iki.fi> (fe9fb910df)
+
+ indexer: Read configuration earlier while we still have privileges.
+
+
+M src/indexer/indexer.c
+
+2011-08-09 19:42:23 +0300 Timo Sirainen <tss@iki.fi> (cfa8a04466)
+
+ indexer: If verbose_proctitle=yes, show how many clients/requests there are.
+
+
+M src/indexer/indexer-client.c
+M src/indexer/indexer-client.h
+M src/indexer/indexer-queue.c
+M src/indexer/indexer-queue.h
+M src/indexer/indexer.c
+M src/indexer/indexer.h
+
+2011-08-09 19:28:00 +0300 Timo Sirainen <tss@iki.fi> (2ce5b1d19c)
+
+ fts-lucene: Fixed compiling without textcat/snowball
+
+
+M src/plugins/fts-lucene/Makefile.am
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-09 16:41:29 +0300 Timo Sirainen <tss@iki.fi> (73bc0de052)
+
+ fts: Log how many messages were indexed.
+
+
+M src/plugins/fts/fts-build-private.h
+M src/plugins/fts/fts-build.c
+
+2011-08-09 16:33:19 +0300 Timo Sirainen <tss@iki.fi> (cfbacf6ea5)
+
+ lib-index: MAIL_INDEX_SYNC_FLAG_DELETING_INDEX comment updated
+
+
+M src/lib-index/mail-index.h
+
+2011-08-09 16:32:27 +0300 Timo Sirainen <tss@iki.fi> (4911787931)
+
+ lib-index: MAIL_INDEX_SYNC_FLAG_DELETING_INDEX now allows committing changes
+ to deleted index. This fixes deleting mailboxes.
+
+
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction.c
+
+2011-08-09 15:29:26 +0300 Timo Sirainen <tss@iki.fi> (b1b0ec3a06)
+
+ fts-lucene: Crashfix when textcat wasn't enabled.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2011-08-09 15:05:18 +0300 Timo Sirainen <tss@iki.fi> (c8296ac1ed)
+
+ fts-lucene: Added initial support for language detection and stemming. This
+ requires textcat and snowball (libstemmer) libraries. This can be enabled by
+ setting: fts_lucene = textcat_dir=/usr/share/libtextcat \
+ textcat_conf=/etc/dovecot/textcat.conf
+
+ I'm not yet sure how good of an idea it is to actually use this, so it needs
+ some testing.. For example how bad is it if language is detected
+ incorrectly?
+
+M configure.in
+M src/plugins/fts-lucene/Makefile.am
+A src/plugins/fts-lucene/Snowball.cc
+A src/plugins/fts-lucene/SnowballAnalyzer.h
+A src/plugins/fts-lucene/SnowballFilter.h
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-lucene/fts-lucene-plugin.h
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-lucene/lucene-wrapper.h
+
+2011-08-09 14:13:13 +0300 Timo Sirainen <tss@iki.fi> (9a4e08ad8a)
+
+ indexer-worker: Added -D parameter to enable core dumps.
+
+
+M src/indexer/indexer-worker.c
+
+2011-08-09 13:53:59 +0300 Timo Sirainen <tss@iki.fi> (5c1fdc9aaf)
+
+ decode2text: If unzip fails, just ignore the attachment silently.
+
+
+M src/plugins/fts/decode2text.sh
+
+2011-08-09 13:45:26 +0300 Timo Sirainen <tss@iki.fi> (dd7ec89cbd)
+
+ fts html parser: Assert-crashfix when parsing entities.
+
+
+M src/plugins/fts/fts-parser-html.c
+
+2011-08-09 13:42:25 +0300 Timo Sirainen <tss@iki.fi> (4029539739)
+
+ decode2text: Ignore any errors from pdftotext
+
+
+M src/plugins/fts/decode2text.sh
+
+2011-08-09 12:48:15 +0300 Timo Sirainen <tss@iki.fi> (1bed3cc1dc)
+
+ Compile fix for CentOS 4.9 (and maybe others).
+
+
+M src/lib-storage/index/index-mail.c
+
+2011-08-07 22:28:19 +0300 Timo Sirainen <tss@iki.fi> (5dbce18878)
+
+ doveadm-server: More fixes
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail.c
+
+2011-08-07 22:11:20 +0300 Timo Sirainen <tss@iki.fi> (10b8040903)
+
+ doveadm-server: Many fixes to make it actually work properly.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/server-connection.c
+
+2011-08-07 22:10:23 +0300 Timo Sirainen <tss@iki.fi> (0950aed81d)
+
+ doveadm index -q: Delay connecting to indexer.
+
+
+M src/doveadm/doveadm-mail-index.c
+
+2011-08-07 20:47:59 +0300 Timo Sirainen <tss@iki.fi> (5230375627)
+
+ doveadm server: Fixed handling command parameters
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2011-08-05 12:07:48 +0300 Timo Sirainen <tss@iki.fi> (a9f9c80e62)
+
+ fts: decode2text.sh now ignores any errors from doc/xls/ppt decoders.
+
+
+M src/plugins/fts/decode2text.sh
+
+2011-08-04 20:21:38 +0300 Timo Sirainen <tss@iki.fi> (d5d2eb556d)
+
+ ipc client: Fixed crashing on ipc server disconnection.
+
+
+M src/lib-master/ipc-server.c
+
+2011-08-04 19:57:35 +0300 Timo Sirainen <tss@iki.fi> (82c7443aed)
+
+ 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.
+
+
+M src/lib-index/mail-index.c
+
+2011-08-04 19:57:02 +0300 Timo Sirainen <tss@iki.fi> (f5c53272ac)
+
+ 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.
+
+
+M src/lib-index/mail-index.c
+
+2011-08-04 19:29:25 +0300 Timo Sirainen <tss@iki.fi> (1925b60ed6)
+
+ pop3: Fixed RETR/TOP commands.
+
+
+M src/pop3/pop3-commands.c
+
+2011-08-04 16:45:02 +0300 Timo Sirainen <tss@iki.fi> (402406d664)
+
+ fts-lucene: Several fixes to avoid opening index during expunging.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2011-08-04 16:44:33 +0300 Timo Sirainen <tss@iki.fi> (a0475b241a)
+
+ fts: Tell backends if we're currently in the code because we're syncing.
+ That basically means it's either indexer process or doveadm index.
+
+
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-storage.c
+
+2011-08-04 16:43:51 +0300 Timo Sirainen <tss@iki.fi> (083c67ac28)
+
+ fts: Maildir workaround to avoid assert-crash during indexing. This should
+ be fixed by simply not having Maildir do a full sync when it's trying to
+ find some file.
+
+
+M src/plugins/fts/fts-storage.c
+
+2011-08-04 16:42:35 +0300 Timo Sirainen <tss@iki.fi> (e2462f35d7)
+
+ fts: Don't fail index build if trying to index a message that is already
+ expunged.
+
+
+M src/plugins/fts/fts-build.c
+
+2011-08-04 16:16:20 +0300 Timo Sirainen <tss@iki.fi> (61af1856d2)
+
+ fts-lucene: Don't crash when trying to search an unsearchable word.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-04 15:49:49 +0300 Timo Sirainen <tss@iki.fi> (a6de00f8d3)
+
+ fts-lucene: Fixed checking if we need to track expunges or optimize.
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-04 15:44:33 +0300 Timo Sirainen <tss@iki.fi> (97c4e232e3)
+
+ fts-lucene: Fixed handling expunges
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+
+2011-08-04 15:40:30 +0300 Timo Sirainen <tss@iki.fi> (cea6742c34)
+
+ fts: Clear updating flag on update deinit.
+
+
+M src/plugins/fts/fts-api.c
+
+2011-08-04 15:08:44 +0300 Timo Sirainen <tss@iki.fi> (9d2ef4253d)
+
+ fts: Define pkglibexecdir explicitly in Makefile.am, since older automakes
+ don't.
+
+
+M src/plugins/fts/Makefile.am
+
+2011-08-04 14:49:36 +0300 Timo Sirainen <tss@iki.fi> (57b19a7fa4)
+
+ fts: Added a bit more error checking to decode2text.sh
+
+
+M src/plugins/fts/decode2text.sh
+
+2011-08-04 14:13:39 +0300 Timo Sirainen <tss@iki.fi> (ceae1acc3e)
+
+ fts: force-resync now calls optimize on the backend. This mainly works with
+ Lucene backend to recheck what messages actually exist.
+
+
+M src/plugins/fts/fts-storage.c
+
+2011-08-04 14:12:56 +0300 Timo Sirainen <tss@iki.fi> (eead39e657)
+
+ fts: NULs weren't still handled correctly in message headers.
+
+
+M src/plugins/fts/fts-build.c
+
+2011-08-04 14:12:30 +0300 Timo Sirainen <tss@iki.fi> (8a7c3622d5)
+
+ fts-lucene: Don't crash if optimize can't open the index.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-04 14:12:11 +0300 Timo Sirainen <tss@iki.fi> (30003461d9)
+
+ fts-lucene: If optimize doesn't find an index, set all UIDs as missing.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-04 13:48:14 +0300 Timo Sirainen <tss@iki.fi> (f94e1eb89b)
+
+ fts-lucene: Delete stale write locks.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-08-04 13:42:49 +0300 Timo Sirainen <tss@iki.fi> (2f971d239f)
+
+ fts: Install decode2text to libexecdir.
+
+
+M src/plugins/fts/Makefile.am
+M src/plugins/fts/decode2text.sh
+
+2011-08-04 13:40:43 +0300 Timo Sirainen <tss@iki.fi> (c4ba1974c6)
+
+ fts: decode2text added support for openxml and opendocument formats
+
+
+M src/plugins/fts/decode2text.sh
+
+2011-08-04 13:38:51 +0300 Timo Sirainen <tss@iki.fi> (04f80fbc38)
+
+ fts: Added xml2text binary
+
+
+M .hgignore
+M src/plugins/fts/Makefile.am
+A src/plugins/fts/xml2text.c
+
+2011-08-04 13:05:26 +0300 Timo Sirainen <tss@iki.fi> (96f62326b8)
+
+ fts: HTML parser now makes sure space is added for each <tag> This could be
+ smarter though, like not doing this for <span>, but it gets a bit complex..
+
+
+M src/plugins/fts/fts-parser-html.c
+
+2011-08-03 20:44:43 +0300 Timo Sirainen <tss@iki.fi> (e7bdea8f7a)
+
+ lib-storage: Don't crash listing subscription entry of "ns prefix" without
+ separator.
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2011-08-03 20:29:53 +0300 Timo Sirainen <tss@iki.fi> (06972d9902)
+
+ doveadm server: Non-proxying mode may not have worked.
+
+
+M src/doveadm/doveadm-mail-server.c
+
+2011-08-03 20:29:16 +0300 Timo Sirainen <tss@iki.fi> (b38d0e738e)
+
+ eacces_error_get*(): Handle non-int struct stat.st_mode properly.
+
+
+M src/lib/eacces-error.c
+
+2011-08-03 19:06:37 +0300 Timo Sirainen <tss@iki.fi> (4dd0cbd517)
+
+ Merged changes from v2.0 tree.
+
+
+2011-08-03 18:59:07 +0300 Timo Sirainen <tss@iki.fi> (4d27f95c76)
+
+ fts: Don't pass NUL bytes to FTS backend. It can confuse them.
+
+
+M src/plugins/fts/fts-build.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-parser.h
+
+2011-08-03 18:58:45 +0300 Timo Sirainen <tss@iki.fi> (a483163ec8)
+
+ fts: Fixed a crash in HTML parser.
+
+
+M src/plugins/fts/fts-parser-html.c
+
+2011-08-03 18:54:19 +0300 Timo Sirainen <tss@iki.fi> (a34f47ba8d)
+
+ fts: Crashfix.
+
+
+M src/plugins/fts/fts-parser-script.c
+
+2011-08-02 13:29:47 +0300 Timo Sirainen <tss@iki.fi> (fe215bf7c3)
+
+ i_getgr*(): OpenBSD workaround is now only used for <5.0. Patch by Brad.
+
+
+M src/lib/ipwd.c
+
+2011-07-29 14:30:32 +0300 Timo Sirainen <tss@iki.fi> (9ba91492d2)
+
+ lib-storage: mailbox_list_mailbox() now returns INBOX as nonexistent if it
+ physically doesn't exist. This is important for
+ MAILBOX_LIST_ITER_NO_AUTO_BOXES to work correctly with Maildir++ layout
+ INBOX.
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-07-29 14:29:01 +0300 Timo Sirainen <tss@iki.fi> (cff1f18220)
+
+ lib-storage: Added auto_boxes parameter to mailbox_exists().
+
+
+M src/imap/cmd-subscribe.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/test-mailbox.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/virtual/virtual-storage.c
+
+2011-07-29 14:21:13 +0300 Timo Sirainen <tss@iki.fi> (da700813da)
+
+ lib-storage: Unit test fix
+
+
+M src/lib-storage/test-mail.c
+
+2011-07-29 13:41:04 +0300 Timo Sirainen <tss@iki.fi> (647e66ca07)
+
+ dsync: Crashfix
+
+
+M src/dsync/dsync-worker-local.c
+
+2011-07-29 12:25:52 +0300 Timo Sirainen <tss@iki.fi> (253201e2b4)
+
+ 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.
+
+
+M src/lib-storage/list/mailbox-list-fs.c
+
+2011-07-29 00:04:20 +0300 Timo Sirainen <tss@iki.fi> (ea48f355d2)
+
+ lib-storage: Removed unnecessary NULL checks.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-namespace.c
+
+2011-07-28 17:46:37 +0300 Timo Sirainen <tss@iki.fi> (0bcc7b7b45)
+
+ lib-storage: Fixed crashing on "NOT <nonexistent sequence>" search.
+
+
+M src/lib-storage/index/index-search.c
+
+2011-07-28 17:23:01 +0300 Timo Sirainen <tss@iki.fi> (ecc5a1a440)
+
+ fts: Added attachment decoding via an external script.
+
+
+M src/plugins/fts/Makefile.am
+A src/plugins/fts/decode2text.sh
+M src/plugins/fts/fts-build.c
+M src/plugins/fts/fts-parser-html.c
+A src/plugins/fts/fts-parser-script.c
+M src/plugins/fts/fts-parser.c
+M src/plugins/fts/fts-parser.h
+
+2011-07-28 17:01:26 +0300 Timo Sirainen <tss@iki.fi> (7e50cca6b1)
+
+ lib-mail: Added message_decoder_set_return_binary()
+
+
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-decoder.h
+
+2011-07-28 17:01:09 +0300 Timo Sirainen <tss@iki.fi> (7631f16156)
+
+ lib-storage: mail->saving was set too late, which could have caused crashes.
+
+
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail.c
+M src/plugins/virtual/virtual-mail.c
+
+2011-07-28 17:00:29 +0300 Timo Sirainen <tss@iki.fi> (e638c0d059)
+
+ lmtp: Crashfix
+
+
+M src/lmtp/client.c
+
+2011-07-28 16:59:56 +0300 Timo Sirainen <tss@iki.fi> (2d3731908f)
+
+ "script" service API changed to provide more functionality.
+
+
+M src/plugins/quota/quota.c
+M src/util/script.c
+
+2011-07-28 12:23:06 +0300 Timo Sirainen <tss@iki.fi> (ec089b730e)
+
+ mdbox: Crashfix
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2011-07-28 12:08:10 +0300 Timo Sirainen <tss@iki.fi> (d4950399fe)
+
+ imap: FETCH BODY[HEADER.FIELDS (..)] may have tried to fetch garbage field
+ names. Such situations were quite likely to cause a crash though.
+
+
+M src/imap/imap-fetch-body.c
+
+2011-07-27 19:46:01 +0300 Timo Sirainen <tss@iki.fi> (d12d1accd6)
+
+ imap-quota: Don't crash if invalid mailbox name is given to GETQUOTAROOT.
+
+
+M src/plugins/imap-quota/imap-quota-plugin.c
+
+2011-07-27 17:58:27 +0300 Timo Sirainen <tss@iki.fi> (772120713c)
+
+ fts: Strip text/html mails to plaintext before sending them to FTS backend.
+
+
+M src/plugins/fts/Makefile.am
+M src/plugins/fts/fts-build-private.h
+M src/plugins/fts/fts-build.c
+A src/plugins/fts/fts-parser-html.c
+A src/plugins/fts/fts-parser.c
+A src/plugins/fts/fts-parser.h
+A src/plugins/fts/html-entities.h
+
+2011-07-27 14:53:52 +0300 Timo Sirainen <tss@iki.fi> (03176d7c7d)
+
+ solr-schema: Version number is Solr's schema version, not Dovecot version.
+
+
+M doc/solr-schema.xml
+
+2011-07-26 15:09:02 +0300 Timo Sirainen <tss@iki.fi> (da2f9bc5d4)
+
+ IMAP: Implemented the rest of FUZZY extension.
+
+
+M configure.in
+M src/imap/imap-search.c
+M src/imap/imap-search.h
+
+2011-07-26 15:04:57 +0300 Timo Sirainen <tss@iki.fi> (65c3bc9662)
+
+ lib-storage: Sorting by relevancy returned messages in reverse order.
+
+
+M src/lib-storage/index/index-sort.c
+
+2011-07-26 14:11:23 +0300 Timo Sirainen <tss@iki.fi> (fd14806f87)
+
+ s/search score/search relevancy/
+
+
+M src/imap/cmd-sort.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/mail-storage.h
+M src/plugins/fts/fts-storage.c
+
+2011-07-26 14:10:47 +0300 Timo Sirainen <tss@iki.fi> (0ae79eb8ff)
+
+ fts-lucene: Added fuzzy search support.
+
+
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-07-26 14:10:41 +0300 Timo Sirainen <tss@iki.fi> (154224a06a)
+
+ fts-solr: Added fuzzy search support.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2011-07-26 14:09:49 +0300 Timo Sirainen <tss@iki.fi> (560e65f6cb)
+
+ lib-storage: Added FUZZY search key that adds fuzzy=TRUE to its child args.
+
+
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search.h
+
+2011-07-26 13:55:22 +0300 Timo Sirainen <tss@iki.fi> (13d58f3be3)
+
+ lib-storage: Search query building no longer converts strings to decomposed
+ titlecase.
+
+
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-build.h
+M src/lib-storage/mail-search-register-imap.c
+
+2011-07-26 13:54:23 +0300 Timo Sirainen <tss@iki.fi> (5601c23c0d)
+
+ fts-squat: Convert search key to decomposed titlecase instead of assuming it
+ is.
+
+
+M src/plugins/fts-squat/fts-backend-squat.c
+
+2011-07-26 13:52:20 +0300 Timo Sirainen <tss@iki.fi> (556f584a6a)
+
+ lib-mail: message_search_init() now converts search key to decomposed
+ titlecase.
+
+
+M src/lib-mail/message-search.c
+M src/lib-mail/message-search.h
+
+2011-07-26 13:38:35 +0300 Timo Sirainen <tss@iki.fi> (0fbea4dd37)
+
+ fts: Convert input text to decomposed titlecase only for Squat backend.
+ Lucene and Solr can handle case-insensitivity internally.
+
+
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-build-private.h
+M src/plugins/fts/fts-build.c
+
+2011-07-22 13:52:27 +0300 Timo Sirainen <tss@iki.fi> (4fd7afd15c)
+
+ doveadm dump: Added fts support.
+
+
+M src/doveadm/doveadm-dump-index.c
+
+2011-07-22 13:52:16 +0300 Timo Sirainen <tss@iki.fi> (fb6e98ba3f)
+
+ fts: Make sure build_more() is called at least once, even when message is 0
+ bytes.
+
+
+M src/plugins/fts/fts-build.c
+
+2011-07-22 13:51:57 +0300 Timo Sirainen <tss@iki.fi> (403762eeae)
+
+ fts: Make sure fts_index_get_last_uid() gets the latest value from index.
+
+
+M src/plugins/fts/fts-api.c
+
+2011-07-22 13:21:59 +0300 Timo Sirainen <tss@iki.fi> (8d587838c4)
+
+ fts: Redesigned/enhanced FTS API and how virtual plugin works with it. The
+ changes include:
+
+ - Only indexer process and "doveadm index" do FTS indexing now. Other
+ processes connect to the indexer process via UNIX socket and request
+ indexing a specific mailbox.
+
+ - FTS backends can now index/search any search key. Current backends
+ implement indexing for some specific header fields (Subject, From, To, Cc,
+ Bcc), but it would also be possible to add indexing for e.g. message size or
+ date.
+
+ - CLucene support is fixed and fully functional.
+
+ - Solr is split to "solr" and "solr_old" backends. The new "solr" backend
+ supports the new header fields. It also uses mailbox GUIDs as mailbox
+ identifiers, so that renaming a mailbox doesn't require reindexing. The
+ "solr_old" uses the old Solr schema and doesn't support any new features.
+
+M configure.in
+M doc/solr-schema.xml
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+M src/plugins/fts-lucene/lucene-wrapper.h
+M src/plugins/fts-solr/Makefile.am
+A src/plugins/fts-solr/fts-backend-solr-old.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/fts-solr-plugin.h
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-solr/solr-connection.h
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-trie.h
+M src/plugins/fts/Makefile.am
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-api.h
+A src/plugins/fts/fts-build-indexer.c
+A src/plugins/fts/fts-build-mailbox.c
+A src/plugins/fts/fts-build-private.h
+A src/plugins/fts/fts-build-virtual.c
+A src/plugins/fts/fts-build.c
+A src/plugins/fts/fts-build.h
+D src/plugins/fts/fts-mailbox.c
+D src/plugins/fts/fts-mailbox.h
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-plugin.h
+A src/plugins/fts/fts-search-serialize.c
+A src/plugins/fts/fts-search-serialize.h
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-storage.h
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+
+2011-07-22 13:13:29 +0300 Timo Sirainen <tss@iki.fi> (88311240b8)
+
+ Added uni_utf8_strlen().
+
+
+M src/lib/unichar.c
+M src/lib/unichar.h
+
+2011-07-22 13:11:26 +0300 Timo Sirainen <tss@iki.fi> (7e468fac2e)
+
+ lib-storage: mailbox_exists() now returns NOSELECT for invalid mailbox names
+ instead of error.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-07-22 13:10:41 +0300 Timo Sirainen <tss@iki.fi> (cef9562bdc)
+
+ lib-storage: Error handling fix for FS layout.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2011-07-22 13:10:09 +0300 Timo Sirainen <tss@iki.fi> (c10706d231)
+
+ lib-mail: Added message_header_is_address()
+
+
+M src/lib-mail/message-address.c
+M src/lib-mail/message-address.h
+
+2011-07-22 13:09:40 +0300 Timo Sirainen <tss@iki.fi> (6be93b191b)
+
+ indexer: Fixed loading some plugins when using configure
+ --without-shared-libs.
+
+
+M src/indexer/Makefile.am
+
+2011-07-22 13:09:14 +0300 Timo Sirainen <tss@iki.fi> (d616fa4dc2)
+
+ indexer: Send OK reply to client with the given tag.
+
+
+M src/indexer/indexer-client.c
+
+2011-07-22 13:08:39 +0300 Timo Sirainen <tss@iki.fi> (71dc24a587)
+
+ indexer: When worker disconnects, forget which user it was attached to. This
+ fixes an assert crash.
+
+
+M src/indexer/worker-connection.c
+
+2011-07-12 09:59:34 +0300 Timo Sirainen <tss@iki.fi> (dbffb9e8b8)
+
+ lib-lda: Do INBOX GUID deduplication based on mailbox GUID, not username.
+ This should be a bit more reliable.
+
+
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+
+2011-07-12 09:58:29 +0300 Timo Sirainen <tss@iki.fi> (43978457ab)
+
+ lib-mail: Make a mail_guid_128_t typedef.
+
+
+M src/lib-mail/mail-types.h
+
+2011-07-02 07:08:26 +0300 Timo Sirainen <tss@iki.fi> (013a0e0330)
+
+ lib-storage: Renamed mail_search_arg.not to match_not. C++ compilers don't
+ like the "not".
+
+
+M src/doveadm/doveadm-mail-list-iter.c
+M src/imap/imap-search-args.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+M src/plugins/fts/fts-search.c
+
+2011-07-02 05:40:54 +0300 Timo Sirainen <tss@iki.fi> (89a2b8909d)
+
+ lib-storage: Made mailbox_list_mkdir_root() public
+
+
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.h
+
+2011-07-02 05:38:45 +0300 Timo Sirainen <tss@iki.fi> (be110f0a38)
+
+ lib-storage: mkdir APIs changed.
+
+
+M src/lib-storage/index/dbox-common/dbox-sync-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/plugins/acl/acl-backend-vfile-acllist.c
+
+2011-06-30 08:54:04 +0300 Timo Sirainen <tss@iki.fi> (6b636dcfc9)
+
+ Fixed compiling ldap/sql/gssapi plugins. I couldn't figure out any way to
+ disable NOPLUGIN_FLAGS only for those plugins, so those flags are now always
+ disabled for lib-sql library and auth binaries.
+
+
+M src/auth/Makefile.am
+M src/lib-sql/Makefile.am
+
+2011-06-30 08:35:43 +0300 Timo Sirainen <tss@iki.fi> (461c2a454b)
+
+ lmtp: Error message update
+
+
+M src/lmtp/client.c
+
+2011-06-30 08:34:28 +0300 Timo Sirainen <tss@iki.fi> (41dbc52ce7)
+
+ lmtp client: Do corking when sending message data.
+
+
+M src/lib-lda/lmtp-client.c
+
+2011-06-30 08:27:32 +0300 Timo Sirainen <tss@iki.fi> (ed45903d7a)
+
+ lmtp: Log the current state in disconnect message.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2011-06-30 08:00:07 +0300 Timo Sirainen <tss@iki.fi> (e30b9e07f9)
+
+ lib-storage: Fixed /chroot/./home style chrooting from userdb home.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-06-30 07:26:01 +0300 Timo Sirainen <tss@iki.fi> (90a2e2616a)
+
+ liblib: Don't try to send a log prefix to log process if there is none.
+
+
+M src/lib/failures.c
+
+2011-06-29 22:03:24 +0300 Timo Sirainen <tss@iki.fi> (4bbaac4215)
+
+ imapc: Fixed previous UID EXPUNGE fix.
+
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-06-29 12:34:53 +0300 Timo Sirainen <tss@iki.fi> (7d6f8d2584)
+
+ imapc: Fixed using UID EXPUNGE for multiple messages
+
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-06-28 03:59:26 +0300 Timo Sirainen <tss@iki.fi> (db4cad7df8)
+
+ doveadm: Fixed displaying output when using -A or -u wildcards.
+
+
+M src/doveadm/doveadm-mail-server.c
+
+2011-06-28 03:31:22 +0300 Timo Sirainen <tss@iki.fi> (674b589b87)
+
+ doveadm acl: Updated usage string.
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2011-06-28 02:49:46 +0300 Timo Sirainen <tss@iki.fi> (7af5f78e9f)
+
+ lib-storage: Changed userdb +key=value to key+=value
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-06-28 02:41:06 +0300 Timo Sirainen <tss@iki.fi> (f21c135cfa)
+
+ 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.
+
+
+M src/lib-lda/smtp-client.c
+
+2011-06-28 02:31:12 +0300 Timo Sirainen <tss@iki.fi> (c84c3db871)
+
+ imap: Don't crash if mailbox UIDVALIDITY is zero when SELECTing a mailbox.
+
+
+M src/imap/cmd-select.c
+
+2011-06-28 02:23:10 +0300 Timo Sirainen <tss@iki.fi> (4669fc293c)
+
+ mdbox: Minor code cleanup.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+
+2011-06-28 02:22:58 +0300 Timo Sirainen <tss@iki.fi> (e790c9b1fc)
+
+ mdbox: Log an error if uidvalidity=0 unexpectedly.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+
+2011-06-27 23:48:06 +0300 Timo Sirainen <tss@iki.fi> (de11cf486e)
+
+ fts: Replaced unnecessary lock()/unlock() from API with refresh()
+
+
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/fts-solr-plugin.h
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-trie.h
+M src/plugins/fts/fts-api-private.h
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-api.h
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.h
+
+2011-06-27 23:40:13 +0300 Timo Sirainen <tss@iki.fi> (991c17647f)
+
+ fts: Removed the separation of "substring" and "fast" fts backends and
+ search keys. No one wants to use two separate backends and it just makes the
+ code more difficult.
+
+
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/fts/fts-storage.h
+
+2011-06-27 23:03:00 +0300 Timo Sirainen <tss@iki.fi> (6c00502d4e)
+
+ doveadm index: Added -q option to do indexing via the new indexer service.
+
+
+M src/doveadm/doveadm-mail-index.c
+
+2011-06-27 23:02:40 +0300 Timo Sirainen <tss@iki.fi> (d9e404180f)
+
+ Added "indexer" service, which uses worker processes to perform queued
+ mailbox indexing. Only a single worker process will index the same user at
+ the same time. This avoids lock waits, especially when doing full text
+ search indexing with backends that require locking.
+
+
+M .hgignore
+M configure.in
+M src/Makefile.am
+A src/indexer/Makefile.am
+A src/indexer/indexer-client.c
+A src/indexer/indexer-client.h
+A src/indexer/indexer-queue.c
+A src/indexer/indexer-queue.h
+A src/indexer/indexer-settings.c
+A src/indexer/indexer-worker-settings.c
+A src/indexer/indexer-worker.c
+A src/indexer/indexer.c
+A src/indexer/indexer.h
+A src/indexer/master-connection.c
+A src/indexer/master-connection.h
+A src/indexer/worker-connection.c
+A src/indexer/worker-connection.h
+A src/indexer/worker-pool.c
+A src/indexer/worker-pool.h
+
+2011-06-27 22:58:49 +0300 Timo Sirainen <tss@iki.fi> (8d85926bc5)
+
+ liblib: Added [tp]_strsplit_tabescaped()
+
+
+M src/lib/strescape.c
+M src/lib/strescape.h
+
+2011-06-27 22:58:31 +0300 Timo Sirainen <tss@iki.fi> (ccf50662cc)
+
+ lib-master: Added master_service_set_idle_die_callback()
+
+
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2011-06-27 22:57:56 +0300 Timo Sirainen <tss@iki.fi> (1ffb2afe6d)
+
+ master process now tells its children their service's process_limit.
+
+
+M src/lib-master/master-interface.h
+M src/lib-master/master-service-private.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+M src/master/service-process.c
+
+2011-06-26 19:34:00 +0300 Timo Sirainen <tss@iki.fi> (437a8b0fe2)
+
+ Merged changes from v2.0 tree.
+
+
+2011-06-26 19:11:52 +0300 Timo Sirainen <tss@iki.fi> (45d178e578)
+
+ doveadm: Minor code cleanup
+
+
+M src/doveadm/doveadm-mail-index.c
+
+2011-06-23 20:00:16 +0300 Timo Sirainen <tss@iki.fi> (bf37278dc7)
+
+ lib-storage: Error message fix.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-06-23 20:00:04 +0300 Timo Sirainen <tss@iki.fi> (90ed6f2bf7)
+
+ lib-storage: Treat "INBOX" in INBOX/children also case-insensitively.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-06-22 20:26:24 +0300 Timo Sirainen <tss@iki.fi> (1f5597beba)
+
+ lib-storage: Fixed +key=value support to actually work.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-06-22 20:16:16 +0300 Timo Sirainen <tss@iki.fi> (0854144137)
+
+ lib-storage: MAILBOX_SYNC_FLAG_PRECACHE did nothing when mail_debug=yes
+
+
+M src/lib-storage/index/index-sync.c
+
+2011-06-16 16:37:42 +0300 Timo Sirainen <tss@iki.fi> (dea01176c2)
+
+ ssl-params: Make sure we don't leak a timeout.
+
+
+M src/ssl-params/main.c
+
+2011-06-14 16:59:57 +0300 Timo Sirainen <tss@iki.fi> (64b61cd24d)
+
+ 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.
+
+
+M src/doveadm/doveadm-mail-index.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+M src/plugins/fts/fts-storage.c
+
+2011-06-14 16:28:55 +0300 Timo Sirainen <tss@iki.fi> (737561538a)
+
+ Merged changes from v2.0 tree.
+
+
+2011-06-13 17:17:59 +0300 Timo Sirainen <tss@iki.fi> (e5b06a21b5)
+
+ lmtp: Fixed parsing quoted strings with spaces as local-part for MAIL FROM
+ and RCPT TO.
+
+
+M src/lmtp/commands.c
+
+2011-06-10 19:11:00 +0300 Timo Sirainen <tss@iki.fi> (d998335307)
+
+ lib-storage: When "Recent flags state corrupted" happens, avoid
+ assert-crashing afterwards.
+
+
+M src/lib-storage/index/index-sync.c
+
+2011-06-08 16:05:32 +0300 Timo Sirainen <tss@iki.fi> (47569a4b2b)
+
+ lib-storage: Allow appending to existing settings via userdb extra fields.
+ "foo=bar" replaces the setting, while "+foo=bar" appends to the setting.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-06-08 16:04:35 +0300 Timo Sirainen <tss@iki.fi> (19ac3ae01f)
+
+ 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.
+
+
+M src/auth/passdb-vpopmail.c
+
+2011-06-07 16:17:25 +0300 Timo Sirainen <tss@iki.fi> (062ea54b77)
+
+ auth_username_format default changed to %Lu
+
+
+M NEWS
+M src/auth/auth-settings.c
+
+2011-06-07 16:12:13 +0300 Timo Sirainen <tss@iki.fi> (b00c511e46)
+
+ lib-storage: Fixed mail_chroot to work when process was already chrooted
+ there.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-06-07 15:18:19 +0300 Timo Sirainen <tss@iki.fi> (8967669240)
+
+ ldap: Fixed random assert-crashing with with sasl_bind=yes.
+
+
+M src/auth/db-ldap.c
+
+2011-06-06 18:26:45 +0300 Timo Sirainen <tss@iki.fi> (5512d420d8)
+
+ Use SA_RESTART flag for signals wherever possible. Only SIGTERM (and SIGINT
+ for standalone programs) shouldn't use it.
+
+
+M src/auth/auth-cache.c
+M src/auth/mech-winbind.c
+M src/doveadm/doveadm-mail.c
+M src/lib-master/master-service.c
+M src/lib/child-wait.c
+M src/log/main.c
+M src/master/main.c
+M src/ssl-params/main.c
+M src/util/maildirlock.c
+
+2011-06-06 18:25:52 +0300 Timo Sirainen <tss@iki.fi> (72d404ae31)
+
+ 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.
+
+
+M src/lib/lib-signals.c
+M src/lib/lib-signals.h
+
+2011-06-06 18:06:22 +0300 Timo Sirainen <tss@iki.fi> (b65c4243b2)
+
+ lib-signals: Removed unnecessary code.
+
+
+M src/lib/lib-signals.c
+
+2011-06-03 18:54:27 +0300 Timo Sirainen <tss@iki.fi> (49d3d898ea)
+
+ script-login: When not using "-d" parameter, don't do unnecessary config
+ lookup.
+
+
+M src/util/script-login.c
+
+2011-06-03 18:11:00 +0300 Timo Sirainen <tss@iki.fi> (376ed81e55)
+
+ doveadm acl debug: Show also path to mailbox if it doens't exist.
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2011-06-03 17:37:25 +0300 Timo Sirainen <tss@iki.fi> (c4fb8b3eaa)
+
+ master: Fail at startup if default_login_user or default_internal_user
+ doesn't exist.
+
+
+M src/config/settings-get.pl
+M src/master/master-settings.c
+
+2011-06-03 17:22:09 +0300 Timo Sirainen <tss@iki.fi> (a497e8b94b)
+
+ eacces_get_error(): Give even better error message for directory permission
+ errors.
+
+
+M src/lib/eacces-error.c
+
+2011-06-03 17:13:59 +0300 Timo Sirainen <tss@iki.fi> (80b837ed54)
+
+ eaccess_get_error(): Show also directory mode.
+
+
+M src/lib/eacces-error.c
+
+2011-06-03 17:07:37 +0300 Timo Sirainen <tss@iki.fi> (37c4359391)
+
+ eaccess_get_error(): Fixes to reporting dir permissions. Also fixed an
+ infinite loop if stat("/") fails.
+
+
+M src/lib/eacces-error.c
+
+2011-06-03 16:40:03 +0300 Timo Sirainen <tss@iki.fi> (24e8feedfc)
+
+ IMAP: Treat also "inbox/" case-insensitively as invalid mailbox name.
+
+
+M src/imap/imap-commands-util.c
+
+2011-06-03 16:33:43 +0300 Timo Sirainen <tss@iki.fi> (a4e30ea56d)
+
+ IMAP: Treat "namespace prefix/" as invalid mailbox name.
+
+
+M src/imap/imap-commands-util.c
+
+2011-06-03 16:27:41 +0300 Timo Sirainen <tss@iki.fi> (94d509ea17)
+
+ lib-storage: Treat "namespace prefix/" as invalid mailbox name.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-06-03 15:49:50 +0300 Timo Sirainen <tss@iki.fi> (dea871a9bb)
+
+ .hgignore updated
+
+
+M .hgignore
+
+2011-06-03 15:49:30 +0300 Timo Sirainen <tss@iki.fi> (373734a6c7)
+
+ Compiler warning fix.
+
+
+M src/director/director-connection.c
+
+2011-06-03 15:27:21 +0300 Timo Sirainen <tss@iki.fi> (66fff40a31)
+
+ doveadm -A: Crashfix for doveadm server when using commands that print
+ nothing.
+
+
+M src/doveadm/doveadm-print.c
+
+2011-05-31 15:38:03 +0300 Timo Sirainen <tss@iki.fi> (9b6eb5a72f)
+
+ fts-lucene: Fixes to work with CLucene v2.3.3.4 and new FTS API. It's still
+ not recommended to actually use this.
+
+
+M src/plugins/fts-lucene/Makefile.am
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/lucene-wrapper.cc
+
+2011-05-31 15:36:22 +0300 Timo Sirainen <tss@iki.fi> (c6ead31ba0)
+
+ liblib: Added uni_utf8_to_ucs4_n().
+
+
+M src/lib/unichar.c
+M src/lib/unichar.h
+
+2011-05-24 20:06:24 +0300 Timo Sirainen <tss@iki.fi> (ac1118842c)
+
+ doveadm proxy: s/kill/kick/ and related internal code changes. Mainly for
+ consistency, because "doveadm kick" already existed.
+
+
+M src/director/director.c
+M src/doveadm/doveadm-proxy.c
+M src/login-common/login-proxy.c
+
+2011-05-23 16:26:21 +0300 Timo Sirainen <tss@iki.fi> (90da9c1767)
+
+ configure: Added missing ipc
+
+
+M configure.in
+
+2011-05-23 16:12:44 +0300 Timo Sirainen <tss@iki.fi> (b59960aed0)
+
+ lib-storage: Export a list of permanent flags via mailbox_status(). Removed
+ mailbox_allow_new_keywords(), since it's now included in the status
+ structure. ACL plugin may limit what flags are permanent according to ACLs.
+
+
+M src/imap/imap-commands-util.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/test-mailbox.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/virtual/virtual-storage.c
+
+2011-05-23 15:47:27 +0300 Timo Sirainen <tss@iki.fi> (d0b929d5f8)
+
+ doveadm: Compile fix for recent auth change.
+
+
+M src/doveadm/doveadm-pw.c
+
+2011-05-23 15:45:44 +0300 Timo Sirainen <tss@iki.fi> (026be738ed)
+
+ acl: ACLs apply to private flags as well. Fixed returning READ-ONLY
+ resp-code.
+
+
+M src/plugins/acl/acl-mailbox.c
+
+2011-05-23 15:38:16 +0300 Timo Sirainen <tss@iki.fi> (06d948c4ad)
+
+ auth: Don't log warnings/errors when guessing a password's scheme.
+
+
+M src/auth/password-scheme-otp.c
+M src/auth/password-scheme.c
+M src/auth/password-scheme.h
+
+2011-05-23 15:37:43 +0300 Timo Sirainen <tss@iki.fi> (31e557dc28)
+
+ auth: Give password scheme suggestions also when passdb data is invalid for
+ scheme.
+
+
+M src/auth/auth-request.c
+
+2011-05-23 15:05:13 +0300 Timo Sirainen <tss@iki.fi> (5411e6f71a)
+
+ director: Changed the "user killed" delay from 12 secs to 2 secs. It was 12
+ secs only for testing.
+
+
+M src/director/director.c
+
+2011-05-23 15:04:36 +0300 Timo Sirainen <tss@iki.fi> (eef20a55e1)
+
+ ipc: Fixes when sending commands to an empty group.
+
+
+M src/ipc/client.c
+M src/ipc/ipc-group.c
+M src/ipc/ipc-group.h
+
+2011-05-23 14:54:02 +0300 Timo Sirainen <tss@iki.fi> (15ab2452b0)
+
+ director: Added support for moving user to another server with "doveadm
+ director move".
+
+
+M src/director/director-connection.c
+M src/director/director-request.c
+M src/director/director-test.sh
+M src/director/director.c
+M src/director/director.h
+M src/director/doveadm-connection.c
+M src/director/user-directory.c
+M src/director/user-directory.h
+M src/doveadm/doveadm-director.c
+M src/login-common/login-proxy.c
+
+2011-05-20 21:46:32 +0300 Timo Sirainen <tss@iki.fi> (4bd6702bfc)
+
+ 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).
+
+
+M src/lib-mail/message-header-parser.c
+
+2011-05-20 19:54:57 +0300 Timo Sirainen <tss@iki.fi> (f56e93cc8b)
+
+ login proxy: Show in disconnect reason who did the disconnection and
+ possible error.
+
+
+M src/login-common/login-proxy.c
+
+2011-05-20 18:47:26 +0300 Timo Sirainen <tss@iki.fi> (02aedbc20a)
+
+ doveadm: Added "proxy list" and "proxy kill" commands.
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-proxy.c
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+
+2011-05-20 18:47:02 +0300 Timo Sirainen <tss@iki.fi> (833820f163)
+
+ login proxy: Connect to IPC server and implement KILL and LIST commands.
+
+
+M src/login-common/login-proxy.c
+
+2011-05-20 18:45:29 +0300 Timo Sirainen <tss@iki.fi> (83942ac160)
+
+ 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.
+
+
+M src/Makefile.am
+A src/ipc/Makefile.am
+A src/ipc/client.c
+A src/ipc/client.h
+A src/ipc/ipc-connection.c
+A src/ipc/ipc-connection.h
+A src/ipc/ipc-group.c
+A src/ipc/ipc-group.h
+A src/ipc/ipc-settings.c
+A src/ipc/main.c
+M src/lib-master/Makefile.am
+A src/lib-master/ipc-client.c
+A src/lib-master/ipc-client.h
+A src/lib-master/ipc-server.c
+A src/lib-master/ipc-server.h
+
+2011-05-20 14:21:51 +0300 Timo Sirainen <tss@iki.fi> (f07f57d644)
+
+ doveadm: Added doveadm_allowed_commands setting, which is used by doveadm
+ server.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+
+2011-05-20 14:20:46 +0300 Timo Sirainen <tss@iki.fi> (584c790694)
+
+ doveadm server: Fixed running multiple commands without crashing.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail-server.c
+
+2011-05-20 14:08:43 +0300 Timo Sirainen <tss@iki.fi> (72bc08129f)
+
+ doveadm: Added support for using local/remote {} settings.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2011-05-20 13:30:40 +0300 Timo Sirainen <tss@iki.fi> (d472804f39)
+
+ doveadm: Added simple PLAIN authentication for remote connections. Currently
+ clients are required to use "doveadm" as the username and the password must
+ match doveadm_password setting. When using doveadm as a client, it
+ automatically uses these settings when connecting to remote servers.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/server-connection.c
+
+2011-05-20 13:05:16 +0300 Timo Sirainen <tss@iki.fi> (67cc1d2d84)
+
+ doveadm: Added doveadm_proxy_port setting to make it work with proxying.
+
+
+M src/doveadm/Makefile.am
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/main.c
+
+2011-05-20 13:03:34 +0300 Timo Sirainen <tss@iki.fi> (66ed2ab523)
+
+ doveadm: Set service=doveadm for userdb lookup.
+
+
+M src/doveadm/doveadm-mail.c
+
+2011-05-16 17:34:42 +0300 Timo Sirainen <tss@iki.fi> (01758d8aaa)
+
+ pop3: If mail storage couldn't be initialized, send -ERR to client before
+ disconnecting.
+
+
+M src/pop3/main.c
+
+2011-05-16 17:29:40 +0300 Timo Sirainen <tss@iki.fi> (3cde0cc5f5)
+
+ pop3: Add [IN-USE] to all login -ERR replies.
+
+
+M src/pop3/pop3-client.c
+
+2011-05-16 17:06:11 +0300 Timo Sirainen <tss@iki.fi> (33efc9521e)
+
+ imap: Changed default imap_logout_format.
+
+
+M src/imap/imap-settings.c
+
+2011-05-16 17:02:56 +0300 Timo Sirainen <tss@iki.fi> (d916e67d36)
+
+ imap: If client disconnects in APPEND, log more about what it did before
+ that.
+
+
+M src/imap/cmd-append.c
+
+2011-05-16 15:53:13 +0300 Timo Sirainen <tss@iki.fi> (00b6a40fd9)
+
+ Compiler warning fix on 32bit systems. Patch by Mike Abbott / Apple
+
+
+M src/director/user-directory.c
+
+2011-05-11 21:46:56 +0000 Pascal Volk <user@localhost.localdomain.org> (a66800cdc2)
+
+ man: Corrected cmd name in doveadm-index.1.
+
+
+M doc/man/doveadm-index.1.in
+
+2011-05-11 23:32:26 +0300 Timo Sirainen <tss@iki.fi> (2d193dca7c)
+
+ lib-storage: Fixed checking if mail's virtual size is cached.
+
+
+M src/lib-storage/index/index-mail.c
+
+2011-05-11 23:24:41 +0300 Timo Sirainen <tss@iki.fi> (a543ac63ec)
+
+ imapc: Fix for 32bit systems.
+
+
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-05-11 22:34:27 +0300 Timo Sirainen <tss@iki.fi> (ec1fe002da)
+
+ doveadm: doveadm_mail_iter_init() API change to fix "doveadm fetch" crash.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-iter.h
+
+2011-05-11 22:33:55 +0300 Timo Sirainen <tss@iki.fi> (0027dcd5b8)
+
+ doveadm search crashfix
+
+
+M src/doveadm/doveadm-mail-search.c
+
+2011-05-11 22:29:48 +0300 Timo Sirainen <tss@iki.fi> (b3feec992a)
+
+ Compiler warning fixes
+
+
+M src/lib-storage/list/index-mailbox-list.c
+
+2011-05-11 18:49:44 +0300 Timo Sirainen <tss@iki.fi> (d9866dbc6d)
+
+ doveadm: Code correctness fix.
+
+
+M src/doveadm/doveadm-mail-index.c
+
+2011-05-11 17:59:59 +0300 Timo Sirainen <tss@iki.fi> (3acfd3a5ee)
+
+ Added signature for changeset aa8dfa085a99
+
+
+M .hgsigs
+
+2011-05-11 17:59:56 +0300 Timo Sirainen <tss@iki.fi> (2e6d6c01ba)
+
+ Added tag 2.0.13 for changeset aa8dfa085a99
+
+
+M .hgtags
+
+2011-05-11 17:59:56 +0300 Timo Sirainen <tss@iki.fi> (ba130dc5b3)
+
+ Released v2.0.13.
+
+
+M NEWS
+M configure.in
+
+2011-05-11 17:56:25 +0300 Timo Sirainen <tss@iki.fi> (ed1ad90a15)
+
+ man: Added doveadm index.
+
+
+M .hgignore
+M doc/man/Makefile.am
+A doc/man/doveadm-index.1.in
+M doc/man/doveadm.1.in
+
+2011-05-11 17:45:03 +0300 Timo Sirainen <tss@iki.fi> (bafecbae4e)
+
+ man: Added doveadm director dump.
+
+
+M doc/man/doveadm-director.1.in
+
+2011-05-11 17:00:08 +0300 Timo Sirainen <tss@iki.fi> (4f8cc3d726)
+
+ Increased highest signal number limit. HP-UX can use at least 44.
+
+
+M src/lib/lib-signals.c
+
+2011-05-11 16:58:07 +0300 Timo Sirainen <tss@iki.fi> (6a9ecc62c9)
+
+ Compile fix for HP-UX
+
+
+M src/lib/compat.h
+
+2011-05-11 16:28:32 +0300 Timo Sirainen <tss@iki.fi> (e923596730)
+
+ example-config: Updated auth_krb5_keytab comment.
+
+
+M doc/example-config/conf.d/10-auth.conf
+
+2011-05-11 16:20:15 +0300 Timo Sirainen <tss@iki.fi> (e4ff3c71af)
+
+ config: Updated obsolete protocol warning messages.
+
+
+M src/config/old-set-parser.c
+
+2011-05-11 15:57:47 +0300 Timo Sirainen <tss@iki.fi> (b75feeb580)
+
+ director: Avoid potential problems by making sure users list is always
+ sorted by timestamp.
+
+
+M src/director/user-directory.c
+
+2011-05-11 15:35:20 +0300 Timo Sirainen <tss@iki.fi> (317beb7d08)
+
+ man: Updated doveconf.
+
+
+M doc/man/doveconf.1.in
+
+2011-05-11 15:20:19 +0300 Timo Sirainen <tss@iki.fi> (ec02103893)
+
+ fts: Added assert to make sure all header data is valid UTF-8.
+
+
+M src/plugins/fts/fts-storage.c
+
+2011-05-11 15:19:34 +0300 Timo Sirainen <tss@iki.fi> (b516a7812b)
+
+ message [header] decoder: Output only valid UTF-8 data.
+
+
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-header-decode.c
+
+2011-05-11 15:17:02 +0300 Timo Sirainen <tss@iki.fi> (200500ebd3)
+
+ message header parser: Fixed handling NUL characters in header names.
+ line->name_len was too large and line->middle pointer may have pointed past
+ allocated memory. These may have caused crashes/corruption (fts, mbox at
+ least).
+
+
+M src/lib-mail/message-header-parser.c
+
+2011-05-11 14:35:15 +0300 Timo Sirainen <tss@iki.fi> (5b969a1fe9)
+
+ lda: Log destination address and its source with mail_debug=yes
+
+
+M src/lda/main.c
+
+2011-05-11 14:24:18 +0300 Timo Sirainen <tss@iki.fi> (5292200118)
+
+ example-config: Updated auth_gssapi_hostname comment.
+
+
+M doc/example-config/conf.d/10-auth.conf
+
+2011-05-10 18:24:31 +0300 Timo Sirainen <tss@iki.fi> (36a65640b0)
+
+ zlib: Don't unnecessarily reset istream caches.
+
+
+M src/plugins/zlib/istream-bzlib.c
+M src/plugins/zlib/istream-zlib.c
+
+2011-05-10 18:19:35 +0300 Timo Sirainen <tss@iki.fi> (e34eee5003)
+
+ istream-[b]zlib: stat(exact=FALSE) should always return the same value if
+ file hasn't changed.
+
+
+M src/plugins/zlib/istream-bzlib.c
+M src/plugins/zlib/istream-zlib.c
+
+2011-05-10 17:55:27 +0300 Timo Sirainen <tss@iki.fi> (36b402281f)
+
+ doveadm mailbox status: Don't assert-crash at exit if syncing a mailbox
+ fails.
+
+
+M src/doveadm/doveadm-mail.c
+
+2011-05-10 17:46:50 +0300 Timo Sirainen <tss@iki.fi> (9d7718a765)
+
+ acl: Don't waste time doing ACL checks for IMAP LSUB command.
+
+
+M src/plugins/acl/acl-mailbox-list.c
+
+2011-05-10 01:24:34 +0300 Timo Sirainen <tss@iki.fi> (a04a1eae98)
+
+ Removed ssl_parameters_file setting. It wasn't used by anything.
+
+
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+
+2011-05-09 20:11:00 +0300 Timo Sirainen <tss@iki.fi> (34496158cb)
+
+ script-login: When -d isn't given, drop privileges as specified by the
+ service settings.
+
+
+M src/util/script-login.c
+
+2011-05-09 20:03:24 +0300 Timo Sirainen <tss@iki.fi> (11eee3491c)
+
+ script-login: Reverted last change.
+
+
+M src/util/script-login.c
+
+2011-05-09 19:59:21 +0300 Timo Sirainen <tss@iki.fi> (05aad808bc)
+
+ script-login: Changed default behavior to be to drop privileges. Also since
+ the default is to run as root, allow that. There is now "-n" parameter to
+ avoid dropping privileges.
+
+
+M src/util/script-login.c
+
+2011-05-09 19:28:27 +0300 Timo Sirainen <tss@iki.fi> (e586724482)
+
+ Minor typofix.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.h
+
+2011-05-09 19:25:44 +0300 Timo Sirainen <tss@iki.fi> (a35ebc48bf)
+
+ lib-settings: Crashfix for broken settings under strlist.
+
+
+M src/lib-settings/settings-parser.c
+
+2011-05-09 19:08:43 +0300 Timo Sirainen <tss@iki.fi> (d779da03fd)
+
+ auth: Added assert.
+
+
+M src/auth/db-ldap.c
+
+2011-05-09 18:43:35 +0300 Timo Sirainen <tss@iki.fi> (6a6c6403d1)
+
+ master: Warn if service's vsz_limit < 1 MB It's unlikely anyone wants it to
+ be smaller, and small values give random errors/crashes.
+
+
+M src/master/master-settings.c
+
+2011-05-09 18:23:23 +0300 Timo Sirainen <tss@iki.fi> (d5b66e8d53)
+
+ imap: RENAME and DELETE wasn't replying with NONEXISTENT resp code.
+
+
+M src/imap/cmd-delete.c
+M src/imap/cmd-rename.c
+
+2011-05-09 17:58:37 +0300 Timo Sirainen <tss@iki.fi> (b9b086bc47)
+
+ lib-storage: Fixed LIST/LSUB with LAYOUT=none. It shouldn't have listed
+ INBOX if it didn't match the given patterns.
+
+
+M src/lib-storage/list/mailbox-list-none.c
+
+2011-05-09 17:41:45 +0300 Timo Sirainen <tss@iki.fi> (16dfe1f9c1)
+
+ lmtp: With lmtp_save_to_detail_mailbox=yes, save mail to <inbox ns
+ prefix>detail. The previous behavior required using prefix="" namespace to
+ work.
+
+
+M src/lmtp/commands.c
+
+2011-05-05 18:13:55 +0200 Timo Sirainen <tss@iki.fi> (643a81fff9)
+
+ doveadm: Added "index" command to add unindexed messages into
+ index/cache/fts. The caching adds only the fields that were previously added
+ to the mailbox's caching decisions, so it won't do anything useful for
+ mailboxes that user's client hasn't accessed yet.
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-mail-index.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2011-05-05 17:49:45 +0200 Timo Sirainen <tss@iki.fi> (c7e14824e4)
+
+ lib-storage: Added mail_parse().
+
+
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+M src/lib-storage/test-mail.c
+M src/plugins/virtual/virtual-mail.c
+
+2011-05-05 17:48:55 +0200 Timo Sirainen <tss@iki.fi> (7370fb9ff7)
+
+ lib-storage: Added mail_is_cached()
+
+
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mail.c
+
+2011-05-05 17:47:58 +0200 Timo Sirainen <tss@iki.fi> (58816241cb)
+
+ lib-index: Added mail_cache_field_exists_any()
+
+
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache.h
+
+2011-05-04 15:03:14 +0200 Timo Sirainen <tss@iki.fi> (dd6e81be63)
+
+ doveadm user: Added -f parameter to show only the specified extra field's
+ value.
+
+
+M src/doveadm/doveadm-auth.c
+
+2011-05-04 14:58:03 +0200 Timo Sirainen <tss@iki.fi> (723c066e99)
+
+ doveadm cleanup: Don't try to keep auth/user comand handlers in same
+ function.
+
+
+M src/doveadm/doveadm-auth.c
+
+2011-05-04 11:43:59 +0200 Timo Sirainen <tss@iki.fi> (1045d05d1d)
+
+ pop3: Added support for showing messages in "pop3 order".
+
+
+M src/pop3/pop3-client.c
+M src/pop3/pop3-client.h
+M src/pop3/pop3-commands.c
+
+2011-05-04 11:43:16 +0200 Timo Sirainen <tss@iki.fi> (1f47e47548)
+
+ lib-storage: Added MAIL_SORT_POP3_ORDER
+
+
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/mail-storage.h
+
+2011-05-04 11:42:17 +0200 Timo Sirainen <tss@iki.fi> (e1eeb3be29)
+
+ lib-storage: Added MAIL_FETCH_POP3_ORDER special field and implemented for
+ Maildir. The idea is that this specifies the order of messages when
+ accessing via POP3. This is useful when migrating both POP3 and IMAP users
+ from servers where their message ordering differes and they still want to be
+ preserved.
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-uidlist.h
+M src/lib-storage/mail-storage.h
+
+2011-05-04 10:17:27 +0200 Timo Sirainen <tss@iki.fi> (766f20faba)
+
+ pop3: Small code cleanup.
+
+
+M src/pop3/pop3-client.h
+M src/pop3/pop3-commands.c
+
+2011-05-03 18:41:10 +0200 Timo Sirainen <tss@iki.fi> (8b16d3b00f)
+
+ doveadm: Added "director dump" command. It outputs doveadm director commands
+ to add/remove the current host configuration, so if all directors are
+ stopped, their state can be easily restored by running the commands.
+
+
+M src/director/doveadm-connection.c
+M src/doveadm/doveadm-director.c
+
+2011-05-03 09:58:11 +0200 Timo Sirainen <tss@iki.fi> (0f4f40b4ea)
+
+ lib-index: Try to avoid duplicate "duplicate transaction log sequence"
+ errors.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2011-05-03 09:43:41 +0200 Timo Sirainen <tss@iki.fi> (39f78d7dc0)
+
+ lib-storage: Remove invalid subscription file entries instead of only
+ ignoring them.
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+
+2011-04-30 16:32:28 +0300 Timo Sirainen <tss@iki.fi> (100c33c293)
+
+ TODO updated
+
+
+M TODO
+
+2011-04-30 16:24:42 +0300 Timo Sirainen <tss@iki.fi> (3df398a463)
+
+ Merged changes from v2.0 tree.
+
+
+2011-04-30 15:55:08 +0300 Timo Sirainen <tss@iki.fi> (7e1b549a1d)
+
+ sdbox: In-memory mailbox GUID differed from on-index GUID after
+ mailbox_create().
+
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2011-04-30 15:12:20 +0300 Timo Sirainen <tss@iki.fi> (0b25846ba7)
+
+ lib-storage: mailbox_delete() for a symlink now removes the symlink instead
+ of expunging mails.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-delete.h
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2011-04-30 15:00:42 +0300 Timo Sirainen <tss@iki.fi> (af9edddbb7)
+
+ lib-storage: mailbox_delete() now always first expunges all mails before
+ trying deletion. If any new mails are added during expunging, the mailbox
+ deletion fails. This behavior allows removing basically duplicated code
+ where this is done for mdbox, sdbox with external attachments, quota updates
+ and lazy-expunge.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/index-storage.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/quota/quota-storage.c
+
+2011-04-30 14:54:16 +0300 Timo Sirainen <tss@iki.fi> (3aa40b530b)
+
+ mdbox: Fixed storage rebuild
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+
+2011-04-30 14:20:30 +0300 Timo Sirainen <tss@iki.fi> (d6c00d7624)
+
+ lazy-expunge: Removed support for more than one lazy-expunge namespace. More
+ than one is conceptually difficult to understand, complicates the code and
+ after the next change it wouldn't even work anymore.
+
+
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+
+2011-04-30 13:41:18 +0300 Timo Sirainen <tss@iki.fi> (a966016e60)
+
+ Use -Wl,--as-needed -Wl,--no-undefined GNU ld flags for non-plugins.
+
+
+M configure.in
+M src/plugins/acl/Makefile.am
+M src/plugins/autocreate/Makefile.am
+M src/plugins/expire/Makefile.am
+M src/plugins/fts-lucene/Makefile.am
+M src/plugins/fts-solr/Makefile.am
+M src/plugins/fts-squat/Makefile.am
+M src/plugins/fts/Makefile.am
+M src/plugins/imap-acl/Makefile.am
+M src/plugins/imap-quota/Makefile.am
+M src/plugins/imap-zlib/Makefile.am
+M src/plugins/lazy-expunge/Makefile.am
+M src/plugins/listescape/Makefile.am
+M src/plugins/mail-log/Makefile.am
+M src/plugins/notify/Makefile.am
+M src/plugins/quota/Makefile.am
+M src/plugins/snarf/Makefile.am
+M src/plugins/trash/Makefile.am
+M src/plugins/virtual/Makefile.am
+M src/plugins/zlib/Makefile.am
+
+2011-04-30 13:38:20 +0300 Timo Sirainen <tss@iki.fi> (09d81c57dc)
+
+ Compile fix for previous change.
+
+
+M src/lib-ssl-iostream/Makefile.am
+
+2011-04-30 13:18:31 +0300 Timo Sirainen <tss@iki.fi> (5ec40a17da)
+
+ Makefile: Fixes to compiling with LDFLAGS="-Wl,--as-needed
+ -Wl,--no-undefined"
+
+
+M src/lib-sql/Makefile.am
+M src/lib-ssl-iostream/Makefile.am
+M src/login-common/Makefile.am
+
+2011-04-30 13:17:53 +0300 Timo Sirainen <tss@iki.fi> (5a250816ff)
+
+ login-common API redesign so that the library doesn't refer to nonexistent
+ variables.
+
+
+M src/imap-login/client.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/client-common.h
+M src/login-common/login-common.h
+M src/login-common/login-settings.c
+M src/login-common/main.c
+M src/login-common/sasl-server.c
+M src/pop3-login/client.c
+
+2011-04-29 19:10:52 +0300 Timo Sirainen <tss@iki.fi> (6ea8dfa4a9)
+
+ master: Increased max. listen() backlog 128 -> 511 (by copying Apache)
+
+
+M src/master/service-listen.c
+
+2011-04-29 18:22:00 +0300 Timo Sirainen <tss@iki.fi> (c9ce71e269)
+
+ example-config: Removed plugin/mail_log_group_events since it no longer
+ exists.
+
+
+M doc/example-config/conf.d/10-logging.conf
+
+2011-04-28 21:31:16 +0300 Timo Sirainen <tss@iki.fi> (ced3c1f44e)
+
+ dbox: If file can't be opened read-write, fallback to read-only.
+
+
+M src/lib-storage/index/dbox-common/dbox-file.c
+
+2011-04-28 21:30:21 +0300 Timo Sirainen <tss@iki.fi> (94d5a3fe15)
+
+ lib-index: If .log file can't be opened read-write, fallback to read-only
+ indexes.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2011-04-28 21:11:30 +0300 Timo Sirainen <tss@iki.fi> (ce05b1406e)
+
+ Compiler warning fix.
+
+
+M src/lib-settings/settings-parser.c
+
+2011-04-28 21:11:23 +0300 Timo Sirainen <tss@iki.fi> (6b9c807cf4)
+
+ mdbox purge: Fixed warning about corrupted extrefs.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+
+2011-04-28 21:10:57 +0300 Timo Sirainen <tss@iki.fi> (e6aa82aeb5)
+
+ mbox: Looking up GUID/MD5(header) more than once was broken.
+
+
+M src/lib-storage/index/mbox/mbox-mail.c
+
+2011-04-28 17:20:22 +0300 Timo Sirainen <tss@iki.fi> (65e42545a6)
+
+ Compiler warning fixes about enums.
+
+
+M src/doveadm/doveadm-mail-altmove.c
+M src/lib-storage/index/index-sync-changes.c
+
+2011-04-27 16:25:08 +0300 Timo Sirainen <tss@iki.fi> (1b85e6aaae)
+
+ i_getgr*(): OpenBSD workaround.
+
+
+M src/lib/ipwd.c
+
+2011-04-20 18:55:39 +0300 Timo Sirainen <tss@iki.fi> (66d7dd2a37)
+
+ config: Avoid growing data stack / memory pools.
+
+
+M src/config/config-parser.c
+M src/config/doveconf.c
+
+2011-04-20 18:55:17 +0300 Timo Sirainen <tss@iki.fi> (f637b33bb8)
+
+ doveconf: Fixed a broken "subsection has ssl=yes" warning.
+
+
+M src/config/config-parser.c
+
+2011-04-20 18:28:49 +0300 Timo Sirainen <tss@iki.fi> (95fa94ecca)
+
+ lib-lda: If deliver_log_format setting is empty, don't log anything. Patch
+ by Joseph Tam.
+
+
+M src/lib-lda/mail-deliver.c
+
+2011-04-20 17:58:03 +0300 Timo Sirainen <tss@iki.fi> (ac1c79d038)
+
+ maildir: Added asserts to make sure invalid extension records aren't written
+ to uidlist.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2011-04-20 17:57:20 +0300 Timo Sirainen <tss@iki.fi> (df91692211)
+
+ maildir: Remove invalid extension records from dovecot-uidlist. For now
+ we'll assume that if the key is outside A..Z it's invalid. Since only 4 keys
+ are used currently, there is still a lot of letters available for future
+ use.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-uidlist.h
+
+2011-04-20 17:44:36 +0300 Timo Sirainen <tss@iki.fi> (ed34a210ef)
+
+ maildir: If uidlist has an empty GUID entry, log an error and remove it.
+ This fixes an assert-crash in dsync.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2011-04-13 12:40:48 +0300 Timo Sirainen <tss@iki.fi> (3a6bc9a3df)
+
+ doveconf: Added -S parameter to dump a simplified machine readable config.
+ This should make it slightly easier for external programs/scripts to call
+ doveconf and parse its output.
+
+
+M src/config/doveconf.c
+
+2011-04-13 12:23:35 +0300 Timo Sirainen <tss@iki.fi> (6a865d46c3)
+
+ config: Abort local/remote block DNS lookups after 30s and warn after 5s.
+
+
+M src/config/config-parser.c
+
+2011-04-13 10:36:00 +0300 Timo Sirainen <tss@iki.fi> (60bdf7c042)
+
+ Compiling fix for Solaris.
+
+
+M src/lib/ipwd.c
+
+2011-04-12 20:10:17 +0300 Timo Sirainen <tss@iki.fi> (288c572ef5)
+
+ Added signature for changeset 606faab2b896
+
+
+M .hgsigs
+
+2011-04-12 20:10:14 +0300 Timo Sirainen <tss@iki.fi> (2a50cac6af)
+
+ Added tag 2.0.12 for changeset 606faab2b896
+
+
+M .hgtags
+
+2011-04-12 20:10:14 +0300 Timo Sirainen <tss@iki.fi> (10ef96a23b)
+
+ Released v2.0.12.
+
+
+M NEWS
+M configure.in
+
+2011-04-12 20:09:44 +0300 Timo Sirainen <tss@iki.fi> (85e7220cb5)
+
+ test-index-fetch unit test fixed.
+
+
+M src/lib-storage/index/test-index-fetch.c
+
+2011-04-12 18:41:15 +0300 Timo Sirainen <tss@iki.fi> (ea0ab5d5ed)
+
+ sdbox: When rebuilding index, don't unnecessarily change mailbox's GUID.
+
+
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+
+2011-04-12 18:38:50 +0300 Timo Sirainen <tss@iki.fi> (0a7b04ec64)
+
+ sdbox: If message file is unexpectedly lost, rebuild index.
+
+
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.h
+
+2011-04-12 18:38:00 +0300 Timo Sirainen <tss@iki.fi> (44fb32493e)
+
+ sdbox: Commit expunges to index first before unlinking the files.
+
+
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-sync.h
+
+2011-04-12 17:55:26 +0300 Timo Sirainen <tss@iki.fi> (5096d157aa)
+
+ mdbox: Fixed mail_get_save_date() returning wrong return value. This broke
+ expire plugin.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+
+2011-04-12 17:13:27 +0300 Timo Sirainen <tss@iki.fi> (bd0720cca7)
+
+ auth: Export/import auth_request->successful for auth workers.
+
+
+M src/auth/auth-request.c
+
+2011-04-12 17:05:49 +0300 Timo Sirainen <tss@iki.fi> (31088625f5)
+
+ auth: Removed max. request queue limit from LDAP. Old requests get dropped
+ after 60 seconds, but other than that there is probably not much point in
+ having a hard coded limit.
+
+
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+
+2011-04-10 13:54:06 +0300 Timo Sirainen <tss@iki.fi> (8d5c97bf94)
+
+ lib-storage: Fixed crash in mail_storage_service_all_init() (doveadm .. -A)
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-04-08 20:23:17 +0300 Timo Sirainen <tss@iki.fi> (447543b5f0)
+
+ imap-login: Reduced the max. number of allowed bad commands. This makes it
+ even more sure that we won't reply with anything dangerous when attempting
+ to access us with HTTP client.
+
+
+M src/imap-login/client.c
+
+2011-04-08 20:21:58 +0300 Timo Sirainen <tss@iki.fi> (cc6807a629)
+
+ imap-login: Don't allow IMAP command tags that have invalid characters. This
+ simply attempts to prevent HTTP requests from replying with any potentially
+ danerous data that some web browsers might execute, e.g.:
+
+ curl --request POST -F 'x="<script>alert(1)</script>"' http://localhost:143/
+
+ The above command probably doesn't work, because max. bad commands is
+ reached earlier. But if it isn't, this change makes sure it doesn't return
+ back anything, because '"' and '(' aren't allowed characters. Even if '"'
+ weren't required, there hopefully isn't much to be done without being able
+ to call any functions.
+
+M src/imap-login/client.c
+
+2011-04-08 19:50:31 +0300 Timo Sirainen <tss@iki.fi> (85da8c0552)
+
+ Linux NFS: fstat() may return ENOENT instead of ESTALE in some kernel
+ versions.
+
+
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mailbox-list-index.c
+M src/lib/compat.h
+
+2011-04-08 19:36:51 +0300 Timo Sirainen <tss@iki.fi> (4e43828ef8)
+
+ director: Improved debug/error logging.
+
+
+M src/director/director-connection.c
+M src/director/director.c
+
+2011-04-08 19:35:27 +0300 Timo Sirainen <tss@iki.fi> (4c20178a7f)
+
+ director: Reset hosts' last_failed timestamps when they're suspected to be
+ working again. This should fix some problems during director removals and
+ additions.
+
+
+M src/director/director-connection.c
+M src/director/director.c
+
+2011-04-08 17:27:52 +0300 Timo Sirainen <tss@iki.fi> (7feee845ad)
+
+ doveadm import: Initialize the import user properly.
+
+
+M src/doveadm/doveadm-mail-import.c
+
+2011-04-08 17:26:49 +0300 Timo Sirainen <tss@iki.fi> (b9b841558c)
+
+ lib-storage: Allow each user lookup to override global
+ mail_storage_service_flags.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2011-04-08 17:26:14 +0300 Timo Sirainen <tss@iki.fi> (d9250ee7e2)
+
+ lib-storage: Added mail_namespaces_init_location() for creating a single
+ namespace for user.
+
+
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-namespace.h
+
+2011-04-08 16:41:26 +0300 Timo Sirainen <tss@iki.fi> (6407c617c3)
+
+ config: Log a warning if global ssl=no, but some section has
+ ssl=yes/required. Actually supporting per-protocol (or even worse, per-ip)
+ SSL would be too much trouble.
+
+
+M src/config/config-parser.c
+
+2011-04-08 16:06:20 +0300 Timo Sirainen <tss@iki.fi> (0622f54c06)
+
+ eperm_error_get_chgrp(): Changed wiki link.
+
+
+M src/lib/eacces-error.c
+
+2011-04-08 16:05:03 +0300 Timo Sirainen <tss@iki.fi> (4a3e6e01ea)
+
+ eperm_error_get_chgrp(): Improved error message and added a link to wiki.
+
+
+M src/lib/eacces-error.c
+
+2011-04-08 15:47:34 +0300 Timo Sirainen <tss@iki.fi> (fc3197e148)
+
+ Updated main documentation.txt index.
+
+
+M doc/documentation.txt
+
+2011-04-08 15:39:43 +0300 Timo Sirainen <tss@iki.fi> (0992011130)
+
+ Changed wiki.dovecot.org links to wiki2.dovecot.org
+
+
+M INSTALL
+M README
+M doc/documentation.txt
+M doc/example-config/dovecot-ldap.conf.ext
+M doc/example-config/dovecot-sql.conf.ext
+M doc/example-config/dovecot.conf
+M src/lda/main.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/mail-storage-service.c
+
+2011-04-05 22:43:54 +0300 Timo Sirainen <tss@iki.fi> (513c370601)
+
+ sdbox: Added more error message logging.
+
+
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2011-04-05 19:08:31 +0300 Timo Sirainen <tss@iki.fi> (a2aa37d224)
+
+ lib-index: Fix to previous check.
+
+
+M src/lib-index/mail-index-map.c
+
+2011-04-05 19:07:01 +0300 Timo Sirainen <tss@iki.fi> (4ad2966077)
+
+ lib-index: Added extra checks against broken extension record introductions.
+
+
+M src/lib-index/mail-index-map.c
+
+2011-04-05 13:26:45 +0300 Timo Sirainen <tss@iki.fi> (723c3049be)
+
+ quota: Fixed the quota limit check changes in previous commit. Casting
+ (uint64_t)-1 to (int64_t) isn't a good idea.
+
+
+M src/plugins/quota/quota.c
+
+2011-04-05 12:44:21 +0300 Timo Sirainen <tss@iki.fi> (889437fa2b)
+
+ Changed auth-userdb socket's default permissions to 0666.
+
+
+M doc/example-config/conf.d/10-master.conf
+M src/auth/auth-settings.c
+
+2011-04-05 12:28:32 +0300 Timo Sirainen <tss@iki.fi> (c95b7ce6c3)
+
+ auth: If auth-userdb socket is 0666, allow peer to do only USER lookups
+ whose uid matches its. Anything else results in failure. If userdb doesn't
+ return uid, the lookups also fail. To truly give full permissions for
+ everyone, use 0777 mode.
+
+
+M src/auth/auth-master-connection.c
+M src/auth/auth-master-connection.h
+M src/auth/main.c
+
+2011-04-05 12:24:59 +0300 Timo Sirainen <tss@iki.fi> (e2aabdc783)
+
+ Added net_getunixcred() to get UNIX socket peer process's UID and GID.
+
+
+M configure.in
+M src/lib/network.c
+M src/lib/network.h
+
+2011-04-04 23:19:01 +0300 Timo Sirainen <tss@iki.fi> (30ad2b0309)
+
+ quota: Code cleanup.
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2011-04-04 23:18:31 +0300 Timo Sirainen <tss@iki.fi> (c1838f0f2d)
+
+ quota: Fixed checking message count limit when saving multiple mails in
+ transaction.
+
+
+M src/plugins/quota/quota.c
+
+2011-04-04 23:07:37 +0300 Timo Sirainen <tss@iki.fi> (64529e3b72)
+
+ quota: Set quota limit correctly (for code path that doesn't exist).
+ quota_alloc() followed by quota_test/try_alloc() set the "quota left" limit
+ wrong. But this is only a theoretical problem, because nothing actually
+ calls quota_alloc() currently.
+
+
+M src/plugins/quota/quota.c
+
+2011-04-04 19:20:20 +0300 Timo Sirainen <tss@iki.fi> (1694d84200)
+
+ dbox: External attachment's size was set wrong if base64 MIME part ended
+ unexpectedly.
+
+
+M src/lib-storage/index/index-attachment.c
+
+2011-04-04 17:53:05 +0300 Timo Sirainen <tss@iki.fi> (2d0a002723)
+
+ auth: If initial binding to LDAP server hangs, detect it and abort.
+
+
+M src/auth/db-ldap.c
+
+2011-04-04 16:08:50 +0300 Timo Sirainen <tss@iki.fi> (cf1f6978a5)
+
+ lib-storage: Request sort program's all fields, not just the first one.
+
+
+M src/lib-storage/index/index-search.c
+
+2011-04-04 16:02:05 +0300 Timo Sirainen <tss@iki.fi> (045aa2f812)
+
+ lib-storage: Removed struct mail_private.extra_* fields. There isn't much
+ point in keeping them separated.
+
+
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/mail-storage-private.h
+
+2011-04-04 15:41:19 +0300 Timo Sirainen <tss@iki.fi> (bf190046cf)
+
+ imapc: Minor code cleanup.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-04-04 15:27:33 +0300 Timo Sirainen <tss@iki.fi> (8ddc45fe20)
+
+ imapc: Fixes to handling expunges.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-04-04 15:08:50 +0300 Timo Sirainen <tss@iki.fi> (68a8f0794a)
+
+ Compiler warning fix for newer OpenSSL library.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2011-04-04 14:12:01 +0300 Timo Sirainen <tss@iki.fi> (0102d0a013)
+
+ imapc: Make sure we wait for SELECT/APPEND/COPY commands to finish.
+
+
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-04-04 14:09:11 +0300 Timo Sirainen <tss@iki.fi> (86520ddddf)
+
+ imapc: Removed support for connection locking and multiple connections to
+ mailbox. If needed they can be added back by reversing this change, but for
+ now they're no longer needed.
+
+
+M src/lib-storage/index/imapc/imapc-client-private.h
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-04-04 13:51:34 +0300 Timo Sirainen <tss@iki.fi> (b67628e501)
+
+ imapc: Don't log an error message about missing BODY[] if message was
+ already expunged.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-04-04 13:42:23 +0300 Timo Sirainen <tss@iki.fi> (9ed77dd002)
+
+ imapc: Stop FETCH wait after untagged reply is received, don't wait for
+ tagged reply.
+
+
+M src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-04-04 13:07:19 +0300 Timo Sirainen <tss@iki.fi> (1af0a59380)
+
+ lib-storage: Added mail prefetching support for searching.
+
+
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+
+2011-04-04 12:57:49 +0300 Timo Sirainen <tss@iki.fi> (c405ed31f4)
+
+ doveadm: Don't link with all AUTH_LIBS, only -lcrypt is needed.
+
+
+M configure.in
+M src/doveadm/Makefile.am
+
+2011-04-04 12:52:21 +0300 Timo Sirainen <tss@iki.fi> (e4c43c353f)
+
+ Compile warning fix.
+
+
+M src/plugins/autocreate/autocreate-plugin.c
+
+2011-04-03 06:42:48 +0300 Timo Sirainen <tss@iki.fi> (14247d7f50)
+
+ example-config: Fixed vpopmail config.
+
+
+M doc/example-config/conf.d/auth-vpopmail.conf.ext
+
+2011-03-31 11:10:22 +0300 Timo Sirainen <tss@iki.fi> (e15b305e90)
+
+ Search supports now prefetching data for returned mails. Dropped imapc's own
+ prefetching. mail_prefetch_count specifies how many mails can be kept open
+ and issue a prefetch.
+
+ This works using posix_fadvise(POSIX_FADV_WILLNEED) for maildir, sdbox and
+ cydir backends. Apparently only Linux supports this.
+
+ imapc backend also implements this internally by sending wanted IMAP
+ commands to remote server. The command pipelining helps with latency. This
+ change also makes it actually possible for imapc backend to first check if
+ wanted data is already cached in local index and avoid sending unnecessary
+ IMAP commands to remote server.
+
+M configure.in
+M doc/example-config/conf.d/10-mail.conf
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/Makefile.am
+A src/lib-storage/index/imapc/imapc-mail-fetch.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mail.h
+M src/lib-storage/index/imapc/imapc-mailbox.c
+D src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-search-private.h
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/lib-storage/mail.c
+M src/lib-storage/test-mail.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-search.c
+
+2011-03-31 09:48:37 +0300 Timo Sirainen <tss@iki.fi> (c3f7ca68fa)
+
+ lib-storage: Search code cleanup.
+
+
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-sort.h
+
+2011-03-31 09:23:22 +0300 Timo Sirainen <tss@iki.fi> (0a1ec0f2a3)
+
+ lib-storage: Fail mail_search_build() if charset is unknown, even if it's
+ not used. For example this causes "SEARCH CHARSET foo ALL" command to fail.
+
+
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-build.h
+
+2011-03-31 09:19:10 +0300 Timo Sirainen <tss@iki.fi> (d798962a54)
+
+ Changed header/body searching to do search key charset translation earlier.
+ This cleans up and simplifies error handling.
+
+
+M src/doveadm/doveadm-mail.c
+M src/imap/imap-search-args.c
+M src/lib-mail/message-search.c
+M src/lib-mail/message-search.h
+M src/lib-storage/Makefile.am
+M src/lib-storage/index/index-search-private.h
+M src/lib-storage/index/index-search.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-build.h
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-search.h
+M src/lib-storage/mail-storage.h
+M src/plugins/fts/Makefile.am
+M src/plugins/fts/fts-search.c
+M src/plugins/virtual/virtual-config.c
+
+2011-03-31 07:02:55 +0300 Timo Sirainen <tss@iki.fi> (89d7ddf6eb)
+
+ auth: Mention auth_username_chars in log when disallowing username because
+ of it.
+
+
+M src/auth/auth-request.c
+
+2011-03-29 07:00:40 +0300 Timo Sirainen <tss@iki.fi> (eef4ba0cc3)
+
+ lib-storage: Changed mailbox_search_*() API to return pointer struct mail.
+ This reduces the flexibility, because now different mailbox_search_next()
+ calls can't have different mail parameters with possibly different
+ wanted_fields settings. This flexibility was never used though, and removing
+ it gives a couple of benefits:
+
+ * it's now easier for backends to implement prefetch and parallel search
+ * usage is easier since mail_alloc()/mail_free() is no longer needed
+
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-iter.h
+M src/doveadm/doveadm-mail-search.c
+M src/dsync/dsync-worker-local.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-store.c
+M src/imap/imap-expunge.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-fetch.h
+M src/imap/imap-search.c
+M src/imap/imap-search.h
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-search-private.h
+M src/lib-storage/index/index-search-result.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/test-mailbox.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.h
+M src/plugins/virtual/virtual-sync.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+
+2011-03-29 04:47:55 +0300 Timo Sirainen <tss@iki.fi> (e2170d0dfa)
+
+ imapc: Try to get received date first from cache.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-03-29 04:45:34 +0300 Timo Sirainen <tss@iki.fi> (5940a2b112)
+
+ imapc: Try to get physical/virtual size first from cache.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+
+2011-03-29 04:32:54 +0300 Timo Sirainen <tss@iki.fi> (bc6ef0b01b)
+
+ lib-storage: Small optimizations to setting mail's access_parts.
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2011-03-26 01:10:59 +0200 Timo Sirainen <tss@iki.fi> (ff640c9b10)
+
+ lib-settings: Fixed crash when trying treat strlist as having a subsection.
+ For example "plugin/foo/bar=yes" crashed, while it should have been just
+ ignored.
+
+
+M src/lib-settings/settings-parser.c
+
+2011-03-26 00:42:48 +0200 Timo Sirainen <tss@iki.fi> (863ea896fb)
+
+ lib-index: Delete dovecot.index.log.2 files after 2 days, not after 30 mins.
+
+
+M src/lib-index/mail-transaction-log-private.h
+
+2011-03-26 00:40:58 +0200 Timo Sirainen <tss@iki.fi> (abd042f102)
+
+ dsync: Fixed handling expunges of last message when it didn't have a known
+ GUID.
+
+
+M src/dsync/dsync-worker-local.c
+
+2011-03-26 00:39:40 +0200 Timo Sirainen <tss@iki.fi> (4979e25d82)
+
+ imap: Use mailbox_get_expunged_uids() for QRESYNC code.
+
+
+M src/imap/imap-fetch.c
+
+2011-03-26 00:33:51 +0200 Timo Sirainen <tss@iki.fi> (4590a0c0a2)
+
+ lib-storage: Fixed mailbox_get_expunges() to return GUIDs with all mailbox
+ formats. Also added mailbox_get_expunged_uids() for use cases that don't
+ really need GUIDs.
+
+
+M src/lib-storage/index/index-fetch.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/test-index-fetch.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/test-mailbox.c
+
+2011-03-24 19:30:21 +0200 Timo Sirainen <tss@iki.fi> (1460ef7a18)
+
+ lib-storage: Moved index_mailbox_context.save_*() methods to mailbox_vfuncs.
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/test-mailbox.c
+M src/plugins/virtual/virtual-storage.c
+
+2011-03-24 19:22:03 +0200 Timo Sirainen <tss@iki.fi> (a9dcc72d7a)
+
+ lib-storage: Removed unused index_mailbox_context.notify_last_check
+
+
+M src/lib-storage/index/index-storage.h
+
+2011-03-24 19:14:42 +0200 Timo Sirainen <tss@iki.fi> (1fdae27643)
+
+ lib-storage: Removed unused index_mail.uid_validity.
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2011-03-24 00:28:06 +0200 Timo Sirainen <tss@iki.fi> (e755d1cd70)
+
+ lmtp: Fixed loading Sieve plugin when configuring --without-shared-libs
+
+
+M src/lmtp/Makefile.am
+
+2011-03-24 00:14:58 +0200 Timo Sirainen <tss@iki.fi> (9f5a3b7889)
+
+ autocreate: Disable plugin when running from dsync.
+
+
+M src/plugins/autocreate/Makefile.am
+M src/plugins/autocreate/autocreate-plugin.c
+
+2011-03-24 00:10:59 +0200 Timo Sirainen <tss@iki.fi> (ab670459e2)
+
+ lib-storage: Removed extra "don't allow INBOX to be deleted" check. It's
+ already checked in places where it could cause actual harm (accidentally
+ deleting other mailboxes) and where it's not allowed (IMAP). This allows
+ dsync backup to delete unwanted INBOX if the mail location settings allow
+ it.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-03-24 00:01:16 +0200 Timo Sirainen <tss@iki.fi> (d799e42332)
+
+ dsync backup: Handle better deletion of mailboxes from destination.
+
+
+M src/dsync/dsync-worker-local.c
+
+2011-03-23 23:13:00 +0200 Timo Sirainen <tss@iki.fi> (58c8d266f7)
+
+ lib-storage: When mail_location is looked up from environment, set its
+ unexpanded string properly. This fixes a crash when creating index
+ directories and mail location was autodetected.
+
+
+M src/lib-storage/mail-namespace.c
+
+2011-03-23 22:55:03 +0200 Timo Sirainen <tss@iki.fi> (dff3feecec)
+
+ autocreate: Don't list autocreate mailboxes with
+ MAILBOX_LIST_ITER_NO_AUTO_BOXES.
+
+
+M src/plugins/autocreate/autocreate-plugin.c
+
+2011-03-23 22:54:24 +0200 Timo Sirainen <tss@iki.fi> (b3126bef74)
+
+ lib-storage: Renamed MAILBOX_LIST_ITER_NO_AUTO_INBOX to _NO_AUTO_BOXES.
+
+
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-search.c
+M src/dsync/dsync-worker-local.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/mailbox-list.h
+
+2011-03-23 22:16:24 +0200 Timo Sirainen <tss@iki.fi> (b932ee7fbb)
+
+ doveadm: Added "move" command for moving mails between mailboxes.
+
+
+M src/doveadm/Makefile.am
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-iter.h
+A src/doveadm/doveadm-mail-move.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2011-03-22 23:03:41 +0200 Timo Sirainen <tss@iki.fi> (c84c0d4cb7)
+
+ doveconf: Fixed showing plugin {} section.
+
+
+M src/config/config-request.c
+M src/config/doveconf.c
+
+2011-03-22 22:50:26 +0200 Timo Sirainen <tss@iki.fi> (303e375b7e)
+
+ lib-storage: Added MAIL_STORAGE_SERVICE_FLAG_NO_NAMESPACES flag.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2011-03-21 19:16:14 +0200 Timo Sirainen <tss@iki.fi> (76a8438e74)
+
+ lib-storage: Don't try to create /dovecot.mailbox.index when indexes are
+ disabled.
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-03-21 19:10:08 +0200 Timo Sirainen <tss@iki.fi> (68fb1a6c42)
+
+ example-config: Uncommented !include_try local.conf At least one Linux
+ distro wants this.
+
+
+M doc/example-config/dovecot.conf
+
+2011-03-21 18:51:51 +0200 Timo Sirainen <tss@iki.fi> (089a5b2ce2)
+
+ lmtp/smtp client: Crashfix if remote returned failure to RCPT TO.
+
+
+M src/lib-lda/lmtp-client.c
+
+2011-03-17 19:02:26 +0200 Timo Sirainen <tss@iki.fi> (e4f7d8e459)
+
+ fts: Don't notify storage about finishing indexing if notify_ok callback is
+ NULL.
+
+
+M src/plugins/fts/fts-storage.c
+
+2011-03-17 16:37:45 +0200 Timo Sirainen <tss@iki.fi> (2b0856fd2b)
+
+ imapc: Fixed setting flags for newly seen messages.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-03-17 16:37:22 +0200 Timo Sirainen <tss@iki.fi> (8a97355c39)
+
+ Merged changes from v2.0 tree.
+
+
+2011-03-17 16:21:00 +0200 Timo Sirainen <tss@iki.fi> (70afae43cc)
+
+ Replaced all getpw/gr*() to use i_getpw/gr*() with improved error handling.
+
+
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-passwd.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb.c
+M src/lda/main.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/mail-storage-service.c
+M src/lib/eacces-error.c
+M src/lib/home-expand.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/lib.c
+M src/lib/mkdir-parents.c
+M src/lib/restrict-access.c
+M src/master/main.c
+M src/master/service-process.c
+
+2011-03-17 16:20:12 +0200 Timo Sirainen <tss@iki.fi> (596f582a42)
+
+ Added i_getpw*() and i_getgr*() wrappers for getpw*()/getgr*(). These
+ functions make error handling easier.
+
+
+M src/lib/Makefile.am
+A src/lib/ipwd.c
+A src/lib/ipwd.h
+
+2011-03-16 19:49:27 +0200 Timo Sirainen <tss@iki.fi> (ba55f12488)
+
+ master: Don't close stderr if logging goes there.
+
+
+M src/master/main.c
+
+2011-03-16 19:17:57 +0200 Timo Sirainen <tss@iki.fi> (2128e2bebe)
+
+ virtual: Support +mailbox entries that clear \Recent flag from messages.
+
+
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+
+2011-03-16 18:40:40 +0200 Timo Sirainen <tss@iki.fi> (ee9254cc78)
+
+ dbox: Fixed crash on creation of a new mailbox. Broken by recent changes.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2011-03-16 18:37:14 +0200 Timo Sirainen <tss@iki.fi> (882eb22534)
+
+ eacces_error_get*(): Handle errors to / directory better.
+
+
+M src/lib/eacces-error.c
+
+2011-03-16 18:20:47 +0200 Timo Sirainen <tss@iki.fi> (7cdf66ecb4)
+
+ lib-auth: If connection to auth-master gets lost, reconnect.
+
+
+M src/lib-auth/auth-master.c
+
+2011-03-16 17:59:07 +0200 Timo Sirainen <tss@iki.fi> (7d20b3ad93)
+
+ lib-storage: Moved mailbox_update() assert check from mdbox to common, plus
+ fixed it.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/mail-storage.c
+
+2011-03-16 17:46:29 +0200 Timo Sirainen <tss@iki.fi> (a6f6a702ed)
+
+ dsync: Preserve \Recent flags state (instead of setting everything \Recent).
+
+
+M src/dsync/dsync-brain.c
+M src/dsync/dsync-data.h
+M src/dsync/dsync-proxy.c
+M src/dsync/dsync-worker-local.c
+M src/dsync/test-dsync-brain.c
+M src/dsync/test-dsync-proxy-server-cmd.c
+
+2011-03-16 17:42:42 +0200 Timo Sirainen <tss@iki.fi> (2933770145)
+
+ lib-storage: Added min_first_recent_uid to struct mailbox_update.
+ Implemented for dbox. Maildir/mbox needs some more code to make this work
+ correctly.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/mail-storage.h
+
+2011-03-16 17:42:06 +0200 Timo Sirainen <tss@iki.fi> (97f6b32429)
+
+ lib-storage: Added first_recent_uid to struct mailbox_status.
+
+
+M src/lib-storage/index/index-status.c
+M src/lib-storage/mail-storage.h
+
+2011-03-15 21:53:21 +0200 Timo Sirainen <tss@iki.fi> (cb2d128de6)
+
+ imap-login: Changed CAPABILITY's tagged OK reply to say post-login
+ capabilities have more.
+
+
+M src/imap-login/client.c
+
+2011-03-14 19:43:31 +0200 Timo Sirainen <tss@iki.fi> (2caedbda87)
+
+ dbox: Fixed wrong error check while reading external attachments.
+
+
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+
+2011-03-12 17:43:46 +0200 Timo Sirainen <tss@iki.fi> (8c109ec31a)
+
+ dsync: When showing mailbox names, show also their GUIDs.
+
+
+M src/dsync/dsync-brain.c
+
+2011-03-12 17:24:38 +0200 Timo Sirainen <tss@iki.fi> (7d73c8f293)
+
+ dbox: Give more verbose error message about broken attachment ext-refs.
+
+
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+
+2011-03-12 17:18:47 +0200 Timo Sirainen <tss@iki.fi> (c7a50b2c29)
+
+ maildir, sdbox: If committed transaction has only aborted msg saves, don't
+ assert-crash.
+
+
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/maildir/maildir-save.c
+
+2011-03-12 15:48:24 +0200 Timo Sirainen <tss@iki.fi> (b6b63ea77e)
+
+ dsync: If remote dsync times out, log a more verbose reason.
+
+
+M src/dsync/dsync-proxy-client.c
+
+2011-03-12 15:27:54 +0200 Timo Sirainen <tss@iki.fi> (216cd45a5f)
+
+ lib-storage: When uid/gid is invalid, tell if it's from setting or userdb
+ lookup.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-03-12 15:12:22 +0200 Timo Sirainen <tss@iki.fi> (1c3e6a4a75)
+
+ imap: Added tb-lsub-flags to imap_client_workarounds. Patch by Bruno
+ Tréguier.
+
+
+M doc/example-config/conf.d/20-imap.conf
+M src/imap/cmd-list.c
+M src/imap/imap-settings.c
+M src/imap/imap-settings.h
+
+2011-03-10 18:44:20 +0200 Timo Sirainen <tss@iki.fi> (731e1bc5d4)
+
+ imapc: When unselecting a mailbox, send DONE to stop IDLE.
+
+
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-03-10 18:44:00 +0200 Timo Sirainen <tss@iki.fi> (c2ecc7b6c6)
+
+ imapc: If server sends BAD, disconnect from it.
+
+
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-03-10 18:32:08 +0200 Timo Sirainen <tss@iki.fi> (d83e46e7cd)
+
+ imapc: Initial support for local index files.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/imapc/imapc-sync.h
+
+2011-03-10 18:31:28 +0200 Timo Sirainen <tss@iki.fi> (db8b0a3f74)
+
+ lib-storage: Allow creating a secondary mailbox_list for a namespace.
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2011-03-10 18:29:59 +0200 Timo Sirainen <tss@iki.fi> (4401e78c37)
+
+ quota-fs: Don't log error if storage doesn't have a root directory.
+
+
+M src/plugins/quota/quota-fs.c
+
+2011-03-10 16:25:26 +0200 Timo Sirainen <tss@iki.fi> (dc5606fb66)
+
+ Moved most of listescape plugin functionality directly to lib-storage. This
+ fixes actually opening escaped mailboxes. The plugin may eventually be
+ removed and replaced with a setting.
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/plugins/listescape/listescape-plugin.c
+
+2011-03-10 15:56:46 +0200 Timo Sirainen <tss@iki.fi> (7692e292b0)
+
+ dsync: Reset idle timeouts at the end of i/o callbacks, not beginning. This
+ could make a difference if the callback runs for a long time.
+
+
+M src/dsync/dsync-proxy-server.c
+
+2011-03-09 20:22:52 +0200 Timo Sirainen <tss@iki.fi> (cdf95300fd)
+
+ IMAP: Fixed ID command to log the parameters properly. Patch by Mike Abbott
+ / Apple.
+
+
+M src/lib-imap/imap-id.c
+
+2011-03-09 19:02:42 +0200 Timo Sirainen <tss@iki.fi> (36de2c0bc4)
+
+ dsync: Use a smaller idle timeout value for client than for server.
+
+
+M src/dsync/dsync-proxy-client.c
+M src/dsync/dsync-proxy-server.c
+M src/dsync/dsync-proxy.h
+
+2011-03-07 19:35:09 +0200 Timo Sirainen <tss@iki.fi> (276c4d0d9a)
+
+ dsync: Avoid hanging when saving messages.
+
+
+M src/dsync/dsync-proxy-client.c
+
+2011-03-07 01:00:28 +0200 Timo Sirainen <tss@iki.fi> (fd35227c47)
+
+ expire: Fixed mail_debug logging when same transaction expunged all messages
+ and saved new.
+
+
+M src/plugins/expire/expire-plugin.c
+
+2011-03-07 00:57:08 +0200 Timo Sirainen <tss@iki.fi> (2e263a9d90)
+
+ expire: Added more debugging with mail_debug=yes
+
+
+M src/plugins/expire/expire-plugin.c
+
+2011-03-07 00:56:54 +0200 Timo Sirainen <tss@iki.fi> (bbd4c4cf90)
+
+ expire: When saving first message to expire mailbox, use the oldest
+ message's save-time. This makes it easier to enable and test expire plugin.
+ This also changes how expire dict is used: previously when all messages were
+ expunged in a mailbox its entry was deleted in dict, but now its value is
+ set to 0.
+
+
+M src/plugins/expire/expire-plugin.c
+
+2011-03-07 00:35:25 +0200 Timo Sirainen <tss@iki.fi> (ff4312f392)
+
+ Added signature for changeset 3355b4bbd4ac
+
+
+M .hgsigs
+
+2011-03-07 00:35:20 +0200 Timo Sirainen <tss@iki.fi> (29593f3429)
+
+ Added tag 2.0.11 for changeset 3355b4bbd4ac
+
+
+M .hgtags
+
+2011-03-07 00:35:20 +0200 Timo Sirainen <tss@iki.fi> (13aeac6ac3)
+
+ Released v2.0.11.
+
+
+M NEWS
+M configure.in
+
+2011-03-07 00:31:22 +0200 Timo Sirainen <tss@iki.fi> (06545b0f98)
+
+ lib-storage: dotlock_use_excl default was accidentally set to "no".
+
+
+M src/lib-storage/mail-storage-settings.c
+
+2011-03-07 00:16:26 +0200 Timo Sirainen <tss@iki.fi> (452eb0c73e)
+
+ dsync: Fixed a timeout/crash when saving messages to remote dsync.
+
+
+M src/dsync/dsync-proxy-client.c
+
+2011-03-06 23:55:01 +0200 Timo Sirainen <tss@iki.fi> (47448611bc)
+
+ mdbox: Avoid leaking fds when saving many messages larger than
+ mdbox_rotate_size.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+
+2011-03-05 13:36:19 +0200 Timo Sirainen <tss@iki.fi> (baa6930bf0)
+
+ auth: Fixed ldap assert-crash.
+
+
+M src/auth/db-ldap.c
+
+2011-03-04 21:21:37 +0200 Timo Sirainen <tss@iki.fi> (be78bc833c)
+
+ doveadm acl set: Require non-standard rights to be prefixed with ':' char.
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2011-03-04 20:59:31 +0200 Timo Sirainen <tss@iki.fi> (b9139dca17)
+
+ Added signature for changeset 755c63ff089f
+
+
+M .hgsigs
+
+2011-03-04 20:59:28 +0200 Timo Sirainen <tss@iki.fi> (43effe8e5a)
+
+ Added tag 2.0.10 for changeset 755c63ff089f
+
+
+M .hgtags
+
+2011-03-04 20:59:24 +0200 Timo Sirainen <tss@iki.fi> (48dd81bbf0)
+
+ Released v2.0.10.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2011-03-04 20:54:29 +0200 Timo Sirainen <tss@iki.fi> (2e37d45867)
+
+ Updated copyright notices to include year 2011.
+
+
+M src/anvil/anvil-connection.c
+M src/anvil/anvil-settings.c
+M src/anvil/connect-limit.c
+M src/anvil/main.c
+M src/anvil/penalty.c
+M src/anvil/test-penalty.c
+M src/auth/auth-cache.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-penalty.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-stream.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/auth.c
+M src/auth/db-checkpassword.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/auth/db-sql.c
+M src/auth/main.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-external.c
+M src/auth/mech-plain.c
+M src/auth/mech.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-checkpassword.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-checkpassword.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-nss.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-prefetch.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb-vpopmail.c
+M src/auth/userdb.c
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/config-request.c
+M src/config/config-settings.c
+M src/config/doveconf.c
+M src/config/main.c
+M src/config/old-set-parser.c
+M src/config/sysinfo-get.c
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/dict/dict-settings.c
+M src/dict/main.c
+M src/director/auth-connection.c
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director-request.c
+M src/director/director-settings.c
+M src/director/director-test.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/mail-host.c
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/user-directory.c
+M src/dns/dns-client-settings.c
+M src/dns/dns-client.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/doveadm-dump-thread.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-list-iter.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-master.c
+M src/doveadm/doveadm-mutf7.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-print-flow.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/doveadm-print-tab.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-sis.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+M src/doveadm/server-connection.c
+M src/dsync/dsync-brain-msgs-new.c
+M src/dsync/dsync-brain-msgs.c
+M src/dsync/dsync-brain.c
+M src/dsync/dsync-data.c
+M src/dsync/dsync-proxy-client.c
+M src/dsync/dsync-proxy-server-cmd.c
+M src/dsync/dsync-proxy-server.c
+M src/dsync/dsync-proxy.c
+M src/dsync/dsync-worker-local.c
+M src/dsync/dsync-worker.c
+M src/dsync/dsync.c
+M src/dsync/test-dsync-brain-msgs.c
+M src/dsync/test-dsync-brain.c
+M src/dsync/test-dsync-common.c
+M src/dsync/test-dsync-proxy-server-cmd.c
+M src/dsync/test-dsync-proxy.c
+M src/dsync/test-dsync-worker.c
+M src/imap-login/client-authenticate.c
+M src/imap-login/client.c
+M src/imap-login/imap-login-settings.c
+M src/imap-login/imap-proxy.c
+M src/imap/cmd-append.c
+M src/imap/cmd-cancelupdate.c
+M src/imap/cmd-capability.c
+M src/imap/cmd-check.c
+M src/imap/cmd-close.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-enable.c
+M src/imap/cmd-examine.c
+M src/imap/cmd-expunge.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-id.c
+M src/imap/cmd-idle.c
+M src/imap/cmd-list.c
+M src/imap/cmd-logout.c
+M src/imap/cmd-lsub.c
+M src/imap/cmd-namespace.c
+M src/imap/cmd-noop.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-search.c
+M src/imap/cmd-select.c
+M src/imap/cmd-sort.c
+M src/imap/cmd-status.c
+M src/imap/cmd-store.c
+M src/imap/cmd-subscribe.c
+M src/imap/cmd-thread.c
+M src/imap/cmd-uid.c
+M src/imap/cmd-unselect.c
+M src/imap/cmd-unsubscribe.c
+M src/imap/cmd-x-cancel.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands.c
+M src/imap/imap-expunge.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-search-args.c
+M src/imap/imap-search.c
+M src/imap/imap-settings.c
+M src/imap/imap-status.c
+M src/imap/imap-sync.c
+M src/imap/mail-storage-callbacks.c
+M src/imap/main.c
+M src/lda/main.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/charset-utf8.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/test-dict.c
+M src/lib-dns/dns-lookup.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/ostream-cmp.c
+M src/lib-imap/imap-arg.c
+M src/lib-imap/imap-base-subject.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-id.c
+M src/lib-imap/imap-match.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-seqset.c
+M src/lib-imap/imap-utf7.c
+M src/lib-imap/imap-util.c
+M src/lib-imap/test-imap-match.c
+M src/lib-imap/test-imap-parser.c
+M src/lib-imap/test-imap-utf7.c
+M src/lib-imap/test-imap-util.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-dummy-view.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-util.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mailbox-log.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-index/test-mail-transaction-log-view.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/lda-settings.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-send.c
+M src/lib-lda/smtp-client.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/mbox-from.c
+M src/lib-mail/message-address.c
+M src/lib-mail/message-date.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-id.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part-serialize.c
+M src/lib-mail/message-search.c
+M src/lib-mail/message-send.c
+M src/lib-mail/message-size.c
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-mbox-from.c
+M src/lib-mail/test-message-address.c
+M src/lib-mail/test-message-date.c
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-encode.c
+M src/lib-mail/test-message-header-parser.c
+M src/lib-mail/test-message-id.c
+M src/lib-mail/test-message-parser.c
+M src/lib-mail/test-quoted-printable.c
+M src/lib-mail/test-rfc2231-parser.c
+M src/lib-master/anvil-client.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+M src/lib-master/syslog-util.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-db-cache.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-sync-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mailbox-check.c
+M src/lib-storage/index/index-search-result.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-sync-search.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread-links.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/istream-attachment.c
+M src/lib-storage/index/istream-mail-stats.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-filename-flags.c
+M src/lib-storage/index/maildir/maildir-filename.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-settings.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-md5.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-settings.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync-update.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/raw/raw-sync.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-error.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-parser-cmdline.c
+M src/lib-storage/mail-search-parser-imap.c
+M src/lib-storage/mail-search-parser.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search-register.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-thread.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail.c
+M src/lib-storage/mailbox-get.c
+M src/lib-storage/mailbox-header.c
+M src/lib-storage/mailbox-keywords.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-search-result.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib-storage/test-mail-storage.c
+M src/lib-storage/test-mail.c
+M src/lib-storage/test-mailbox-get.c
+M src/lib-storage/test-mailbox.c
+M src/lib-test/test-common.c
+M src/lib/abspath.c
+M src/lib/aqueue.c
+M src/lib/array.c
+M src/lib/askpass.c
+M src/lib/backtrace-string.c
+M src/lib/base64.c
+M src/lib/bsearch-insert-pos.c
+M src/lib/buffer.c
+M src/lib/child-wait.c
+M src/lib/close-keep-errno.c
+M src/lib/compat.c
+M src/lib/crc32.c
+M src/lib/data-stack.c
+M src/lib/eacces-error.c
+M src/lib/env-util.c
+M src/lib/execv-const.c
+M src/lib/failures.c
+M src/lib/fd-close-on-exec.c
+M src/lib/fd-set-nonblock.c
+M src/lib/fdatasync-path.c
+M src/lib/fdpass.c
+M src/lib/file-cache.c
+M src/lib/file-copy.c
+M src/lib/file-dotlock.c
+M src/lib/file-lock.c
+M src/lib/file-set-size.c
+M src/lib/hash-format.c
+M src/lib/hash-method.c
+M src/lib/hash.c
+M src/lib/hash2.c
+M src/lib/hex-binary.c
+M src/lib/hex-dec.c
+M src/lib/home-expand.c
+M src/lib/hostpid.c
+M src/lib/imem.c
+M src/lib/ioloop-notify-dn.c
+M src/lib/ioloop-notify-fd.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-none.c
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+M src/lib/iostream.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-data.c
+M src/lib/istream-file.c
+M src/lib/istream-limit.c
+M src/lib/istream-mmap.c
+M src/lib/istream-seekable.c
+M src/lib/istream-tee.c
+M src/lib/istream.c
+M src/lib/lib-signals.c
+M src/lib/lib.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-system.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/mempool.c
+M src/lib/mkdir-parents.c
+M src/lib/mmap-anon.c
+M src/lib/mmap-util.c
+M src/lib/module-dir.c
+M src/lib/mountpoint.c
+M src/lib/network.c
+M src/lib/nfs-workarounds.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-file.c
+M src/lib/ostream.c
+M src/lib/printf-format-fix.c
+M src/lib/priorityq.c
+M src/lib/process-title.c
+M src/lib/randgen.c
+M src/lib/read-full.c
+M src/lib/restrict-access.c
+M src/lib/restrict-process-size.c
+M src/lib/safe-memset.c
+M src/lib/safe-mkdir.c
+M src/lib/safe-mkstemp.c
+M src/lib/sendfile-util.c
+M src/lib/seq-range-array.c
+M src/lib/str-find.c
+M src/lib/str-sanitize.c
+M src/lib/str.c
+M src/lib/strescape.c
+M src/lib/strfuncs.c
+M src/lib/strnum.c
+M src/lib/test-aqueue.c
+M src/lib/test-array.c
+M src/lib/test-base64.c
+M src/lib/test-bsearch-insert-pos.c
+M src/lib/test-buffer.c
+M src/lib/test-crc32.c
+M src/lib/test-hash-format.c
+M src/lib/test-hex-binary.c
+M src/lib/test-istream-base64-encoder.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-crlf.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-istream-tee.c
+M src/lib/test-lib.c
+M src/lib/test-llist.c
+M src/lib/test-mempool-alloconly.c
+M src/lib/test-network.c
+M src/lib/test-ostream-file.c
+M src/lib/test-primes.c
+M src/lib/test-priorityq.c
+M src/lib/test-seq-range-array.c
+M src/lib/test-str-find.c
+M src/lib/test-str-sanitize.c
+M src/lib/test-strescape.c
+M src/lib/test-strfuncs.c
+M src/lib/test-time-util.c
+M src/lib/test-utc-mktime.c
+M src/lib/test-var-expand.c
+M src/lib/time-util.c
+M src/lib/unichar.c
+M src/lib/unix-socket-create.c
+M src/lib/unlink-directory.c
+M src/lib/unlink-old-files.c
+M src/lib/utc-mktime.c
+M src/lib/utc-offset.c
+M src/lib/var-expand.c
+M src/lib/write-full.c
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/main.c
+M src/log/log-connection.c
+M src/log/log-settings.c
+M src/log/main.c
+M src/login-common/access-lookup.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/main.c
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.c
+M src/master/dup2-array.c
+M src/master/main.c
+M src/master/master-settings.c
+M src/master/service-anvil.c
+M src/master/service-listen.c
+M src/master/service-log.c
+M src/master/service-monitor.c
+M src/master/service-process-notify.c
+M src/master/service-process.c
+M src/master/service.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-plugin.c
+M src/plugins/acl/acl-shared-storage.c
+M src/plugins/acl/acl-storage.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/expire/expire-set.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/fts-squat-plugin.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-mailbox.c
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/listescape/listescape-plugin.c
+M src/plugins/mail-log/mail-log-plugin.c
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-plugin.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-plugin.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/virtual/virtual-transaction.c
+M src/plugins/zlib/doveadm-zlib.c
+M src/plugins/zlib/istream-bzlib.c
+M src/plugins/zlib/istream-zlib.c
+M src/plugins/zlib/ostream-bzlib.c
+M src/plugins/zlib/ostream-zlib.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client.c
+M src/pop3-login/pop3-login-settings.c
+M src/pop3-login/pop3-proxy.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-settings.c
+M src/ssl-params/main.c
+M src/ssl-params/ssl-params-openssl.c
+M src/ssl-params/ssl-params-settings.c
+M src/ssl-params/ssl-params.c
+M src/util/gdbhelper.c
+M src/util/maildirlock.c
+M src/util/rawlog.c
+M src/util/script-login.c
+M src/util/script.c
+M src/util/tcpwrap-settings.c
+M src/util/tcpwrap.c
+
+2011-03-04 20:53:46 +0200 Timo Sirainen <tss@iki.fi> (183bea41fa)
+
+ Updated copyright notices to include year 2011.
+
+
+M src/anvil/anvil-connection.c
+M src/anvil/anvil-settings.c
+M src/anvil/connect-limit.c
+M src/anvil/main.c
+M src/anvil/penalty.c
+M src/anvil/test-penalty.c
+M src/auth/auth-cache.c
+M src/auth/auth-client-connection.c
+M src/auth/auth-master-connection.c
+M src/auth/auth-penalty.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.c
+M src/auth/auth-settings.c
+M src/auth/auth-stream.c
+M src/auth/auth-worker-client.c
+M src/auth/auth-worker-server.c
+M src/auth/auth.c
+M src/auth/db-checkpassword.c
+M src/auth/db-ldap.c
+M src/auth/db-passwd-file.c
+M src/auth/db-sql.c
+M src/auth/main.c
+M src/auth/mech-anonymous.c
+M src/auth/mech-cram-md5.c
+M src/auth/mech-digest-md5.c
+M src/auth/mech-external.c
+M src/auth/mech-plain.c
+M src/auth/mech.c
+M src/auth/passdb-blocking.c
+M src/auth/passdb-bsdauth.c
+M src/auth/passdb-cache.c
+M src/auth/passdb-checkpassword.c
+M src/auth/passdb-ldap.c
+M src/auth/passdb-passwd-file.c
+M src/auth/passdb-passwd.c
+M src/auth/passdb-shadow.c
+M src/auth/passdb-sql.c
+M src/auth/passdb-static.c
+M src/auth/passdb-vpopmail.c
+M src/auth/passdb.c
+M src/auth/password-scheme-crypt.c
+M src/auth/password-scheme.c
+M src/auth/userdb-blocking.c
+M src/auth/userdb-checkpassword.c
+M src/auth/userdb-ldap.c
+M src/auth/userdb-nss.c
+M src/auth/userdb-passwd-file.c
+M src/auth/userdb-passwd.c
+M src/auth/userdb-prefetch.c
+M src/auth/userdb-sql.c
+M src/auth/userdb-static.c
+M src/auth/userdb-vpopmail.c
+M src/auth/userdb.c
+M src/config/config-connection.c
+M src/config/config-filter.c
+M src/config/config-parser.c
+M src/config/config-request.c
+M src/config/config-settings.c
+M src/config/doveconf.c
+M src/config/main.c
+M src/config/old-set-parser.c
+M src/config/sysinfo-get.c
+M src/dict/dict-commands.c
+M src/dict/dict-connection.c
+M src/dict/dict-settings.c
+M src/dict/main.c
+M src/director/auth-connection.c
+M src/director/director-connection.c
+M src/director/director-host.c
+M src/director/director-request.c
+M src/director/director-settings.c
+M src/director/director-test.c
+M src/director/director.c
+M src/director/doveadm-connection.c
+M src/director/login-connection.c
+M src/director/mail-host.c
+M src/director/main.c
+M src/director/notify-connection.c
+M src/director/user-directory.c
+M src/dns/dns-client-settings.c
+M src/dns/dns-client.c
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-auth.c
+M src/doveadm/doveadm-director.c
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-dump-log.c
+M src/doveadm/doveadm-dump-mailboxlog.c
+M src/doveadm/doveadm-dump-thread.c
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-kick.c
+M src/doveadm/doveadm-log.c
+M src/doveadm/doveadm-mail-altmove.c
+M src/doveadm/doveadm-mail-expunge.c
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-list-iter.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-master.c
+M src/doveadm/doveadm-mutf7.c
+M src/doveadm/doveadm-penalty.c
+M src/doveadm/doveadm-print-flow.c
+M src/doveadm/doveadm-print-pager.c
+M src/doveadm/doveadm-print-server.c
+M src/doveadm/doveadm-print-tab.c
+M src/doveadm/doveadm-print-table.c
+M src/doveadm/doveadm-print.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-sis.c
+M src/doveadm/doveadm-util.c
+M src/doveadm/doveadm-who.c
+M src/doveadm/doveadm.c
+M src/doveadm/main.c
+M src/doveadm/server-connection.c
+M src/dsync/dsync-brain-msgs-new.c
+M src/dsync/dsync-brain-msgs.c
+M src/dsync/dsync-brain.c
+M src/dsync/dsync-data.c
+M src/dsync/dsync-proxy-client.c
+M src/dsync/dsync-proxy-server-cmd.c
+M src/dsync/dsync-proxy-server.c
+M src/dsync/dsync-proxy.c
+M src/dsync/dsync-worker-local.c
+M src/dsync/dsync-worker.c
+M src/dsync/dsync.c
+M src/dsync/test-dsync-brain-msgs.c
+M src/dsync/test-dsync-brain.c
+M src/dsync/test-dsync-common.c
+M src/dsync/test-dsync-proxy-server-cmd.c
+M src/dsync/test-dsync-proxy.c
+M src/dsync/test-dsync-worker.c
+M src/imap-login/client-authenticate.c
+M src/imap-login/client.c
+M src/imap-login/imap-login-settings.c
+M src/imap-login/imap-proxy.c
+M src/imap/cmd-append.c
+M src/imap/cmd-cancelupdate.c
+M src/imap/cmd-capability.c
+M src/imap/cmd-check.c
+M src/imap/cmd-close.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-enable.c
+M src/imap/cmd-examine.c
+M src/imap/cmd-expunge.c
+M src/imap/cmd-fetch.c
+M src/imap/cmd-id.c
+M src/imap/cmd-idle.c
+M src/imap/cmd-list.c
+M src/imap/cmd-logout.c
+M src/imap/cmd-lsub.c
+M src/imap/cmd-namespace.c
+M src/imap/cmd-noop.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-search.c
+M src/imap/cmd-select.c
+M src/imap/cmd-sort.c
+M src/imap/cmd-status.c
+M src/imap/cmd-store.c
+M src/imap/cmd-subscribe.c
+M src/imap/cmd-thread.c
+M src/imap/cmd-uid.c
+M src/imap/cmd-unselect.c
+M src/imap/cmd-unsubscribe.c
+M src/imap/cmd-x-cancel.c
+M src/imap/imap-client.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands.c
+M src/imap/imap-expunge.c
+M src/imap/imap-fetch-body.c
+M src/imap/imap-fetch.c
+M src/imap/imap-search-args.c
+M src/imap/imap-search.c
+M src/imap/imap-settings.c
+M src/imap/imap-status.c
+M src/imap/imap-sync.c
+M src/imap/mail-storage-callbacks.c
+M src/imap/main.c
+M src/lda/main.c
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.c
+M src/lib-auth/auth-master.c
+M src/lib-auth/auth-server-connection.c
+M src/lib-charset/charset-iconv.c
+M src/lib-charset/charset-utf8.c
+M src/lib-dict/dict-client.c
+M src/lib-dict/dict-db.c
+M src/lib-dict/dict-file.c
+M src/lib-dict/dict-sql-settings.c
+M src/lib-dict/dict-sql.c
+M src/lib-dict/dict.c
+M src/lib-dict/test-dict.c
+M src/lib-dns/dns-lookup.c
+M src/lib-fs/fs-api.c
+M src/lib-fs/fs-posix.c
+M src/lib-fs/fs-sis-common.c
+M src/lib-fs/fs-sis-queue.c
+M src/lib-fs/fs-sis.c
+M src/lib-fs/ostream-cmp.c
+M src/lib-imap/imap-arg.c
+M src/lib-imap/imap-base-subject.c
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-date.c
+M src/lib-imap/imap-envelope.c
+M src/lib-imap/imap-id.c
+M src/lib-imap/imap-match.c
+M src/lib-imap/imap-parser.c
+M src/lib-imap/imap-quote.c
+M src/lib-imap/imap-seqset.c
+M src/lib-imap/imap-utf7.c
+M src/lib-imap/imap-util.c
+M src/lib-imap/test-imap-match.c
+M src/lib-imap/test-imap-parser.c
+M src/lib-imap/test-imap-utf7.c
+M src/lib-imap/test-imap-util.c
+M src/lib-index/mail-cache-compress.c
+M src/lib-index/mail-cache-decisions.c
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache-lookup.c
+M src/lib-index/mail-cache-sync-update.c
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-cache.c
+M src/lib-index/mail-index-alloc-cache.c
+M src/lib-index/mail-index-dummy-view.c
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-index-map-hdr.c
+M src/lib-index/mail-index-map-read.c
+M src/lib-index/mail-index-map.c
+M src/lib-index/mail-index-modseq.c
+M src/lib-index/mail-index-strmap.c
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-index/mail-index-sync-keywords.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-index-sync.c
+M src/lib-index/mail-index-transaction-export.c
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-sort-appends.c
+M src/lib-index/mail-index-transaction-update.c
+M src/lib-index/mail-index-transaction-view.c
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-util.c
+M src/lib-index/mail-index-view-sync.c
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mailbox-list-index-sync.c
+M src/lib-index/mailbox-list-index.c
+M src/lib-index/mailbox-log.c
+M src/lib-index/test-mail-index-sync-ext.c
+M src/lib-index/test-mail-index-transaction-finish.c
+M src/lib-index/test-mail-index-transaction-update.c
+M src/lib-index/test-mail-transaction-log-append.c
+M src/lib-index/test-mail-transaction-log-view.c
+M src/lib-lda/duplicate.c
+M src/lib-lda/lda-settings.c
+M src/lib-lda/lmtp-client.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-send.c
+M src/lib-lda/smtp-client.c
+M src/lib-mail/istream-dot.c
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/mbox-from.c
+M src/lib-mail/message-address.c
+M src/lib-mail/message-date.c
+M src/lib-mail/message-decoder.c
+M src/lib-mail/message-header-decode.c
+M src/lib-mail/message-header-encode.c
+M src/lib-mail/message-header-parser.c
+M src/lib-mail/message-id.c
+M src/lib-mail/message-parser.c
+M src/lib-mail/message-part-serialize.c
+M src/lib-mail/message-search.c
+M src/lib-mail/message-send.c
+M src/lib-mail/message-size.c
+M src/lib-mail/quoted-printable.c
+M src/lib-mail/rfc2231-parser.c
+M src/lib-mail/rfc822-parser.c
+M src/lib-mail/test-istream-dot.c
+M src/lib-mail/test-istream-header-filter.c
+M src/lib-mail/test-mbox-from.c
+M src/lib-mail/test-message-address.c
+M src/lib-mail/test-message-date.c
+M src/lib-mail/test-message-decoder.c
+M src/lib-mail/test-message-header-decode.c
+M src/lib-mail/test-message-header-encode.c
+M src/lib-mail/test-message-header-parser.c
+M src/lib-mail/test-message-id.c
+M src/lib-mail/test-message-parser.c
+M src/lib-mail/test-quoted-printable.c
+M src/lib-mail/test-rfc2231-parser.c
+M src/lib-master/anvil-client.c
+M src/lib-master/master-auth.c
+M src/lib-master/master-login-auth.c
+M src/lib-master/master-login.c
+M src/lib-master/master-service-settings-cache.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service.c
+M src/lib-master/syslog-util.c
+M src/lib-settings/settings-parser.c
+M src/lib-settings/settings.c
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api.c
+M src/lib-sql/sql-db-cache.c
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/cydir/cydir-save.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/cydir/cydir-sync.c
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/dbox-common/dbox-file-fix.c
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-sync-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/index-fetch.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mailbox-check.c
+M src/lib-storage/index/index-search-result.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort-string.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-sync-changes.c
+M src/lib-storage/index/index-sync-search.c
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/index-thread-finish.c
+M src/lib-storage/index/index-thread-links.c
+M src/lib-storage/index/index-thread.c
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/istream-attachment.c
+M src/lib-storage/index/istream-mail-stats.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-filename.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-settings.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/istream-raw-mbox.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-md5.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-settings.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync-parse.c
+M src/lib-storage/index/mbox/mbox-sync-rewrite.c
+M src/lib-storage/index/mbox/mbox-sync-update.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/raw/raw-sync.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/index/test-index-fetch.c
+M src/lib-storage/list/index-mailbox-list-sync.c
+M src/lib-storage/list/index-mailbox-list.c
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-fs-flags.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-error.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-search-build.c
+M src/lib-storage/mail-search-parser-cmdline.c
+M src/lib-storage/mail-search-parser-imap.c
+M src/lib-storage/mail-search-parser.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-search-register.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-storage-hooks.c
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-thread.c
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-search-result.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-uidvalidity.c
+M src/lib-storage/test-mail-storage.c
+M src/lib-storage/test-mail.c
+M src/lib-storage/test-mailbox.c
+M src/lib-test/test-common.c
+M src/lib/abspath.c
+M src/lib/aqueue.c
+M src/lib/array.c
+M src/lib/askpass.c
+M src/lib/backtrace-string.c
+M src/lib/base64.c
+M src/lib/bsearch-insert-pos.c
+M src/lib/buffer.c
+M src/lib/child-wait.c
+M src/lib/close-keep-errno.c
+M src/lib/compat.c
+M src/lib/crc32.c
+M src/lib/data-stack.c
+M src/lib/eacces-error.c
+M src/lib/env-util.c
+M src/lib/execv-const.c
+M src/lib/failures.c
+M src/lib/fd-close-on-exec.c
+M src/lib/fd-set-nonblock.c
+M src/lib/fdatasync-path.c
+M src/lib/fdpass.c
+M src/lib/file-cache.c
+M src/lib/file-copy.c
+M src/lib/file-dotlock.c
+M src/lib/file-lock.c
+M src/lib/file-set-size.c
+M src/lib/hash-format.c
+M src/lib/hash-method.c
+M src/lib/hash.c
+M src/lib/hash2.c
+M src/lib/hex-binary.c
+M src/lib/hex-dec.c
+M src/lib/home-expand.c
+M src/lib/hostpid.c
+M src/lib/imem.c
+M src/lib/ioloop-notify-dn.c
+M src/lib/ioloop-notify-fd.c
+M src/lib/ioloop-notify-inotify.c
+M src/lib/ioloop-notify-none.c
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+M src/lib/iostream.c
+M src/lib/istream-base64-encoder.c
+M src/lib/istream-concat.c
+M src/lib/istream-crlf.c
+M src/lib/istream-data.c
+M src/lib/istream-file.c
+M src/lib/istream-limit.c
+M src/lib/istream-mmap.c
+M src/lib/istream-seekable.c
+M src/lib/istream-tee.c
+M src/lib/istream.c
+M src/lib/lib-signals.c
+M src/lib/lib.c
+M src/lib/mempool-alloconly.c
+M src/lib/mempool-datastack.c
+M src/lib/mempool-system.c
+M src/lib/mempool-unsafe-datastack.c
+M src/lib/mempool.c
+M src/lib/mkdir-parents.c
+M src/lib/mmap-anon.c
+M src/lib/mmap-util.c
+M src/lib/module-dir.c
+M src/lib/mountpoint.c
+M src/lib/network.c
+M src/lib/nfs-workarounds.c
+M src/lib/ostream-buffer.c
+M src/lib/ostream-file.c
+M src/lib/ostream.c
+M src/lib/printf-format-fix.c
+M src/lib/priorityq.c
+M src/lib/process-title.c
+M src/lib/randgen.c
+M src/lib/read-full.c
+M src/lib/restrict-access.c
+M src/lib/restrict-process-size.c
+M src/lib/safe-memset.c
+M src/lib/safe-mkdir.c
+M src/lib/safe-mkstemp.c
+M src/lib/sendfile-util.c
+M src/lib/seq-range-array.c
+M src/lib/str-find.c
+M src/lib/str-sanitize.c
+M src/lib/str.c
+M src/lib/strescape.c
+M src/lib/strfuncs.c
+M src/lib/strnum.c
+M src/lib/test-aqueue.c
+M src/lib/test-array.c
+M src/lib/test-base64.c
+M src/lib/test-bsearch-insert-pos.c
+M src/lib/test-buffer.c
+M src/lib/test-crc32.c
+M src/lib/test-hash-format.c
+M src/lib/test-hex-binary.c
+M src/lib/test-istream-base64-encoder.c
+M src/lib/test-istream-concat.c
+M src/lib/test-istream-crlf.c
+M src/lib/test-istream-seekable.c
+M src/lib/test-istream-tee.c
+M src/lib/test-lib.c
+M src/lib/test-llist.c
+M src/lib/test-mempool-alloconly.c
+M src/lib/test-network.c
+M src/lib/test-ostream-file.c
+M src/lib/test-primes.c
+M src/lib/test-priorityq.c
+M src/lib/test-seq-range-array.c
+M src/lib/test-str-find.c
+M src/lib/test-str-sanitize.c
+M src/lib/test-strescape.c
+M src/lib/test-strfuncs.c
+M src/lib/test-time-util.c
+M src/lib/test-utc-mktime.c
+M src/lib/test-var-expand.c
+M src/lib/time-util.c
+M src/lib/unichar.c
+M src/lib/unix-socket-create.c
+M src/lib/unlink-directory.c
+M src/lib/unlink-old-files.c
+M src/lib/utc-mktime.c
+M src/lib/utc-offset.c
+M src/lib/var-expand.c
+M src/lib/write-full.c
+M src/lmtp/client.c
+M src/lmtp/commands.c
+M src/lmtp/lmtp-proxy.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/main.c
+M src/log/log-connection.c
+M src/log/log-settings.c
+M src/log/main.c
+M src/login-common/access-lookup.c
+M src/login-common/client-common-auth.c
+M src/login-common/client-common.c
+M src/login-common/login-proxy-state.c
+M src/login-common/login-proxy.c
+M src/login-common/login-settings.c
+M src/login-common/main.c
+M src/login-common/sasl-server.c
+M src/login-common/ssl-proxy-gnutls.c
+M src/login-common/ssl-proxy-openssl.c
+M src/login-common/ssl-proxy.c
+M src/master/dup2-array.c
+M src/master/main.c
+M src/master/master-settings.c
+M src/master/service-anvil.c
+M src/master/service-listen.c
+M src/master/service-log.c
+M src/master/service-monitor.c
+M src/master/service-process-notify.c
+M src/master/service-process.c
+M src/master/service.c
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/acl/acl-cache.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/acl/acl-plugin.c
+M src/plugins/acl/acl-shared-storage.c
+M src/plugins/acl/acl-storage.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/expire/doveadm-expire.c
+M src/plugins/expire/expire-plugin.c
+M src/plugins/expire/expire-set.c
+M src/plugins/fts-lucene/fts-backend-lucene.c
+M src/plugins/fts-lucene/fts-lucene-plugin.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-solr/fts-solr-plugin.c
+M src/plugins/fts-solr/solr-connection.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts-squat/fts-squat-plugin.c
+M src/plugins/fts-squat/squat-test.c
+M src/plugins/fts-squat/squat-trie.c
+M src/plugins/fts-squat/squat-uidlist.c
+M src/plugins/fts/fts-api.c
+M src/plugins/fts/fts-plugin.c
+M src/plugins/fts/fts-search.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/listescape/listescape-plugin.c
+M src/plugins/mail-log/mail-log-plugin.c
+M src/plugins/quota/doveadm-quota.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-dict.c
+M src/plugins/quota/quota-dirsize.c
+M src/plugins/quota/quota-fs.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-plugin.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-plugin.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-search.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/virtual/virtual-transaction.c
+M src/plugins/zlib/doveadm-zlib.c
+M src/plugins/zlib/istream-bzlib.c
+M src/plugins/zlib/istream-zlib.c
+M src/plugins/zlib/ostream-bzlib.c
+M src/plugins/zlib/ostream-zlib.c
+M src/plugins/zlib/zlib-plugin.c
+M src/pop3-login/client-authenticate.c
+M src/pop3-login/client.c
+M src/pop3-login/pop3-login-settings.c
+M src/pop3-login/pop3-proxy.c
+M src/pop3/main.c
+M src/pop3/pop3-client.c
+M src/pop3/pop3-commands.c
+M src/pop3/pop3-settings.c
+M src/ssl-params/main.c
+M src/ssl-params/ssl-params-openssl.c
+M src/ssl-params/ssl-params-settings.c
+M src/ssl-params/ssl-params.c
+M src/util/gdbhelper.c
+M src/util/listview.c
+M src/util/maildirlock.c
+M src/util/rawlog.c
+M src/util/script-login.c
+M src/util/script.c
+M src/util/tcpwrap-settings.c
+M src/util/tcpwrap.c
+
+2011-03-04 20:46:41 +0200 Timo Sirainen <tss@iki.fi> (ea2a42503a)
+
+ lib-master: Added reconnection timeout to anvil client. Previously if anvil
+ kept disconnecting, the client was rapidly flooding the logs with errors.
+
+
+M src/lib-master/anvil-client.c
+
+2011-03-04 20:45:17 +0200 Timo Sirainen <tss@iki.fi> (698a43982d)
+
+ master: Allow protocols value to be empty (= same as "none")
+
+
+M src/master/master-settings.c
+
+2011-03-04 20:37:03 +0200 Timo Sirainen <tss@iki.fi> (29f32cdcf4)
+
+ master: Use per-services_list "master is dead" fd, so services know when
+ config is reload.
+
+
+M src/master/common.h
+M src/master/main.c
+M src/master/service-monitor.c
+M src/master/service-process.c
+M src/master/service.c
+M src/master/service.h
+
+2011-03-04 20:01:03 +0200 Timo Sirainen <tss@iki.fi> (b825078c31)
+
+ master: Memory leak fix if services couldn't be initialized. (On config
+ reload.)
+
+
+M src/master/service.c
+
+2011-03-04 19:51:44 +0200 Timo Sirainen <tss@iki.fi> (2a70702978)
+
+ lib-sql: When adding more connections to sql pool, connect to them
+ immediately.
+
+
+M src/lib-sql/driver-sqlpool.c
+
+2011-03-04 19:51:06 +0200 Timo Sirainen <tss@iki.fi> (294c71436d)
+
+ pgsql: Don't assert-crash if query fails when trying to send it.
+
+
+M src/lib-sql/driver-pgsql.c
+
+2011-03-04 19:33:52 +0200 Timo Sirainen <tss@iki.fi> (554c1c792d)
+
+ pgsql: If host isn't given, don't show pgsql((null)) as log prefix (or
+ crash).
+
+
+M src/lib-sql/driver-pgsql.c
+
+2011-03-04 19:07:31 +0200 Timo Sirainen <tss@iki.fi> (515ec47755)
+
+ example-config: Added import_environment.
+
+
+M doc/example-config/dovecot.conf
+
+2011-03-04 18:52:17 +0200 Timo Sirainen <tss@iki.fi> (5e992fca77)
+
+ login: Skip auth penalty checks from IPs in login_trusted_networks.
+
+
+M src/login-common/sasl-server.c
+
+2011-03-04 18:51:46 +0200 Timo Sirainen <tss@iki.fi> (d8702d15ee)
+
+ auth: Allow clients to specify that they want to skip auth penalty check.
+ This is "safe", because the clients specify the IP for the penalty check
+ anyway.
+
+
+M src/auth/auth-penalty.c
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/lib-auth/auth-client-request.c
+M src/lib-auth/auth-client.h
+
+2011-03-04 18:32:09 +0200 Timo Sirainen <tss@iki.fi> (f67059a0fb)
+
+ virtual: Allow search rule continuation lines to begin with tab as well as
+ space.
+
+
+M src/plugins/virtual/virtual-config.c
+
+2011-03-04 18:32:09 +0200 Timo Sirainen <tss@iki.fi> (ebc7480f2d)
+
+ virtual: Allow search rule continuation lines to begin with tab as well as
+ space.
+
+
+M src/plugins/virtual/virtual-config.c
+
+2011-03-04 18:31:02 +0200 Timo Sirainen <tss@iki.fi> (5000d15a4d)
+
+ lib-imap: imap_parser_finish_line() didn't return failure on invalid input.
+
+
+M src/lib-imap/imap-parser.c
+
+2011-03-04 18:31:02 +0200 Timo Sirainen <tss@iki.fi> (1f0d01bc0b)
+
+ lib-imap: imap_parser_finish_line() didn't return failure on invalid input.
+
+
+M src/lib-imap/imap-parser.c
+
+2011-03-04 18:20:38 +0200 Timo Sirainen <tss@iki.fi> (7baab0b0b6)
+
+ sdbox: Fixed creating mailbox with given GUID.
+
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2011-03-04 18:19:56 +0200 Timo Sirainen <tss@iki.fi> (1c288c40f4)
+
+ sdbox: Fixed creating mailbox with given GUID.
+
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2011-03-04 18:09:01 +0200 Timo Sirainen <tss@iki.fi> (6bd9ffc5d7)
+
+ doveadm acl debug: If any errors are noticed, fix them.
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2011-03-04 18:09:01 +0200 Timo Sirainen <tss@iki.fi> (26a0113bb4)
+
+ doveadm acl debug: If any errors are noticed, fix them.
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2011-03-04 18:08:30 +0200 Timo Sirainen <tss@iki.fi> (579e70631b)
+
+ acl: Added acl_backend_nonowner_lookups_rebuild()
+
+
+M src/plugins/acl/acl-api-private.h
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-api.h
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend-vfile.h
+
+2011-03-04 18:08:30 +0200 Timo Sirainen <tss@iki.fi> (83ecd8be84)
+
+ acl: Added acl_backend_nonowner_lookups_rebuild()
+
+
+M src/plugins/acl/acl-api-private.h
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-api.h
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend-vfile.h
+
+2011-03-04 17:57:29 +0200 Timo Sirainen <tss@iki.fi> (7b39597853)
+
+ doveadm acl debug: Compile fix for earlier change.
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2011-03-04 17:56:11 +0200 Timo Sirainen <tss@iki.fi> (7ce0510a53)
+
+ doveadm: Added acl delete command.
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2011-03-04 17:56:11 +0200 Timo Sirainen <tss@iki.fi> (3aa600b846)
+
+ doveadm: Added acl delete command.
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2011-03-04 17:51:46 +0200 Timo Sirainen <tss@iki.fi> (8962fb60b5)
+
+ doveadm acl debug: Show also if mailbox has private flags.
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2011-03-04 17:51:46 +0200 Timo Sirainen <tss@iki.fi> (facd0971af)
+
+ doveadm acl debug: Show also if mailbox has private flags.
+
+
+M src/plugins/acl/doveadm-acl.c
+
+2011-03-04 03:22:45 +0200 Timo Sirainen <tss@iki.fi> (fe25191fe9)
+
+ acl: Added doveadm plugin supporting acl get/set/rights/debug commands.
+
+
+M src/plugins/acl/Makefile.am
+M src/plugins/acl/acl-api-private.h
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-lookup-dict.h
+A src/plugins/acl/doveadm-acl.c
+
+2011-03-04 03:16:51 +0200 Timo Sirainen <tss@iki.fi> (08968b2593)
+
+ lib-storage: Fixed accessing shared mailboxes.
+
+
+M src/lib-storage/index/shared/shared-list.c
+
+2011-03-04 03:16:25 +0200 Timo Sirainen <tss@iki.fi> (44fea1d434)
+
+ lib-storage: MAIL_STORAGE_SERVICE_FLAG_DEBUG didn't do anything.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-03-04 03:16:15 +0200 Timo Sirainen <tss@iki.fi> (7a330e74e5)
+
+ lib-storage: MAIL_STORAGE_SERVICE_FLAG_DEBUG didn't do anything.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-03-04 03:03:26 +0200 Timo Sirainen <tss@iki.fi> (7c598f3842)
+
+ acl: Added doveadm acl debug command.
+
+
+M src/plugins/acl/acl-lookup-dict.c
+M src/plugins/acl/acl-lookup-dict.h
+M src/plugins/acl/doveadm-acl.c
+
+2011-03-04 02:51:18 +0200 Timo Sirainen <tss@iki.fi> (78eb65ce3b)
+
+ acl: Fixed crash when acl_lookup_dict was disabled and user belonged to
+ groups.
+
+
+M src/plugins/acl/acl-lookup-dict.c
+
+2011-03-04 02:50:47 +0200 Timo Sirainen <tss@iki.fi> (fdf03f944a)
+
+ acl: Fixed crash when acl_lookup_dict was disabled and user belonged to
+ groups.
+
+
+M src/plugins/acl/acl-lookup-dict.c
+
+2011-03-04 02:13:26 +0200 Timo Sirainen <tss@iki.fi> (7d8afd1e15)
+
+ acl: Added doveadm plugin supporting acl get/set/rights commands.
+
+
+M src/plugins/acl/Makefile.am
+M src/plugins/acl/acl-api-private.h
+M src/plugins/acl/acl-api.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+A src/plugins/acl/doveadm-acl.c
+
+2011-03-02 15:52:10 +0200 Timo Sirainen <tss@iki.fi> (27caac427c)
+
+ mdbox purge: Fixes to handling corrupted mdbox files.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+
+2011-03-02 15:51:28 +0200 Timo Sirainen <tss@iki.fi> (57f4bbb1e8)
+
+ mdbox: Storage rebuilding may have skipped over messages if the file was
+ already at EOF. Probably didn't happen except when purging noticed
+ corruption and triggered index rebuild.
+
+
+M src/lib-storage/index/dbox-common/dbox-file.c
+
+2011-03-02 14:57:58 +0200 Timo Sirainen <tss@iki.fi> (5fbf8719b9)
+
+ mysql/pgsql: Log prefixes now contain also the hostname. This is useful when
+ there are multiple hosts in use.
+
+
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+
+2011-02-28 19:52:10 +0200 Timo Sirainen <tss@iki.fi> (9b0c832da6)
+
+ lib-charset: Skip over only invalid characters, not entire buffers around
+ them.
+
+
+M src/lib-charset/charset-iconv.c
+
+2011-02-28 19:20:00 +0200 Timo Sirainen <tss@iki.fi> (db654c757e)
+
+ doveadm import: Fixed potential memory corruption.
+
+
+M src/doveadm/doveadm-mail-import.c
+
+2011-02-28 18:57:21 +0200 Timo Sirainen <tss@iki.fi> (2f414d71a0)
+
+ doveadm: Unload plugins only after calling command's deinit() function. This
+ fixes a crash on deinit when using a plugin that hooks into user.deinit().
+
+
+M src/doveadm/doveadm-mail.c
+
+2011-02-28 17:50:41 +0200 Timo Sirainen <tss@iki.fi> (218153e0aa)
+
+ doveadm: Memory leak fix.
+
+
+M src/doveadm/doveadm-mail.c
+
+2011-02-28 17:34:24 +0200 Timo Sirainen <tss@iki.fi> (3dadeec1ce)
+
+ auth: Log a warning if ldap attribute has unexpectedly multiple values.
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+M src/auth/db-ldap.c
+M src/auth/db-ldap.h
+M src/auth/passdb-ldap.c
+M src/auth/userdb-ldap.c
+
+2011-02-28 16:34:04 +0200 Timo Sirainen <tss@iki.fi> (fafe153465)
+
+ lib-storage: Crashfix on thread handling.
+
+
+M src/lib-storage/index/index-thread.c
+
+2011-02-28 16:33:50 +0200 Timo Sirainen <tss@iki.fi> (29371e68ad)
+
+ imapc: Use multiple client connections when necessary. Some other fixes.
+
+
+M src/lib-storage/index/imapc/imapc-client-private.h
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-connection.h
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-02-28 16:03:40 +0200 Timo Sirainen <tss@iki.fi> (b2be59051b)
+
+ lib-storage: Failures when building thread index were hidden.
+
+
+M src/lib-storage/index/index-thread.c
+
+2011-02-28 13:13:38 +0200 Timo Sirainen <tss@iki.fi> (7b8d53b468)
+
+ imapc: Fixed sending large streams in commands (APPEND)
+
+
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-02-25 10:55:34 +0200 Timo Sirainen <tss@iki.fi> (c3a0b433aa)
+
+ lib-index: If keyword is added and remove within transaction, don't write a
+ broken keyword update. This could have caused "No UID ranges (type=0x400)"
+ errors.
+
+
+M src/lib-index/mail-index-transaction-export.c
+
+2011-02-24 17:06:41 +0200 Timo Sirainen <tss@iki.fi> (9106fd92e2)
+
+ imapc: Don't try to wait for FETCH to return messages that are known to be
+ expunged.
+
+
+M src/lib-storage/index/imapc/imapc-search.c
+
+2011-02-24 15:37:22 +0200 Timo Sirainen <tss@iki.fi> (92927ceff9)
+
+ imapc: Fixes to handling FETCH commands.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-search.c
+
+2011-02-24 15:17:47 +0200 Timo Sirainen <tss@iki.fi> (df48643c3c)
+
+ imapc: Many fixes related to syncing and error handling.
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-connection.h
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-seqmap.c
+M src/lib-storage/index/imapc/imapc-seqmap.h
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/imapc/imapc-sync.h
+
+2011-02-24 13:19:05 +0200 Timo Sirainen <tss@iki.fi> (1727610dbc)
+
+ lib-index: Give better assert-crashes if view or log view isn't closed.
+ Earlier it should have also assert-crashed with "log->files == NULL", which
+ didn't make it clear enough why the files aren't NULL.
+
+
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-view.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-view.c
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/mail-transaction-log.h
+
+2011-02-24 12:57:31 +0200 Timo Sirainen <tss@iki.fi> (ad99e7b93f)
+
+ ioloop: Memory leak fix.
+
+
+M src/lib/ioloop.c
+
+2011-02-24 11:27:42 +0200 Timo Sirainen <tss@iki.fi> (18aeafbbc2)
+
+ imapc: Fixed crashing in IDLE handling when server got disconnected.
+
+
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-02-24 11:26:27 +0200 Timo Sirainen <tss@iki.fi> (d2470b3dfe)
+
+ Avoid unnecessary data stack leaks.
+
+
+M src/imap/imap-sync.c
+M src/lib-index/mail-index-transaction.c
+M src/lib/process-title.c
+
+2011-02-24 11:02:29 +0200 Timo Sirainen <tss@iki.fi> (fad068d459)
+
+ lib-index: If keyword is added and remove within transaction, don't write a
+ broken keyword update. This could have caused "No UID ranges (type=0x400)"
+ errors.
+
+
+M src/lib-index/mail-index-transaction-export.c
+
+2011-02-22 15:49:14 +0200 Timo Sirainen <tss@iki.fi> (40b9f641a1)
+
+ NEWS updated with initial list of new features.
+
+
+M NEWS
+
+2011-02-22 15:49:04 +0200 Timo Sirainen <tss@iki.fi> (e686128093)
+
+ TODO updated
+
+
+M TODO
+
+2011-02-22 15:44:42 +0200 Timo Sirainen <tss@iki.fi> (a37c2c1ad6)
+
+ config: Fixed converting old auth/mail_process_size settings.
+
+
+M src/config/old-set-parser.c
+
+2011-02-22 15:31:31 +0200 Timo Sirainen <tss@iki.fi> (072f06b60d)
+
+ Merged changes from v2.0 tree.
+
+
+2011-02-22 15:02:23 +0200 Timo Sirainen <tss@iki.fi> (6851806b0d)
+
+ config: Previous commit allows removing "0" from strlist/0/key=value output.
+
+
+M src/config/config-request.c
+
+2011-02-22 15:00:37 +0200 Timo Sirainen <tss@iki.fi> (c155262418)
+
+ lib-settings: Fixed setting "strlist/key=value" when strlist hadn't been
+ initialized yet. This happened when using -O parameter.
+
+
+M src/lib-settings/settings-parser.c
+
+2011-02-22 13:57:20 +0200 Timo Sirainen <tss@iki.fi> (d7ec9b4918)
+
+ lib-lda: Added submission_host setting to send mails via SMTP instead of
+ sendmail.
+
+
+M doc/example-config/conf.d/15-lda.conf
+M src/lib-lda/lda-settings.c
+M src/lib-lda/lda-settings.h
+M src/lib-lda/smtp-client.c
+
+2011-02-22 11:59:57 +0200 Timo Sirainen <tss@iki.fi> (d8f73a44fc)
+
+ imap: Fixed infinite loop / memory eating with SEARCHRES + pipelining $. If
+ SEARCH RETURN (SAVE) command was running long enough so that Dovecot started
+ executing the next command, and if that command used $ in messageset,
+ Dovecot went into infinite function recursion.
+
+
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+
+2011-02-22 11:14:31 +0200 Mike Kazantsev (sacrilege) <mk.fraggod@gmail.com> (9f1461d909)
+
+ systemd service: added [Install] section, so it can be used independently
+ from dovecot.socket
+
+
+M dovecot.service.in
+
+2011-02-22 11:04:55 +0200 Timo Sirainen <tss@iki.fi> (88339cce70)
+
+ doveadm expire: Added more error and debug messages.
+
+
+M src/plugins/expire/doveadm-expire.c
+
+2011-02-22 10:43:28 +0200 Timo Sirainen <tss@iki.fi> (f0b3362161)
+
+ doveadm import: Settings weren't correctly used for the import storage. For
+ example plugins weren't loaded, causing problems with zlib compressed
+ messages.
+
+
+M src/doveadm/doveadm-mail-import.c
+
+2011-02-22 10:21:26 +0200 Timo Sirainen <tss@iki.fi> (6f0bb992c9)
+
+ lib-index: Verify that expunge-guid records have valid UID.
+
+
+M src/lib-index/mail-transaction-log-view.c
+
+2011-02-19 16:56:21 +0200 Timo Sirainen <tss@iki.fi> (b9fdd5b3c4)
+
+ Fixed compiling with configure --with-storages when imapc wasn't listed.
+
+
+M configure.in
+M src/lib-storage/register/Makefile.am
+
+2011-02-19 16:46:14 +0200 Timo Sirainen <tss@iki.fi> (a5c81d77e6)
+
+ fs layout: Fixed crash on listing % when namespace had a prefix.
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-02-19 16:42:45 +0200 Timo Sirainen <tss@iki.fi> (97dc3902e9)
+
+ imapc: Added more debugging output with mail_debug=yes
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-02-18 05:56:38 +0200 Timo Sirainen <tss@iki.fi> (ebc49d9236)
+
+ Compiler warning fix.
+
+
+M src/plugins/zlib/doveadm-zlib.c
+
+2011-02-18 05:55:34 +0200 Timo Sirainen <tss@iki.fi> (296857bde8)
+
+ Added uni_utf8_data_is_valid().
+
+
+M src/lib/unichar.c
+M src/lib/unichar.h
+
+2011-02-17 18:02:45 +0200 Timo Sirainen <tss@iki.fi> (c2d29d9a1b)
+
+ Makefile: Added missing imapc-client*.h
+
+
+M src/lib-storage/index/imapc/Makefile.am
+
+2011-02-17 15:30:46 +0000 Pascal Volk <user@localhost.localdomain.org> (656393f254)
+
+ man: Storage quota values are reported in kilobytes.
+
+
+M doc/man/doveadm-quota.1.in
+
+2011-02-17 10:57:05 +0200 Timo Sirainen <tss@iki.fi> (e2c9c32cba)
+
+ dsync: Flush workers' output earlier when saving messages.
+
+
+M src/dsync/dsync-brain-msgs-new.c
+
+2011-02-17 10:55:38 +0200 Timo Sirainen <tss@iki.fi> (aa7b953450)
+
+ dsync: Error handling fix to "proxy client timed out".
+
+
+M src/dsync/dsync-proxy-client.c
+
+2011-02-17 10:55:07 +0200 Timo Sirainen <tss@iki.fi> (69c1f045d0)
+
+ dsync: Fixed somewhat random failures with saving messages to remote dsync.
+
+
+M src/dsync/dsync-proxy-client.c
+
+2011-02-17 09:54:26 +0200 Timo Sirainen <tss@iki.fi> (647a011768)
+
+ dbox index rebuild: If alt dir isn't mounted (can't be mkdir()ed), abort
+ rebuild.
+
+
+M src/lib-storage/index/dbox-common/dbox-sync-rebuild.c
+M src/lib-storage/index/dbox-common/dbox-sync-rebuild.h
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+
+2011-02-17 09:32:35 +0200 Timo Sirainen <tss@iki.fi> (b22f7b9ba8)
+
+ dbox: Check that attachment extref parts won't point outside message.
+
+
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+
+2011-02-17 09:28:55 +0200 Timo Sirainen <tss@iki.fi> (843197a6b5)
+
+ istream-limit: Allow seeking past limit without assert-crashing. The next
+ read() will simply return EOF.
+
+
+M src/lib/istream-limit.c
+
+2011-02-17 09:01:38 +0200 Timo Sirainen <tss@iki.fi> (04b732360f)
+
+ example-config: mail_max_userip_connections default is 10, even for pop3. 3
+ would probably be better, but there's no way to set per-protocol defaults
+ currently.
+
+
+M doc/example-config/conf.d/20-pop3.conf
+
+2011-02-17 08:58:43 +0200 Timo Sirainen <tss@iki.fi> (6df2db16b3)
+
+ pgsql: Added assert.
+
+
+M src/lib-sql/driver-pgsql.c
+
+2011-02-17 08:41:46 +0200 Timo Sirainen <tss@iki.fi> (f119596e34)
+
+ pgsql: Don't assert-crash on "query timed out" error.
+
+
+M src/lib-sql/driver-pgsql.c
+
+2011-02-17 08:29:47 +0200 Timo Sirainen <tss@iki.fi> (874766f940)
+
+ lib-storage: Fixed renaming mailboxes in a non-private namespace.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-02-17 08:12:21 +0200 Timo Sirainen <tss@iki.fi> (fcd443a32b)
+
+ lmtp: Don't forget LHLO host when sending multiple messages in session.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+
+2011-02-17 07:45:30 +0200 Timo Sirainen <tss@iki.fi> (847112173a)
+
+ imapc: When local IDLE is started, force remote server to first check
+ changes with NOOP. This is makes clicking Thunderbird's "get mail" button to
+ check for new mails with servers that don't notify about them immediately
+ after they arrive.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-02-12 06:06:32 +0200 Timo Sirainen <tss@iki.fi> (31277bf6e9)
+
+ imapc: Mailbox listing code works now perfectly.
+
+
+M src/lib-storage/index/imapc/Makefile.am
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+
+2011-02-12 06:05:40 +0200 Timo Sirainen <tss@iki.fi> (a0cda1ea5c)
+
+ lib-storage: Fixes to mailbox_list_iter_update()
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-02-12 06:05:07 +0200 Timo Sirainen <tss@iki.fi> (688d869f34)
+
+ lib-storage: mailbox_list_mailbox() should have replaced info flags, not
+ updated them. Many callers didn't have the flags cleared before calling it.
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-02-12 01:29:20 +0200 Timo Sirainen <tss@iki.fi> (c2839134aa)
+
+ lib-storage: Added mailbox_tree_set_separator()
+
+
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-tree.h
+
+2011-02-12 01:09:10 +0200 Timo Sirainen <tss@iki.fi> (45baf5d8e8)
+
+ lib-storage: Minor code cleanup.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+
+2011-02-12 05:32:25 +0200 Timo Sirainen <tss@iki.fi> (9b2bbd8907)
+
+ lib-storage: When listing subscriptions, make sure children flags are
+ returned if requested.
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+
+2011-02-12 05:31:32 +0200 Timo Sirainen <tss@iki.fi> (c4529ff75e)
+
+ printf_format_fix*() assert-crashed if the format ended with "%%".
+
+
+M src/lib/printf-format-fix.c
+
+2011-02-12 05:17:12 +0200 Timo Sirainen <tss@iki.fi> (047e3bbb00)
+
+ lib-storage: layout=fs now uses mailbox_exists() instead of requiring
+ storage hooks.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/plugins/virtual/virtual-storage.c
+
+2011-02-12 05:12:36 +0200 Timo Sirainen <tss@iki.fi> (68d98139f8)
+
+ lib-storage: mailbox_create() failed if it was done to \noselect mailbox.
+
+
+M src/lib-storage/mail-storage.c
+
+2011-02-12 04:59:44 +0200 Timo Sirainen <tss@iki.fi> (c8db5bcaa2)
+
+ lib-storage: mailbox_list_index setting meaning was reversed.
+
+
+M src/lib-storage/list/index-mailbox-list.c
+
+2011-02-12 04:50:03 +0200 Timo Sirainen <tss@iki.fi> (c292166379)
+
+ lib-storage: mailbox_exists() can now return if it's selectable or
+ non-selectable.
+
+
+M src/imap/cmd-subscribe.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/test-mailbox.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/autocreate/autocreate-plugin.c
+
+2011-02-12 00:48:47 +0200 Timo Sirainen <tss@iki.fi> (4ba962c3e7)
+
+ 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.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/mailbox-list-subscriptions.h
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+
+2011-02-12 00:38:09 +0200 Timo Sirainen <tss@iki.fi> (c563c72e16)
+
+ lib-storage: Mailbox list indexes are now enabled also for in-memory
+ indexes.
+
+
+M src/lib-storage/list/index-mailbox-list.c
+
+2011-02-12 00:16:06 +0200 Timo Sirainen <tss@iki.fi> (4b2e3b39bc)
+
+ 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.
+
+
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+
+2011-02-12 00:15:04 +0200 Timo Sirainen <tss@iki.fi> (73408e56e7)
+
+ lib-storage: Crashfix to removing deleted mailboxes from mailbox list index.
+
+
+M src/lib-storage/list/index-mailbox-list.c
+
+2011-02-12 00:02:02 +0200 Timo Sirainen <tss@iki.fi> (d06c46087e)
+
+ lib-storage: When creating a new mailbox, get permissions from its parent
+ mailbox, not root.
+
+
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/mailbox-list.c
+
+2011-02-11 23:44:39 +0200 Timo Sirainen <tss@iki.fi> (44aef64971)
+
+ auth: If username contains invalid chars, log sanitized username even
+ without auth_debug.
+
+
+M src/auth/auth-request.c
+
+2011-02-11 23:35:52 +0200 Timo Sirainen <tss@iki.fi> (1be788012c)
+
+ doveadm: Previous mailbox create -s fix broke -A/-u parameters. Fixed now
+ properly the root cause: -S parameter was handled as -s by getopt.
+
+
+M src/doveadm/doveadm-mail.c
+
+2011-02-10 14:58:43 +0100 Dennis Schridde <devurandom@gmx.net> (10823ce2f3)
+
+ Put modulename in quotes when complaining about its non-existence
+
+
+M src/lib/module-dir.c
+
+2011-02-10 03:03:28 +0200 Timo Sirainen <tss@iki.fi> (303afe90f2)
+
+ master: Change stderr to /dev/null just before forking.
+
+
+M src/master/main.c
+
+2011-02-10 02:51:22 +0200 Timo Sirainen <tss@iki.fi> (33a8963217)
+
+ istream-header-filter: Fixes handling HEADER_FILTER_END_BODY_WITH_LF
+ correctly.
+
+
+M src/lib-mail/istream-header-filter.c
+
+2011-02-10 02:21:03 +0200 Timo Sirainen <tss@iki.fi> (87a861a8c4)
+
+ Maildir++: Fixed crash when listing subscriptions for a subscriptions=no
+ namespace from LAYOUT=fs namespace.
+
+
+M src/lib-storage/list/mailbox-list-maildir.c
+
+2011-02-10 01:54:26 +0200 Timo Sirainen <tss@iki.fi> (d5eb47a791)
+
+ 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.
+
+
+M src/doveadm/doveadm.c
+M src/lib-lda/smtp-client.c
+M src/lib-master/master-interface.h
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+M src/lib-storage/mail-storage-service.c
+M src/master/main.c
+M src/master/master-settings.c
+M src/master/master-settings.h
+M src/master/service-process.c
+M src/master/service.c
+M src/master/service.h
+
+2011-02-10 00:45:51 +0200 Timo Sirainen <tss@iki.fi> (76ed4f853c)
+
+ doveadm: Fixed giving parameters to mail commands.
+
+
+M src/doveadm/doveadm-mail.c
+
+2011-02-09 02:26:44 +0200 Timo Sirainen <tss@iki.fi> (461fecc688)
+
+ lib-storage: Use RECENT count in mailbox list index to set \Marked and
+ \UnMarked LIST flag.
+
+
+M src/lib-storage/list/index-mailbox-list-status.c
+M src/lib-storage/list/index-mailbox-list.c
+M src/lib-storage/list/index-mailbox-list.h
+
+2011-02-09 02:25:47 +0200 Timo Sirainen <tss@iki.fi> (4373a04f3c)
+
+ lib-storage: Update mailbox list indexes also after each transaction commit.
+ Fixed RECENT counter.
+
+
+M src/lib-storage/list/index-mailbox-list-status.c
+
+2011-02-09 01:58:56 +0200 Timo Sirainen <tss@iki.fi> (dae6f47569)
+
+ lmtp: Fixed crash at startup.
+
+
+M src/lmtp/client.c
+
+2011-02-09 01:54:34 +0200 Timo Sirainen <tss@iki.fi> (828a1be476)
+
+ lda: Fixed crash at startup.
+
+
+M src/lda/main.c
+
+2011-02-09 01:31:40 +0200 Timo Sirainen <tss@iki.fi> (c0d069950a)
+
+ lib-storage: Return STATUS replies from mailbox list index only when it's
+ fully up-to-date.
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-sync.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.h
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/list/index-mailbox-list-status.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2011-02-08 22:54:14 +0200 Timo Sirainen <tss@iki.fi> (2c0120006d)
+
+ lib-storage: Mailbox list indexes now refresh the index on
+ create/delete/rename.
+
+
+M src/lib-storage/list/index-mailbox-list-status.c
+M src/lib-storage/list/index-mailbox-list.c
+M src/lib-storage/list/index-mailbox-list.h
+
+2011-02-08 22:18:14 +0200 Timo Sirainen <tss@iki.fi> (b84451fa6a)
+
+ lib-index: sync_stamp and sync_size fields are unused, mark them as such.
+
+
+M src/doveadm/doveadm-dump-index.c
+M src/doveadm/doveadm-dump-log.c
+M src/lib-index/mail-index.h
+
+2011-02-08 22:17:44 +0200 Timo Sirainen <tss@iki.fi> (8bf9b56dfb)
+
+ 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.
+
+
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2011-02-08 03:31:46 +0200 Timo Sirainen <tss@iki.fi> (6ef23d3e0f)
+
+ lib-master: If post-login socket disconnects unexpectedly, suggest
+ process_limit being the reason.
+
+
+M src/lib-master/master-auth.c
+
+2011-02-08 03:31:01 +0200 Timo Sirainen <tss@iki.fi> (f7f13e206c)
+
+ 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.
+
+
+M src/master/service-monitor.c
+
+2011-02-08 01:36:19 +0200 Timo Sirainen <tss@iki.fi> (16f5ed4f7b)
+
+ lib-index: Removed the old "mailbox list" type index, which is no longer
+ used. It was rather overdesigned and fragile.
+
+
+M src/lib-index/Makefile.am
+D src/lib-index/mailbox-list-index-private.h
+D src/lib-index/mailbox-list-index-sync.c
+D src/lib-index/mailbox-list-index.c
+D src/lib-index/mailbox-list-index.h
+M src/util/Makefile.am
+D src/util/listview.c
+
+2011-02-08 01:35:45 +0200 Timo Sirainen <tss@iki.fi> (dc53fff370)
+
+ 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.
+
+
+M src/lib-storage/list/Makefile.am
+A src/lib-storage/list/index-mailbox-list-status.c
+D src/lib-storage/list/index-mailbox-list-sync.c
+M src/lib-storage/list/index-mailbox-list.c
+M src/lib-storage/list/index-mailbox-list.h
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/lib-storage/mail-storage.c
+
+2011-02-08 00:08:38 +0200 Timo Sirainen <tss@iki.fi> (8f430e2576)
+
+ 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.
+
+
+M src/lib-index/mail-transaction-log-append.c
+
+2011-02-08 00:06:28 +0200 Timo Sirainen <tss@iki.fi> (9a0cde255c)
+
+ lib-storage: Crashfix to layout=fs.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2011-02-07 22:37:45 +0200 Timo Sirainen <tss@iki.fi> (f3e1772650)
+
+ lib-storage: Give restrict_access() uid/gid source (userdb or mail_u/gid
+ setting).
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-02-07 22:37:19 +0200 Timo Sirainen <tss@iki.fi> (42c9dff737)
+
+ restrict_access(): Show uid/gid source in setuid()/setgid() failure messages
+ if given.
+
+
+M src/lib/restrict-access.c
+M src/lib/restrict-access.h
+
+2011-02-05 04:43:49 +0200 Timo Sirainen <tss@iki.fi> (cb933f0a57)
+
+ lib-storage: Crashfix.
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/mailbox-list.c
+
+2011-02-04 19:48:29 +0200 Timo Sirainen <tss@iki.fi> (7b22071c71)
+
+ lmtp: Fixed handling recipient_delimiter when it was found from domain name.
+
+
+M src/lmtp/commands.c
+
+2011-02-02 23:58:32 +0200 Timo Sirainen <tss@iki.fi> (c135b709f9)
+
+ imap: Fixed a hang when trying to COPY to a nonexistent mailbox.
+
+
+M src/imap/cmd-copy.c
+
+2011-02-02 05:33:04 +0200 Timo Sirainen <tss@iki.fi> (b13f738e8e)
+
+ lib-storage: Cleaned up subscription listing internally. The subscription
+ listing code is now mostly separated from the mailbox listing code.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/index-mailbox-list.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/mailbox-list-subscriptions.h
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/list/subscription-file.h
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-tree.c
+M src/lib-storage/mailbox-tree.h
+
+2011-02-02 05:31:46 +0200 Timo Sirainen <tss@iki.fi> (c5f13b6f02)
+
+ IMAP LIST: Never return subscribed children state if RECURSIVEMATCH isn't
+ specified. Not even when backends give it automatically.
+
+
+M src/imap/cmd-list.c
+
+2011-02-02 01:43:08 +0200 Timo Sirainen <tss@iki.fi> (8c98b8adba)
+
+ imapc: Support IDLE even if remote IMAP server doesn't support it.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-02-02 01:27:50 +0200 Timo Sirainen <tss@iki.fi> (e594141a61)
+
+ 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.
+
+M src/plugins/autocreate/Makefile.am
+M src/plugins/autocreate/autocreate-plugin.c
+
+2011-02-02 01:17:59 +0200 Timo Sirainen <tss@iki.fi> (294658a0ec)
+
+ lib-storage: Fixed mailbox listing with Maildir++ layout
+
+
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+
+2011-02-02 01:14:57 +0200 Timo Sirainen <tss@iki.fi> (9f46aa48a9)
+
+ lib-storage: Made struct mailbox_list_iterate_context usable for plugins.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/mailbox-list-private.h
+
+2011-02-01 21:07:27 +0200 Timo Sirainen <tss@iki.fi> (70d86de5af)
+
+ maildir: Avoid stat()ing dovecot-shared unnecessarily.
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2011-02-01 20:59:21 +0200 Timo Sirainen <tss@iki.fi> (e5aa8d4c9b)
+
+ lib-storage: Merged returning dir mode into
+ mailbox_list_get_[root_]permissions().
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/lib-storage/mailbox-uidvalidity.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/quota/quota-maildir.c
+
+2011-02-01 20:41:54 +0200 Timo Sirainen <tss@iki.fi> (636f017be1)
+
+ 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.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/imap/cmd-list.c
+M src/imap/cmd-subscribe.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-fetch.c
+M src/lda/main.c
+M src/lib-lda/mail-deliver.c
+M src/lib-storage/mail-search-register-human.c
+M src/lib-storage/mail-search-register-imap.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+
+2011-02-01 20:37:17 +0200 Timo Sirainen <tss@iki.fi> (2c88845cb3)
+
+ imapc: Don't use uninitialized variable.
+
+
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-02-01 19:19:01 +0200 Timo Sirainen <tss@iki.fi> (c458d2e8b9)
+
+ imapc: Default imapc_user to %u.
+
+
+M src/lib-storage/index/imapc/imapc-settings.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-02-01 19:17:36 +0200 Timo Sirainen <tss@iki.fi> (dfaefeabae)
+
+ imapc: Don't force a root directory to exist.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2011-02-01 19:05:54 +0200 Timo Sirainen <tss@iki.fi> (c5d6b453ec)
+
+ imapc: Moved settings from plugin {} section to proper imapc_* settings.
+
+
+M src/lib-storage/index/imapc/Makefile.am
+A src/lib-storage/index/imapc/imapc-settings.c
+A src/lib-storage/index/imapc/imapc-settings.h
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-01-31 19:29:17 +0200 Timo Sirainen <tss@iki.fi> (241ab33544)
+
+ imapc: Added support for STARTTLS.
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-01-31 19:29:04 +0200 Timo Sirainen <tss@iki.fi> (9ab0786966)
+
+ lib-ssl-iostream: Don't hang if given output stream is in corked state.
+
+
+M src/lib-ssl-iostream/iostream-openssl.c
+
+2011-01-31 19:05:18 +0200 Timo Sirainen <tss@iki.fi> (7eb799cd84)
+
+ imapc: Avoid hanging with SSL
+
+
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-01-31 19:01:58 +0200 Timo Sirainen <tss@iki.fi> (ce03ab180c)
+
+ imapc: Don't use AUTHENTICATE PLAIN if server doesn't advertise AUTH=PLAIN
+ capability.
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-01-31 19:01:22 +0200 Timo Sirainen <tss@iki.fi> (de0170faf6)
+
+ imapc: Fixed LIST/LSUB handling.
+
+
+M src/lib-storage/index/imapc/imapc-list.c
+
+2011-01-31 19:00:57 +0200 Timo Sirainen <tss@iki.fi> (5235a79ca4)
+
+ imapc: Fixed sending STATUS command.
+
+
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-01-31 18:46:42 +0200 Timo Sirainen <tss@iki.fi> (bec25e9161)
+
+ Makefile: Build lib-ssl-iostream earlier
+
+
+M src/Makefile.am
+
+2011-01-31 18:41:04 +0200 Timo Sirainen <tss@iki.fi> (bfc7fcde95)
+
+ imapc: Added initial support for SSL.
+
+
+M configure.in
+M src/lib-storage/index/imapc/Makefile.am
+M src/lib-storage/index/imapc/imapc-client-private.h
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-storage.c
+
+2011-01-31 18:40:27 +0200 Timo Sirainen <tss@iki.fi> (e98de01b56)
+
+ Added lib-ssl-iostream for handling SSL connections more easily.
+
+
+M configure.in
+M src/Makefile.am
+A src/lib-ssl-iostream/Makefile.am
+A src/lib-ssl-iostream/iostream-openssl-context.c
+A src/lib-ssl-iostream/iostream-openssl-params.c
+A src/lib-ssl-iostream/iostream-openssl.c
+A src/lib-ssl-iostream/iostream-openssl.h
+A src/lib-ssl-iostream/iostream-ssl.h
+A src/lib-ssl-iostream/istream-openssl.c
+A src/lib-ssl-iostream/ostream-openssl.c
+
+2011-01-31 04:02:04 +0200 Timo Sirainen <tss@iki.fi> (8a26102b8b)
+
+ imapc: Write large message bodies to temp files rather than keeping in
+ memory.
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-mail.h
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-01-31 04:00:44 +0200 Timo Sirainen <tss@iki.fi> (f6a8cd6eab)
+
+ lib-imap: struct imap_arg.str_size now contains the string value lengths.
+ This is especially useful for literals that might contain NUL bytes.
+
+
+M src/lib-imap/imap-arg.h
+M src/lib-imap/imap-parser.c
+
+2011-01-31 02:17:26 +0200 Timo Sirainen <tss@iki.fi> (5fa6399cfd)
+
+ lib-storage: Threading code uses now separate extra_wanted_headers also.
+
+
+M src/lib-storage/index/index-thread.c
+
+2011-01-31 02:13:51 +0200 Timo Sirainen <tss@iki.fi> (e3f2f1bee8)
+
+ imapc: Fixed sending single FETCH queries.
+
+
+M src/lib-storage/index/imapc/imapc-mail.h
+M src/lib-storage/index/imapc/imapc-search.c
+
+2011-01-31 02:13:06 +0200 Timo Sirainen <tss@iki.fi> (e29f8a6a52)
+
+ 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.
+
+
+M src/imap/imap-search.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-search-private.h
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-sort.c
+M src/lib-storage/mail-storage-private.h
+
+2011-01-31 01:36:29 +0200 Timo Sirainen <tss@iki.fi> (d164cc33d4)
+
+ imapc: Minor code cleanup
+
+
+M src/lib-storage/index/imapc/imapc-search.c
+
+2011-01-31 00:27:53 +0200 Timo Sirainen <tss@iki.fi> (b3f46fa8a8)
+
+ lib-sql: Implemented sql_result_get_field_value_binary() for MySQL.
+
+
+M src/lib-sql/driver-mysql.c
+
+2011-01-30 23:57:14 +0200 Timo Sirainen <tss@iki.fi> (e1e6235101)
+
+ dovecot-config, dovecot.m4: Export SQL_LIBS as DOVECOT_SQL_LIBS
+
+
+M dovecot-config.in.in
+M dovecot.m4
+
+2011-01-30 23:56:23 +0200 Timo Sirainen <tss@iki.fi> (6facdb0511)
+
+ lib-sql: Install libdovecot-sql.so as well.
+
+
+M src/lib-sql/Makefile.am
+
+2011-01-30 23:16:46 +0200 Timo Sirainen <tss@iki.fi> (020f1989be)
+
+ lib-storage: layout=noop now shows INBOX as existing if namespace has
+ inbox=yes. It also shows INBOX as always being subscribed.
+
+
+M src/lib-storage/list/mailbox-list-none.c
+
+2011-01-30 20:47:43 +0200 Timo Sirainen <tss@iki.fi> (94a77d6e5d)
+
+ 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.
+
+
+M src/lib-storage/index/imapc/Makefile.am
+M src/lib-storage/index/imapc/imapc-client-private.h
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-connection.h
+M src/lib-storage/index/imapc/imapc-mail.c
+A src/lib-storage/index/imapc/imapc-mail.h
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+
+2011-01-30 20:16:04 +0200 Timo Sirainen <tss@iki.fi> (56b8bee594)
+
+ 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.
+
+
+M src/lib-storage/index/Makefile.am
+A src/lib-storage/index/index-search-private.h
+M src/lib-storage/index/index-search.c
+
+2011-01-30 17:51:17 +0200 Timo Sirainen <tss@iki.fi> (7d41c5a9d9)
+
+ script: Root permissions weren't being dropped before executing the script.
+
+
+M src/util/script.c
+
+2011-01-30 17:51:17 +0200 Timo Sirainen <tss@iki.fi> (00c45bda51)
+
+ script: Root permissions weren't being dropped before executing the script.
+
+
+M src/util/script.c
+
+2011-01-28 19:41:03 +0200 Timo Sirainen <tss@iki.fi> (bd4cc8e98c)
+
+ script utility now supports the script using stdio/stdout for communication.
+
+
+M src/plugins/quota/quota.c
+M src/util/script.c
+
+2011-01-28 19:39:00 +0200 Timo Sirainen <tss@iki.fi> (13aff14ae8)
+
+ imapc: If mail's input stream is changed, don't assume virtual size =
+ physical size.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-search.c
+
+2011-01-28 17:57:21 +0200 Timo Sirainen <tss@iki.fi> (689b06e337)
+
+ imapc: Added support for saving and copying messages.
+
+
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-save.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-01-26 21:47:52 +0200 Timo Sirainen <tss@iki.fi> (562d0d9daf)
+
+ 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.
+
+
+M src/lib/ioloop.c
+
+2011-01-26 21:47:52 +0200 Timo Sirainen <tss@iki.fi> (61cb43e243)
+
+ 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.
+
+
+M src/lib/ioloop.c
+
+2011-01-25 17:35:32 +0200 Timo Sirainen <tss@iki.fi> (04807a2454)
+
+ imapc: Syncing optimization: Don't wait for STOREs to complete before
+ sending EXPUNGE.
+
+
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-01-25 17:23:52 +0200 Timo Sirainen <tss@iki.fi> (934dbb10a1)
+
+ imapc: Added support for changing flags and expunging.
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-sync.c
+M src/lib-storage/index/imapc/imapc-sync.h
+
+2011-01-25 17:15:54 +0200 Timo Sirainen <tss@iki.fi> (83a03a417e)
+
+ imapc: Added support for keywords.
+
+
+M src/lib-storage/index/imapc/imapc-mailbox.c
+
+2011-01-25 00:32:50 +0200 Timo Sirainen <tss@iki.fi> (c58c12049c)
+
+ lib-storage: Give a better error message if mail_location has INBOX but no
+ mail root dir.
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-01-25 00:10:46 +0200 Timo Sirainen <tss@iki.fi> (8ff346cf8b)
+
+ dotlocks: When locking using hard links, make sure the dotlock's timestamp
+ is new enough.
+
+
+M src/lib/file-dotlock.c
+
+2011-01-24 00:42:29 +0200 Timo Sirainen <tss@iki.fi> (37f7496622)
+
+ dsync: Changes to make it work with imapc storage.
+
+
+M src/dsync/dsync-worker-local.c
+M src/dsync/dsync.c
+
+2011-01-24 00:42:06 +0200 Timo Sirainen <tss@iki.fi> (9ca6d68fba)
+
+ imapc: Fixed mail_set_seq/uid() to work.
+
+
+M src/lib-storage/index/imapc/imapc-mail.c
+M src/lib-storage/index/imapc/imapc-search.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-01-24 00:31:05 +0200 Timo Sirainen <tss@iki.fi> (5e042146db)
+
+ dbox: mailbox_create/update() might not have updated index header correctly.
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2011-01-24 00:31:05 +0200 Timo Sirainen <tss@iki.fi> (84e49ad7d7)
+
+ dbox: mailbox_create/update() might not have updated index header correctly.
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2011-01-24 00:00:02 +0200 Timo Sirainen <tss@iki.fi> (719bda7961)
+
+ imapc: Implemented more methods.
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-connection.h
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-01-23 23:32:52 +0200 Timo Sirainen <tss@iki.fi> (51130f00bb)
+
+ imapc: Fixed mailbox deletion and some error handling. Code cleanups.
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-connection.h
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-01-23 23:32:34 +0200 Timo Sirainen <tss@iki.fi> (56c0277dcb)
+
+ lib-storage: Don't fail mailbox deletion if backend doesn't support mailbox
+ GUIDs.
+
+
+M src/lib-storage/index/index-storage.c
+
+2011-01-23 22:58:34 +0200 Timo Sirainen <tss@iki.fi> (494a5de15d)
+
+ lib-storage: Recent changes accidentally made INBOX case-sensitive.
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-01-23 22:57:01 +0200 Timo Sirainen <tss@iki.fi> (6f9a5ecb55)
+
+ imapc: Handle properly mailbox changes while it's selected. Added support
+ for IDLE.
+
+
+M src/lib-storage/index/imapc/imapc-client.c
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-connection.h
+M src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/index/imapc/imapc-sync.c
+
+2011-01-23 20:26:02 +0200 Timo Sirainen <tss@iki.fi> (c291de483e)
+
+ imapc: Fixed seqmap to work. The algorithm is a bit slow, could be improved.
+ But probably won't make much of a difference in real life.
+
+
+M src/lib-storage/index/imapc/Makefile.am
+M src/lib-storage/index/imapc/imapc-seqmap.c
+A src/lib-storage/index/imapc/test-imapc-seqmap.c
+
+2011-01-21 21:46:24 +0200 Timo Sirainen <tss@iki.fi> (6d3ebefb87)
+
+ IDLE: Don't assert-crash if IDLE+DONE is sent in same TCP packet.
+
+
+M src/imap/cmd-idle.c
+
+2011-01-21 19:16:34 +0200 Timo Sirainen <tss@iki.fi> (a446ff0c6c)
+
+ Added doveadm zlibconnect command for testing IMAP COMPRESS.
+
+
+M src/plugins/zlib/Makefile.am
+M src/plugins/zlib/doveadm-zlib.c
+
+2011-01-21 19:15:37 +0200 Timo Sirainen <tss@iki.fi> (5cbd6f3ed0)
+
+ zlib: Make sure output stream flushes the stream automatically when not
+ corked. Fixes hangs with IMAP COMPRESS extension.
+
+
+M src/plugins/zlib/ostream-zlib.c
+
+2011-01-21 17:39:24 +0200 Timo Sirainen <tss@iki.fi> (c5c71245fe)
+
+ imapc: Code cleanups and fixes.
+
+
+M src/lib-storage/index/imapc/Makefile.am
+M src/lib-storage/index/imapc/imapc-client.h
+M src/lib-storage/index/imapc/imapc-connection.c
+M src/lib-storage/index/imapc/imapc-list.c
+M src/lib-storage/index/imapc/imapc-list.h
+A src/lib-storage/index/imapc/imapc-mailbox.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+
+2011-01-21 01:05:00 +0200 Timo Sirainen <tss@iki.fi> (f6605a4195)
+
+ imapc: Call istream_opened() method if it's set for mail.
+
+
+M src/lib-storage/index/imapc/imapc-search.c
+
+2011-01-20 23:16:23 +0200 Timo Sirainen <tss@iki.fi> (b8cee9a13e)
+
+ dotlocks: Refresh current time after having waited for a lock.
+
+
+M src/lib/file-dotlock.c
+
+2011-01-20 23:09:44 +0200 Timo Sirainen <tss@iki.fi> (ba02cf1dae)
+
+ lib-storage: Fixed handling chroot/home for services that don't really
+ chroot (lmtp).
+
+
+M src/lib-storage/mail-storage-service.c
+
+2011-01-20 22:45:41 +0200 Timo Sirainen <tss@iki.fi> (90de49eb15)
+
+ imapc: Added support for LIST/LSUB.
+
+
+M src/lib-storage/index/imapc/Makefile.am
+A src/lib-storage/index/imapc/imapc-list.c
+A src/lib-storage/index/imapc/imapc-list.h
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/imapc/imapc-storage.h
+M src/lib-storage/register/Makefile.am
+
+2011-01-20 22:44:53 +0200 Timo Sirainen <tss@iki.fi> (80987f13c8)
+
+ imapc: Don't send broken FETCH command when we don't actually have to fetch
+ anything.
+
+
+M src/lib-storage/index/imapc/imapc-search.c
+
+2011-01-20 20:59:07 +0200 Timo Sirainen <tss@iki.fi> (c0a87e5f33)
+
+ lib-storage: mailbox_alloc() now takes a virtual mailbox name and other
+ related API changes. All storage_name <-> vname conversions now go through
+ the same two mailbox_list methods. This has many benefits, such as:
+
+ * listescape plugin is now much simpler and bugfree
+ * allows changing lib-storage API to use UTF-8 mailbox names in future
+ * allows creation of "mailbox aliases" plugin
+
+M TODO
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-list-iter.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail.c
+M src/dsync/dsync-worker-local.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-list.c
+M src/imap/cmd-namespace.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-select.c
+M src/imap/cmd-status.c
+M src/imap/cmd-subscribe.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands-util.h
+M src/lib-lda/mail-deliver.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.h
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/index/shared/shared-storage.c
+M src/lib-storage/list/index-mailbox-list.c
+M src/lib-storage/list/mailbox-list-fs-iter.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-maildir.h
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/mail-namespace.c
+M src/lib-storage/mail-namespace.h
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/lib-storage/test-mail-storage.h
+M src/lib-storage/test-mailbox.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/listescape/listescape-plugin.c
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/trash/trash-plugin.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-storage.c
+M src/pop3/pop3-client.c
+
+2011-01-20 19:21:20 +0200 Timo Sirainen <tss@iki.fi> (11352dc3e4)
+
+ lib-storage: Added mailbox_get_last_*error() wrappers and use them.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail-iter.c
+M src/doveadm/doveadm-mail-mailbox.c
+M src/doveadm/doveadm-mail.c
+M src/dsync/dsync-worker-local.c
+M src/imap/cmd-fetch.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-status.c
+M src/lda/main.c
+M src/lib-lda/mail-deliver.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lmtp/commands.c
+M src/plugins/autocreate/autocreate-plugin.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/quota/quota-count.c
+M src/plugins/snarf/snarf-plugin.c
+M src/plugins/virtual/virtual-storage.c
+M src/pop3/pop3-client.c
+
+2011-01-20 18:17:22 +0200 Timo Sirainen <tss@iki.fi> (b30f98f260)
+
+ lib-storage: Crashfix on trying to create index root dir.
+
+
+M src/lib-storage/mailbox-list.c
+
+2011-01-20 18:14:53 +0200 Timo Sirainen <tss@iki.fi> (306cfd7710)
+
+ lib-storage: Replaced mailbox_list_get_name_status() with mailbox_exists().
+
+
+M src/imap/cmd-subscribe.c
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/imapc/imapc-storage.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/lib-storage/test-mailbox.c
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/listescape/listescape-plugin.c
+M src/plugins/virtual/virtual-storage.c
+
+2011-01-19 20:06:39 +0000 Pascal Volk <user@localhost.localdomain.org> (16b3aad006)
+
+ lmtp: Write "+ext" part to Delivered-To: header. (reverted changeset
+ 19231e3585db)
+
+
+M src/lmtp/commands.c
+
+2011-01-19 01:21:03 +0200 Timo Sirainen <tss@iki.fi> (4afc13f6de)
+
+ imapc: Fixed authenticating with AUTHENTICATE command without SASL-IR.
+
+
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-01-19 01:20:48 +0200 Timo Sirainen <tss@iki.fi> (0c7c388479)
+
+ imapc: Fixed sending non-syncing literals.
+
+
+M src/lib-storage/index/imapc/imapc-connection.c
+
+2011-01-19 00:25:47 +0200 Timo Sirainen <tss@iki.fi> (13b4ea0201)
+
+ auth: Logging improvement for nopassword=y.
+
+
+M src/auth/auth-request.c
+
+2011-01-17 21:25:01 +0200 Timo Sirainen <tss@iki.fi> (14b8bbb81e)
+
+ lib-index: Avoid corrupting dovecot.index file when recreating it even in
+ case of broken file locking.
+
+
+M src/lib-index/mail-index.c
+
+2011-01-16 21:47:15 +0200 Christian Wiese <chris@opensde.org> (afe44ead24)
+
+ auth: Fixed mech_winbind_ntlm by using mech_winbind_auth_initial() In
+ changeset 9002 a new function named mech_winbind_auth_initial() was
+ introduced, but only the mech_winbind_spnego module part was changed to
+ finally use this function. The mech_winbind_ntlm module part was not
+ properly adapted which leads to a non functioning NTLM authentication
+ mechanism while using winbind, because it will never call the `ntlm_auth`
+ helper.
+
+ The simple fix is to replace mech_generic_auth_initial() with
+ mech_winbind_auth_initial() as auth_initial "hook" when setting up the
+ mech_winbind_ntlm module, like it is done in the mech_winbind_spnego module.
+
+ References:
+
+ - Changeset 9002:
+ http://hg.dovecot.org/dovecot-2.0/diff/9d0037a997f4/src/auth/mech-winbind.c
+ ---
+ src/auth/mech-winbind.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+M src/auth/mech-winbind.c
+
+2011-01-16 21:26:13 +0200 Timo Sirainen <tss@iki.fi> (c04d269955)
+
+ man: Updated dsync.1's -o parameter description.
+
+
+M doc/man/dsync.1.in
+
+2011-01-16 21:25:34 +0200 Timo Sirainen <tss@iki.fi> (9d7ea91863)
+
+ man: Added -o parameter to dovecot-lda.1
+
+
+M doc/man/dovecot-lda.1.in
+
+2011-01-16 21:15:10 +0200 Timo Sirainen <tss@iki.fi> (b710c5119d)
+
+ mkdir_*chown/chgrp(): If chown() fails, rmdir() the directory.
+
+
+M src/lib/mkdir-parents.c
+
+2011-01-16 18:53:27 +0200 Timo Sirainen <tss@iki.fi> (9d522c9ad0)
+
+ dsync: Fixed crash when mailbox had zero cache_fields but its array was
+ initialized.
+
+
+M src/dsync/dsync-data.c
+
+2011-01-16 18:08:23 +0200 Timo Sirainen <tss@iki.fi> (9fb018dea4)
+
+ Added initial implementation of "imapc" storage. It can be used to create a
+ "smart IMAP proxy" where Dovecot uses remote IMAP server as a mail storage.
+
+ This is a very rough early implementation. Performance isn't good, many
+ required features are missing, error handling is lacking and code needs
+ de-uglification. Still, it should be enough for selecting INBOX and
+ accessing mails in it.
+
+M configure.in
+M src/lib-storage/index/Makefile.am
+A src/lib-storage/index/imapc/Makefile.am
+A src/lib-storage/index/imapc/imapc-client-private.h
+A src/lib-storage/index/imapc/imapc-client.c
+A src/lib-storage/index/imapc/imapc-client.h
+A src/lib-storage/index/imapc/imapc-connection.c
+A src/lib-storage/index/imapc/imapc-connection.h
+A src/lib-storage/index/imapc/imapc-mail.c
+A src/lib-storage/index/imapc/imapc-save.c
+A src/lib-storage/index/imapc/imapc-search.c
+A src/lib-storage/index/imapc/imapc-seqmap.c
+A src/lib-storage/index/imapc/imapc-seqmap.h
+A src/lib-storage/index/imapc/imapc-storage.c
+A src/lib-storage/index/imapc/imapc-storage.h
+A src/lib-storage/index/imapc/imapc-sync.c
+A src/lib-storage/index/imapc/imapc-sync.h
+M src/lib-storage/index/index-sync-private.h
+M src/lib-storage/index/index-sync.c
+
+2011-01-13 13:18:20 +0200 Timo Sirainen <tss@iki.fi> (520be643c4)
+
+ Added signature for changeset 440fcf8cb338
+
+
+M .hgsigs
+
+2011-01-13 13:18:17 +0200 Timo Sirainen <tss@iki.fi> (8bc7dd1150)
+
+ Added tag 2.0.9 for changeset 440fcf8cb338
+
+
+M .hgtags
+
+2011-01-13 13:18:17 +0200 Timo Sirainen <tss@iki.fi> (66281cd930)
+
+ Released v2.0.9.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2011-01-13 13:08:40 +0200 Timo Sirainen <tss@iki.fi> (6dcea8fd7e)
+
+ TODO updated
+
+
+M TODO
+
+2011-01-13 13:08:21 +0200 Timo Sirainen <tss@iki.fi> (33d7b37184)
+
+ Added io_loop_move_io() and io_loop_move_timeout().
+
+
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2011-01-13 13:08:02 +0200 Timo Sirainen <tss@iki.fi> (97ee61d723)
+
+ cydir: Minor fix.
+
+
+M src/lib-storage/index/cydir/cydir-mail.c
+
+2011-01-09 23:39:00 +0200 Timo Sirainen <tss@iki.fi> (2524ef7b34)
+
+ i_stream_read(): Added extra assert.
+
+
+M src/lib/istream.c
+
+2011-01-09 23:38:49 +0200 Timo Sirainen <tss@iki.fi> (1567369100)
+
+ istream-seekable: Minor code cleanup.
+
+
+M src/lib/istream-seekable.c
+
+2011-01-09 22:01:36 +0200 Timo Sirainen <tss@iki.fi> (b24ffea8ba)
+
+ auth: Don't give an error if doing a passdb lookup and the result has NULL
+ password.
+
+
+M src/auth/passdb.c
+
+2011-01-09 21:37:24 +0200 Timo Sirainen <tss@iki.fi> (36c4702131)
+
+ pgsql: When executing synchronous queries, don't wrongly add a connect
+ timeout.
+
+
+M src/lib-sql/driver-pgsql.c
+
+2011-01-09 21:13:31 +0200 Timo Sirainen <tss@iki.fi> (06c5f34853)
+
+ cydir: Minor code fix.
+
+
+M src/lib-storage/index/cydir/cydir-mail.c
+
+2011-01-08 21:03:15 +0200 Timo Sirainen <tss@iki.fi> (5297aa3ced)
+
+ istream-seekable: Minor code cleanup.
+
+
+M src/lib/istream-seekable.c
+
+2011-01-05 20:21:38 +0200 Timo Sirainen <tss@iki.fi> (d356d47d61)
+
+ dsync: Don't crash if message can't be saved to destination mailbox.
+
+
+M src/dsync/dsync-worker-local.c
+
+2011-01-05 18:47:40 +0200 Timo Sirainen <tss@iki.fi> (a62470cd29)
+
+ mdbox: Don't leave partially written messages to mdbox files.
+
+
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-file.h
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+
+2011-01-05 18:11:04 +0200 Timo Sirainen <tss@iki.fi> (e27411f952)
+
+ dsync: Fixed iterating through mailboxes when using proxy. This fixes
+ "Unexpected reply from server: +" errors.
+
+
+M src/dsync/dsync-brain-msgs.c
+
+2011-01-04 13:57:33 +0200 Timo Sirainen <tss@iki.fi> (33ef806e0d)
+
+ config: Give clear error that auth settings aren't supported inside
+ local/remote blocks.
+
+
+M src/config/config-parser.c
+
+2011-01-04 13:53:17 +0200 Timo Sirainen <tss@iki.fi> (434abef12f)
+
+ login: ssl_require_client_cert and ssl_username_from_cert settings should
+ have had auth_ prefix. The actual functionality was provided by the auth_*
+ settings, but with these duplicated settings login process didn't give as
+ good error messages.
+
+
+M src/login-common/client-common.c
+M src/login-common/login-settings.c
+M src/login-common/login-settings.h
+
+2011-01-04 13:22:20 +0200 Timo Sirainen <tss@iki.fi> (6cbe2facd4)
+
+ auth: Minor code cleanup, use PASSWORD_HIDDEN_STR macro.
+
+
+M src/auth/passdb-cache.c
+
+2011-01-04 13:17:57 +0200 Timo Sirainen <tss@iki.fi> (5a01a2c1f1)
+
+ maildir: Fixed renaming child mailboxes when using a namespace prefix.
+
+
+M src/lib-storage/list/mailbox-list-maildir.c
+
+2011-01-04 12:34:48 +0200 Timo Sirainen <tss@iki.fi> (1a8b6bb75a)
+
+ maildir: Getting mailbox GUID unnecessarily rewrote the uidlist.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2011-01-04 12:14:02 +0200 Timo Sirainen <tss@iki.fi> (5f41bf551b)
+
+ IDLE was listed twice in capabilities.
+
+
+M configure.in
+
+2011-01-04 12:04:42 +0200 Timo Sirainen <tss@iki.fi> (a31ee53e11)
+
+ dsync: Saved messages' save-date was set to 1970-01-01.
+
+
+M src/dsync/dsync-worker-local.c
+
+2011-01-04 11:55:36 +0200 Timo Sirainen <tss@iki.fi> (395682d473)
+
+ virtual: Fixed saving multiple mails in a transaction (e.g. copy multiple
+ messages).
+
+
+M src/plugins/virtual/virtual-save.c
+
+2011-01-04 11:44:07 +0200 Timo Sirainen <tss@iki.fi> (4371df92c0)
+
+ lib-sql: Include Dovecot version number check when loading SQL plugins.
+
+
+M src/lib-sql/driver-mysql.c
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlite.c
+
+2011-01-03 19:06:49 +0200 Timo Sirainen <tss@iki.fi> (21fdf5394f)
+
+ lib-lda: Simplified mail_deliver_deduplicate_guid_if_needed() API.
+
+
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+
+2011-01-03 19:06:02 +0200 Timo Sirainen <tss@iki.fi> (d5bc636319)
+
+ lib-storage: Added mailbox_save_get_transaction().
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2011-01-03 18:59:07 +0200 Timo Sirainen <tss@iki.fi> (44f3f472a4)
+
+ lmtp: If delivering duplicate messages to same user's INBOX, use different
+ GUIDs. This is to avoid POP3 clients getting confused with duplicate UIDLs,
+ when using GUIDs as UIDLs.
+
+
+M src/lda/main.c
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+M src/lmtp/commands.c
+
+2011-01-03 18:57:05 +0200 Timo Sirainen <tss@iki.fi> (90e39174d3)
+
+ dbox: If mail GUID is changed for copied mail, create a new copy of it so it
+ changes.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+
+2011-01-01 16:00:01 +0200 Timo Sirainen <tss@iki.fi> (6f83ab655a)
+
+ configure: Added a note that this is the UNSTABLE branch.
+
+
+M configure.in
+
+2011-01-01 15:59:02 +0200 Timo Sirainen <tss@iki.fi> (e1f21d05a1)
+
+ Merged fixes from v2.0 tree.
+
+
+2011-01-01 15:56:37 +0200 Timo Sirainen <tss@iki.fi> (c8af325a62)
+
+ TODO updated.
+
+
+M TODO
+
+2011-01-01 15:52:39 +0200 Timo Sirainen <tss@iki.fi> (51327f2489)
+
+ lib-storage: Moved some items from mailbox_get_status() to a new
+ mailbox_get_metadata(). The idea is now that all status items are tracked
+ all the time after mailbox is opened and they can always be looked up
+ without failure. The metadata items are looked up lazily and the lookups may
+ fail at any time.
+
+ mailbox_get_status() can be used after mailbox_alloc() to indicate that the
+ mailbox doesn't necessarily have to be opened, just that the status fields
+ get returned.
+
+ If mailbox is already known to be open, mailbox_get_open_status() can be
+ used. It never fails.
+
+M src/doveadm/doveadm-mail-fetch.c
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/doveadm/doveadm-mail-search.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/dsync/dsync-worker-local.c
+M src/imap/cmd-enable.c
+M src/imap/cmd-select.c
+M src/imap/cmd-store.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-commands-util.c
+M src/imap/imap-fetch.c
+M src/imap/imap-search.c
+M src/imap/imap-status.c
+M src/imap/imap-status.h
+M src/imap/imap-sync.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/index-search.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/list/index-mailbox-list-sync.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/fts/fts-storage.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+M src/pop3/pop3-client.c
+
+2011-01-01 14:34:14 +0200 Timo Sirainen <tss@iki.fi> (afff56f126)
+
+ lib-storage: Added warning comments about mail_get_*header*utf8().
+
+
+M src/lib-storage/mail-storage.h
+
+2011-01-01 13:27:16 +0200 Timo Sirainen <tss@iki.fi> (58fe555d88)
+
+ lib-storage: Don't double-demimefy headers when DISPLAYFROM/DISPLAYTO
+ sorting.
+
+
+M src/lib-storage/index/index-sort.c
+
+2010-12-30 13:45:11 +0200 Timo Sirainen <tss@iki.fi> (4cdfd6cc49)
+
+ lib-storage: Fixed deleting symlinked mailbox.
+
+
+M src/lib-storage/list/mailbox-list-delete.c
+M src/lib-storage/list/mailbox-list-delete.h
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+
+2010-12-30 13:41:10 +0200 Timo Sirainen <tss@iki.fi> (2c8041ef37)
+
+ unlink_directory(): Return ELOOP for unexpected symlinks also when
+ O_NOFOLLOW isn't supported.
+
+
+M src/lib/unlink-directory.c
+
+2010-12-30 12:45:52 +0200 Timo Sirainen <tss@iki.fi> (a5da67c372)
+
+ doveadm quota: Don't crash if quota isn't enabled.
+
+
+M src/plugins/quota/doveadm-quota.c
+
+2010-12-30 12:40:50 +0200 Timo Sirainen <tss@iki.fi> (d793248cb4)
+
+ doveadm: Fixed mailbox-guid search key to work with shared/public mailboxes.
+
+
+M src/doveadm/doveadm-mail-list-iter.c
+
+2010-12-30 12:04:30 +0200 Timo Sirainen <tss@iki.fi> (47fed6b26c)
+
+ vpopmail: "Service disabled" check wasn't being done correctly.
+
+
+M src/auth/passdb-vpopmail.c
+
+2010-12-30 11:51:59 +0200 Timo Sirainen <tss@iki.fi> (f827f6b7ea)
+
+ doveadm user: If user isn't found, exit with status 2.
+
+
+M src/doveadm/doveadm-auth.c
+
+2010-12-29 11:43:01 +0200 Timo Sirainen <tss@iki.fi> (d3280fe317)
+
+ lib-storage: mailbox_get_status() can now fail. It might have failed earlier
+ also, but the errors were hidden from caller.
+
+
+M src/doveadm/doveadm-mail-mailbox-status.c
+M src/dsync/dsync-worker-local.c
+M src/imap/cmd-select.c
+M src/imap/imap-client.c
+M src/imap/imap-status.c
+M src/imap/imap-sync.c
+M src/lib-storage/index/index-status.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/list/index-mailbox-list-sync.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/test-mailbox.c
+
+2010-12-29 11:39:32 +0200 Timo Sirainen <tss@iki.fi> (e12203f8a6)
+
+ lib-storage: Crashfix for opening sdbox/mdbox mailbox.
+
+
+M src/lib-storage/index/index-storage.c
+
+2010-12-17 13:23:07 +0000 Timo Sirainen <tss@iki.fi> (30a2755b86)
+
+ lda: Removed optimization of not creating temp files for large mails when
+ not using Sieve. The backwards seeking was still needed if bouncing the mail
+ because of out of quota.
+
+
+M src/lda/main.c
+
+2010-12-17 13:16:01 +0000 Timo Sirainen <tss@iki.fi> (c14ceb2cab)
+
+ snarf: Make sure destination mailbox is open when syncing it.
+
+
+M src/plugins/snarf/snarf-plugin.c
+
+2010-12-15 17:07:01 +0000 Timo Sirainen <tss@iki.fi> (cbcba924a7)
+
+ master-child API change: Use a separate fd for tracking when master dies.
+ This works around a Linux performance problem where when one process writes
+ to status fd all the other processes of the same service type wake up.
+
+
+M src/lib-master/master-interface.h
+M src/lib-master/master-service.c
+M src/master/common.h
+M src/master/main.c
+M src/master/service-process.c
+
+2010-12-13 13:40:27 +0000 Timo Sirainen <tss@iki.fi> (a2e77b012b)
+
+ net_listen(): If IPv6 isn't supported, don't fallback to IPv4 if my_ip is
+ given.
+
+
+M src/lib/network.c
+
+2010-12-13 13:27:18 +0000 Timo Sirainen <tss@iki.fi> (968aab2a00)
+
+ quota: Quota warnings could have been executed at incorrect times with some
+ configs. If target mailbox had quota ignored, the warning was sent if the
+ mail would have otherwise exceeded the warning threshold. Same when using
+ multiple quota roots where all of the roots weren't used for the target
+ mailbox.
+
+
+M src/plugins/quota/quota.c
+
+2010-12-09 20:49:53 +0000 Timo Sirainen <tss@iki.fi> (31ed209b28)
+
+ imap: Fixed a memory leak in ESEARCH
+
+
+M src/imap/imap-search.c
+
+2010-12-09 11:16:24 +0000 Timo Sirainen <tss@iki.fi> (c599385acb)
+
+ lib-storage: Added assert check to make sure we never do timeout_add(0)
+
+
+M src/lib-storage/index/index-mailbox-check.c
+
+2010-12-08 23:17:11 +0000 Timo Sirainen <tss@iki.fi> (835e8c5861)
+
+ acl: Crashfix at deinit in some configurations.
+
+
+M src/plugins/acl/acl-mailbox-list.c
+
+2010-12-07 02:00:45 +0000 Timo Sirainen <tss@iki.fi> (7b32aeca72)
+
+ auth: Master user login + prefetch userdb changed username to master user.
+
+
+M src/auth/auth-request.c
+
+2010-12-07 01:50:43 +0000 Timo Sirainen <tss@iki.fi> (a33cc2d1bc)
+
+ auth: Checkpassword's output fields are now logged with auth_debug=yes
+
+
+M src/auth/passdb-checkpassword.c
+
+2010-12-06 04:36:30 +0000 Timo Sirainen <tss@iki.fi> (9981d8da4f)
+
+ auth: When logging in as anonymous user, return "anonymous" userdb extra
+ field.
+
+
+M TODO
+M src/auth/auth-request-handler.c
+
+2010-12-06 04:36:30 +0000 Timo Sirainen <tss@iki.fi> (e8e966468f)
+
+ auth: When logging in as anonymous user, return "anonymous" userdb extra
+ field.
+
+
+M TODO
+M src/auth/auth-request-handler.c
+
+2010-12-06 04:00:26 +0000 Timo Sirainen <tss@iki.fi> (90c636fc0a)
+
+ TODO updated.
+
+
+M TODO
+
+2010-12-06 03:58:17 +0000 Timo Sirainen <tss@iki.fi> (b62140c584)
+
+ lib-storage: Moved mailbox.save_is_attachment() to
+ mail_save_context.part_is_attachment()
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/index-attachment.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/test-mailbox.c
+M src/plugins/virtual/virtual-storage.c
+
+2010-12-06 03:53:30 +0000 Timo Sirainen <tss@iki.fi> (a4f0974981)
+
+ lib-storage: Unvirtualized mailbox_header_lookup_*()
+
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+A src/lib-storage/mailbox-header.c
+M src/lib-storage/test-mailbox.c
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-storage.c
+
+2010-12-06 03:43:23 +0000 Timo Sirainen <tss@iki.fi> (dbe64f3893)
+
+ lib-storage: Unvirtualized some methods from struct mailbox. There was never
+ any point in overriding or hooking into them.
+
+
+M src/lib-storage/Makefile.am
+M src/lib-storage/index/Makefile.am
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+R088 src/lib-storage/index/index-fetch.c src/lib-storage/mailbox-get.c
+R097 src/lib-storage/index/test-index-fetch.c src/lib-storage/test-mailbox-get.c
+M src/lib-storage/test-mailbox.c
+M src/plugins/virtual/virtual-storage.c
+
+2010-12-06 03:41:31 +0000 Timo Sirainen <tss@iki.fi> (8871c97974)
+
+ lib-storage: Added missing mailbox-keywords.c for recent commit.
+
+
+A src/lib-storage/mailbox-keywords.c
+
+2010-12-06 03:40:41 +0000 Timo Sirainen <tss@iki.fi> (1ae4534531)
+
+ fts: Added missing new files for last commit.
+
+
+A src/plugins/fts/fts-mailbox.c
+A src/plugins/fts/fts-mailbox.h
+
+2010-12-06 03:28:29 +0000 Timo Sirainen <tss@iki.fi> (499fec3443)
+
+ Moved fts/virtual plugin communication functions away from lib-storage.
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/test-mailbox.c
+M src/plugins/fts-solr/fts-backend-solr.c
+M src/plugins/fts/Makefile.am
+M src/plugins/fts/fts-storage.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-storage.h
+
+2010-12-06 03:11:08 +0000 Timo Sirainen <tss@iki.fi> (50e6d62769)
+
+ lib-lda: duplicate_check() should return bool, not int.
+
+
+M src/lib-lda/duplicate.c
+M src/lib-lda/duplicate.h
+
+2010-12-06 03:08:31 +0000 Timo Sirainen <tss@iki.fi> (17cf149e5f)
+
+ lib-storage: Added mailbox_list_get_root_[dir_]permissions() They should be
+ used instead of mailbox_list_get_[dir_]permissions() with name=NULL
+ parameter.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/lib-storage/mailbox-uidvalidity.c
+M src/plugins/acl/acl-backend-vfile-acllist.c
+M src/plugins/lazy-expunge/lazy-expunge-plugin.c
+M src/plugins/quota/quota-maildir.c
+
+2010-12-06 02:16:22 +0000 Timo Sirainen <tss@iki.fi> (4182d8cd81)
+
+ lib-storage: Simplified mailbox_keyword*() APIs. They are no longer struct
+ mailbox methods, because they're always implemented as being wrappers to
+ lib-index APIs anyway.
+
+ Also mailbox_keywords_ref/unref() no longer take mailbox parameter.
+
+M src/dsync/dsync-worker-local.c
+M src/imap/cmd-append.c
+M src/imap/cmd-store.c
+M src/lib-lda/mail-deliver.c
+M src/lib-storage/Makefile.am
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-search.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/test-mailbox.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-storage.c
+M src/plugins/virtual/virtual-sync.c
+
+2010-12-06 01:47:50 +0000 Timo Sirainen <tss@iki.fi> (c000c8eca8)
+
+ lib-storage: Removed mailbox.backend_readonly. Backends set it internally
+ lazily now.
+
+
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-storage.h
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-storage.h
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2010-12-06 01:27:11 +0000 Timo Sirainen <tss@iki.fi> (0ed9ccd004)
+
+ maildir: Avoid harder to unnecessarily read uidlist when syncing mailbox.
+
+
+M src/lib-storage/index/maildir/maildir-sync.c
+
+2010-12-06 01:27:03 +0000 Timo Sirainen <tss@iki.fi> (70fa27d9f1)
+
+ maildir: Avoid harder to unnecessarily read uidlist when syncing mailbox.
+
+
+M src/lib-storage/index/maildir/maildir-sync.c
+
+2010-12-06 01:20:14 +0000 Timo Sirainen <tss@iki.fi> (8d889b6d84)
+
+ maildir: Avoid unnecessarily reading uidlist when opening mailbox.
+
+
+M src/lib-storage/index/maildir/maildir-sync.c
+
+2010-12-06 01:19:25 +0000 Timo Sirainen <tss@iki.fi> (2881363d32)
+
+ maildir: Avoid unnecessarily reading uidlist when opening mailbox.
+
+
+M src/lib-storage/index/maildir/maildir-sync.c
+
+2010-12-06 01:11:07 +0000 Timo Sirainen <tss@iki.fi> (8a13b020f9)
+
+ lib-storage: Moved box->private_flags_mask to
+ mailbox_get_private_flags_mask() This allows getting it lazily only when
+ it's actually needed.
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-storage.h
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+M src/lib-storage/test-mailbox.c
+M src/plugins/acl/acl-mailbox.c
+M src/plugins/virtual/virtual-storage.c
+
+2010-12-06 00:52:42 +0000 Timo Sirainen <tss@iki.fi> (d450553148)
+
+ lib-storage: Removed subscription name validity check from lib-storage after
+ all. It could have broken when subscriptions were being set for
+ subscriptions=no namespace.
+
+
+M src/imap/cmd-subscribe.c
+M src/lib-storage/mailbox-list.c
+
+2010-12-06 00:43:28 +0000 Timo Sirainen <tss@iki.fi> (7fd8e15822)
+
+ lib-storage: Mailbox directory creation didn't properly enforce that the
+ name was valid. The name was checked against "valid existing name" rather
+ than "valid create name", which mainly meant that the name could have
+ contained control characters and other things that weren't really intended.
+ This couldn't be used to cause any security holes though.
+
+
+M src/lib-storage/mailbox-list.c
+
+2010-12-06 00:42:42 +0000 Timo Sirainen <tss@iki.fi> (7339ddde31)
+
+ acl: Make the mailbox visible only when it has l/r/i right. This change only
+ affects the ability to SUBSCRIBE to a mailbox. Previously it was allowed
+ when user had any rights at all to mailbox.
+
+
+M src/plugins/acl/acl-mailbox-list.c
+
+2010-12-06 00:37:20 +0000 Timo Sirainen <tss@iki.fi> (43a4450c3b)
+
+ lib-storage: Removed unused mailbox_list_get_mailbox_name_status() status
+ codes.
+
+
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/plugins/acl/acl-mailbox-list.c
+
+2010-12-06 00:37:09 +0000 Timo Sirainen <tss@iki.fi> (f750d1b497)
+
+ imap-acl, imap-quota: Compile fix for last change.
+
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+
+2010-12-06 00:30:36 +0000 Timo Sirainen <tss@iki.fi> (62f49ddfc6)
+
+ imap: Avoid using mailbox_list_get_mailbox_name_status() The validity checks
+ should already be done by the actual commands in most cases (if they didn't,
+ there would be race condition bugs). The only exception is SUBSCRIBE. It
+ doesn't require that the mailbox exists, but we want to enforce that anyway
+ via IMAP.
+
+
+M src/imap/cmd-append.c
+M src/imap/cmd-copy.c
+M src/imap/cmd-create.c
+M src/imap/cmd-delete.c
+M src/imap/cmd-rename.c
+M src/imap/cmd-select.c
+M src/imap/cmd-status.c
+M src/imap/cmd-subscribe.c
+M src/imap/imap-commands-util.c
+M src/imap/imap-commands-util.h
+
+2010-12-06 00:14:25 +0000 Timo Sirainen <tss@iki.fi> (510c82e833)
+
+ lib-storage: Don't allow subscribing to invalid mailbox names.
+
+
+M src/lib-storage/mailbox-list.c
+
+2010-12-06 00:13:28 +0000 Timo Sirainen <tss@iki.fi> (1c1e571f54)
+
+ lib-storage: Mailbox directory creation didn't properly enforce that the
+ name was valid. The name was checked against "valid existing name" rather
+ than "valid create name", which mainly meant that the name could have
+ contained control characters and other things that weren't really intended.
+ This couldn't be used to cause any security holes though.
+
+
+M src/lib-storage/mailbox-list.c
+
+2010-12-05 23:53:47 +0000 Timo Sirainen <tss@iki.fi> (14609d1c87)
+
+ Removed unused BITS_IN_UINT and CLAMP macros.
+
+
+M src/lib/macros.h
+
+2010-12-05 23:53:25 +0000 Timo Sirainen <tss@iki.fi> (92550656e0)
+
+ Unexpand BITS_IN_SIZE_T in the only place it's used and remove the macro.
+
+
+M src/lib/lib.c
+M src/lib/macros.h
+
+2010-12-05 23:52:37 +0000 Timo Sirainen <tss@iki.fi> (65b15c350a)
+
+ Moved a global NVL() macro to the few places in lib-imap where it was
+ actually used.
+
+
+M src/lib-imap/imap-bodystructure.c
+M src/lib-imap/imap-envelope.c
+M src/lib/macros.h
+
+2010-12-05 23:48:34 +0000 Timo Sirainen <tss@iki.fi> (1e4623e33b)
+
+ lib-storage: Fixed error handling when trying to delete mailbox under
+ noinferiors mailbox.
+
+
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+
+2010-12-05 23:44:38 +0000 Timo Sirainen <tss@iki.fi> (df00412606)
+
+ lib-storage: Don't allocate index until mailbox_open()
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2010-12-05 23:18:55 +0000 Timo Sirainen <tss@iki.fi> (ca98892a6b)
+
+ lib-storage: Lazily look up mailbox path and permissions. Added functions to
+ get them.
+
+
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-sync.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-keywords.c
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-util.c
+M src/lib-storage/index/mbox/mbox-file.c
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-sync.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+M src/plugins/fts-squat/fts-backend-squat.c
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-sync.c
+M src/plugins/zlib/zlib-plugin.c
+
+2010-12-05 22:11:01 +0000 Timo Sirainen <tss@iki.fi> (de213b54c3)
+
+ lib-storage: mailbox_create_fd() handles "no inferior mailboxes allowed"
+ error now.
+
+
+M src/lib-storage/mail-storage.c
+
+2010-12-05 21:39:09 +0000 Timo Sirainen <tss@iki.fi> (c04f9a724a)
+
+ lib-storage: Removed struct index_transaction_context. All of its contents
+ are now in struct mailbox_transaction_context.
+
+
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/index-mail-headers.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/index-transaction.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/mbox/mbox-storage.h
+M src/lib-storage/mail-storage-private.h
+M src/plugins/virtual/virtual-mail.c
+M src/plugins/virtual/virtual-save.c
+M src/plugins/virtual/virtual-transaction.c
+M src/plugins/virtual/virtual-transaction.h
+
+2010-12-05 21:11:03 +0000 Timo Sirainen <tss@iki.fi> (a45730106f)
+
+ Compiler warning fix.
+
+
+M src/lib-storage/index/maildir/maildir-sync.h
+
+2010-12-03 23:16:26 +0000 Timo Sirainen <tss@iki.fi> (5226c54b85)
+
+ lib-master: Error message typofix.
+
+
+M src/lib-master/master-login-auth.c
+
+2010-12-03 19:38:02 +0000 Timo Sirainen <tss@iki.fi> (a763b99a58)
+
+ Added signature for changeset 51e41fcc7856
+
+
+M .hgsigs
+
+2010-12-03 19:37:58 +0000 Timo Sirainen <tss@iki.fi> (70be0d5b7c)
+
+ Added tag 2.0.8 for changeset 51e41fcc7856
+
+
+M .hgtags
+
+2010-12-03 19:37:56 +0000 Timo Sirainen <tss@iki.fi> (a0a488f68b)
+
+ Released v2.0.8.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2010-12-03 19:25:04 +0000 Timo Sirainen <tss@iki.fi> (2017808643)
+
+ example-config: Added comments to default_vsz_limit.
+
+
+M doc/example-config/conf.d/10-master.conf
+
+2010-12-03 10:47:46 +0000 Timo Sirainen <tss@iki.fi> (d721a5f55d)
+
+ lib-index: Make static analyzer happier.
+
+
+M src/lib-index/mail-index-sync-keywords.c
+
+2010-12-03 10:47:07 +0000 Timo Sirainen <tss@iki.fi> (00a570d09d)
+
+ Dead code removal.
+
+
+M src/lib/test-istream-base64-encoder.c
+
+2010-12-03 10:43:03 +0000 Timo Sirainen <tss@iki.fi> (c0b11b57c4)
+
+ lib-storage: mail_storage_copy_can_use_hardlink() was always returning TRUE.
+
+
+M src/lib-storage/mail-copy.c
+
+2010-12-03 10:15:48 +0000 Timo Sirainen <tss@iki.fi> (fc45e0ed51)
+
+ dbox: Fixed reading attachments for compressed mails.
+
+
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+
+2010-12-03 10:15:20 +0000 Timo Sirainen <tss@iki.fi> (427ad9fea5)
+
+ dbox: Added dbox_file_get_plaintext_size() for easily getting it.
+
+
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-file.h
+M src/lib-storage/index/dbox-common/dbox-mail.c
+
+2010-12-03 10:05:38 +0000 Timo Sirainen <tss@iki.fi> (bdb9f7f7fb)
+
+ Log login pid/id for internal failures to allow matching errors between
+ processes.
+
+
+M src/lib-master/master-login-auth.c
+M src/login-common/client-common.c
+
+2010-12-03 09:10:12 +0000 Timo Sirainen <tss@iki.fi> (928529ce8d)
+
+ lib-storage: Fixed storing newlines at the end of base64 attachments.
+
+
+M src/lib-storage/index/index-attachment.c
+
+2010-12-03 09:09:10 +0000 Timo Sirainen <tss@iki.fi> (58438ae6f3)
+
+ istream-base64-encoder: Fixed reading when parent stream returned little
+ data.
+
+
+M src/lib/istream-base64-encoder.c
+
+2010-12-03 07:39:13 +0000 Timo Sirainen <tss@iki.fi> (e5974bef94)
+
+ Compiler warning fixes.
+
+
+M src/auth/userdb-passwd.c
+M src/lib-fs/fs-posix.c
+
+2010-12-03 07:12:20 +0000 Timo Sirainen <tss@iki.fi> (c74ee9cd8a)
+
+ ioloop: Don't leak memory when detecting a leaked timeout.
+
+
+M src/lib/ioloop.c
+
+2010-12-03 07:06:34 +0000 Timo Sirainen <tss@iki.fi> (7992630160)
+
+ ioloop log: Added asserts
+
+
+M src/lib/ioloop.c
+
+2010-12-03 07:00:17 +0000 Timo Sirainen <tss@iki.fi> (97333cbaa7)
+
+ mail storage service: Use ioloop log prefix automation. This properly fixes
+ imap/pop3 when using with client_limit>1.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2010-12-03 06:58:38 +0000 Timo Sirainen <tss@iki.fi> (b9a13c136b)
+
+ ioloop: Added support for per-io/timeout callback log prefix automation.
+
+
+M src/lib/ioloop-epoll.c
+M src/lib/ioloop-internal.h
+M src/lib/ioloop-kqueue.c
+M src/lib/ioloop-poll.c
+M src/lib/ioloop-select.c
+M src/lib/ioloop.c
+M src/lib/ioloop.h
+
+2010-12-03 06:57:58 +0000 Timo Sirainen <tss@iki.fi> (5be786ac7c)
+
+ imap, pop3: Removed previous log prefix hack.
+
+
+M src/imap/cmd-append.c
+M src/imap/cmd-idle.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-search.c
+M src/pop3/pop3-client.c
+
+2010-12-03 05:46:57 +0000 Timo Sirainen <tss@iki.fi> (bbb0b24625)
+
+ imap, pop3: Small optimization to last logging change. Also added FIXMEs.
+ This is an ugly way to change log prefixes.
+
+
+M src/imap/imap-client.c
+M src/pop3/pop3-client.c
+
+2010-12-03 05:43:16 +0000 Timo Sirainen <tss@iki.fi> (0fb11b6350)
+
+ imap, pop3: Try to use the correct log prefix when service_count!=1.
+
+
+M src/imap/cmd-append.c
+M src/imap/cmd-idle.c
+M src/imap/imap-client.c
+M src/imap/imap-client.h
+M src/imap/imap-search.c
+M src/pop3/pop3-client.c
+
+2010-12-03 04:25:06 +0000 Timo Sirainen <tss@iki.fi> (e188bab0b8)
+
+ lib-index: Added "transaction boundary" record for future compatibility.
+
+
+M src/doveadm/doveadm-dump-log.c
+M src/lib-index/mail-index-sync-update.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log.h
+
+2010-12-02 22:59:42 +0000 Timo Sirainen <tss@iki.fi> (0b47e0098e)
+
+ lib_init(): Call srand() with a bit better seed.
+
+
+M src/lib/lib.c
+
+2010-12-02 21:42:30 +0000 Timo Sirainen <tss@iki.fi> (b5322c8270)
+
+ auth: Fail if auth client tries to use a duplicate ID.
+
+
+M src/auth/auth-request-handler.c
+
+2010-12-02 21:42:18 +0000 Timo Sirainen <tss@iki.fi> (65565b19bc)
+
+ lib-master: Try to use auth request ID numbers from wider range to ease
+ debugging.
+
+
+M src/lib-master/master-login-auth.c
+
+2010-12-02 19:10:23 +0000 Timo Sirainen <tss@iki.fi> (bc2739c264)
+
+ auth: passdb credentials lookup fix when using multiple passdbs. If at least
+ one passdb returns "user unknown" and the last passdb returns "credential
+ lookup not supported", the proper return value is still "user unknown".
+
+
+M src/auth/auth-request.c
+M src/auth/auth-request.h
+
+2010-12-02 17:38:08 +0000 Timo Sirainen <tss@iki.fi> (93f4e5baf6)
+
+ lib-master: Added extra debug info for a "user not found" error message.
+
+
+M src/lib-master/master-login-auth.c
+
+2010-12-02 04:37:38 +0000 Timo Sirainen <tss@iki.fi> (e49769b642)
+
+ lib-index: Added a missing sanity check for expunge-guid record's uid. This
+ fixes a non-self healing assert-crash.
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2010-11-30 22:38:05 +0000 Timo Sirainen <tss@iki.fi> (70af4db1c9)
+
+ lmtp: Added lmtp_save_to_detail_mailbox setting.
+
+
+M doc/example-config/conf.d/20-lmtp.conf
+M src/lmtp/commands.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2010-11-30 15:01:06 +0000 Timo Sirainen <tss@iki.fi> (0547a828ee)
+
+ master: Fixed crash due to recent SSL key password askpass change.
+
+
+M src/master/service-process.c
+
+2010-11-30 00:20:09 +0000 Timo Sirainen <tss@iki.fi> (eadbe304f7)
+
+ askpass: Removed unnecessary code.
+
+
+M src/lib/askpass.c
+
+2010-11-30 00:17:20 +0000 Timo Sirainen <tss@iki.fi> (24b31da048)
+
+ askpass: Allow reading password from stdin even if it's not a tty.
+
+
+M src/lib/askpass.c
+
+2010-11-30 00:13:45 +0000 Timo Sirainen <tss@iki.fi> (4ef46445d2)
+
+ master: Use t_askpass() for getting the manual SSL key password.
+
+
+M src/master/common.h
+M src/master/main.c
+
+2010-11-30 00:12:54 +0000 Timo Sirainen <tss@iki.fi> (f7ecae867e)
+
+ t_askpass(): Removed a limit of 1024 bytes for the password.
+
+
+M src/lib/askpass.c
+
+2010-11-29 23:58:19 +0000 Timo Sirainen <tss@iki.fi> (4afd50dff1)
+
+ lmtp: Recent change broke accessing mail_temp_dir. Also when it happened, an
+ error message wasn't always logged.
+
+
+M src/lmtp/client.c
+M src/lmtp/client.h
+M src/lmtp/commands.c
+M src/lmtp/lmtp-settings.c
+M src/lmtp/lmtp-settings.h
+
+2010-11-29 19:13:37 +0000 Timo Sirainen <tss@iki.fi> (66a164c358)
+
+ fs-sis: Memory leak fix.
+
+
+M src/lib-fs/fs-sis.c
+
+2010-11-29 19:08:37 +0000 Timo Sirainen <tss@iki.fi> (567728568f)
+
+ doveadm import: Free memory used by source storage at deinit.
+
+
+M src/doveadm/doveadm-mail-import.c
+
+2010-11-26 23:06:24 +0000 Pascal Volk <user@localhost.localdomain.org> (a4fb6a33c9)
+
+ man: doveadm-import.1: Added missing argument descriptions.
+
+
+M doc/man/doveadm-import.1.in
+
+2010-11-26 18:59:29 +0000 Timo Sirainen <tss@iki.fi> (20fec0142e)
+
+ TODO updated
+
+
+M TODO
+
+2010-11-26 18:19:16 +0000 Timo Sirainen <tss@iki.fi> (7af2a19a89)
+
+ auth sql/ldap: Allow using global %variables in iterate_query/filter. No
+ per-query %variables are defined, but e.g. %{hostname} or %{env:*} can be
+ used.
+
+
+M src/auth/userdb-ldap.c
+M src/auth/userdb-sql.c
+
+2010-11-26 17:46:49 +0000 Timo Sirainen <tss@iki.fi> (d1e7425048)
+
+ login: Fixed potential assert-crash during failed proxy authentication.
+
+
+M src/login-common/client-common-auth.c
+
+2010-11-26 17:31:00 +0000 Timo Sirainen <tss@iki.fi> (de63a9a985)
+
+ auth: Assume inet_listeners are auth client listeners if they exist.
+
+
+M src/auth/main.c
+
+2010-11-26 17:27:44 +0000 Timo Sirainen <tss@iki.fi> (b918f91cec)
+
+ auth: Minor error message fix.
+
+
+M src/auth/main.c
+
+2010-11-25 17:44:02 +0000 Pascal Volk <user@localhost.localdomain.org> (44c6dbf0a4)
+
+ man: Added "-S socket_path" description.
+
+
+M doc/man/Makefile.am
+M doc/man/doveadm-altmove.1.in
+M doc/man/doveadm-expunge.1.in
+M doc/man/doveadm-fetch.1.in
+M doc/man/doveadm-force-resync.1.in
+M doc/man/doveadm-import.1.in
+M doc/man/doveadm-mailbox.1.in
+M doc/man/doveadm-purge.1.in
+M doc/man/doveadm-quota.1.in
+M doc/man/doveadm-search.1.in
+M doc/man/doveadm.1.in
+M doc/man/global-options-formatter.inc
+M doc/man/global-options.inc
+A doc/man/option-S-socket.inc
+M doc/man/sed.sh
+
+2010-11-24 18:56:48 +0000 Timo Sirainen <tss@iki.fi> (8bce86e7b7)
+
+ doveadm: -s was already used by some mailbox commands, renamed to -S. Also
+ added -S to usage output.
+
+
+M src/doveadm/doveadm-mail.c
+
+2010-11-24 17:20:33 +0000 Pascal Volk <user@localhost.localdomain.org> (10635b60b6)
+
+ doveadm: Removed -s option from the usage message (according to
+ 66428c763354)
+
+
+M src/doveadm/doveadm.c
+
+2010-11-23 19:37:56 +0000 Timo Sirainen <tss@iki.fi> (68bc73799c)
+
+ lib-storage: mail_temp_dir setting should have done %variable expansion.
+
+
+M src/lib-storage/mail-storage-settings.c
+
+2010-11-23 19:07:19 +0000 Timo Sirainen <tss@iki.fi> (d5ef38077a)
+
+ doveadm: Moved -s parameter among -u/-A parameters, since it's only used by
+ mail commands.
+
+
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-settings.c
+M src/doveadm/doveadm-settings.h
+M src/doveadm/doveadm.c
+
+2010-11-23 18:42:27 +0000 Pascal Volk <user@localhost.localdomain.org> (7f0736b040)
+
+ man: Added -s parameter.
+
+
+M doc/man/doveadm.1.in
+M doc/man/global-options-formatter.inc
+M doc/man/global-options.inc
+
+2010-11-23 18:26:38 +0000 Timo Sirainen <tss@iki.fi> (ca0cdd1faf)
+
+ lib-index: Don't try to stat() in-memory index.
+
+
+M src/lib-index/mail-transaction-log.c
+
+2010-11-23 17:39:19 +0000 Pascal Volk <user@localhost.localdomain.org> (c9775dea8c)
+
+ man: *roff syntax-fix.
+
+
+M doc/man/doveadm-import.1.in
+
+2010-11-23 17:04:07 +0000 Pascal Volk <user@localhost.localdomain.org> (1add53ffbc)
+
+ doveadm: Added -s parameter to the usage message.
+
+
+M src/doveadm/doveadm.c
+
+2010-11-23 17:05:04 +0000 Timo Sirainen <tss@iki.fi> (11ca7819a9)
+
+ man: Make it clear that doveadm-import allows dest_parent to be ""
+
+
+M doc/man/doveadm-import.1.in
+
+2010-11-23 16:55:55 +0000 Timo Sirainen <tss@iki.fi> (ddf2fc35bc)
+
+ man: Added pointer to doveadm-import from doveadm main man page.
+
+
+M doc/man/doveadm.1.in
+
+2010-11-23 16:23:31 +0000 Timo Sirainen <tss@iki.fi> (43955c82f9)
+
+ maildir: Log a warning if scanning new/ or cur/ takes over 60s.
+
+
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-sync.h
+
+2010-11-23 16:11:15 +0000 Timo Sirainen <tss@iki.fi> (35d87d75ac)
+
+ lib-master: Added missing master_service_get_settings_parser() required by
+ recent change.
+
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+
+2010-11-23 15:59:09 +0000 Timo Sirainen <tss@iki.fi> (7f735cb86b)
+
+ lib-storage: If disable_reflink_copy_to=TRUE, disable hardlink/refcount
+ copying.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/mail-copy.c
+M src/lib-storage/mail-copy.h
+M src/lib-storage/mail-storage-private.h
+
+2010-11-23 15:30:32 +0000 Timo Sirainen <tss@iki.fi> (2cc88ff507)
+
+ doveadm server: Fixes to command/parameter handling.
+
+
+M src/doveadm/doveadm-mail-server.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+M src/doveadm/main.c
+
+2010-11-23 15:30:06 +0000 Timo Sirainen <tss@iki.fi> (773eca7793)
+
+ doveadm: Added -s parameter to execute mail command via given doveadm
+ socket.
+
+
+M src/doveadm/doveadm.c
+
+2010-11-23 15:28:47 +0000 Timo Sirainen <tss@iki.fi> (da63ca2e58)
+
+ doveadm-server: Don't disconnect client after each command.
+
+
+M src/doveadm/client-connection.c
+
+2010-11-22 19:04:13 +0000 Timo Sirainen <tss@iki.fi> (61e04b38e0)
+
+ imap: Make sure IDLE isn't broken too early if DONE is sent in multiple
+ packets.
+
+
+M src/imap/cmd-idle.c
+
+2010-11-22 18:35:07 +0000 Timo Sirainen <tss@iki.fi> (426e50e764)
+
+ quota: If user has unlimited quota, ignore any specific quota rules.
+
+
+M src/plugins/quota/quota.c
+
+2010-11-22 18:21:25 +0000 Timo Sirainen <tss@iki.fi> (e170e0d6db)
+
+ doveadm-server: Fixed command parameter handling.
+
+
+M src/doveadm/client-connection.c
+
+2010-11-19 21:08:37 +0000 Timo Sirainen <tss@iki.fi> (9036d32261)
+
+ lib-master: Added missing anvil_client_is_connected()
+
+
+M src/lib-master/anvil-client.c
+M src/lib-master/anvil-client.h
+
+2010-11-19 16:24:41 +0000 Timo Sirainen <tss@iki.fi> (d47aaddba7)
+
+ imap, pop3: Fixed giving any -parameters.
+
+
+M src/imap/main.c
+M src/pop3/main.c
+
+2010-11-18 20:35:39 +0000 Timo Sirainen <tss@iki.fi> (e9d9f9071b)
+
+ auth: If we get disconnected from anvil and can't reconnect, die.
+
+
+M src/auth/auth-penalty.c
+
+2010-11-18 20:35:20 +0000 Timo Sirainen <tss@iki.fi> (2e0eb7bb28)
+
+ auth: Fixed assert-crash at deinit if there were clients left with pending
+ auth requests.
+
+
+M src/auth/auth-client-connection.c
+
+2010-11-18 19:32:50 +0000 Timo Sirainen <tss@iki.fi> (9bd6077183)
+
+ snarf: Added mbox_snarf setting to enable snarfing only optionally.
+
+
+M src/plugins/snarf/Makefile.am
+M src/plugins/snarf/snarf-plugin.c
+
+2010-11-18 18:58:33 +0000 Timo Sirainen <tss@iki.fi> (a6e79dffa0)
+
+ Replaced broken mbox-snarf plugin with a more generic snarf plugin.
+
+
+M configure.in
+M src/plugins/Makefile.am
+D src/plugins/mbox-snarf/mbox-snarf-plugin.c
+D src/plugins/mbox-snarf/mbox-snarf-plugin.h
+R052 src/plugins/mbox-snarf/Makefile.am src/plugins/snarf/Makefile.am
+A src/plugins/snarf/snarf-plugin.c
+A src/plugins/snarf/snarf-plugin.h
+
+2010-11-18 18:57:18 +0000 Timo Sirainen <tss@iki.fi> (00a297eb7e)
+
+ pop3: Avoid crash when updating proctitle if client init fails.
+
+
+M src/pop3/pop3-client.c
+
+2010-11-18 18:56:34 +0000 Timo Sirainen <tss@iki.fi> (fbb324fedc)
+
+ mbox: Allow mail_privileged_group locking for INBOXes also in inbox=no
+ namespaces.
+
+
+M src/lib-storage/index/mbox/mbox-lock.c
+M src/lib-storage/index/mbox/mbox-storage.c
+
+2010-11-18 18:51:34 +0000 Timo Sirainen <tss@iki.fi> (85bb9e3d44)
+
+ configure: And small fix to previous --with-systemdsystemunitdir fix.
+
+
+M configure.in
+
+2010-11-18 18:49:34 +0000 Timo Sirainen <tss@iki.fi> (ee043005e6)
+
+ configure: --with-systemdsystemunitdir wasn't working right.
+
+
+M configure.in
+
+2010-11-18 18:38:08 +0000 Timo Sirainen <tss@iki.fi> (54f17c2209)
+
+ configure: Use AS_HELP_STRING() macro.
+
+
+M configure.in
+
+2010-11-18 18:28:40 +0000 Timo Sirainen <tss@iki.fi> (061758633f)
+
+ master: Compiling fix when systemd is enabled.
+
+
+M src/master/service-listen.c
+
+2010-11-17 18:40:52 +0000 Timo Sirainen <tss@iki.fi> (f6ba2de94f)
+
+ Added support for systemd. Based on patch by Christophe Fergeau
+
+
+M Makefile.am
+M configure.in
+A dovecot.service.in
+A dovecot.socket
+M src/lib-master/master-service.c
+M src/master/Makefile.am
+M src/master/main.c
+A src/master/sd-daemon.c
+A src/master/sd-daemon.h
+M src/master/service-listen.c
+
+2010-11-17 18:21:46 +0000 Timo Sirainen <tss@iki.fi> (71c5cba2a1)
+
+ configure: Use PKG_PROG_PKG_CONFIG to find pkg-config binary.
+
+
+M configure.in
+
+2010-11-17 18:10:46 +0000 Timo Sirainen <tss@iki.fi> (b2b2b63e23)
+
+ istream-header-filter: Fixed header name validation to use case-insensitive
+ comparison.
+
+
+M src/lib-mail/istream-header-filter.c
+
+2010-11-17 17:52:52 +0000 Timo Sirainen <tss@iki.fi> (178839556a)
+
+ lib-master: If auth master login fails, make sure error message is logged.
+
+
+M src/lib-master/master-login-auth.c
+
+2010-11-17 16:55:56 +0000 Timo Sirainen <tss@iki.fi> (b57cd99289)
+
+ mysql: When using multiple hosts, it never connected to more than the first
+ one.
+
+
+M src/lib-sql/driver-mysql.c
+
+2010-11-17 16:55:44 +0000 Timo Sirainen <tss@iki.fi> (73bc59c2a5)
+
+ lib-sql: Connect earlier to fallback host when using multiple hosts and
+ primary fails.
+
+
+M src/lib-sql/driver-sqlpool.c
+
+2010-11-17 14:33:46 +0000 Timo Sirainen <tss@iki.fi> (d190598d21)
+
+ master: Allow services' vsz_limit to be 0 (unlimited)
+
+
+M src/master/master-settings.c
+
+2010-11-16 19:58:03 +0000 Timo Sirainen <tss@iki.fi> (f7f25f9e1a)
+
+ Services' default vsz_limit wasn't actually using default_vsz_limit but
+ rather 4 GB.
+
+
+M src/anvil/anvil-settings.c
+M src/auth/auth-settings.c
+M src/config/config-settings.c
+M src/dict/dict-settings.c
+M src/director/director-settings.c
+M src/dns/dns-client-settings.c
+M src/doveadm/doveadm-settings.c
+M src/imap/imap-settings.c
+M src/log/log-settings.c
+M src/pop3/pop3-settings.c
+M src/ssl-params/ssl-params-settings.c
+M src/util/tcpwrap-settings.c
+
+2010-11-16 19:51:46 +0000 Timo Sirainen <tss@iki.fi> (002179a890)
+
+ Fixed home=/home/./user style chrooting to work again.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2010-11-16 19:32:51 +0000 Timo Sirainen <tss@iki.fi> (3f6093a29c)
+
+ master: Fail if service's vsz_limit is less than 1 kB
+
+
+M src/master/master-settings.c
+
+2010-11-16 19:32:00 +0000 Timo Sirainen <tss@iki.fi> (e6aaf5a9d5)
+
+ imap/pop3-login: Default vsz_limit=64 caused it to be unlimited, not 64 MB.
+
+
+M src/imap-login/imap-login-settings.c
+M src/pop3-login/pop3-login-settings.c
+
+2010-11-16 18:51:37 +0000 Timo Sirainen <tss@iki.fi> (3d4c24127f)
+
+ mbox: Another utime()=EPERM log message hiding.
+
+
+M src/lib-storage/index/mbox/mbox-file.c
+
+2010-11-16 18:47:48 +0000 Timo Sirainen <tss@iki.fi> (205debb6e5)
+
+ mbox: Ignore utime()=EPERM failures when trying to set atime back. This
+ happens with shared mboxes when file's owner isn't the process's euid.
+
+
+M src/lib-storage/index/mbox/mbox-save.c
+M src/lib-storage/index/mbox/mbox-sync.c
+
+2010-11-15 17:40:12 +0000 Timo Sirainen <tss@iki.fi> (57dc9b1d27)
+
+ istream-base64-encoder: Set the stream seekable if parent stream is
+ seekable.
+
+
+M src/lib/istream-base64-encoder.c
+
+2010-11-15 17:03:52 +0000 Timo Sirainen <tss@iki.fi> (d482079eb3)
+
+ "Running standalone?" check now uses a new DOVECOT_CHILD_PROCESS environment
+ rather than GENERATION. The GENERATION environment was already set in some
+ systems for Java.
+
+
+M src/imap/main.c
+M src/lib-master/master-interface.h
+M src/lmtp/main.c
+M src/master/service-process.c
+M src/pop3/main.c
+M src/util/script-login.c
+
+2010-11-15 16:49:26 +0000 Timo Sirainen <tss@iki.fi> (74b324a433)
+
+ lib-settings: Improved performance of previous duplicate key parsing change.
+
+
+M src/lib-settings/settings-parser.c
+
+2010-11-15 16:42:19 +0000 Timo Sirainen <tss@iki.fi> (cdc74bd195)
+
+ lib-settings: Fixed parsing settings when the key was duplicated to multiple
+ roots. Previously only the first one got the value set, now all of them get
+ it.
+
+
+M src/lib-settings/settings-parser.c
+
+2010-11-15 16:33:27 +0000 Timo Sirainen <tss@iki.fi> (7c20c51d87)
+
+ Removed unused auth/mail_debug settings from structs.
+
+
+M src/imap/imap-settings.c
+M src/imap/imap-settings.h
+M src/master/master-settings.c
+M src/master/master-settings.h
+M src/pop3/pop3-settings.c
+M src/pop3/pop3-settings.h
+
+2010-11-15 16:25:23 +0000 Timo Sirainen <tss@iki.fi> (334fcad698)
+
+ istream-file: Minor error message fix.
+
+
+M src/lib/istream-file.c
+
+2010-11-15 16:22:08 +0000 Timo Sirainen <tss@iki.fi> (6a3a072331)
+
+ Added unit test for istream-base64-encoder.
+
+
+M src/lib/Makefile.am
+A src/lib/test-istream-base64-encoder.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2010-11-15 16:21:45 +0000 Timo Sirainen <tss@iki.fi> (5b548e1850)
+
+ istream-base64-encoder: Fixed seeking to beginning of stream.
+
+
+M src/lib/istream-base64-encoder.c
+
+2010-11-15 16:06:58 +0000 Timo Sirainen <tss@iki.fi> (aa7103b521)
+
+ istream-base64-encoder: Don't add unwanted trailing [CR]LF
+
+
+M src/lib/istream-base64-encoder.c
+
+2010-11-15 15:42:21 +0000 Timo Sirainen <tss@iki.fi> (010affb9f4)
+
+ dbox: dbox file could have been closed too early in some situations, causing
+ EBADF errors.
+
+
+M src/lib-storage/index/dbox-common/dbox-mail.c
+
+2010-11-15 15:31:26 +0000 Timo Sirainen <tss@iki.fi> (b5453782be)
+
+ stream-base64-encoder: Added support for seeking backwards in stream.
+
+
+M src/lib/istream-base64-encoder.c
+
+2010-11-15 15:31:02 +0000 Timo Sirainen <tss@iki.fi> (d9ab8a13b5)
+
+ istream: Exported i_stream_default_seek()
+
+
+M src/lib/istream-internal.h
+M src/lib/istream.c
+
+2010-11-15 15:19:13 +0000 Timo Sirainen <tss@iki.fi> (e22ac7474f)
+
+ sdbox: Fixed race condition when one session opens a mailbox while another
+ is still creating it. This happened mostly when nonexistent INBOX was being
+ opened by multiple sessions at the same time.
+
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2010-11-10 16:09:14 +0000 Timo Sirainen <tss@iki.fi> (8787860a1e)
+
+ anvil: Don't die until all of our clients have gone.
+
+
+M src/anvil/main.c
+
+2010-11-09 21:42:58 +0000 Timo Sirainen <tss@iki.fi> (a857fb61f1)
+
+ Added env_get_environ_p() as more portable way of accessing environ
+ variable. Implemented with OS X using _NSGetEnviron().
+
+
+M src/lib-settings/settings-parser.c
+M src/lib/env-util.c
+M src/lib/env-util.h
+M src/lib/process-title.c
+
+2010-11-09 21:17:15 +0000 Timo Sirainen <tss@iki.fi> (ac607f4bd7)
+
+ example-config: sendmail_path defaults to /usr/sbin/sendmail, not
+ /usr/lib/sendmail
+
+
+M doc/example-config/conf.d/15-lda.conf
+
+2010-11-09 21:16:06 +0000 Timo Sirainen <tss@iki.fi> (a1f2b44a1b)
+
+ example-config: Moved include conf.d/*.conf last in dovecot.conf. This fixes
+ problems where conf.d/ files try to modify settings in dovecot.conf,
+ especially managesieve adding itself to protocols setting.
+
+
+M doc/example-config/dovecot.conf
+
+2010-11-09 21:12:35 +0000 Timo Sirainen <tss@iki.fi> (a2f99d3fb8)
+
+ dsync: Don't assert-crash if trying to convert mailbox whose name is too
+ long.
+
+
+M src/dsync/dsync-worker-local.c
+
+2010-11-09 21:03:34 +0000 Timo Sirainen <tss@iki.fi> (1a70427c2c)
+
+ istream-[b]zlib: Corking now affects also the parent stream.
+
+
+M src/plugins/zlib/ostream-bzlib.c
+M src/plugins/zlib/ostream-zlib.c
+
+2010-11-09 20:25:36 +0000 Timo Sirainen <tss@iki.fi> (fc2a751e24)
+
+ liblib: Delay sending log prefix updates until it's needed. This avoids
+ sending them unnecessarily.
+
+
+M src/lib/failures.c
+
+2010-11-09 20:24:12 +0000 Timo Sirainen <tss@iki.fi> (4cf07bf088)
+
+ imap: Uncork at logout a bit later.
+
+
+M src/imap/cmd-logout.c
+M src/imap/imap-client.c
+
+2010-11-09 19:48:47 +0000 Timo Sirainen <tss@iki.fi> (e599fa1e10)
+
+ lib-master: Don't wait for handshake before sending auth-master request.
+
+
+M src/lib-master/master-login-auth.c
+
+2010-11-09 18:36:37 +0000 Timo Sirainen <tss@iki.fi> (9abf5be096)
+
+ lib-storage: Fixed expanding "~" (without '/' afterwards) in mail_location
+
+
+M src/lib-storage/mailbox-list.c
+
+2010-11-08 19:55:35 +0000 Timo Sirainen <tss@iki.fi> (feba01f33c)
+
+ NEWS: Split too long line.
+
+
+M NEWS
+
+2010-11-08 19:45:17 +0000 Timo Sirainen <tss@iki.fi> (ea6a5c12b9)
+
+ Added signature for changeset d0d3aca1c958
+
+
+M .hgsigs
+
+2010-11-08 19:45:14 +0000 Timo Sirainen <tss@iki.fi> (6371b34fc0)
+
+ Added tag 2.0.7 for changeset d0d3aca1c958
+
+
+M .hgtags
+
+2010-11-08 19:45:14 +0000 Timo Sirainen <tss@iki.fi> (45ed2663d7)
+
+ Released v2.0.7.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2010-11-08 18:38:31 +0000 Timo Sirainen <tss@iki.fi> (7aa2dd1897)
+
+ lmtp: Don't allow mixed proxy/non-proxy RCPT TO destinations. Although the
+ code attempts to handle this case already, the DATA replies aren't sent in
+ correct order.
+
+
+M src/lmtp/commands.c
+
+2010-11-08 18:37:25 +0000 Timo Sirainen <tss@iki.fi> (1e0950766f)
+
+ lmtp proxy: Don't internally finish proxying before client has even sent
+ DATA command. This fixes some crashes when all recipients were invalid.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2010-11-08 18:30:05 +0000 Timo Sirainen <tss@iki.fi> (106e86d8bf)
+
+ istream-tee: Fixed to work right when input stream didn't start from offset
+ 0.
+
+
+M src/lib/istream-tee.c
+
+2010-11-08 18:03:07 +0000 Timo Sirainen <tss@iki.fi> (c991c182b0)
+
+ maildir: p_strdup() GUID and UIDL_BACKEND to make sure they don't change
+ unexpectedly.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2010-11-05 19:51:47 +0000 Timo Sirainen <tss@iki.fi> (63e2edd14a)
+
+ lib-index: Fixed another transaction log read optimization. Buffer's size
+ should always be the same as sync_offset, otherwise some optimizations could
+ think that the data doesn't have to be re-read even though it was updated in
+ disk already.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2010-11-05 18:58:56 +0000 Timo Sirainen <tss@iki.fi> (f34227d18c)
+
+ lib-index: Fix to transaction log read optimization. The log wasn't always
+ refreshed while locked when it should have.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2010-11-05 12:24:01 +0000 Timo Sirainen <tss@iki.fi> (9d2a30e39c)
+
+ lib-auth: Less leaky fix to previous auth_master_*() bugfix.
+
+
+M src/lib-auth/auth-master.c
+
+2010-11-05 12:15:53 +0000 Timo Sirainen <tss@iki.fi> (f98b69fec1)
+
+ lib-auth: Don't crash in auth_master_*() lookups if caller hasn't created
+ ioloop.
+
+
+M src/lib-auth/auth-master.c
+
+2010-11-04 18:56:47 +0000 Timo Sirainen <tss@iki.fi> (40c24f8fe3)
+
+ quota: Better fix to avoid counting quota for virtual mailboxes.
+
+
+M src/plugins/quota/quota-maildir.c
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+
+2010-11-04 18:56:13 +0000 Timo Sirainen <tss@iki.fi> (4ba9a1d3fa)
+
+ virtual: Set MAIL_STORAGE_CLASS_FLAG_NOQUOTA to storage's class_flags.
+
+
+M src/lib-storage/mail-storage-private.h
+M src/plugins/virtual/virtual-storage.c
+
+2010-11-04 17:55:47 +0000 Timo Sirainen <tss@iki.fi> (a32ac1ad1c)
+
+ lib-index: Minor error message improvement.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2010-11-04 17:50:42 +0000 Timo Sirainen <tss@iki.fi> (46b0fad7bc)
+
+ lib-fs / posix: If create/link/rename fails with ENOENT, try creating parent
+ dir multiple times. This avoids random failures when the parent dir happens
+ to be removed at just the right time.
+
+
+M src/lib-fs/fs-posix.c
+
+2010-11-04 17:00:42 +0000 Timo Sirainen <tss@iki.fi> (7bb3cf9215)
+
+ dbox: Minor optimization when creating a mailbox when its alt dir already
+ existed. Patch by DINH Viêt Hoà
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.c
+
+2010-11-04 16:37:49 +0000 Timo Sirainen <tss@iki.fi> (a640b06143)
+
+ ssl: Call OpenSSL_add_all_algorithms() to make some OpenSSL versions happy.
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2010-11-04 16:25:39 +0000 Timo Sirainen <tss@iki.fi> (170d90af13)
+
+ istream-attachment: Error handling improvements.
+
+
+M src/lib-storage/index/istream-attachment.c
+
+2010-11-04 16:25:18 +0000 Timo Sirainen <tss@iki.fi> (64c48ffb71)
+
+ istream-concat: Fixed error handling when one of the stream read()s failed.
+
+
+M src/lib/istream-concat.c
+
+2010-11-04 15:47:37 +0000 Timo Sirainen <tss@iki.fi> (1618629fd5)
+
+ config parser: Log an error about missing '}'.
+
+
+M src/config/config-parser-private.h
+M src/config/config-parser.c
+
+2010-11-04 14:11:15 +0000 Timo Sirainen <tss@iki.fi> (effd6c0d07)
+
+ istream-base64-encoder: Panic if stat() is tried to be called with exact
+ size.
+
+
+M src/lib/istream-base64-encoder.c
+
+2010-11-04 14:07:30 +0000 Timo Sirainen <tss@iki.fi> (ee083c411c)
+
+ istream-attachment: Removed parent stream's size sanity check. It didn't
+ work right with base64 streams.
+
+
+M src/lib-storage/index/istream-attachment.c
+
+2010-11-03 18:00:15 +0000 Timo Sirainen <tss@iki.fi> (cb506a7cbb)
+
+ lda: If Sieve is disabled, don't create temp files for large mails.
+
+
+M src/lda/main.c
+
+2010-11-03 17:57:20 +0000 Timo Sirainen <tss@iki.fi> (291f1e54dc)
+
+ lib-lda: mail_deliver_save() tries now to avoid re-parsing message header
+ when logging the result.
+
+
+M src/lib-lda/mail-deliver.c
+M src/lib-lda/mail-deliver.h
+
+2010-11-03 16:27:00 +0000 Timo Sirainen <tss@iki.fi> (8677db8bba)
+
+ doveadm dump: Added imapzlib type to uncompress IMAP's COMPRESS DEFLATE I/O
+ traffic.
+
+
+M src/plugins/zlib/Makefile.am
+A src/plugins/zlib/doveadm-zlib.c
+
+2010-11-03 16:24:31 +0000 Timo Sirainen <tss@iki.fi> (134582c78f)
+
+ doveadm dump: Allow plugins to add more dump types
+
+
+M src/doveadm/doveadm-dump.c
+M src/doveadm/doveadm-dump.h
+M src/doveadm/doveadm.c
+
+2010-11-03 15:31:48 +0000 Timo Sirainen <tss@iki.fi> (76dd05677c)
+
+ master: Log a warning at startup if anvil's client_limit is too low.
+
+
+M src/master/master-settings.c
+
+2010-11-03 15:31:36 +0000 Timo Sirainen <tss@iki.fi> (f98cd3b7cc)
+
+ lmtp: Minor code cleanup: s/lmtp_login_/lmtp_/
+
+
+M src/lmtp/lmtp-settings.c
+
+2010-11-03 15:27:40 +0000 Timo Sirainen <tss@iki.fi> (412b772c33)
+
+ director: Show number of connections in process title if
+ verbose_proctitle=yes
+
+
+M src/director/main.c
+
+2010-11-03 15:26:40 +0000 Timo Sirainen <tss@iki.fi> (737f6f1c3c)
+
+ anvil: Show number of connections in process title if verbose_proctitle=yes
+
+
+M src/anvil/main.c
+
+2010-11-03 15:23:52 +0000 Timo Sirainen <tss@iki.fi> (e2bdca8201)
+
+ lib-master: Added MASTER_SERVICE_FLAG_UPDATE_PROCTITLE for showing number of
+ connections in ps. The title is still only updated if verbose_proctitle=yes,
+ so this allows binaries to easily just set the flag and lib-master handles
+ the rest.
+
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-master/master-service.c
+M src/lib-master/master-service.h
+
+2010-11-03 14:59:39 +0000 Timo Sirainen <tss@iki.fi> (361c90a103)
+
+ auth workers: Don't unnecessary connect to anvil.
+
+
+M src/auth/main.c
+
+2010-11-03 13:33:02 +0000 Timo Sirainen <tss@iki.fi> (5543cc0f46)
+
+ master: default_process_limit wasn't actually used anywhere, rather the
+ default was unlimited.
+
+
+M src/master/master-settings.c
+M src/master/service.c
+
+2010-11-02 19:23:37 +0000 Timo Sirainen <tss@iki.fi> (89ad7c3327)
+
+ lib-storage: Maildir++ mailbox listing could have given wrong flags to
+ parent mailboxes.
+
+
+M src/lib-storage/list/mailbox-list-maildir-iter.c
+
+2010-11-02 18:25:53 +0000 Timo Sirainen <tss@iki.fi> (cbb5c7abec)
+
+ imap: Removed accidentally commited debug code.
+
+
+M src/imap/imap-client.c
+
+2010-11-02 18:21:05 +0000 Timo Sirainen <tss@iki.fi> (c4c8182e19)
+
+ lib-master: Stop accepting new connections after auth-master gets
+ disconnected.
+
+
+M src/lib-master/master-login-auth.c
+
+2010-11-02 18:13:39 +0000 Timo Sirainen <tss@iki.fi> (0e6bd4b9af)
+
+ imap, pop3: Use absolute path to auth-master socket.
+
+
+M src/imap/main.c
+M src/pop3/main.c
+
+2010-11-02 18:07:20 +0000 Timo Sirainen <tss@iki.fi> (5c9ddc0892)
+
+ ldap auth: Hide password_noscheme from debug logs unless
+ auth_debug_passwords=yes
+
+
+M src/auth/db-ldap.c
+
+2010-11-02 18:06:39 +0000 Timo Sirainen <tss@iki.fi> (dc8ba4890b)
+
+ sql auth: Fixed using password_noscheme
+
+
+M src/auth/passdb-sql.c
+
+2010-11-02 17:31:14 +0000 Timo Sirainen <tss@iki.fi> (9766c242ba)
+
+ auth: Disable auth caching entirely for master users. The cache key contains
+ only the master username, without the logged-in username, so wrong data
+ could be looked up from cache.
+
+
+M src/auth/auth-request.c
+M src/auth/passdb-cache.c
+
+2010-11-02 17:14:25 +0000 Timo Sirainen <tss@iki.fi> (23163a9464)
+
+ imap: Fixed SELECT QRESYNC not to crash on mailbox close if a lot of changes
+ were being sent.
+
+
+M src/imap/cmd-select.c
+M src/imap/imap-client.c
+M src/imap/main.c
+
+2010-11-02 15:39:28 +0000 Timo Sirainen <tss@iki.fi> (c64e714193)
+
+ auth: vpopmail passdb/userdb uses now auth-worker processes by default.
+ Adding blocking=no parameter disables this.
+
+
+M src/auth/passdb-vpopmail.c
+M src/auth/userdb-vpopmail.c
+
+2010-11-02 15:34:50 +0000 Timo Sirainen <tss@iki.fi> (7c6b8ca035)
+
+ dbox: Comment update.
+
+
+M src/lib-storage/index/dbox-common/dbox-file.h
+
+2010-11-02 15:32:47 +0000 Timo Sirainen <tss@iki.fi> (676bf7a0b2)
+
+ imap: Fixed LIST-STATUS when listing subscriptions with subscriptions=no
+ namespaces.
+
+
+M src/imap/cmd-list.c
+
+2010-11-02 14:59:13 +0000 Timo Sirainen <tss@iki.fi> (5bd2cf0f30)
+
+ mail-log plugin: Log mailbox name as virtual name rather than physical name.
+
+
+M src/plugins/mail-log/mail-log-plugin.c
+
+2010-11-02 13:43:43 +0000 Timo Sirainen <tss@iki.fi> (fa87f0ef36)
+
+ director: inet_listener port finder should ignore doveadm's port.
+
+
+M src/director/main.c
+
+2010-11-01 14:33:26 +0000 Timo Sirainen <tss@iki.fi> (53e85e63db)
+
+ quota: Added a temporary hack to avoid virtual mailboxes being counted in
+ quota.
+
+
+M src/plugins/quota/quota-storage.c
+
+2010-10-25 22:22:48 +0100 Timo Sirainen <tss@iki.fi> (1ebce8085b)
+
+ dsync: Make sure MSG-GET command doesn't hang.
+
+
+M src/dsync/dsync-proxy-server-cmd.c
+
+2010-10-25 22:13:05 +0100 Timo Sirainen <tss@iki.fi> (41a8595f25)
+
+ dsync: Added more idle timeout resets to proxying.
+
+
+M src/dsync/dsync-proxy-client.c
+
+2010-10-25 19:26:34 +0100 Timo Sirainen <tss@iki.fi> (0dc7a67fb6)
+
+ dbox: mail_get_special() for POP3 UIDL or GUID return value wasn't permanent
+ enough. Another call to mail_get_*() could have caused the string to point
+ to some garbage.
+
+
+M src/lib-storage/index/dbox-common/dbox-mail.c
+
+2010-10-25 18:53:04 +0100 Timo Sirainen <tss@iki.fi> (afe62291fe)
+
+ dsync: Error handling fixes.
+
+
+M src/dsync/dsync-proxy-client.c
+M src/dsync/dsync-proxy-server.c
+M src/dsync/dsync-worker-local.c
+
+2010-10-25 18:26:50 +0100 Timo Sirainen <tss@iki.fi> (2be46afcf6)
+
+ dsync: If msg input reading fails, don't also log a wrong "Unknown internal
+ error" line.
+
+
+M src/dsync/dsync-worker-local.c
+
+2010-10-25 18:11:04 +0100 Timo Sirainen <tss@iki.fi> (5ab855872d)
+
+ lib-storage: Comment update to mail_get_stream()
+
+
+M src/lib-storage/mail-storage.h
+
+2010-10-25 17:34:10 +0100 Timo Sirainen <tss@iki.fi> (5e6abd3a28)
+
+ master: Use env_clean_except() instead of doing it ourself.
+
+
+M src/master/main.c
+
+2010-10-25 17:31:39 +0100 Timo Sirainen <tss@iki.fi> (75e531c014)
+
+ lib-master: Use env_clean_except() for master_service_env_clean()
+
+
+M src/lib-master/master-service.c
+
+2010-10-25 17:31:01 +0100 Timo Sirainen <tss@iki.fi> (5aaddefb35)
+
+ Added env_clean_except()
+
+
+M src/lib/env-util.c
+M src/lib/env-util.h
+
+2010-10-25 17:22:40 +0100 Timo Sirainen <tss@iki.fi> (3eeaad7297)
+
+ lib-master: Code cleanup for master_service_env_clean()
+
+
+M src/lib-master/master-service.c
+
+2010-10-25 16:27:42 +0100 Timo Sirainen <tss@iki.fi> (92c474baea)
+
+ doveadm expunge: Sync mailbox after commit to make sure messages get
+ physically expunged.
+
+
+M src/doveadm/doveadm-mail-expunge.c
+
+2010-10-25 16:13:33 +0100 Timo Sirainen <tss@iki.fi> (b3b536d434)
+
+ maildir: Duplicate GUIDs during a single save transaction weren't handled
+ correctly.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2010-10-21 22:59:26 +0100 Timo Sirainen <tss@iki.fi> (8effb0cf8f)
+
+ file_preallocate(): Don't ignore ENOSPC with OSX either, caller will check
+ it.
+
+
+M src/lib/file-set-size.c
+
+2010-10-21 22:56:02 +0100 Timo Sirainen <tss@iki.fi> (ed7dbb42dd)
+
+ file_preallocate(): Added support for OS X.
+
+
+M src/lib/file-set-size.c
+
+2010-10-21 22:45:27 +0100 Timo Sirainen <tss@iki.fi> (7f03bac2ef)
+
+ doveadm fetch: Added support for pop3.uidl field.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2010-10-21 22:21:57 +0100 Timo Sirainen <tss@iki.fi> (3649d7f1f1)
+
+ NEWS: mdbox_preallocate_space is for ext4, not ext3.
+
+
+M NEWS
+
+2010-10-21 22:09:08 +0100 Timo Sirainen <tss@iki.fi> (62c635c766)
+
+ configure: Use sdbox name instead of dbox in the help.
+
+
+M configure.in
+
+2010-10-21 19:07:18 +0100 Timo Sirainen <tss@iki.fi> (d8346a7411)
+
+ Added signature for changeset 8a838dcf8e76
+
+
+M .hgsigs
+
+2010-10-21 19:07:15 +0100 Timo Sirainen <tss@iki.fi> (f29623651f)
+
+ Added tag 2.0.6 for changeset 8a838dcf8e76
+
+
+M .hgtags
+
+2010-10-21 19:07:14 +0100 Timo Sirainen <tss@iki.fi> (9b9d8e095e)
+
+ Released v2.0.6.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2010-10-21 19:03:39 +0100 Timo Sirainen <tss@iki.fi> (0b7d39288e)
+
+ Static analyzer warning fix.
+
+
+M src/doveadm/doveadm-sis.c
+
+2010-10-21 18:59:22 +0100 Timo Sirainen <tss@iki.fi> (13625d4808)
+
+ doveadm import: Code correctness fix (wasn't visible to users)
+
+
+M src/doveadm/doveadm-mail-import.c
+
+2010-10-21 18:56:24 +0100 Timo Sirainen <tss@iki.fi> (eb4b779b7f)
+
+ lib-fs: Fixed error handling for posix.write_stream_finish()
+
+
+M src/lib-fs/fs-posix.c
+
+2010-10-21 18:49:19 +0100 Timo Sirainen <tss@iki.fi> (4ca8361671)
+
+ dbox: Reverted the "check if altpath is mounted" change for now. If alt path
+ didn't yet exist, it reported bogus errors. It should somehow check if there
+ is anything under the alt root dir.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-file.h
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-file.h
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2010-10-21 18:28:10 +0100 Timo Sirainen <tss@iki.fi> (8342ac5d16)
+
+ dsync: Make sure POP3 UIDL string isn't corrupted while saving it.
+
+
+M src/dsync/dsync-worker-local.c
+
+2010-10-21 18:27:38 +0100 Timo Sirainen <tss@iki.fi> (7cd7bd65ab)
+
+ lib-storage: Make sure POP3 UIDLs aren't tried to be saved with LFs.
+
+
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/mail-storage.c
+
+2010-10-21 17:12:19 +0100 Timo Sirainen <tss@iki.fi> (cb51bd2396)
+
+ Compiler warning fix.
+
+
+M src/lib-master/master-login-auth.c
+
+2010-10-21 17:11:02 +0100 Timo Sirainen <tss@iki.fi> (a7f5035eeb)
+
+ auth: userdb passwd iteration now lists only users within
+ first_valid_uid..last_valid_uid range.
+
+
+M src/auth/auth-settings.c
+M src/auth/auth-settings.h
+M src/auth/userdb-passwd.c
+
+2010-10-21 16:33:28 +0100 Timo Sirainen <tss@iki.fi> (763155262f)
+
+ dbox: If alt path is lost, fail with an error rather than rebuilding
+ indexes. This could be simply because alt storage is unmounted at the time
+ and rebuilding would just lose messages. If this error happens
+ unintentionally, it's still possible to fix it with "doveadm force-resync".
+
+
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-file.h
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-file.h
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-sync-rebuild.c
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+
+2010-10-21 16:12:13 +0100 Timo Sirainen <tss@iki.fi> (a5925b17ee)
+
+ dsync: Don't crash if USER environment isn't set and -u parameter isn't
+ given.
+
+
+M src/dsync/dsync.c
+
+2010-10-20 19:32:16 +0100 Timo Sirainen <tss@iki.fi> (f807d40b4e)
+
+ example-config: Added a warning about mail_attachment* being experimental.
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2010-10-20 19:30:12 +0100 Timo Sirainen <tss@iki.fi> (9ff4eaf739)
+
+ example-config: Added mail_attachment_* settings.
+
+
+M doc/example-config/conf.d/10-mail.conf
+
+2010-10-20 18:58:42 +0100 Timo Sirainen <tss@iki.fi> (d4f72116b9)
+
+ zlib: Hook into mail.istream_opened() method rather than mail.get_stream()
+ This fixes zlib plugin to work with mail attachments.
+
+
+M src/plugins/zlib/zlib-plugin.c
+
+2010-10-20 18:55:36 +0100 Timo Sirainen <tss@iki.fi> (6564208826)
+
+ lib-storage: Added istream_opened() method to struct mail. This can be
+ hooked into by plugins that want to do something with the message's stream
+ in the message file, rather than the virtual resulting stream visible to
+ client. For example when using dbox attachments, this stream contains only
+ the data in the dbox files without any external attachments.
+
+
+M src/lib-storage/index/cydir/cydir-mail.c
+M src/lib-storage/index/dbox-common/dbox-attachment.c
+M src/lib-storage/index/dbox-common/dbox-attachment.h
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-file.h
+M src/lib-storage/index/dbox-common/dbox-mail.c
+M src/lib-storage/index/dbox-multi/mdbox-mail.c
+M src/lib-storage/index/dbox-single/sdbox-mail.c
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/mbox/mbox-mail.c
+M src/lib-storage/index/raw/raw-mail.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/test-mail.c
+M src/plugins/virtual/virtual-mail.c
+
+2010-10-20 18:49:07 +0100 Timo Sirainen <tss@iki.fi> (64055bc6d2)
+
+ istream-concat: Avoid assert-crashing.
+
+
+M src/lib/istream-concat.c
+
+2010-10-20 17:51:07 +0100 Timo Sirainen <tss@iki.fi> (f6aaada610)
+
+ mdbox: Added mdbox_preallocate_space setting to preallocate size for newly
+ created files.
+
+
+M doc/example-config/conf.d/10-mail.conf
+M src/lib-storage/index/dbox-multi/mdbox-file.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.c
+M src/lib-storage/index/dbox-multi/mdbox-settings.h
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.h
+
+2010-10-20 17:50:03 +0100 Timo Sirainen <tss@iki.fi> (54fc3887b4)
+
+ Added file_preallocate() to preallocate space to a file without changing its
+ size. Implemented for Linux. Doesn't look like other OSes support this.
+
+
+M configure.in
+M src/lib/file-set-size.c
+M src/lib/file-set-size.h
+
+2010-10-20 16:07:03 +0100 Timo Sirainen <tss@iki.fi> (1554bed8d2)
+
+ dbox, maildir: When copying messages, copy the cached fields also. Copy only
+ fields whose caching decision is not "no" in the destination mailbox.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/index-storage.c
+M src/lib-storage/index/index-storage.h
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-storage.h
+
+2010-10-20 16:03:13 +0100 Timo Sirainen <tss@iki.fi> (f43dce3468)
+
+ lib-storage: mailbox_get_status(): return cache fields allocated from data
+ stack. Allocating them from mailbox's pool just wastes memory if it's called
+ multiple times for same mailbox.
+
+
+M src/lib-storage/index/index-status.c
+
+2010-10-20 16:01:46 +0100 Timo Sirainen <tss@iki.fi> (e2e105f618)
+
+ lib-index: Added mail_cache_register_get_field().
+
+
+M src/lib-index/mail-cache-fields.c
+M src/lib-index/mail-cache.h
+
+2010-10-19 20:20:18 +0100 Timo Sirainen <tss@iki.fi> (d26d536049)
+
+ pop3: Don't crash if client disconnects in output handler.
+
+
+M src/pop3/pop3-client.c
+
+2010-10-19 19:27:59 +0100 Timo Sirainen <tss@iki.fi> (8b6f569005)
+
+ ioloop: If io_add() is called twice for same fd, give a bit more informative
+ panic message.
+
+
+M src/lib/ioloop-iolist.c
+
+2010-10-19 18:48:00 +0100 Timo Sirainen <tss@iki.fi> (aee9abea52)
+
+ istream-header-filter: Fix to previous change.
+
+
+M src/lib-mail/istream-header-filter.c
+
+2010-10-19 18:47:17 +0100 Timo Sirainen <tss@iki.fi> (b9f564d00b)
+
+ lib-storage: Added support for saving mail attachments separately via
+ filesystem API. Currently this works only with sdbox and mdbox backends.
+
+
+M src/config/settings-get.pl
+M src/lib-storage/index/Makefile.am
+M src/lib-storage/index/cydir/cydir-storage.c
+M src/lib-storage/index/dbox-common/Makefile.am
+A src/lib-storage/index/dbox-common/dbox-attachment.c
+A src/lib-storage/index/dbox-common/dbox-attachment.h
+M src/lib-storage/index/dbox-common/dbox-file.c
+M src/lib-storage/index/dbox-common/dbox-save.c
+M src/lib-storage/index/dbox-common/dbox-storage.c
+M src/lib-storage/index/dbox-common/dbox-storage.h
+M src/lib-storage/index/dbox-multi/mdbox-purge.c
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+M src/lib-storage/index/dbox-single/Makefile.am
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+M src/lib-storage/index/dbox-single/sdbox-file.c
+M src/lib-storage/index/dbox-single/sdbox-file.h
+M src/lib-storage/index/dbox-single/sdbox-save.c
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+M src/lib-storage/index/dbox-single/sdbox-storage.h
+M src/lib-storage/index/dbox-single/sdbox-sync.c
+A src/lib-storage/index/index-attachment.c
+A src/lib-storage/index/index-attachment.h
+M src/lib-storage/index/index-storage.c
+A src/lib-storage/index/istream-attachment.c
+A src/lib-storage/index/istream-attachment.h
+M src/lib-storage/index/maildir/maildir-storage.c
+M src/lib-storage/index/mbox/mbox-storage.c
+M src/lib-storage/index/raw/raw-storage.c
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage-settings.c
+M src/lib-storage/mail-storage-settings.h
+M src/lib-storage/test-mailbox.c
+M src/plugins/virtual/virtual-storage.c
+
+2010-10-19 18:30:51 +0100 Timo Sirainen <tss@iki.fi> (dc2e774b4c)
+
+ liblib: Added istream for reading binary data as base64-encoded.
+
+
+M src/lib/Makefile.am
+A src/lib/istream-base64-encoder.c
+A src/lib/istream-base64-encoder.h
+
+2010-10-19 18:27:30 +0100 Timo Sirainen <tss@iki.fi> (75d9024d94)
+
+ doveadm: Added commands for managing SiS directories.
+
+
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-sis.c
+M src/doveadm/doveadm.c
+M src/doveadm/doveadm.h
+
+2010-10-19 18:16:10 +0100 Timo Sirainen <tss@iki.fi> (c33d3f93ab)
+
+ Added lib-fs for simple filesystem accessing. Implemented POSIX, SiS and
+ SiS-queue backends.
+
+
+M configure.in
+M src/Makefile.am
+M src/lib-dovecot/Makefile.am
+A src/lib-fs/Makefile.am
+A src/lib-fs/fs-api-private.h
+A src/lib-fs/fs-api.c
+A src/lib-fs/fs-api.h
+A src/lib-fs/fs-posix.c
+A src/lib-fs/fs-sis-common.c
+A src/lib-fs/fs-sis-common.h
+A src/lib-fs/fs-sis-queue.c
+A src/lib-fs/fs-sis.c
+A src/lib-fs/ostream-cmp.c
+A src/lib-fs/ostream-cmp.h
+
+2010-10-19 18:10:34 +0100 Timo Sirainen <tss@iki.fi> (37bd98570b)
+
+ liblib: Added API for easily building hash strings based on given format
+ string and input.
+
+
+M src/lib/Makefile.am
+A src/lib/hash-format.c
+A src/lib/hash-format.h
+A src/lib/test-hash-format.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+
+2010-10-19 18:09:16 +0100 Timo Sirainen <tss@iki.fi> (74ae325123)
+
+ liblib: Added a common API for accessing all hash methods.
+
+
+M src/lib/Makefile.am
+A src/lib/hash-method.c
+A src/lib/hash-method.h
+M src/lib/md4.c
+M src/lib/md4.h
+M src/lib/md5.c
+M src/lib/md5.h
+M src/lib/sha1.c
+M src/lib/sha1.h
+M src/lib/sha2.c
+M src/lib/sha2.h
+
+2010-10-19 18:39:27 +0100 Timo Sirainen <tss@iki.fi> (b32c01699f)
+
+ istream-header-filter: Drop duplicate headers instead of assert-crashing
+ with them.
+
+
+M src/lib-mail/istream-header-filter.c
+
+2010-10-18 19:00:59 +0100 Timo Sirainen <tss@iki.fi> (dd350fbefc)
+
+ acl: Recent change broke setting acls.
+
+
+M src/plugins/acl/acl-mailbox.c
+
+2010-10-18 18:30:42 +0100 Timo Sirainen <tss@iki.fi> (88c816e8be)
+
+ doveadm: Added import command for importing mails from other storages.
+
+
+M .hgignore
+M doc/man/Makefile.am
+A doc/man/doveadm-import.1.in
+M src/doveadm/Makefile.am
+A src/doveadm/doveadm-mail-import.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2010-10-18 18:30:02 +0100 Timo Sirainen <tss@iki.fi> (354268abe5)
+
+ doveadm: Call mail command's init() only after service storage is
+ initialized.
+
+
+M src/doveadm/client-connection.c
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2010-10-18 18:09:56 +0100 Timo Sirainen <tss@iki.fi> (762e17079d)
+
+ lib-storage: Added no_userdb_lookup flag to storage service lookups.
+
+
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2010-10-18 16:51:12 +0100 Timo Sirainen <tss@iki.fi> (08baf8e4f3)
+
+ ostream-file: Fixed potential crash in write_at() and also fixed attempted
+ optimization.
+
+
+M src/lib/Makefile.am
+M src/lib/ostream-file.c
+M src/lib/test-lib.c
+M src/lib/test-lib.h
+A src/lib/test-ostream-file.c
+
+2010-10-18 16:14:08 +0100 Timo Sirainen <tss@iki.fi> (47c7c7aaec)
+
+ lib-index: More undoing of locking code changes.
+
+
+M src/lib-index/mail-index-lock.c
+
+2010-10-18 16:07:17 +0100 Timo Sirainen <tss@iki.fi> (c22572f8d9)
+
+ acl: Fixed memory leaks.
+
+
+M src/plugins/acl/acl-mailbox-list.c
+M src/plugins/acl/acl-mailbox.c
+
+2010-10-18 15:38:58 +0100 Timo Sirainen <tss@iki.fi> (f2df306976)
+
+ auth: Default for auth_cache_negative_ttl was supposed to be 1 hour, not
+ disabled.
+
+
+M src/auth/auth-settings.c
+
+2010-10-18 15:35:24 +0100 Timo Sirainen <tss@iki.fi> (25c4225e89)
+
+ auth: Log userdb cache hits and misses with auth_debug=yes
+
+
+M src/auth/auth-request.c
+
+2010-10-18 15:07:02 +0100 Timo Sirainen <tss@iki.fi> (9789e1f8a8)
+
+ lib-storage: Log a debug message if shared user's storage root doesn't exist
+ with mail_debug=yes
+
+
+M src/lib-storage/mail-storage.c
+
+2010-10-18 14:52:02 +0100 Timo Sirainen <tss@iki.fi> (9c3b041731)
+
+ acl: Avoid passing NULL parameter to printf %s when mail_debug=yes
+
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2010-10-16 18:33:42 +0100 Timo Sirainen <tss@iki.fi> (0678d7e4c3)
+
+ pop3: Recent corking change caused hangs.
+
+
+M src/pop3/pop3-client.c
+
+2010-10-16 00:49:35 +0100 Timo Sirainen <tss@iki.fi> (8406c1d3e6)
+
+ Removed some dead code.
+
+
+M src/lib-index/mail-index-sync-ext.c
+M src/lib-mail/istream-header-filter.c
+M src/plugins/acl/acl-backend-vfile.c
+
+2010-10-16 00:43:49 +0100 Timo Sirainen <tss@iki.fi> (b99f3f908d)
+
+ lib-index: Work around clang static analyzer's false positive "dead code"
+ issue.
+
+
+M src/lib-index/mail-index-sync-update.c
+
+2010-10-16 00:35:28 +0100 Timo Sirainen <tss@iki.fi> (4059c8e70a)
+
+ lib-lda: Make sure duplicate_init() handles non-existent home correctly.
+ With previous change mail_user_get_home() always set home, but this is good
+ anyway.
+
+
+M src/lib-lda/duplicate.c
+
+2010-10-16 00:34:28 +0100 Timo Sirainen <tss@iki.fi> (72276c90ac)
+
+ lib-storage: mail_user_get_home(): Make sure user_r is always set.
+
+
+M src/lib-storage/mail-user.c
+
+2010-10-16 00:30:50 +0100 Timo Sirainen <tss@iki.fi> (751cb41a81)
+
+ lib-storage: mailbox_get_guid() crashed if storage didn't support GUIDs.
+
+
+M src/lib-storage/mail-storage.c
+
+2010-10-16 00:23:20 +0100 Timo Sirainen <tss@iki.fi> (5a0ac2e5ef)
+
+ istream-concat: Fixed another memory leak.
+
+
+M src/lib/istream-concat.c
+
+2010-10-16 00:21:35 +0100 Timo Sirainen <tss@iki.fi> (4143cfa115)
+
+ lmtp: Don't access freed memory if input couldn't be opened as raw mail.
+ This shouldn't really have ever happened.
+
+
+M src/lmtp/commands.c
+
+2010-10-15 19:50:51 +0100 Timo Sirainen <tss@iki.fi> (701a594c66)
+
+ istream-header-filter: Assert-crash if headers aren't given sorted.
+
+
+M src/lib-mail/istream-header-filter.c
+M src/lib-mail/test-istream-header-filter.c
+
+2010-10-15 19:40:06 +0100 Timo Sirainen <tss@iki.fi> (fa0762ecd4)
+
+ Compiler warning/error fix to recent logging API changes.
+
+
+M src/master/main.c
+
+2010-10-15 19:30:04 +0100 Timo Sirainen <tss@iki.fi> (efb0def040)
+
+ lmtp: Reverted last change after all. Besides, the error code was wrong.
+
+
+M src/lmtp/commands.c
+
+2010-10-15 19:21:43 +0100 Timo Sirainen <tss@iki.fi> (979b2a063f)
+
+ lmtp: Don't allow saving zero byte sized messages.
+
+
+M src/lmtp/commands.c
+
+2010-10-15 19:04:42 +0100 Timo Sirainen <tss@iki.fi> (4d4cd9cde9)
+
+ epoll: Suggest not-so-UUOC if epoll_ctl() fails for stdin
+
+
+M src/lib/ioloop-epoll.c
+
+2010-10-15 18:55:52 +0100 Timo Sirainen <tss@iki.fi> (7823ef73e5)
+
+ istream-concat: Fixed a memory leak.
+
+
+M src/lib/istream-concat.c
+
+2010-10-15 18:50:44 +0100 Timo Sirainen <tss@iki.fi> (e6488134fa)
+
+ lib-storage: Added assert to transaction rollback to make sure all mails are
+ freed. The same assert was already in commit, so this should be fine.
+
+
+M src/lib-storage/index/index-transaction.c
+
+2010-10-15 16:24:25 +0100 Timo Sirainen <tss@iki.fi> (301740f53f)
+
+ auth: Make sure auth request is kept referenced during the lookup.
+
+
+M src/auth/auth-penalty.c
+
+2010-10-15 16:16:23 +0100 Timo Sirainen <tss@iki.fi> (56ba5a9b62)
+
+ lib-master: Properly fixed accepting FIFO connections with BSDI.
+
+
+M src/lib-master/master-service.c
+
+2010-10-15 16:09:13 +0100 Timo Sirainen <tss@iki.fi> (19c587fe07)
+
+ log: Avoid calling time() unnecessary when logging multiple lines.
+
+
+M src/log/log-connection.c
+
+2010-10-15 16:08:12 +0100 Timo Sirainen <tss@iki.fi> (8882cee804)
+
+ Failure logging supports now getting timestamp as parameter.
+
+
+M src/lib/failures.c
+M src/lib/failures.h
+
+2010-10-15 15:46:43 +0100 Timo Sirainen <tss@iki.fi> (2303ad6817)
+
+ Cleaned up log callbacks and made them more extensible.
+ fatal_failure_callback_t type is now gone, there's only failure_callback_t
+ left that has a struct pointer as parameter. More parameters can be easily
+ added to the struct in future.
+
+
+M src/doveadm/doveadm-log.c
+M src/lib-test/test-common.c
+M src/lib/failures.c
+M src/lib/failures.h
+M src/log/log-connection.c
+M src/master/main.c
+
+2010-10-15 15:13:59 +0100 Timo Sirainen <tss@iki.fi> (925915badc)
+
+ acl: Log mailbox names that are skipped due to missing lookup right with
+ mail_debug=yes
+
+
+M src/plugins/acl/acl-mailbox-list.c
+
+2010-10-15 15:09:18 +0100 Timo Sirainen <tss@iki.fi> (4ed1c0fedf)
+
+ lib-storage: Log attempted accesses to nonexistent users' mails with
+ mail_debug=yes.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+
+2010-10-15 14:57:36 +0100 Timo Sirainen <tss@iki.fi> (cc2c73be39)
+
+ lib-storage: Use MAIL_STORAGE_FLAG_NO_AUTOVERIFY for creating shared
+ namespace storages. This avoids failing storage creation for nonexistent
+ users. Previous failure made it possible for logged in users to figure out
+ what other usernames existed on the system.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+
+2010-10-15 14:56:05 +0100 Timo Sirainen <tss@iki.fi> (cab9d33e9e)
+
+ lib-storage: Added MAIL_STORAGE_FLAG_NO_AUTOVERIFY to skip checking storage
+ root dir existence.
+
+
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mail-storage.h
+
+2010-10-15 14:48:31 +0100 Timo Sirainen <tss@iki.fi> (9a3f0c5b64)
+
+ ldap: Compare LDAP attribute names case-insensitively.
+
+
+M src/auth/passdb-ldap.c
+M src/auth/userdb-ldap.c
+
+2010-10-15 13:27:59 +0100 Timo Sirainen <tss@iki.fi> (834726fa62)
+
+ ldap: Log a warning if iterate_attrs has other fields than 'user'.
+
+
+M src/auth/userdb-ldap.c
+
+2010-10-14 18:20:58 +0100 Timo Sirainen <tss@iki.fi> (42eaa08044)
+
+ maildir: Check correctly if file is a symlink. Patch by Mike Abbott / Apple.
+
+
+M src/lib-storage/index/maildir/maildir-util.c
+
+2010-10-14 17:23:11 +0100 Timo Sirainen <tss@iki.fi> (6c80172147)
+
+ lib-index: Put back some of the removed locking complexity. This fixes a
+ crash when mmap_disable=no and a index was mmap()ed (which keeps the index
+ locked) and later its read-lock was tried to be changed to write-lock.
+
+
+M src/lib-index/mail-index-lock.c
+
+2010-10-14 17:02:20 +0100 Timo Sirainen <tss@iki.fi> (506e41a4ef)
+
+ *-login: If client didn't log in, don't log mpid in logout message.
+
+
+M src/login-common/client-common.c
+
+2010-10-14 16:58:57 +0100 Timo Sirainen <tss@iki.fi> (53d62bbb2d)
+
+ imap, pop3: Cork TCP connection before trying to flush output in output
+ callback.
+
+
+M src/imap/imap-client.c
+M src/pop3/pop3-client.c
+
+2010-10-14 16:53:04 +0100 Timo Sirainen <tss@iki.fi> (038cb27799)
+
+ lib-storage: If mailbox deletion failed, we crashed while trying to write
+ undelete record to index.
+
+
+M src/lib-storage/mail-storage.c
+
+2010-10-14 16:22:54 +0100 Timo Sirainen <tss@iki.fi> (b325461918)
+
+ lib-index: Don't reopen mailbox log file too often.
+
+
+M src/lib-index/mailbox-log.c
+
+2010-10-14 16:17:43 +0100 Timo Sirainen <tss@iki.fi> (dedf3b4619)
+
+ lib-index: Mailbox log writing was trying to write to a closed log file fd.
+
+
+M src/lib-index/mailbox-log.c
+
+2010-10-14 15:59:11 +0100 Timo Sirainen <tss@iki.fi> (0595524d1f)
+
+ auth: Give a better error message if pass=yes can't be used in master
+ passdb.
+
+
+M src/auth/auth-request.c
+
+2010-10-06 19:49:31 +0100 Timo Sirainen <tss@iki.fi> (282142061c)
+
+ quota: Log a warning if Maildir++ quota is enabled for non-Maildir storage.
+
+
+M src/plugins/quota/quota-maildir.c
+
+2010-10-06 19:35:17 +0100 Timo Sirainen <tss@iki.fi> (51a9c44bea)
+
+ master: Parse and check full config at startup.
+
+
+M src/master/main.c
+
+2010-10-06 19:35:06 +0100 Timo Sirainen <tss@iki.fi> (8d173ad4d7)
+
+ lib-master: Added support for parse_full_config input option for settings
+ parsing.
+
+
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+
+2010-10-06 19:34:41 +0100 Timo Sirainen <tss@iki.fi> (fbef0c41a0)
+
+ doveconf: Added -p parameter to parse full config even if -m module is
+ given.
+
+
+M src/config/doveconf.c
+
+2010-10-06 19:19:48 +0100 Timo Sirainen <tss@iki.fi> (6af9d209ee)
+
+ maildir: Write only base filenames to uidlist. Previously the old filename
+ was used to guess the initial filename, but nowadays we do that by building
+ the filename based on flags in index.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2010-10-06 19:08:43 +0100 Timo Sirainen <tss@iki.fi> (de62479933)
+
+ imap search: Fixed YOUNGER/OLDER
+
+
+M src/lib-storage/mail-search-register-imap.c
+
+2010-10-06 19:02:20 +0100 Timo Sirainen <tss@iki.fi> (c4476f5036)
+
+ search: If body search fails due to I/O error, keep the result as "unknown".
+ Found by Vadim Okun
+
+
+M src/lib-storage/index/index-search.c
+
+2010-10-06 18:57:38 +0100 Timo Sirainen <tss@iki.fi> (7ccae906b9)
+
+ lda: -m parameter's UTF-8 validity wasn't checked correctly. Found by Vadim
+ Okun
+
+
+M src/lda/main.c
+
+2010-10-06 18:57:16 +0100 Timo Sirainen <tss@iki.fi> (a2ec9828a7)
+
+ lib-lda: Fixed error handling if newly delivered mail couldn't be opened.
+ Found by Vadim Okun.
+
+
+M src/lib-lda/mail-deliver.c
+
+2010-10-06 18:20:26 +0100 Timo Sirainen <tss@iki.fi> (5e88e4624a)
+
+ lib-index: Always update index map while committing a transaction. The
+ previous code was doing this only in some situations, which was probably
+ enough, except maybe in some special cases. The log file was also read until
+ EOF always anyway, so the only thing this was saving was some CPU. With the
+ new behavior the committing stage should be more reliable, and also makes it
+ easier to do changes without accidentally breaking it.
+
+
+M src/lib-index/mail-index-transaction-finish.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction.c
+
+2010-10-06 18:18:30 +0100 Timo Sirainen <tss@iki.fi> (16c28dd759)
+
+ lib-index: Cache offsets were sometimes written pointing to an older cache
+ file.
+
+
+M src/lib-index/mail-cache-transaction.c
+M src/lib-index/mail-index-transaction-private.h
+M src/lib-index/mail-index-transaction-update.c
+
+2010-10-06 17:15:51 +0100 Timo Sirainen <tss@iki.fi> (07e80e04c8)
+
+ lib-index: Avoid unnecessary pread()s at end of transaction log file. If
+ we've already read until EOF while the file has been locked, there's no need
+ to do it again. Previously this worked while index was being synced, but not
+ while committing a transaction.
+
+
+M src/lib-index/mail-index-fsck.c
+M src/lib-index/mail-index-private.h
+M src/lib-index/mail-index-transaction.c
+M src/lib-index/mail-index-write.c
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log-append.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+M src/lib-index/test-mail-transaction-log-view.c
+
+2010-10-06 17:11:52 +0100 Timo Sirainen <tss@iki.fi> (25d22147c9)
+
+ lib-index: Removed unnecessary code from lock handling. The code was
+ intended only for blocking write-locks, but those haven't been used for a
+ long time now.
+
+
+M src/lib-index/mail-index-lock.c
+
+2010-10-06 16:17:08 +0100 Timo Sirainen <tss@iki.fi> (858aec7b45)
+
+ lib-dict: If connect() to dict socket fails, log an error, but don't die.
+
+
+M src/lib-dict/dict-client.c
+
+2010-10-06 15:54:14 +0100 Timo Sirainen <tss@iki.fi> (596ec38426)
+
+ quota: Give better error message for connect() EACCES failure to
+ quota-warning socket.
+
+
+M src/plugins/quota/quota.c
+
+2010-10-05 22:55:37 +0100 Timo Sirainen <tss@iki.fi> (a3d1e23660)
+
+ auth: Added lookup_credentials() support for passdb static
+
+
+M src/auth/passdb-static.c
+
+2010-10-05 22:53:58 +0100 Timo Sirainen <tss@iki.fi> (5fcc2aa187)
+
+ imap IDLE: Don't send "Still here" notifications if there is already data in
+ output buffer.
+
+
+M src/imap/cmd-idle.c
+
+2010-10-05 22:52:55 +0100 Timo Sirainen <tss@iki.fi> (28bf185262)
+
+ master: Get only master-related configuration from doveconf at startup.
+
+
+M src/master/main.c
+
+2010-10-05 02:20:31 +0100 Timo Sirainen <tss@iki.fi> (70cd739148)
+
+ maildir: Don't assert-crash when saving a message without locking uidlist.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2010-10-04 17:16:38 +0100 Timo Sirainen <tss@iki.fi> (e622ff624f)
+
+ priority queue: Set item's idx value to invalid when it's removed from
+ queue. This should assert-crash on double-removes more reliably.
+
+
+M src/lib/priorityq.c
+
+2010-10-04 17:10:08 +0100 Timo Sirainen <tss@iki.fi> (8126e56fe5)
+
+ lmtp proxy: Avoid hanging at the end of message input.
+
+
+M src/lmtp/lmtp-proxy.c
+
+2010-10-04 16:01:09 +0100 Timo Sirainen <tss@iki.fi> (5a0fc34c5c)
+
+ lib-storage: Don't write to dovecot.mailbox.log if setting subscription
+ didn't actually change anything.
+
+
+M src/lib-storage/list/subscription-file.c
+M src/lib-storage/list/subscription-file.h
+M src/lib-storage/mailbox-list.c
+
+2010-10-04 15:55:34 +0100 Timo Sirainen <tss@iki.fi> (cbd6cad82e)
+
+ lib-index: Fixed leaking fds when writing to dovecot.mailbox.log
+
+
+M src/lib-index/mailbox-log.c
+
+2010-10-04 15:13:20 +0100 Timo Sirainen <tss@iki.fi> (ac0fed9031)
+
+ imap-* plugins: Use the new imap_client_created_hook_set() to set the hook.
+ This avoids accessing variables directly, which allows Dovecot to give
+ better error messages if imap-* plugins are tried to be loaded by non-imap
+ binary.
+
+
+M src/plugins/imap-acl/imap-acl-plugin.c
+M src/plugins/imap-quota/imap-quota-plugin.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+
+2010-10-04 15:12:23 +0100 Timo Sirainen <tss@iki.fi> (93f0b2f8b3)
+
+ imap: Added imap_client_created_hook_set() to update the hook.
+
+
+M src/imap/imap-common.h
+M src/imap/main.c
+
+2010-10-04 14:53:02 +0100 Timo Sirainen <tss@iki.fi> (fdeb669a3a)
+
+ configure: Added IDLE to banner CAPABILITY to make Blackberry happy.
+
+
+M configure.in
+
+2010-10-04 14:45:25 +0100 Timo Sirainen <tss@iki.fi> (2a5b41c5b0)
+
+ login: Give a better error message if ssl_cert=path is attempted without '<'
+
+
+M src/login-common/ssl-proxy-openssl.c
+
+2010-10-01 22:10:02 +0100 Timo Sirainen <tss@iki.fi> (6524d72370)
+
+ Added signature for changeset 2690facaa927
+
+
+M .hgsigs
+
+2010-10-01 22:09:44 +0100 Timo Sirainen <tss@iki.fi> (e5d067329d)
+
+ Added tag 2.0.5 for changeset 2690facaa927
+
+
+M .hgtags
+
+2010-10-01 22:09:43 +0100 Timo Sirainen <tss@iki.fi> (3b5fd54da6)
+
+ Released v2.0.5.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2010-10-01 21:42:18 +0100 Timo Sirainen <tss@iki.fi> (85f8811e47)
+
+ lmtp: Make sure we partial messages aren't saved if client disconnects
+ during DATA.
+
+
+M src/lmtp/commands.c
+
+2010-10-01 21:33:38 +0100 Timo Sirainen <tss@iki.fi> (2e426575a6)
+
+ lib-storage: Don't wrongly ignore subscriptions=no namespace entries.
+
+
+M src/lib-storage/list/mailbox-list-subscriptions.c
+M src/lib-storage/list/subscription-file.c
+
+2010-10-01 19:09:29 +0100 Timo Sirainen <tss@iki.fi> (3643fe9aaa)
+
+ dsync: Fail if both source and destination mail location point to same
+ directory. This should prevent some accidents.
+
+
+M src/dsync/dsync.c
+
+2010-10-01 18:58:47 +0100 Timo Sirainen <tss@iki.fi> (ca7e608c21)
+
+ config: Show time/size setting values as more human readable.
+
+
+M src/config/config-request.c
+
+2010-10-01 18:33:58 +0100 Timo Sirainen <tss@iki.fi> (ea06c6e687)
+
+ imap: Don't reset input/output byte counters when COMPRESS is started.
+
+
+M src/imap/imap-client.c
+M src/plugins/imap-zlib/imap-zlib-plugin.c
+
+2010-10-01 18:33:19 +0100 Timo Sirainen <tss@iki.fi> (923115fd38)
+
+ Added i_stream_get_absolute_offset().
+
+
+M src/lib/istream.c
+M src/lib/istream.h
+
+2010-10-01 17:46:03 +0100 Timo Sirainen <tss@iki.fi> (344a9a9c26)
+
+ zlib: eof_offset wasn't always set right, causing assert-crashes.
+
+
+M src/plugins/zlib/istream-bzlib.c
+M src/plugins/zlib/istream-zlib.c
+
+2010-10-01 17:35:01 +0100 Timo Sirainen <tss@iki.fi> (616073376b)
+
+ zlib: Fixed istream-bzlib also with mark=TRUE seeking
+
+
+M src/plugins/zlib/istream-bzlib.c
+
+2010-10-01 17:06:27 +0100 Timo Sirainen <tss@iki.fi> (1546b3a75c)
+
+ zlib: Fixed istream-zlib when using seeking with mark=TRUE (i.e. mbox)
+
+
+M src/plugins/zlib/istream-zlib.c
+
+2010-10-01 16:39:11 +0100 Timo Sirainen <tss@iki.fi> (d5b5529d76)
+
+ pop3: Added pop3_fast_size_lookups setting.
+
+
+M doc/example-config/conf.d/20-pop3.conf
+M src/pop3/pop3-client.c
+M src/pop3/pop3-settings.c
+M src/pop3/pop3-settings.h
+
+2010-10-01 16:19:10 +0100 Timo Sirainen <tss@iki.fi> (fa8f3c6818)
+
+ mail-storage.h comments updated.
+
+
+M src/lib-storage/mail-storage.h
+
+2010-10-01 16:14:08 +0100 Timo Sirainen <tss@iki.fi> (b9e5738976)
+
+ pop3: Code cleanup for mailbox opening code.
+
+
+M src/pop3/pop3-client.c
+
+2010-10-01 15:37:19 +0100 Timo Sirainen <tss@iki.fi> (27a7dee374)
+
+ acl: Fixed the logic of merging multiple ACLs.
+
+
+M src/plugins/acl/acl-api.h
+M src/plugins/acl/acl-backend-vfile.c
+M src/plugins/acl/acl-backend.c
+M src/plugins/acl/acl-cache.c
+
+2010-10-01 15:01:09 +0100 Timo Sirainen <tss@iki.fi> (360e3e43d2)
+
+ acl: Reverted last change. It still allows reading the default ACL from
+ .DEFAULT file.
+
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2010-10-01 14:56:07 +0100 Timo Sirainen <tss@iki.fi> (038674c13a)
+
+ acl: Avoid extra open() on a directory for default acl.
+
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2010-09-30 20:28:54 +0100 Timo Sirainen <tss@iki.fi> (e72a7cb3ab)
+
+ acl: Avoid opening two dict iterators at the same time.
+
+
+M src/plugins/acl/acl-lookup-dict.c
+
+2010-09-30 19:18:13 +0100 Timo Sirainen <tss@iki.fi> (6860dd5bc1)
+
+ dict: Support file backend also with dict proxy.
+
+
+M configure.in
+M src/lib-dict/Makefile.am
+
+2010-09-30 17:57:55 +0100 Timo Sirainen <tss@iki.fi> (1f792fb84e)
+
+ doveadm fetch: Fixed fetching uid field.
+
+
+M src/doveadm/doveadm-mail-fetch.c
+
+2010-09-30 17:49:17 +0100 Timo Sirainen <tss@iki.fi> (5363f51ad4)
+
+ auth: Don't assert-crash if a request still succeeds after its client
+ connection is gone.
+
+
+M src/auth/auth-client-connection.c
+M src/auth/auth-request-handler.c
+M src/auth/auth-request-handler.h
+
+2010-09-30 17:12:55 +0100 Timo Sirainen <tss@iki.fi> (ea95a057fa)
+
+ auth: Avoid crashing when finishing failed requests that already timed out.
+
+
+M src/auth/auth-request-handler.c
+M src/auth/auth-request.h
+
+2010-09-30 16:49:16 +0100 Timo Sirainen <tss@iki.fi> (755aea84bb)
+
+ virtual: Allow opening virtual mailboxes that refer to non-existing
+ mailboxes. It could be intentional that not everyone has the same set of
+ mailboxes always.
+
+
+M src/plugins/virtual/virtual-storage.c
+
+2010-09-30 16:05:57 +0100 Timo Sirainen <tss@iki.fi> (b8e2c73d81)
+
+ lib-index: If mail_index_sync_begin() fails, don't assert-crash
+
+
+M src/lib-index/mail-index-sync.c
+
+2010-09-30 15:33:56 +0100 Timo Sirainen <tss@iki.fi> (ef44f827db)
+
+ director: Properly detect invalid command parameters in director<->director
+ connections. Found by Paul E. Black.
+
+
+M src/director/director-connection.c
+
+2010-09-29 19:07:16 +0100 Timo Sirainen <tss@iki.fi> (7133574ad9)
+
+ maildir: Avoid recreating uidlist all the time when indexes are disabled.
+ This code originally existed because old records weren't removed from
+ uidlist->records and so this compression would never have been done, but
+ 0818f0a49704 changed this behavior.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2010-09-29 18:49:34 +0100 Timo Sirainen <tss@iki.fi> (6d50c4d875)
+
+ maildir: Avoid opening cache file when getting physical message size.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2010-09-29 18:38:29 +0100 Timo Sirainen <tss@iki.fi> (a0aedab7cd)
+
+ Maildir: If mail's virtual size can be found from filename/uidlist, do it
+ instead of using cache. This is especially useful with POP3 to avoid opening
+ cache file.
+
+
+M src/lib-storage/index/index-mail.c
+M src/lib-storage/index/index-mail.h
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-uidlist.h
+
+2010-09-29 18:09:28 +0100 Timo Sirainen <tss@iki.fi> (9061a2a9a7)
+
+ lib-index: If transaction log file is small enough, just read all of it to
+ memory immediately.
+
+
+M src/lib-index/mail-transaction-log-file.c
+
+2010-09-29 17:15:12 +0100 Timo Sirainen <tss@iki.fi> (3a854fc26b)
+
+ maildir: Avoid refreshing transaction log immediately on first sync.
+
+
+M src/lib-index/mail-index-sync.c
+M src/lib-storage/index/maildir/maildir-storage.h
+M src/lib-storage/index/maildir/maildir-sync.c
+
+2010-09-29 17:14:22 +0100 Timo Sirainen <tss@iki.fi> (3c72b9bc9f)
+
+ lib-index: Avoid refreshing transaction log immediately after it was opened.
+
+
+M src/lib-index/mail-index.c
+M src/lib-index/mail-transaction-log.c
+
+2010-09-29 16:34:56 +0100 Timo Sirainen <tss@iki.fi> (722957a2f5)
+
+ virtual: Don't unnecessarily stat() the virtual directory. Its existence is
+ checked automatically when trying to open dovecot-virtual file.
+
+
+M src/plugins/virtual/virtual-config.c
+M src/plugins/virtual/virtual-storage.c
+
+2010-09-29 16:33:12 +0100 Timo Sirainen <tss@iki.fi> (6340dee9c3)
+
+ pop3: Fixed virtual plugin when compiling --without-shared-libs
+
+
+M src/pop3/Makefile.am
+
+2010-09-29 16:32:47 +0100 Timo Sirainen <tss@iki.fi> (96975ce7b2)
+
+ lib-index: Don't waste time on every mailbox open checking if .log.2 should
+ be deleted.
+
+
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+
+2010-09-29 15:46:32 +0100 Timo Sirainen <tss@iki.fi> (e12d288611)
+
+ Maildir++: When opening namespace prefix as mailbox, don't add extra '/' to
+ path names.
+
+
+M src/lib-storage/list/mailbox-list-maildir.c
+
+2010-09-28 19:07:33 +0100 Timo Sirainen <tss@iki.fi> (50349cd047)
+
+ lda: If doveconf fails, make it exit with EX_TEMPFAIL.
+
+
+M src/config/doveconf.c
+M src/lda/main.c
+M src/lib-master/master-service-settings.c
+M src/lib-master/master-service-settings.h
+M src/lib-storage/mail-storage-service.c
+M src/lib-storage/mail-storage-service.h
+
+2010-09-28 17:41:43 +0100 Timo Sirainen <tss@iki.fi> (38cb3d139a)
+
+ login: If master login fails, tell auth process to free the auth request.
+
+
+M src/login-common/client-common.h
+M src/login-common/sasl-server.c
+
+2010-09-28 17:15:52 +0100 Timo Sirainen <tss@iki.fi> (f6f021c133)
+
+ maildir: If we see unwanted non-empty directories in new/ or cur/, move them
+ to ../extra-*
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-storage.h
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-util.c
+
+2010-09-28 17:09:50 +0100 Timo Sirainen <tss@iki.fi> (098e1a7aef)
+
+ config: Don't even try to open <file settings for modules we don't care
+ about.
+
+
+M src/config/config-parser.c
+
+2010-09-28 17:09:29 +0100 Timo Sirainen <tss@iki.fi> (e982ce57ae)
+
+ doveconf: Skip verifying settings for modules we don't care about. This was
+ done sometimes, but not always.
+
+
+M src/config/config-parser.c
+
+2010-09-28 16:29:33 +0100 Timo Sirainen <tss@iki.fi> (8a68b403f9)
+
+ lib-index: Try to keep writing to latest mailbox log. Fixes a problem where
+ a long running session keeps writing to a rotate log that has already been
+ deleted.
+
+
+M src/lib-index/mailbox-log.c
+
+2010-09-28 16:05:40 +0100 Timo Sirainen <tss@iki.fi> (a9a77f4632)
+
+ quota: Don't crash if user has quota disabled.
+
+
+M src/plugins/quota/quota-storage.c
+
+2010-09-27 19:53:07 +0100 Timo Sirainen <tss@iki.fi> (2c50ccaa9a)
+
+ sdbox: Fixed memory leak when copying messages with hard links.
+
+
+M src/lib-storage/index/dbox-single/sdbox-copy.c
+
+2010-09-27 19:34:08 +0100 Timo Sirainen <tss@iki.fi> (01afde78e4)
+
+ config: Verify settings plugins' versions are valid if they're specified.
+
+
+M src/config/config-parser.c
+
+2010-09-27 16:46:26 +0100 Timo Sirainen <tss@iki.fi> (d581fe1755)
+
+ doveconf: Expand "key=$key" variable even without -x parameter. Without this
+ expansion it hides what the settings actually contain.
+
+
+M src/config/config-parser.c
+
+2010-09-27 15:50:43 +0100 Timo Sirainen <tss@iki.fi> (e71f71176f)
+
+ lib-storage: Buffer writes to subscriptions file.
+
+
+M src/lib-storage/list/subscription-file.c
+
+2010-09-27 15:40:02 +0100 Timo Sirainen <tss@iki.fi> (063e414fb7)
+
+ lib-storage: Avoid fsyncing subscriptions file when it doesn't change or if
+ mail_fsync=never.
+
+
+M src/lib-storage/list/subscription-file.c
+
+2010-09-27 13:45:24 +0100 Timo Sirainen <tss@iki.fi> (0b69aadbda)
+
+ zlib: Avoid using hardcoded storage name strings.
+
+
+M src/plugins/zlib/Makefile.am
+M src/plugins/zlib/zlib-plugin.c
+
+2010-09-27 13:44:49 +0100 Timo Sirainen <tss@iki.fi> (03a2840ef6)
+
+ zlib: dbox storage is now called sdbox.
+
+
+M src/plugins/zlib/zlib-plugin.c
+
+2010-09-26 18:47:56 +0100 Timo Sirainen <tss@iki.fi> (a2d9acbdda)
+
+ Added signature for changeset 7f5c5778c4b9
+
+
+M .hgsigs
+
+2010-09-26 18:47:51 +0100 Timo Sirainen <tss@iki.fi> (ec4755b908)
+
+ Added tag 2.0.4 for changeset 7f5c5778c4b9
+
+
+M .hgtags
+
+2010-09-26 18:47:51 +0100 Timo Sirainen <tss@iki.fi> (f70467fbff)
+
+ Released v2.0.4.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2010-09-26 18:36:14 +0100 Timo Sirainen <tss@iki.fi> (36122480cc)
+
+ Maildir: Fixed accessing INBOX whose tmp/ directory was lost.
+
+
+M src/lib-storage/index/maildir/maildir-storage.c
+
+2010-09-26 18:05:25 +0100 Timo Sirainen <tss@iki.fi> (921a0bd6ba)
+
+ imap: Give better error message for "Unknown namespace"
+
+
+M src/imap/imap-commands-util.c
+
+2010-09-24 22:32:03 +0100 Timo Sirainen <tss@iki.fi> (83c6bd1b0e)
+
+ module_dir_load(): Make it clearer that "Skipping module" debug message is
+ normal.
+
+
+M src/lib/module-dir.c
+
+2010-09-24 19:39:41 +0100 Timo Sirainen <tss@iki.fi> (fd420c6457)
+
+ mdbox: Removed unused code.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+
+2010-09-24 18:36:22 +0100 Timo Sirainen <tss@iki.fi> (407caeb5d0)
+
+ pgsql: Avoid epoll_ctl() errors when closing connection.
+
+
+M src/lib-sql/driver-pgsql.c
+
+2010-09-24 18:14:16 +0100 Timo Sirainen <tss@iki.fi> (fe70da4a4d)
+
+ maildir: Another assert for saving messages.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2010-09-24 17:35:51 +0100 Timo Sirainen <tss@iki.fi> (afa201e7e1)
+
+ sdbox: Use "sdbox" name in the internal storage structure. This fixes
+ copying with hard links.
+
+
+M src/lib-storage/index/dbox-single/sdbox-storage.c
+
+2010-09-24 17:02:08 +0100 Timo Sirainen <tss@iki.fi> (9a56220167)
+
+ maildir: Added extra asserts.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.c
+
+2010-09-24 16:59:44 +0100 Timo Sirainen <tss@iki.fi> (826bddaaa1)
+
+ maildir: Don't waste time stat()ing if generated filename is in tmp/.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2010-09-24 11:48:57 +0100 Timo Sirainen <tss@iki.fi> (7d12f263bf)
+
+ lib-storage: Check valid subscriptions list entries with
+ _is_valid_existing_name()
+
+
+M src/lib-storage/list/subscription-file.c
+
+2010-09-23 20:04:40 +0100 Timo Sirainen <tss@iki.fi> (5183f82691)
+
+ quota: When logging about obsolete rule, log the full rule string.
+
+
+M src/plugins/quota/quota.c
+
+2010-09-23 20:00:41 +0100 Timo Sirainen <tss@iki.fi> (4c4f6141f1)
+
+ quota: When logging about obsolete rule, log also the quota root name.
+
+
+M src/plugins/quota/quota.c
+
+2010-09-23 19:54:26 +0100 Timo Sirainen <tss@iki.fi> (ba8a3fbee3)
+
+ config: Added conversion support for obsolete sieve/sieve_storage settings.
+
+
+M src/config/old-set-parser.c
+
+2010-09-23 19:34:31 +0100 Timo Sirainen <tss@iki.fi> (be04e84a9e)
+
+ lib-storage: Log and hide invalid entries in subscriptions file.
+
+
+M src/lib-storage/list/subscription-file.c
+
+2010-09-23 19:25:22 +0100 Timo Sirainen <tss@iki.fi> (35fcdde46a)
+
+ Fail at startup if process_limit>1 for services that don't support it.
+
+
+M src/anvil/anvil-settings.c
+M src/auth/auth-settings.c
+M src/director/director-settings.c
+M src/lib-master/service-settings.h
+M src/log/log-settings.c
+M src/master/master-settings.c
+
+2010-09-23 19:00:31 +0100 Timo Sirainen <tss@iki.fi> (b6455d61b4)
+
+ lib-master: If auth server is restarted, still log a warning about aborted
+ auth request.
+
+
+M src/lib-master/master-login-auth.c
+
+2010-09-23 18:39:22 +0100 Timo Sirainen <tss@iki.fi> (0873fc3bd9)
+
+ maildir: Log a warning if mailbox synchronization takes longer than 1 min.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-sync.h
+
+2010-09-23 18:21:09 +0100 Timo Sirainen <tss@iki.fi> (ef859438ec)
+
+ maildir: Use correct enum for getting uidlist record GUID.
+
+
+M src/lib-storage/index/maildir/maildir-sync-index.c
+
+2010-09-23 18:18:51 +0100 Timo Sirainen <tss@iki.fi> (24cd47a2c8)
+
+ maildir: Fixed a race condition in getting a new message's GUID.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+
+2010-09-23 18:02:20 +0100 Timo Sirainen <tss@iki.fi> (4cc8a79210)
+
+ maildir: Code cleanup: Use MAILDIR_UIDLIST_HDR_EXT_* when building the
+ header string.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2010-09-23 17:51:07 +0100 Timo Sirainen <tss@iki.fi> (bf289bd2a7)
+
+ maildir: Don't add GUIDs to "external expunge" records. There's no point.
+
+
+M src/lib-storage/index/maildir/maildir-sync-index.c
+
+2010-09-23 17:35:37 +0100 Timo Sirainen <tss@iki.fi> (05f3236157)
+
+ maildir: When uidlist file is recreated and reread, clear old records from
+ memory. This should avoid wasting some memory and also fix "Duplicate file
+ entry" errors.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2010-09-23 17:26:20 +0100 Timo Sirainen <tss@iki.fi> (53f9b87093)
+
+ maildir: Cleaned up filename/guid preserving code on save/copy.
+
+
+M src/lib-storage/index/maildir/maildir-copy.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-storage.h
+
+2010-09-23 16:40:42 +0100 Timo Sirainen <tss@iki.fi> (cf4b066bf9)
+
+ dsync: Avoid assert-crashing when trying to create a reserved mailbox name
+ (e.g. dbox-Mails)
+
+
+M src/dsync/dsync-worker-local.c
+
+2010-09-23 16:36:00 +0100 Timo Sirainen <tss@iki.fi> (1d6dbe153a)
+
+ maildir: Fixed expunging messages with GUIDs in uidlist.
+
+
+M src/lib-storage/index/maildir/maildir-sync-index.c
+
+2010-09-23 16:06:28 +0100 Timo Sirainen <tss@iki.fi> (8a98b2a939)
+
+ lib-lda: Fixed handling duplicate database when user has no home dir. Now it
+ gives a clear error message and doesn't crash with some OSes.
+
+
+M src/lib-lda/duplicate.c
+
+2010-09-23 15:53:09 +0100 Timo Sirainen <tss@iki.fi> (d9fda7e3a0)
+
+ lib-index: Log a warning if transaction log lock is kept over 3 minutes.
+
+
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+
+2010-09-22 18:19:31 +0100 Timo Sirainen <tss@iki.fi> (e0923dd55d)
+
+ Attempt to fix vpopmail support.
+
+
+M configure.in
+M src/auth/passdb-vpopmail.c
+
+2010-09-22 18:11:03 +0100 Timo Sirainen <tss@iki.fi> (add4be35a9)
+
+ dict-file: Don't leak fd on deinit.
+
+
+M src/lib-dict/dict-file.c
+
+2010-09-21 18:15:56 +0100 Timo Sirainen <tss@iki.fi> (8eb223b843)
+
+ dict quota: Avoid crashing if quota recalculation tries to recurse.
+
+
+M src/plugins/quota/quota-count.c
+M src/plugins/quota/quota-private.h
+
+2010-09-21 18:05:13 +0100 Timo Sirainen <tss@iki.fi> (4316355ca8)
+
+ quota: Avoid calling i_fatal() on initialization errors, plus some other
+ fixes.
+
+
+M src/plugins/quota/quota-storage.c
+M src/plugins/quota/quota.c
+M src/plugins/quota/quota.h
+
+2010-09-21 18:04:30 +0100 Timo Sirainen <tss@iki.fi> (a26b7e87b4)
+
+ lib-storage: If user->error is set during initialization, fail user
+ creation.
+
+
+M src/lib-storage/mail-user.c
+M src/lib-storage/mail-user.h
+
+2010-09-21 16:30:20 +0100 Timo Sirainen <tss@iki.fi> (6261a540cb)
+
+ ssl-params: Don't start it at startup if Dovecot is compiled without SSL
+ support.
+
+
+M src/ssl-params/ssl-params-settings.c
+
+2010-09-21 15:22:57 +0100 Timo Sirainen <tss@iki.fi> (ba7881c73e)
+
+ Maildir: If POP3 UIDL is specified for saved message, add it to uidlist.
+
+
+M src/lib-storage/index/maildir/maildir-save.c
+
+2010-09-21 15:22:38 +0100 Timo Sirainen <tss@iki.fi> (89dbeaa490)
+
+ lib-storage: Added assert against empty UIDL in
+ mailbox_save_set_pop3_uidl().
+
+
+M src/lib-storage/mail-storage.c
+
+2010-09-21 15:22:16 +0100 Timo Sirainen <tss@iki.fi> (c584cd900c)
+
+ dsync: Don't set POP3 UIDLs to empty values.
+
+
+M src/dsync/dsync-worker-local.c
+
+2010-09-21 15:11:05 +0100 Timo Sirainen <tss@iki.fi> (57593ca3c4)
+
+ lib-auth: Last change broke multi-step auth mechanisms.
+
+
+M src/lib-auth/auth-client-request.c
+
+2010-09-21 14:59:59 +0100 Timo Sirainen <tss@iki.fi> (87e6031006)
+
+ dict client: If connect to server socket fails with EACCES, give better
+ error message.
+
+
+M src/lib-dict/dict-client.c
+
+2010-09-21 14:55:33 +0100 Timo Sirainen <tss@iki.fi> (db87703884)
+
+ doveadm-expire: Improved debug logging.
+
+
+M src/plugins/expire/doveadm-expire.c
+
+2010-09-21 14:55:22 +0100 Timo Sirainen <tss@iki.fi> (29f138b4b9)
+
+ doveadm: Added iterate_single_user mail context field.
+
+
+M src/doveadm/doveadm-mail.c
+M src/doveadm/doveadm-mail.h
+
+2010-09-21 14:04:22 +0100 Timo Sirainen <tss@iki.fi> (c60ae7afb0)
+
+ lda: If mail_debug=yes and no -d parameter is given, log where username is
+ taken from.
+
+
+M src/lda/main.c
+
+2010-09-20 19:06:26 +0100 Timo Sirainen <tss@iki.fi> (4a0641e1ff)
+
+ lib-auth: Make sure auth request isn't tried to be double-freed on error
+ conditions. This could have happened if auth server crashed.
+
+
+M src/lib-auth/auth-client-request.c
+
+2010-09-20 18:19:53 +0100 Timo Sirainen <tss@iki.fi> (9834959357)
+
+ Make sure no data is leaked across processes via struct ip_addr fields.
+
+
+M src/lib/network.c
+
+2010-09-20 17:50:29 +0100 Timo Sirainen <tss@iki.fi> (f1dd517d17)
+
+ lib-master: When finishing auth, don't send REQUEST if auth process has
+ restarted. This avoids unnecessary "Master requested auth for nonexistent
+ client" errors when auth process restarts (crashes).
+
+
+M src/lib-master/master-login-auth.c
+
+2010-09-20 16:06:17 +0100 Timo Sirainen <tss@iki.fi> (f302af7296)
+
+ lda, storage .so libs: Added explicit linking against other .so libs they
+ require Based on patch by Funda Wang
+
+
+M src/lib-lda/Makefile.am
+M src/lib-storage/Makefile.am
+
+2010-09-20 15:30:07 +0100 Timo Sirainen <tss@iki.fi> (02d72ab3d6)
+
+ mdbox: If :INDEX=path is specified, keep storage indexes there also.
+
+
+M src/lib-storage/index/dbox-multi/mdbox-map-private.h
+M src/lib-storage/index/dbox-multi/mdbox-map.c
+M src/lib-storage/index/dbox-multi/mdbox-map.h
+M src/lib-storage/index/dbox-multi/mdbox-storage.c
+
+2010-09-17 20:20:53 +0100 Timo Sirainen <tss@iki.fi> (6d65b53479)
+
+ Added signature for changeset a475e8d4eb21
+
+
+M .hgsigs
+
+2010-09-17 20:20:48 +0100 Timo Sirainen <tss@iki.fi> (57df7292e8)
+
+ Added tag 2.0.3 for changeset a475e8d4eb21
+
+
+M .hgtags
+
+2010-09-17 20:20:48 +0100 Timo Sirainen <tss@iki.fi> (66347046d3)
+
+ Released v2.0.3.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2010-09-17 18:38:47 +0100 Timo Sirainen <tss@iki.fi> (93305d79c7)
+
+ lib-storage: If subscriptions contains an invalid entry, don't crash with fs
+ layout.
+
+
+M src/lib-storage/list/mailbox-list-fs-iter.c
+
+2010-09-17 17:54:22 +0100 Timo Sirainen <tss@iki.fi> (ae7d74df34)
+
+ fdpass: Use memcpy() to access data in CMSG_DATA(). This fixes at least AIX
+ where the previous way was broken for some reason.
+
+
+M src/lib/fdpass.c
+
+2010-09-17 17:30:30 +0100 Timo Sirainen <tss@iki.fi> (cd65920767)
+
+ poll: Added a workaround for AIX to get it to notice IO_ERRORs
+
+
+M src/lib/ioloop-poll.c
+
+2010-09-16 16:28:58 +0100 Timo Sirainen <tss@iki.fi> (e4e7475f64)
+
+ maildir: uidlist can now override message's GUID
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-uidlist.h
+
+2010-09-16 16:26:48 +0100 Timo Sirainen <tss@iki.fi> (e791216793)
+
+ maildir: Use array_bsearch() in uidlist instead of reimplementing it.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2010-09-16 15:19:45 +0100 Timo Sirainen <tss@iki.fi> (d61d56a652)
+
+ lib-storage: Recent change broke creating mailboxes with fs layout.
+
+
+M src/lib-storage/list/mailbox-list-fs.c
+
+2010-09-16 13:49:35 +0100 Timo Sirainen <tss@iki.fi> (554badea1f)
+
+ doveadm: Give binary name to plugin loading code so it can give better error
+ messages.
+
+
+M src/doveadm/doveadm-mail.c
+
+2010-09-15 18:59:34 +0100 Timo Sirainen <tss@iki.fi> (9506271b89)
+
+ dsync: Don't crash/hang if syncing fails before ioloop is started.
+
+
+M src/dsync/dsync-brain.c
+M src/dsync/dsync-brain.h
+M src/dsync/dsync.c
+
+2010-09-15 16:28:32 +0100 Timo Sirainen <tss@iki.fi> (699b27536e)
+
+ master: Fixed previous "client/process_limit reached" log change.
+
+
+M src/master/service-monitor.c
+
+2010-09-15 16:20:21 +0100 Timo Sirainen <tss@iki.fi> (98b27a037e)
+
+ lib-storage: Fail if list=yes namespace prefix starts with hierarchy
+ separator.
+
+
+M src/lib-storage/mail-namespace.c
+
+2010-09-15 16:07:15 +0100 Timo Sirainen <tss@iki.fi> (9042caa1ad)
+
+ lib-mail: Previous message parser optimization caused infinite looping with
+ some mails.
+
+
+M src/lib-mail/message-parser.c
+
+2010-09-14 21:12:08 +0100 Timo Sirainen <tss@iki.fi> (5f43b6def0)
+
+ lib-index: day_first_uid[] array wasn't kept properly up to date. The result
+ was that caching decisions could have been sometimes slightly wrong. Based
+ on patch by Paul E. Black.
+
+
+M src/lib-index/mail-index-transaction-update.c
+
+2010-09-14 17:55:25 +0100 Timo Sirainen <tss@iki.fi> (dadd250347)
+
+ master: If service with process_limit=1 reaches client_limit, log it better.
+
+
+M src/master/service-monitor.c
+
+2010-09-14 17:39:40 +0100 Timo Sirainen <tss@iki.fi> (ad7abd5b93)
+
+ When writing to logs, ignore write()=EINTR failures from non-terminal
+ signals. The previous code failed after 3 successive EINTRs, which was
+ possible if the process got a lot of signals (e.g. master process getting
+ lots of SIGCHLD signals).
+
+
+M src/lib/failures.c
+
+2010-09-14 17:38:08 +0100 Timo Sirainen <tss@iki.fi> (4c5004b534)
+
+ Added signal_term_counter that keeps track of how many terminal signals have
+ been received.
+
+
+M src/lib/lib-signals.c
+M src/lib/lib-signals.h
+
+2010-09-14 16:43:10 +0100 Timo Sirainen <tss@iki.fi> (703c03f7cf)
+
+ dsync: Fixed creating \noselect mailboxes.
+
+
+M src/dsync/dsync-worker-local.c
+
+2010-09-14 16:20:18 +0100 Timo Sirainen <tss@iki.fi> (f466caf792)
+
+ dsync: Don't create \Noselect mailboxes as selectable mailboxes, rather just
+ don't create them. This fixes creating extra empty mailboxes when mirroring
+ mbox+fs layout and maildir++ layout.
+
+
+M src/dsync/dsync-worker-local.c
+
+2010-09-14 16:18:13 +0100 Timo Sirainen <tss@iki.fi> (a91bd6256b)
+
+ lib-storage: Added mailbox_list_create_dir()
+
+
+M src/lib-storage/index/shared/shared-list.c
+M src/lib-storage/list/mailbox-list-fs.c
+M src/lib-storage/list/mailbox-list-maildir.c
+M src/lib-storage/list/mailbox-list-none.c
+M src/lib-storage/mail-storage.c
+M src/lib-storage/mailbox-list-private.h
+M src/lib-storage/mailbox-list.c
+M src/lib-storage/mailbox-list.h
+M src/plugins/acl/acl-mailbox-list.c
+
+2010-09-14 15:22:37 +0100 Timo Sirainen <tss@iki.fi> (d4fe93a9c2)
+
+ istream-crlf: Fixed assert-crash.
+
+
+M src/lib/istream-crlf.c
+
+2010-09-14 14:45:01 +0100 Timo Sirainen <tss@iki.fi> (691b39f8ba)
+
+ lib-settings: Give a better error message for invalid boolean values
+
+
+M src/lib-settings/settings-parser.c
+
+2010-09-14 13:45:57 +0100 Timo Sirainen <tss@iki.fi> (71564d36ea)
+
+ Added lda_original_recipient_header setting. Removed non-standard use of
+ Envelope-To: header.
+
+
+M doc/example-config/conf.d/15-lda.conf
+M src/lda/main.c
+M src/lib-lda/lda-settings.c
+M src/lib-lda/lda-settings.h
+M src/lmtp/commands.c
+
+2010-09-14 13:17:18 +0100 Timo Sirainen <tss@iki.fi> (9c45821d74)
+
+ lda: Added -r parameter to specify final recipient address. (As opposed to
+ -a which specifies original recipient address.) This is going to be used by
+ Sieve checks.
+
+
+M src/lda/main.c
+M src/lib-lda/mail-deliver.h
+M src/lmtp/commands.c
+
+2010-09-14 11:06:44 +0100 Timo Sirainen <tss@iki.fi> (ad4f1b0666)
+
+ quota: Added support for reverse quota warnings. Based on patch by Jeroen
+ Koekkoek
+
+
+M src/plugins/quota/quota-private.h
+M src/plugins/quota/quota.c
+
+2010-09-13 18:11:37 +0100 Timo Sirainen <tss@iki.fi> (f24b881d73)
+
+ doveadm quota: Removed unused search_args. This fixes a crash when used with
+ doveadm_expire plugin.
+
+
+M src/plugins/quota/doveadm-quota.c
+
+2010-09-13 16:59:45 +0100 Timo Sirainen <tss@iki.fi> (cb2c44f33d)
+
+ *-login: Ignore ENOTCONN error for shutdown() It's probably just a duplicate
+ of a previous read() failure.
+
+
+M src/login-common/client-common-auth.c
+
+2010-09-13 16:18:31 +0100 Timo Sirainen <tss@iki.fi> (c91d4619f1)
+
+ iostream: Call destroy callback after the destroy() method is called.
+
+
+M src/lib/iostream.c
+
+2010-09-13 15:08:30 +0100 Timo Sirainen <tss@iki.fi> (3db8062598)
+
+ mysql: When sql_exec() fails, log an error.
+
+
+M src/lib-sql/driver-mysql.c
+
+2010-09-13 15:08:12 +0100 Timo Sirainen <tss@iki.fi> (a5be5a0d07)
+
+ mysql: When query fails because connection gets lost, use MySQL failure
+ message instead of generic one.
+
+
+M src/lib-sql/driver-mysql.c
+
+2010-09-13 14:43:27 +0100 Timo Sirainen <tss@iki.fi> (980061e0c1)
+
+ acl: Don't break if mailbox listing returns an empty name.
+
+
+M src/plugins/acl/acl-mailbox-list.c
+
+2010-09-13 13:10:31 +0100 Timo Sirainen <tss@iki.fi> (d6871d3713)
+
+ login proxy: If proxy-login pipe isn't found, don't log an error. The pipe
+ exists only when director is enabled.
+
+
+M src/login-common/login-proxy-state.c
+
+2010-09-13 11:56:08 +0100 Timo Sirainen <tss@iki.fi> (3e42e3748e)
+
+ lib-index: fsck shouldn't assert-crash when no .log file exists
+
+
+M src/lib-index/mail-index-fsck.c
+
+2010-09-13 11:52:18 +0100 Timo Sirainen <tss@iki.fi> (c734f70a46)
+
+ lib-index: readonly status was checked wrong when deleting corrupted index
+ files.
+
+
+M src/lib-index/mail-index-map-read.c
+
+2010-09-13 11:29:23 +0100 Timo Sirainen <tss@iki.fi> (73fed8af5e)
+
+ lib-master: If config file can't be even stat()ed (e.g. permission error),
+ give better error msg.
+
+
+M src/lib-master/master-service-settings.c
+
+2010-09-13 10:48:28 +0100 Timo Sirainen <tss@iki.fi> (9199305352)
+
+ lda: If destination user isn't found, exit with EX_NOUSER, not EX_TEMPFAIL.
+
+
+M src/lda/main.c
+
+2010-09-08 17:38:49 +0100 Timo Sirainen <tss@iki.fi> (02aa666f8d)
+
+ Added signature for changeset f4eb53065879
+
+
+M .hgsigs
+
+2010-09-08 17:38:41 +0100 Timo Sirainen <tss@iki.fi> (1e0a22958c)
+
+ Added tag 2.0.2 for changeset f4eb53065879
+
+
+M .hgtags
+
+2010-09-08 17:38:41 +0100 Timo Sirainen <tss@iki.fi> (af7e6e2fa1)
+
+ Released v2.0.2.
+
+
+M NEWS
+M TODO
+M configure.in
+
+2010-09-08 17:02:48 +0100 Timo Sirainen <tss@iki.fi> (4b9382f927)
+
+ acl: Make sure acl-list and dict is rebuild when replacing/clearing ACLs
+
+
+M src/plugins/acl/acl-backend-vfile.c
+
+2010-09-08 17:02:25 +0100 Timo Sirainen <tss@iki.fi> (2fff31fd2f)
+
+ acl: Fixed removing entries from shared dict when rebuilding
+
+
+M src/plugins/acl/acl-lookup-dict.c
+
+2010-09-08 15:35:32 +0100 Timo Sirainen <tss@iki.fi> (1d23a49264)
+
+ dovecot.m4: Added --with-moduledir and export dovecotdir
+
+
+M configure.in
+M dovecot.m4
+
+2010-09-08 15:11:03 +0100 Timo Sirainen <tss@iki.fi> (ac5acc5f53)
+
+ lmtp: Read initial settings with service=lmtp
+
+
+M src/lmtp/main.c
+
+2010-09-08 15:02:18 +0100 Timo Sirainen <tss@iki.fi> (57010e7078)
+
+ auth: If no passdb is specified, don't fail when userdb static tries to
+ verify user existence.
+
+
+M src/auth/userdb-static.c
+
+2010-09-08 14:58:31 +0100 Timo Sirainen <tss@iki.fi> (6bd263caf0)
+
+ Don't fail with auth_cache_size=0
+
+
+M src/auth/auth-settings.c
+M src/config/old-set-parser.c
+
+2010-09-08 14:56:15 +0100 Timo Sirainen <tss@iki.fi> (5ce40a7370)
+
+ config: Automatically convert old-style auth_cache_size value.
+
+
+M src/config/old-set-parser.c
+
+2010-09-08 14:55:57 +0100 Timo Sirainen <tss@iki.fi> (4fc74bba35)
+
+ auth: Fail if auth_cache_size value is too small.
+
+
+M src/auth/auth-settings.c
+
+2010-09-08 14:47:45 +0100 Timo Sirainen <tss@iki.fi> (1e50a4f930)
+
+ auth: Don't crash if auth_cache_size has a very small value.
+
+
+M src/auth/auth-cache.c
+
+2010-09-08 14:47:28 +0100 Timo Sirainen <tss@iki.fi> (80e461e945)
+
+ login: Crashfix when client disconnects before auth process has started.
+
+
+M src/login-common/client-common-auth.c
+
+2010-09-07 19:50:48 +0100 Timo Sirainen <tss@iki.fi> (75113e5fa7)
+
+ sql pool: Delay creating a transaction until commit is called. Otherwise sql
+ connection is reserved for the duration of the transaction.
+
+
+M src/lib-sql/driver-sqlpool.c
+
+2010-09-07 17:19:40 +0100 Timo Sirainen <tss@iki.fi> (e5de04b9d8)
+
+ Compiler warning fixes.
+
+
+M src/lib-master/master-auth.c
+M src/lib-storage/index/index-mail.c
+M src/lib/fdpass.c
+M src/login-common/ssl-proxy-openssl.c
+
+2010-09-07 16:32:17 +0100 Timo Sirainen <tss@iki.fi> (b6ccb2a382)
+
+ maildir: Avoid unnecessary uidlist recreation during mail delivery.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2010-09-07 16:23:03 +0100 Timo Sirainen <tss@iki.fi> (f53a6e86c0)
+
+ maildir: If uidlist isn't read, don't mark its UIDs as being known when
+ saving.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2010-09-06 19:07:49 +0100 Timo Sirainen <tss@iki.fi> (6fe9129873)
+
+ maildir: Moved maildir_filename_flags_*() to a separate file.
+
+
+M src/lib-storage/index/maildir/Makefile.am
+A src/lib-storage/index/maildir/maildir-filename-flags.c
+A src/lib-storage/index/maildir/maildir-filename-flags.h
+M src/lib-storage/index/maildir/maildir-filename.c
+M src/lib-storage/index/maildir/maildir-filename.h
+M src/lib-storage/index/maildir/maildir-save.c
+M src/lib-storage/index/maildir/maildir-sync-index.c
+M src/lib-storage/index/maildir/maildir-util.c
+
+2010-12-05 21:07:01 +0000 Timo Sirainen <tss@iki.fi> (d656ea2323)
+
+ maildir: uidlist code cleanup.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2010-12-05 21:05:40 +0000 Timo Sirainen <tss@iki.fi> (6013fbad66)
+
+ maildir: maildir_uidlist_lookup() -> maildir_sync_lookup() refactoring.
+
+
+M src/lib-storage/index/maildir/maildir-mail.c
+M src/lib-storage/index/maildir/maildir-sync.c
+M src/lib-storage/index/maildir/maildir-sync.h
+M src/lib-storage/index/maildir/maildir-uidlist.c
+M src/lib-storage/index/maildir/maildir-uidlist.h
+M src/lib-storage/index/maildir/maildir-util.c
+
+2010-09-06 18:17:17 +0100 Timo Sirainen <tss@iki.fi> (c2f76dfe4d)
+
+ zlib: Potential assert-crashfix.
+
+
+M src/plugins/zlib/istream-bzlib.c
+M src/plugins/zlib/istream-zlib.c
+
+2010-09-06 16:35:13 +0100 Timo Sirainen <tss@iki.fi> (6600c05e2a)
+
+ lib-storage: Don't fail with "maildir_name not supported" when using empty
+ DIRNAME=
+
+
+M src/lib-storage/mailbox-list.c
+
+2010-09-06 15:41:31 +0100 Timo Sirainen <tss@iki.fi> (eedc9de82f)
+
+ maildir: Minor code cleanup.
+
+
+M src/lib-storage/index/maildir/maildir-sync-index.c
+
+2010-09-06 15:41:25 +0100 Timo Sirainen <tss@iki.fi> (f84e7cabe3)
+
+ maildir: If we see duplicate file with retry_rewind set, try rewinding
+ first.
+
+
+M src/lib-storage/index/maildir/maildir-uidlist.c
+
+2010-09-03 19:10:28 +0100 Timo Sirainen <tss@iki.fi> (95dd5084fc)
+
+ config: Give an error if "block {" continues with non-whitespace.
+
+
+M src/config/config-parser.c
+
+2010-09-03 15:18:55 +0100 Timo Sirainen <tss@iki.fi> (49469ba8d5)
+
+ alloconly mempool: Clear pool with memset(), not safe_memset().
+
+
+M src/lib/mempool-alloconly.c
+
+2010-09-03 15:18:09 +0100 Timo Sirainen <tss@iki.fi> (2a2beae3a4)
+
+ liblib: Removed unused system-clean and alloconly-clean mempools. They're
+ just making the code messier and slower.
+
+
+M src/lib/Makefile.am
+M src/lib/mempool-alloconly.c
+D src/lib/mempool-system-clean.c
+M src/lib/mempool.h
+
+2010-09-03 15:11:35 +0100 Timo Sirainen <tss@iki.fi> (767aabe13a)
+
+ test-imap-match: Don't use "clean" alloconly mempool, there's no point.
+
+
+M src/lib-imap/test-imap-match.c
+
+2010-09-02 18:03:13 +0100 Timo Sirainen <tss@iki.fi> (56aa9083e1)
+
+ mdbox: If save fails due to lock failure, don't assert-crash
+
+
+M src/lib-storage/index/dbox-multi/mdbox-save.c
+
+2010-09-02 17:46:55 +0100 Timo Sirainen <tss@iki.fi> (bdd7a96c36)
+
+ lib-index: Lock timeout setting wasn't actually used in all places.
+
+
+M src/lib-index/mail-index-lock.c
+M src/lib-index/mail-transaction-log-file.c
+M src/lib-index/mail-transaction-log-private.h
+M src/lib-index/mail-transaction-log.c
+
+2010-09-02 17:28:10 +0100 Timo Sirainen <tss@iki.fi> (f6d63a2101)
+
+ lib-storage: Fail earlier if shared namespace prefix contains modifiers.
+
+
+M src/lib-storage/index/shared/shared-storage.c
+
+2010-09-02 17:06:37 +0100 Timo Sirainen <tss@iki.fi> (42d16c8fa2)
+
+ lib-storage: Minor namespace error handling cleanup.
+
+
+M src/lib-storage/mail-namespace.c
+
+2010-09-02 17:04:15 +0100 Timo Sirainen <tss@iki.fi> (c2c68f7516)
+
+ lib-storage: Give an error about duplicate namespace prefixes.
+
+
+M src/lib-storage/mail-namespace.c
+
+2010-09-02 17:01:00 +0100 Timo Sirainen <tss@iki.fi> (d32d7ecc76)
+
+ doveconf: Quote output values when necessary.
+
+
+M src/config/config-parser.c
+M src/config/config-parser.h
+M src/config/doveconf.c
+
+2010-09-02 15:53:08 +0100 Timo Sirainen <tss@iki.fi> (c62f5b1674)
+
+ lib-storage: If shared namespace uses %% in location, but not in prefix,
+ fail with error.
+
+
+M src/lib-storage/mail-namespace.c
+
+2010-09-02 15:35:21 +0100 Timo Sirainen <tss@iki.fi> (4bc4042782)
+
+ director: If outgoing connection dies soon, mark the host as failed to avoid
+ immediate reconnect.
+
+
+M src/director/director-connection.c
+
+2010-09-02 13:50:17 +0100 Timo Sirainen <tss@iki.fi> (c17099a136)
+
+ fts: More percentage counter calculation fixes. Patch by William Blunn
+
+
+M src/plugins/fts/fts-storage.c
+
+2010-09-01 20:33:20 +0100 Timo Sirainen <tss@iki.fi> (f1b2c5701c)
+
+ fts: Removed float calculations from "Indexed n% of the mailbox" message.
+
+
+M src/plugins/fts/fts-storage.c
+
+2010-09-01 18:44:32 +0100 Timo Sirainen <tss@iki.fi> (7058227987)
+
+ doveadm: Support accessing mailboxes in non-private namespaces. The default
+ is still the same as "*", and wildcards won't cross namespace boundaries so
+ unless the namespace prefix is explicitly used non-private namespaces are
+ still invisible.
+
+
+M src/doveadm/doveadm-mail-list-iter.c
+
+2010-09-01 17:52:33 +0100 Timo Sirainen <tss@iki.fi> (fc5767738b)
+
+ imap: Don't hang if client sends IDLE + DONE pipelined.
+
+
+M src/imap/cmd-idle.c
+
+2010-09-01 17:48:04 +0100 Timo Sirainen <tss@iki.fi> (9691078006)
+
+ imap: Make sure we don't crash when client disconnects during IDLE with lots
+ of changes.
+
+
+M src/imap/cmd-idle.c
+
+2010-09-01 17:37:31 +0100 Timo Sirainen <tss@iki.fi> (4a06dd795a)
+
+ imap: Fixed a crash with tb-extra-mailbox-sep workaround and selecting
+ "ns-prefix/" box.
+
+
+M src/imap/imap-commands-util.c
+
+2010-09-01 17:32:37 +0100 Timo Sirainen <tss@iki.fi> (ef652c941b)
+
+ lib-storage: If mailbox deletion fails, mark the index back as undeleted.
+
+
+M src/lib-storage/mail-storage.c
+
+2010-09-01 17:10:14 +0100 Timo Sirainen <tss@iki.fi> (b7651d283c)
+
+ i_stream_next_line(): Fix for the previous optimization.
+
+
+M src/lib/istream.c
+
+2010-09-01 16:55:14 +0100 Timo Sirainen <tss@iki.fi> (ee4d09cff2)
+
+ master: Make sure base_dir has at least 0755 permissions.
+
+
+M src/master/master-settings.c
+
+2010-09-01 16:40:53 +0100 Timo Sirainen <tss@iki.fi> (fed9ba3182)
+
+ imap: If selecting a mailbox fails, close the already selected mailbox.
+
+
+M src/imap/cmd-select.c
+
+2010-09-01 16:22:20 +0100 Timo Sirainen <tss@iki.fi> (8ad2759cf4)
+
+ istream-crlf optimization. Based on patch by Len7hir
+
+
+M src/lib/istream-crlf.c
+
+2010-09-01 16:22:00 +0100 Timo Sirainen <tss@iki.fi> (7b42d6cbee)
+
+ istream_next_line() optimization. Based on patch by Len7hir
+
+
+M src/lib/istream.c
+
+2010-09-01 16:21:30 +0100 Timo Sirainen <tss@iki.fi> (1af608089d)
+
+ lib-mail: Optimized message parser code. Based on patch by Len7hir
+
+
+M src/lib-mail/message-parser.c
+
+2010-08-31 20:04:24 +0100 Timo Sirainen <tss@iki.fi> (43fb7851fd)
+
+ auth: Give better EACCES error if we can't connect to auth-worker.
+
+
+M src/auth/auth-worker-server.c
+
+2010-08-31 20:04:10 +0100 Timo Sirainen <tss@iki.fi> (0471a9dde7)
+
+ access_get_error(): Fixed to give better error messages with relative paths.
+
+
+M src/lib/eacces-error.c
+
+2010-08-31 19:33:21 +0100 Timo Sirainen <tss@iki.fi> (661614ab9f)
+
+ configure: vpopmail is broken, fail configure if --with-vpopmail is used.
+
+
+M configure.in
+
+2010-08-31 17:06:20 +0100 Timo Sirainen <tss@iki.fi> (8a7a946ae6)
+
+ Fixed setgid() failure error message. Based on patch by Clint Adams
+
+
+M src/lib/restrict-access.c
+
+2010-08-26 20:06:49 +0100 Timo Sirainen <tss@iki.fi> (66fbbac231)
+
+ doveconf: When logging an obsolete warning, log a note about using doveconf.
+
+
+M src/config/old-set-parser.c
+
+2010-08-24 18:10:31 +0100 Timo Sirainen <tss@iki.fi> (7e93a7bd47)
+
+ Added signature for changeset 8baa8ccb4021
+
+
+M .hgsigs
+
+2010-08-24 18:10:27 +0100 Timo Sirainen <tss@iki.fi> (b86c22983b)
+
+ Added tag 2.0.1 for changeset 8baa8ccb4021
+
+
+M .hgtags
+
+2010-08-24 18:10:27 +0100 Timo Sirainen <tss@iki.fi> (b4dc8d930f)
+
+ Released v2.0.1.
+
+
+M NEWS
+M configure.in
+
+2010-08-24 18:07:48 +0100 Timo Sirainen <tss@iki.fi> (6c073ea23c)
+
+ dbox: Create dbox temp files with ".temp." prefix, not "temp." This makes it
+ consistent with the rest of the created temp files and also gets any stale
+ temp files deleted.
+
+
+M src/lib-storage/index/dbox-common/dbox-storage.h
+
+2010-08-24 17:18:01 +0100 Timo Sirainen <tss@iki.fi> (7f472e15b5)
+
+ lda: Don't fail with "mail_uid/mail_gid not set" error when running without
+ -u.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2010-08-24 17:01:27 +0100 Timo Sirainen <tss@iki.fi> (b79a09b591)
+
+ quota: Mark the mailbox deleted before starting to reduce quota. This fixes
+ race conditions with another process modifying the same mailbox at the same
+ time.
+
+
+M src/plugins/quota/quota-storage.c
+
+2010-08-24 17:00:39 +0100 Timo Sirainen <tss@iki.fi> (6b0d8106ae)
+
+ lib-storage: Allow mailbox_mark_index_deleted() to be called multiple times
+ within same mailbox alloc.
+
+
+M src/lib-storage/mail-storage-private.h
+M src/lib-storage/mail-storage.c
+
+2010-08-23 20:15:06 +0100 Timo Sirainen <tss@iki.fi> (49215f4b57)
+
+ fts-solr: Fixes to previous data encoding changes. Patch by Erik Hetzner
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2010-08-23 19:03:05 +0100 Timo Sirainen <tss@iki.fi> (99469474fd)
+
+ Added base64_is_valid_char()
+
+
+M src/lib/base64.c
+M src/lib/base64.h
+
+2010-08-23 18:43:17 +0100 Timo Sirainen <tss@iki.fi> (96bd662dd0)
+
+ liblib: Don't segfault if write is attempted beyond non-dynamic buffer's
+ bounds.
+
+
+M src/lib/buffer.c
+
+2010-08-23 16:24:22 +0100 Timo Sirainen <tss@iki.fi> (17bb9b0a1e)
+
+ dsync: Assert-crashfix with remote dsyncing.
+
+
+M src/dsync/dsync-proxy-client.c
+
+2010-08-23 16:09:11 +0100 Timo Sirainen <tss@iki.fi> (cc4d0d30fb)
+
+ auth: Crashfix when aborting auth request doing async passdb/userdb lookup.
+
+
+M src/auth/auth-request-handler.c
+
+2010-08-23 15:59:22 +0100 Timo Sirainen <tss@iki.fi> (607f0cc731)
+
+ auth: Abort any pending SQL requests earler to avoid crashes.
+
+
+M src/auth/db-sql.c
+
+2010-08-23 15:58:53 +0100 Timo Sirainen <tss@iki.fi> (9349a0afff)
+
+ lib-sql: sql_disconnect() now aborts all pending requests.
+
+
+M src/lib-sql/driver-pgsql.c
+M src/lib-sql/driver-sqlpool.c
+M src/lib-sql/sql-api.h
+
+2010-08-23 15:31:37 +0100 Timo Sirainen <tss@iki.fi> (2cbe7654b7)
+
+ imap: Fixed parsing SELECT QRESYNC parameters
+
+
+M src/imap/cmd-select.c
+
+2010-08-23 15:28:55 +0100 Timo Sirainen <tss@iki.fi> (46bcd670b1)
+
+ imap: Fail if QRESYNC seqset parameters use '*'
+
+
+M src/imap/cmd-select.c
+
+2010-08-23 15:28:35 +0100 Timo Sirainen <tss@iki.fi> (e12ccf1e6b)
+
+ lib-imap: Added imap_seq_set_nostar_parse()
+
+
+M src/lib-imap/imap-seqset.c
+M src/lib-imap/imap-seqset.h
+
+2010-08-23 15:12:56 +0100 Timo Sirainen <tss@iki.fi> (05c64024e5)
+
+ man: Updated dsync man page.
+
+
+M doc/man/dsync.1.in
+
+2010-08-23 14:35:50 +0100 Timo Sirainen <tss@iki.fi> (25ef927189)
+
+ dsync: If worker fails, abort earlier.
+
+
+M src/dsync/dsync-brain.c
+
+2010-08-23 14:30:08 +0100 Timo Sirainen <tss@iki.fi> (e4e9e0dcb2)
+
+ dsync: Execute remote dsync binary before dropping privileges.
+
+
+M src/dsync/dsync.c
+
+2010-08-23 00:26:39 +0100 Timo Sirainen <tss@iki.fi> (b24e8c89eb)
+
+ configure: --with-ssl=gnutls gives error now immediately
+
+
+M configure.in
+
+2010-08-20 20:38:26 +0100 Timo Sirainen <tss@iki.fi> (6f60491fcd)
+
+ fts-solr: Replace characters not valid for XML with replacement char.
+
+
+M src/plugins/fts-solr/fts-backend-solr.c
+
+2010-08-20 20:37:31 +0100 Timo Sirainen <tss@iki.fi> (f2de6ecc44)
+
+ Added a global utf8_replacement_char variable.
+
+
+M src/lib/unichar.c
+M src/lib/unichar.h
+
+2010-08-20 20:12:51 +0100 Timo Sirainen <tss@iki.fi> (b955a1c1b6)
+
+ master: Fixed log_path=/dev/stderr
+
+
+M src/master/service-process.c
+
+2010-08-20 19:49:42 +0100 Timo Sirainen <tss@iki.fi> (13295d1c3b)
+
+ lib-storage: Don't complain about missing UID/GID when running as root is
+ allowed (standalone).
+
+
+M src/lib-storage/mail-storage-service.c
+
+2010-08-20 19:45:01 +0100 Timo Sirainen <tss@iki.fi> (0139fcb57a)
+
+ lib-storage: Give better error message if user is missing UID/GID
+
+
+M src/lib-storage/mail-storage-service.c
+
+2010-08-20 18:28:18 +0100 Timo Sirainen <tss@iki.fi> (bbcca9a281)
+
+ example-config: Added example dict service
+
+
+M doc/example-config/conf.d/10-master.conf
+
+2010-08-20 18:22:39 +0100 Timo Sirainen <tss@iki.fi> (cab0827de0)
+
+ Reverted previous commit. It's a stupid feature: mail_access_groups already
+ exists.
+
+
+M src/imap/imap-settings.c
+M src/lmtp/lmtp-settings.c
+M src/master/master-settings.c
+M src/master/master-settings.h
+M src/pop3/pop3-settings.c
+
+2010-08-20 18:19:50 +0100 Timo Sirainen <tss@iki.fi> (8b55be744b)
+
+ Added default_mail_extra_groups setting. imap/pop3/lmtp services'
+ extra_groups defaults to it. For now this default is empty to make sure
+ existing installations don't break.
+
+
+M src/imap/imap-settings.c
+M src/lmtp/lmtp-settings.c
+M src/master/master-settings.c
+M src/master/master-settings.h
+M src/pop3/pop3-settings.c
+
+2010-08-20 18:19:04 +0100 Timo Sirainen <tss@iki.fi> (1503ac7619)
+
+ lib-storage: Preserve permission settings in master's service blocks. Most
+ importantly preserve extra_groups setting.
+
+
+M src/lib-storage/mail-storage-service.c
+
+2010-08-20 18:18:01 +0100 Timo Sirainen <tss@iki.fi> (4b2a1030f9)
+
+ master: Set RESTRICT_* environment even when drop_priv_before_exec=yes
+ Otherwise the executed process could still try to drop some of the
+ privileges (groups).
+
+
+M src/master/service-process.c
+
+2010-08-20 16:14:19 +0100 Timo Sirainen <tss@iki.fi> (90257f60a2)
+
+ lib-storage: Log namespace location with mail_debug=yes
+
+
+M src/lib-storage/mail-namespace.c
+
+2010-08-19 18:44:20 +0100 Timo Sirainen <tss@iki.fi> (85646d8e69)
+
+ doc: Updated tls_cert/key_file comment in dovecot-ldap.conf.ext
+
+
+M doc/example-config/dovecot-ldap.conf.ext
+
+2010-08-19 18:36:09 +0100 Timo Sirainen <tss@iki.fi> (905951e448)
+
+ imap: Don't crash with QRESYNC SELECT specifying sequences larger than
+ mailbox's message count.
+
+
+M src/imap/imap-fetch.c
+
+2010-08-19 18:28:20 +0100 Timo Sirainen <tss@iki.fi> (dae0fbe100)
+
+ pop3: Show APOP challenge only when APOP auth mechanism is enabled.
+
+
+M src/pop3-login/client.c
+
+2010-08-19 18:19:53 +0100 Timo Sirainen <tss@iki.fi> (835ba470fb)
+
+ lib-master: Fixed accepting FIFO connections with BSDI.
+
+
+M src/lib-master/master-service.c
+
+2010-08-19 18:06:22 +0100 Timo Sirainen <tss@iki.fi> (a0044466cc)
+
+ UTF-8 string validity was still checked incorrectly.
+
+
+M src/lib/unichar.c
+M src/lib/unichar.h
+
+2010-08-18 16:24:13 +0100 Timo Sirainen <tss@iki.fi> (6bb8c6900a)
+
+ lib-index: Give a clearer error message for syscall failing with EFBIG.
+
+
+M src/lib-index/mail-index.c
+
+2010-08-18 16:21:04 +0100 Timo Sirainen <tss@iki.fi> (613dee7396)
+
+ lib-index: Put all syscall error logging through one function.
+
+
+M src/lib-index/mail-index.c
+
+2010-08-18 15:17:40 +0100 Timo Sirainen <tss@iki.fi> (6b4c4d92d2)
+
+ UTF-8 string validity was checked incorrectly.
+
+
+M src/lib/unichar.c
+
+2010-08-17 19:16:03 +0100 Timo Sirainen <tss@iki.fi> (750c79d1f4)
+
+ auth: Pass requested_login_user to auth worker processes.
+
+
+M src/auth/auth-request.c
+
+2010-08-17 18:10:16 +0100 Timo Sirainen <tss@iki.fi> (873286c865)
+
+ auth: Added more master user login debugging.
+
+
+M src/auth/auth-request.c
+
+2010-08-16 20:35:26 +0100 Timo Sirainen <tss@iki.fi> (f3ef6fdc79)
+
+ eaccess_error_get(): If UID/GID doesn't have name, show it as <unknown>
+
+
+M src/lib/eacces-error.c
+
+2010-08-16 16:49:29 +0100 Timo Sirainen <tss@iki.fi> (89025037c4)
+
+ master: Give better error messages for unknown users/groups.
+
+
+M src/lib-master/service-settings.h
+M src/master/master-settings.c
+M src/master/service.c
+
+2010-08-16 16:07:01 +0100 Timo Sirainen <tss@iki.fi> (b1f6c5bdea)
+
+ configure: v2.0.0 is no longer UNSTABLE development branch.
+
+
+M configure.in
+
+2010-08-16 15:35:16 +0100 Timo Sirainen <tss@iki.fi> (1f1ce1097f)
+
+ Added signature for changeset d0d3ba81d205
+
+
+M .hgsigs
+
+2010-08-16 15:35:13 +0100 Timo Sirainen <tss@iki.fi> (d009ccd4fb)
+
+ Added tag 2.0.0 for changeset d0d3ba81d205
+
+
+M .hgtags
+
+2010-08-16 15:35:11 +0100 Timo Sirainen <tss@iki.fi> (5d5c4f2bfb)
+
+ Released v2.0.0.
+
+
+M NEWS
+M configure.in